Linux作为服务器和开发环境的主流操作系统,其命令行工具是日常工作中不可或缺的部分,熟练掌握常用命令能够显著提升工作效率,以下从文件管理、系统监控、网络配置、文本处理和软件管理五个维度,详细介绍Linux工作中的高频命令及其使用场景。

文件管理命令
文件操作是Linux最基础的功能,ls
命令用于列出目录内容,ls -l
可显示详细信息如权限、所有者、大小等,ls -a
则包含隐藏文件,创建目录使用mkdir
,如mkdir -p test/subdir
可递归创建多级目录,删除文件或目录时,rm -f file
强制删除不提示,rm -r dir
递归删除目录,但需谨慎操作以免误删,复制文件用cp
,cp -r
用于目录复制,cp -p
可保留文件权限和时间戳,移动或重命名文件通过mv
命令实现,mv oldname newname
重命名,mv /source /target
移动文件,查看文件内容时,cat
适合短文件快速查看,less
支持分页浏览长文件,head -n 10 file
查看文件前10行,tail -f file
实时追踪文件更新,文件权限修改常用chmod
,如chmod 755 script.sh
设置所有者可读写执行、其他用户可读执行;chown user:group file
修改文件所有者和所属组。
系统监控命令
系统性能监控是运维核心工作,top
命令动态展示进程资源占用,按P
按CPU排序、M
按内存排序。htop
是top
的增强版,支持彩色显示和鼠标操作,更直观,查看磁盘空间使用情况用df -h
,-h
参数以人类可读格式显示(如GB、MB);du -sh *
统计当前目录下各文件及子目录大小,内存信息通过free -h
查看,vmstat 1
每秒刷新一次内存、CPU和进程状态,监控日志文件时,tail -f /var/log/syslog
实时查看系统日志,grep "error" /var/log/nginx/error.log
过滤包含关键错误的日志条目,查看系统负载用uptime
,显示1分钟、5分钟、15分钟的平均负载值。
网络配置命令
网络故障排查和配置依赖多种命令,ifconfig
或ip addr
查看网络接口IP地址,ip link set eth0 up/down
启用或禁用网卡。ping www.baidu.com
测试网络连通性,traceroute
或mtr
追踪数据包路径,定位网络延迟节点,端口监控使用netstat -tuln
查看监听的TCP/UDP端口,ss -tuln
是更高效的替代工具。curl -I www.example.com
仅获取HTTP响应头,快速判断服务状态;wget -c file.zip
支持断点续传下载,配置防火墙时,iptables -L -n
查看规则,firewall-cmd --list-ports
(CentOS 7+)或ufw status
(Ubuntu)管理防火墙端口,SSH远程登录通过ssh user@host
实现,scp -r /local/dir user@host:/remote/dir
安全复制文件到远程服务器。
文本处理命令
文本处理是Linux的强项,grep "pattern" file
搜索文件中匹配的行,grep -v "pattern"
反向匹配,grep -i "pattern"
忽略大小写。sed 's/old/new/g' file
替换文件中的文本,sed -i 's/old/new/g' file
直接修改原文件。awk '{print $1}' file
按列输出内容,awk -F: '{print $1,$NF}' /etc/passwd
以冒号为分隔符打印第一列和最后一列,排序文件用sort file
,sort -n file
按数字排序,sort -k2 file
按第二列排序。uniq file
去除重复行,需配合sort -u
使用。wc -l file
统计行数,wc -w file
统计单词数,wc -c file
统计字符数,压缩文件时,tar -czf archive.tar.gz dir/
打包并gzip压缩,tar -xzf archive.tar.gz
解压,zip -r archive.zip dir/
创建zip压缩包。

软件管理命令
不同发行版的软件包管理命令不同,基于Debian/Ubuntu的系统使用apt
,sudo apt update
更新软件源,sudo apt install package
安装软件,sudo apt remove package
卸载软件,dpkg -l package
查看已安装软件包信息,基于RedHat/CentOS的系统使用yum
或dnf
,sudo yum install package
安装软件,sudo yum update
升级所有软件,sudo yum clean all
清理缓存,源码编译安装时,./configure
配置编译参数,make
编译源码,sudo make install
安装到系统,查看软件依赖用ldd binary
,apt-cache depends package
(Debian/Ubuntu)或yum deplist package
(RedHat/CentOS)。
命令组合与高级技巧
Linux命令可通过管道符组合使用,如ps aux | grep nginx
过滤包含nginx的进程,cat file.txt | grep "error" | wc -l
统计错误日志行数,后台运行命令用nohup command &
,即使终端关闭命令也会继续执行,输出默认保存到nohup.out
。xargs
将前一个命令的输出作为参数传递给下一个命令,如find . -name "*.log" | xargs rm -f
批量删除日志文件,别名设置简化长命令,alias ll='ls -alF'
后可直接使用ll
,可通过alias
查看所有别名,unalias ll
取消别名。
相关问答FAQs
问题1:如何查找并删除指定目录下所有大小超过100MB的文件?
解答:可使用find
命令结合-size
参数查找大文件,再通过xargs
或-exec
删除,具体命令为:find /path/to/directory -type f -size +100M -exec rm -f {} \;
,其中-type f
表示仅查找文件,+100M
表示大于100MB,-exec rm -f {} \;
对每个查找到的文件执行删除操作,若需先确认再删除,可将rm -f
替换为ls -lh
查看文件详情。
问题2:如何实时监控某个进程的CPU和内存使用情况?
解答:使用top
命令结合-p
参数指定进程ID(PID),或通过ps
命令先获取PID,首先通过ps aux | grep "process_name"
找到目标进程的PID,假设PID为1234,则执行top -p 1234
实时监控该进程的资源占用,更详细的监控可使用htop
,按F
键后选择要监控的进程,或使用pidstat -p 1234 -t 1
每秒刷新一次该进程的CPU、内存和I/O统计信息。
