Linux命令是Linux系统中用户与操作系统交互的核心方式,掌握常用命令对于系统管理、文件操作、进程维护等任务至关重要,以下从基础命令、文件操作、文本处理、系统监控、网络配置等多个维度,结合具体场景和实例,详细解析Linux命令的使用方法及技巧。

基础命令与文件系统操作
文件系统是Linux的核心,ls、cd、pwd等命令是日常操作的基础。ls -la可显示文件的详细信息,包括权限、所有者、大小等;cd -用于快速返回上一次所在目录;mkdir -p可递归创建多级目录,避免因父目录不存在而报错,文件复制、移动和删除需谨慎操作:cp -r递归复制目录,mv可同时实现移动和重命名,rm -rf强制删除文件或目录(需注意风险),符号链接通过ln -s创建,常用于节省存储空间或方便访问,例如ln -s /var/log/syslog ~/mylog将系统日志链接到用户目录。
文本处理与搜索
Linux强大的文本处理能力离不开grep、sed、awk等工具。grep -E "error|warning" log.txt可在日志中筛选包含error或warning的行;sed -i 's/old/new/g' file直接替换文件中所有old为new;awk '{print $1,$3}' file.txt按需提取指定列数据,对于大文件,less或more可分页查看,head -n 20和tail -f分别用于查看文件前20行和实时追踪日志更新,批量重命名文件时,结合find和rename命令可实现高效操作,例如find . -type f -name "*.txt" | rename 's/\.txt/\.log/'将所有.txt文件后缀改为.log。
系统管理与进程控制
系统监控中,top和htop以动态方式展示CPU、内存占用情况,ps -ef | grep nginx可查看nginx进程及其详细信息,进程管理通过kill -9 PID强制终止进程,nohup command &可在后台运行命令且忽略挂断信号,磁盘空间使用情况通过df -h查看各分区容量,du -sh *统计当前目录下各文件及子目录大小,用户权限管理中,chmod 755 file设置文件所有者可读写执行、组用户和其他用户可读执行;chown -R user:group dir递归修改目录所有者及所属组。
网络配置与调试
网络诊断常用ping 8.8.8.8测试连通性,netstat -tuln查看监听端口,ss -tulpn(推荐,比netstat更高效)显示TCP/UDP端口状态,网络配置涉及ifconfig或ip addr查看/配置IP地址,route -n查看路由表,ssh user@host远程登录服务器,文件传输中,scp localfile user@remote:/path将本地文件上传至远程服务器,rsync -avz --progress src/ dest/同步目录并显示进度,抓包分析使用tcpdump -i eth0 port 80捕获HTTP流量,适用于网络故障排查。

高级技巧与脚本自动化
命令历史通过重复上一条命令,!grep执行最近包含grep的命令,变量赋值与引用需注意格式,如name="Linux",输出时用echo $name,脚本自动化示例:备份脚本backup.sh中,tar -czf backup_$(date +%Y%m%d).tar.gz /important_data按日期打包数据,配合crontab -e设置定时任务,例如0 2 * * * /path/to/backup.sh每天凌晨2点执行,批量处理文件时,for file in *.log; do mv "$file" "old_$file"; done为所有.log文件添加old前缀。
常见命令对比与选择
| 需求场景 | 推荐命令 | 备选命令 | 说明 |
|---|---|---|---|
| 查看文件内容 | less file |
more file |
less支持后退搜索和滚动 |
| 搜索文件内容 | grep -r "text" dir |
ag "text" |
ag(the silver searcher)速度更快,适合大文件 |
| 压缩文件 | tar -czf archive.tar.gz files |
zip -r archive.zip files |
tar更适合Linux系统,zip兼容Windows |
| 进程监控 | htop |
top |
htop支持彩色显示和鼠标操作 |
| 网络连通测试 | mtr google.com |
ping google.com |
mtr结合ping和traceroute,可更精准定位网络延迟节点 |
相关问答FAQs
Q1: 如何查找并删除指定目录下所有7天前修改的.log文件?
A: 使用find命令结合-mtime参数查找文件,并通过-exec或xargs执行删除,具体命令为:find /path/to/directory -name "*.log" -mtime +7 -exec rm {} \;,其中-mtime +7表示修改时间超过7天,-exec rm {} \;对每个查找到的文件执行删除操作(\;为命令结束符),若需确认删除,可先用ls -l查看文件列表,或替换rm为echo进行预览。
Q2: 如何查看当前系统中占用内存最高的5个进程?
A: 结合ps和sort命令实现,具体命令为:ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -n 6,参数说明:-eo指定输出格式(进程ID、父进程ID、命令、内存占用、CPU占用),--sort=-%mem按内存占用降序排列,head -n 6显示前6行(含标题行),若需实时动态监控,可使用top后按M键按内存排序,或通过htop直观查看进程资源占用情况。

