作为一名后端开发者或运维工程师,熟练掌握Linux常用指令是基本功。本文系统梳理了Linux环境下最实用的系统管理命令,涵盖系统信息、进程管理、文件操作、权限控制、磁盘存储、网络工具六大模块,每个命令均配有示例代码和参数解析,适合初学者查阅和进阶者查漏补缺。
📌 一、系统信息类指令
1. uname – 查看系统内核与架构
bash
# 显示所有系统信息
uname -a
# 仅显示内核版本
uname -r
# 显示硬件架构(x86_64/aarch64)
uname -m
2. hostname – 主机名管理
bash
# 查看当前主机名
hostname
# 临时设置主机名(重启失效)
sudo hostname myserver
# 永久修改(编辑配置文件)
sudo vi /etc/hostname
3. top / htop – 动态进程监控
bash
top # 实时显示CPU、内存、进程列表
htop # 更友好的交互式界面(需安装)
# 在top中按键:q退出,M按内存排序,P按CPU排序
4. free – 内存使用情况
bash
free -h # 以人类可读单位显示(KB/MB/GB)
free -s 2 # 每2秒刷新一次
5. df / du – 磁盘空间分析
bash
df -h # 查看挂载分区总容量、已用、可用
du -sh /home # 查看/home目录总大小
du -h --max-depth=1 /var # 列出/var下各子目录大小
⚙️ 二、进程管理类指令
1. ps – 查看进程快照
bash
ps aux # 显示所有用户的所有进程(BSD风格)
ps -ef # 显示全格式进程(System V风格)
ps -ef | grep nginx # 筛选包含nginx的进程
2. kill – 终止进程
bash
kill -9 1234 # 强制杀死PID为1234的进程
kill -15 1234 # 正常终止(可被进程捕获)
pkill nginx # 按进程名杀死所有匹配的进程
3. jobs / bg / fg – 作业控制
bash
sleep 100 & # 后台运行任务
jobs # 查看当前后台任务列表
fg %1 # 将作业1调回前台运行
bg %2 # 将作业2转为后台运行
4. nohup – 用户退出后进程不挂断
bash
nohup ./myapp > output.log 2>&1 & # 后台运行并输出日志
📁 三、文件与目录操作指令
1. 基础操作(lscdpwdmkdirrmcpmv)
bash
ls -la # 列出所有文件(含隐藏文件+详细信息)
cd /var/log # 切换到日志目录
pwd # 显示当前绝对路径
mkdir -p a/b/c # 递归创建多级目录
rm -rf temp # 强制递归删除temp目录(⚠️慎用)
cp -r src dst # 递归复制目录
mv old new # 移动或重命名文件
2. find – 高级文件搜索
bash
find /home -name "*.conf" # 按名称查找
find /var -type f -size +10M # 查找大于10MB的文件
find . -mtime -7 # 最近7天内修改的文件
find . -exec chmod 644 {} \; # 对查找结果执行命令3. grep – 文本内容过滤
bash
grep "error" /var/log/syslog # 在文件中搜索error
ps aux | grep python # 管道搜索进程
grep -r "TODO" --include="*.py" ./ # 递归搜索所有py文件
4. tar – 打包与压缩
bash
tar -czvf archive.tar.gz ./folder # 打包并gzip压缩
tar -xzvf archive.tar.gz # 解压
tar -tf archive.tar.gz # 查看压缩包内容(不解压)
🔐 四、权限管理指令
1. chmod – 修改文件权限
bash
chmod 755 script.sh # 所有者rwx,组和其他rx
chmod u+x file # 给所有者添加执行权限
chmod -R 644 ./public # 递归修改目录下所有文件
2. chown – 修改所有者/组
bash
chown user:group file # 同时修改用户和组
chown -R alice ./data # 递归修改所有子文件
3. useradd / passwd – 用户管理
bash
sudo useradd -m bob # 创建用户bob并生成/home/bob
sudo passwd bob # 设置密码
sudo usermod -aG sudo bob # 将bob添加到sudo组
💾 五、磁盘与存储指令
1. fdisk – 分区管理
bash
sudo fdisk -l # 列出所有磁盘及分区
sudo fdisk /dev/sda # 交互式分区操作(m查看帮助)
2. mount / umount – 挂载与卸载
bash
sudo mount /dev/sdb1 /mnt/usb # 挂载分区到/mnt/usb
sudo umount /mnt/usb # 卸载
# 永久挂载需编辑 /etc/fstab
3. dd – 磁盘克隆与转换
bash
dd if=/dev/sda of=backup.img bs=4M status=progress # 备份整个磁盘
dd if=/dev/zero of=testfile bs=1M count=100 # 生成100M测试文件
🌐 六、网络工具指令
1. ip (推荐) / ifconfig (旧)
bash
ip addr show # 查看所有网络接口IP
ip link set eth0 up # 启用网卡
ifconfig eth0 # 传统命令(可能需要net-tools)
2. ping – 网络连通性测试
bash
ping -c 4 baidu.com # 只发送4个ICMP包
ping -i 0.5 8.8.8.8 # 每0.5秒发一次
3. netstat / ss – 端口与连接查看
bash
netstat -tulnp # 列出所有监听端口及对应进程(需root)
ss -tulnp # 更快的netstat替代
ss -ant | grep :80 # 查看80端口的tcp连接
4. curl – 网络请求测试
bash
curl -I https://www.baidu.com # 仅获取HTTP头
curl -X POST -d "key=val" http://api.example.com
curl -O https://example.com/file.zip # 下载文件
5. scp – 安全远程文件拷贝
bash
scp file.txt user@remote:/path/ # 上传
scp user@remote:/path/file.txt ./ # 下载
scp -r ./folder user@remote:/dest/ # 递归复制目录
🧠 七、常用快捷键与技巧
| 快捷键 | 作用 |
|---|
Ctrl + C | 终止当前前台进程 |
Ctrl + Z | 暂停进程并放入后台 |
Ctrl + D | 退出当前终端 / 发送EOF |
Ctrl + L | 清屏(相当于clear) |
!! | 重复上一条命令 |
!ps | 执行最近一次以ps开头的命令 |
Tab | 自动补全路径或命令 |
history | 查看命令历史记录 |
📌 总结
本文介绍了Linux系统中最常用、最高频的系统指令,覆盖了日常运维和开发调试的绝大多数场景。
🔔 提示:命令的参数很多,不必全部记忆,善用 man 命令 或 命令 --help 查看帮助文档。
建议收藏本文,遇到不熟悉的命令时快速查阅。如果你有更深入的命令使用经验,欢迎在评论区补充交流!