初学Linux的时候有时候真的苦恼不知道有那些命令,不知道是什么意思,到后来慢慢学有一点点积累,现在分享一下常用的命令。
命令名称 | 命令格式 | 参数说明 | 示例 | 作用及适用场景 |
---|---|---|---|---|
top | top [选项] | -p PID :监控指定进程-d 秒 :刷新间隔-u 用户 :显示指定用户的进程 | top -d 2 -u root | 实时监控系统资源(CPU、内存、进程),适用于性能分析 |
ps | ps [选项] | -aux :显示所有进程-ef :全格式列表--sort=-%mem :按内存排序 | ps aux --sort=-%mem | head -n 5 | 查看进程状态,常用于排查资源占用问题 |
grep | grep [选项] 模式 文件 | -i :忽略大小写-r :递归搜索目录-C 3 :显示匹配行的前后3行 | grep -ir "error" /var/log | 文本搜索,快速定位日志文件中的错误信息 |
find | find 路径 [选项] | -name :按文件名搜索-type :按文件类型-mtime +7 :修改时间超过7天的文件 | find /tmp -name "*.log" -mtime +7 -delete | 文件查找与管理,定期清理过期文件 |
rsync | rsync [选项] 源 目标 | -a :归档模式(保留属性)-z :压缩传输--delete :同步删除目标多余文件 | rsync -az /data user@remote:/backup | 增量同步文件,适用于远程备份或数据迁移 |
ssh | ssh [选项] 用户@主机 [命令] | -p 端口 :指定端口-i 密钥文件 :使用密钥认证-L 本地端口:目标:端口 :端口转发 | ssh -p 2222 admin@10.0.0.1 "df -h" | 远程登录服务器并执行命令,支持安全隧道 |
tar | tar [选项] 文件 | -c :创建压缩包-x :解压-z :gzip压缩-f :指定文件名 | tar -czvf backup.tar.gz /opt | 文件打包与解压,常用于备份或传输目录 |
netstat | netstat [选项] | -tuln :显示TCP/UDP监听端口-p :显示进程名-r :显示路由表 | netstat -tulnp | grep 80 | 网络连接监控,检查端口占用或服务状态 |
chmod | chmod [选项] 权限 文件 | -R :递归修改权限权限格式 :数字(755)或符号(u+x) | chmod -R 755 /opt/scripts | 修改文件权限,确保脚本或配置文件的可执行性 |
journalctl | journalctl [选项] | -u 服务名 :查看指定服务日志--since "时间" :按时间筛选-f :实时跟踪日志 | journalctl -u nginx --since "10:00" | 查看systemd管理的日志,适用于服务故障排查 |
df | df [选项] | -h :人类可读格式-T :显示文件系统类型-i :显示inode使用情况 | df -hT | grep /dev/sda1 | 查看磁盘空间使用情况,预防存储不足问题 |
free | free [选项] | -h :易读单位-s 秒 :持续刷新-t :显示总计 | free -h -s 5 | 监控内存使用情况,快速判断是否需优化资源 |
kill | kill [选项] PID | -9 :强制终止进程-15 :优雅终止(默认) | kill -9 1234 | 终止异常进程,强制关闭无响应的服务 |
scp | scp [选项] 源 目标 | -P 端口 :指定端口-r :递归传输目录-C :启用压缩 | scp -P 2222 file.txt user@host:/tmp | 安全复制文件,适用于小文件快速传输 |
crontab | crontab [选项] | -e :编辑计划任务-l :列出任务-u 用户 :管理其他用户任务 | crontab -e | 定时任务管理,如备份、日志切割等自动化操作 |
useradd | useradd [选项] 用户名 | -m :创建家目录-s /bin/bash :指定Shell-G 组名 :附加用户组 | useradd -m -s /bin/bash devuser | 创建系统用户,配置权限或服务账户 |
iptables | iptables [选项] 规则 | -A :追加规则-p tcp :协议类型--dport 80 :目标端口-j ACCEPT :动作 | iptables -A INPUT -p tcp --dport 22 -j ACCEPT | 配置防火墙规则,控制网络流量 |
关键场景说明
-
紧急故障处理
-
组合命令:
ps aux \| grep 进程名
→kill -9 PID
→journalctl -u 服务名
-
示例:快速终止故障进程并查看服务日志
-
-
批量操作
-
使用
find
+xargs
:find /var/log -name "*.log" -type f -size +100M \| xargs rm
-
示例:清理超过100MB的日志文件
-
-
安全传输
-
rsync -az --progress --partial
:支持断点续传的增量同步 -
示例:大文件迁移时避免网络中断导致重传
-
-
定时维护
-
crontab
配置示例:
0 2 * * * /opt/scripts/backup.sh
-
示例:每天凌晨2点执行备份脚本
-
举个例子:
-
权限控制
-
慎用
chmod 777
和rm -rf /
,避免误操作
-
-
生产环境操作
-
修改关键配置前执行
cp file.conf file.conf.bak
备份
-
-
资源监控
-
使用
watch -n 1 free -h
实时刷新内存数据
-