菜鸟科技网

Linux命令有哪些实用技巧?

Linux命令运用是Linux系统管理、开发和日常操作的核心技能,掌握常用命令能极大提升工作效率,Linux命令通过文本界面(Terminal)与系统交互,其语法通常由命令、选项和参数组成,例如ls -l /home中,ls是命令,-l是选项(显示详细信息),/home是参数(指定目录路径),以下从文件管理、系统监控、文本处理、网络工具和权限管理五个维度,详细解析Linux命令的实际运用。

Linux命令有哪些实用技巧?-图1
(图片来源网络,侵删)

文件与目录管理命令

文件管理是Linux操作的基础,常用命令包括lscdcpmvrmmkdir等。

  • ls命令用于列出目录内容,结合选项可扩展功能:ls -a显示隐藏文件(以开头),ls -lh以人类可读格式显示文件大小(如1K、2M),ls -R递归列出子目录。
  • cp命令用于复制文件或目录,cp -r可递归复制整个目录(如cp -r source_dir/ target_dir/),cp -p保留文件权限、时间戳等属性。
  • mv命令实现文件移动或重命名,例如mv old_name.txt new_name.txt重命名文件,mv file.txt /tmp/将文件移动到/tmp目录。
  • rm命令删除文件,rm -r递归删除目录(需谨慎使用),rm -f强制删除不提示确认。
  • mkdir创建目录,mkdir -p可创建多级嵌套目录(如mkdir -p parent/child)。

find命令用于按条件查找文件,例如find /home -name "*.log" -type f查找/home目录下所有.log后缀的普通文件;tree命令以树状结构显示目录层级(需安装tree包)。

系统监控与性能分析命令

系统监控是运维的核心任务,常用命令包括tophtoppsdffree等。

  • top命令实时显示系统进程资源占用,按CPUMEM等列排序,top -i只显示运行中的进程,top -u username过滤指定用户进程。
  • htoptop的增强版,支持鼠标操作、彩色进程树显示,更直观(需安装htop包)。
  • ps命令查看静态进程状态,ps -ef显示所有进程的详细信息(UID、PID、CMD等),ps aux按CPU使用率排序。
  • df命令查看磁盘空间使用情况,df -h以GB/MB/KB为单位显示,df -i查看inode使用量(避免inode耗尽问题)。
  • free命令查看内存使用,free -h以人类可读格式显示,free -m以MB为单位。

对于性能分析,vmstat命令报告虚拟内存、进程、I/O等统计信息,vmstat 1每秒刷新一次;iostat监控磁盘I/O性能(需安装sysstat包)。

Linux命令有哪些实用技巧?-图2
(图片来源网络,侵删)

文本处理与编辑命令

Linux文本处理能力强大,常用命令包括catgrepsedawkvim等。

  • cat命令查看文件内容,cat -n显示行号,cat file1.txt file2.txt > combined.txt合并文件。
  • grep命令用于文本搜索,grep "error" log.txtlog.txt中搜索包含error的行,grep -v "warning"排除包含warning的行,grep -i "ERROR"忽略大小写。
  • sed(流编辑器)用于文本替换,sed 's/old/new/g' file.txt全局替换oldnewsed -i 's/^#//' config.txt删除每行开头的(取消注释)。
  • awk基于列的文本处理,awk '{print $1, $3}' file.txt打印每行的第1、3列,awk '$1 > 100 {print "High value:" $1}' file.txt筛选第1列大于100的行。
  • vim是强大的文本编辑器,基本模式包括普通模式(默认)、插入模式(按i进入)、命令行模式(按进入),常用操作:w保存、q退出、wq保存并退出、q!强制退出不保存。

网络配置与诊断命令

网络管理是Linux运维的重要部分,常用命令包括ifconfig/ippingnetstatsscurl等。

  • ifconfig(传统)或ip addr(推荐)查看/配置网络接口,ip addr show eth0查看eth0接口信息,sudo ip addr add 192.168.1.100/24 dev eth0添加IP地址。
  • ping测试网络连通性,ping -c 4 8.8.8.8发送4个数据包,ping -i 2 www.baidu.com每秒发送1次请求(默认1秒)。
  • netstat查看网络连接状态,netstat -tuln显示所有监听端口(TCP/UDP),netstat -an | grep ESTABLISHED查看已建立的连接。
  • ssnetstat的替代品,速度更快,ss -tuln同样显示监听端口,ss -t state established查看已建立的TCP连接。
  • curl用于传输数据,curl -I www.baidu.com获取HTTP响应头,curl -o file.txt http://example.com/file.txt下载文件并保存为file.txt

用户与权限管理命令

Linux是多用户系统,权限管理至关重要,常用命令包括chmodchownuseraddsu等。

  • chmod修改文件权限,chmod 755 script.sh设置所有者可读写执行、组和其他用户可读执行,chmod u+x file.txt为所有者添加执行权限,chmod -R 777 dir/递归修改目录权限(需谨慎)。
  • chown修改文件所有者,chown user:group file.txt将文件所有者改为user、组改为groupchown -R user dir/递归修改目录所有者。
  • useradd创建用户,sudo useradd -m -s /bin/bash newuser创建用户并创建家目录、指定默认Shell,passwd newuser设置用户密码。
  • su切换用户,su - username切换到username并加载其环境变量,sudo command以root权限执行命令(需配置sudoers文件)。

相关问答FAQs

Q1:如何快速查找包含特定关键词的文件内容?
A:使用grep命令结合-r(递归)选项可快速在目录中查找包含关键词的文件内容,在当前目录及子目录中搜索包含"ERROR"的文件:grep -r "ERROR" .;若需忽略大小写,可添加-i选项:grep -ri "error" .;若需显示匹配行所在的文件名,可使用-n(显示行号)和-l(只显示文件名):grep -rn "ERROR" . | cut -d: -f1 | sort -u

Linux命令有哪些实用技巧?-图3
(图片来源网络,侵删)

Q2:如何查看系统运行的进程并终止指定进程?
A:查看进程可用pstop命令,查看所有进程的详细信息:ps -ef;查看CPU占用最高的前5个进程:ps aux --sort=-%cpu | head -n 6行),终止进程需使用kill命令,结合进程ID(PID):kill 1234(正常终止);若进程无响应,可强制终止:kill -9 1234(需谨慎,可能导致数据丢失),若需通过进程名终止,可先用pgrep获取PID:pgrep nginx,再执行kill $(pgrep nginx)

分享:
扫描分享到社交APP
上一篇
下一篇