本文档汇总了 Linux/Unix 系统中常用的 40 余条命令,涵盖磁盘管理(df、du、dd)、系统信息查看(uname、lshw、free、cat /proc/cpuinfo)、进程控制(ps、kill、top)、网络配置(ifconfig)、文件查找与内容搜索(find、grep、whereis)、文本处理(cat、tail)、打包压缩(tar)、补丁制作(diff/patch)、用户权限(sudo、umask)、管道与重定向、挂载设备(mount)、服务管理(/etc/init.d)等多个方面。每条命令均配有典型示例和参数说明,便于快速查阅和上手实践。这些命令是 Linux 日常运维与开发中不可或缺的基础工具,掌握它们能显著提升终端操作效率。
1. 磁盘空间与文件大小

| 命令 | 说明 |
|---|---|
df -ha |
显示所有文件和分区的使用情况 |
df -h /dev/sda1 |
显示 sda1 磁盘分区使用率 |
df -T |
显示每个分区的文件系统类型(如 ext3) |
du -h src |
显示 src 文件夹中各文件/子目录所占空间 |
du -hs /usr |
显示 /usr 文件夹的总大小 |
du -h test.c |
显示 test.c 文件所占空间 |
注:
-h表示以 MB、GB 等易读单位显示。
2. dd 命令(备份与转换)
# 备份 /dev/hdb 并压缩 dd if=/dev/hdb | gzip > /root/image.gz # 从压缩备份恢复 gzip -dc /root/image.gz | dd of=/dev/hdb # 备份软盘,块大小 4MB dd if=/dev/fd0 of=disk.img bs=4M
3. 系统信息查看
| 命令 | 说明 |
|---|---|
uname -a |
查看 Ubuntu 内核版本等详细信息 |
cat /proc/cpuinfo |
查看 CPU 状态 |
lshw |
查看硬件信息(完整列表) |
lshw -short |
精简版硬件配置 |
free -m |
查看内存使用(单位 MB) |
hostname |
查看主机名 |
lsusb |
查看 USB 设备 |
lsmod |
显示所有已加载内核模块 |
lsmod | grep mptspi |
过滤包含 mptspi 的模块 |
4. 磁盘分区操作
| 命令 | 说明 |
|---|---|
fdisk -l |
查看磁盘分区信息 |
fdisk /dev/sda |
对磁盘 sda 进行分区操作(新建、删除等) |
5. 进程管理
| 命令 | 说明 |
|---|---|
ps -A |
查看当前系统所有进程 |
kill 进程号 |
终止指定进程 |
kill -9 进程号 |
强制终止进程(普通 kill 无效时使用) |
top |
实时查看进程状况 |
top -p 786 |
仅显示 PID 为 786 的进程 |
6. 网络配置(ifconfig)
ifconfig # 显示网卡信息 ifconfig eth0 up # 启动 eth0 网卡 ifconfig eth0 down # 关闭 eth0 网卡 ifconfig eth0 192.168.1.1 # 设置 IP 地址
7. 服务管理
/etc/init.d/服务名 restart # 重启服务 /etc/init.d/服务名 stop # 停止服务 /etc/init.d/服务名 start # 启动服务
8. 文件查找与内容搜索
| 命令 | 说明 |
|---|---|
whereis 文件名 |
快速查找文件位置 |
find 文件夹 -name 文件名 |
在指定文件夹查找文件 |
find -name '*fb*' |
当前文件夹下查找含 “fb” 的文件 |
find /usr -name '*fb*' |
在 /usr 下递归查找 |
find / -name test.c |
根目录下查找 test.c |
which test |
查找可执行文件 test 的路径 |
grep 'test' d* |
显示所有 d 开头的文件中含 test 的行 |
grep 'test' aa bb cc |
在 aa,bb,cc 中匹配 test |
ls | grep d* |
显示 ls 结果中以 d 开头的内容 |
grep 'request_irq' * -R |
当前目录递归查找含 “request_irq” 的字符串 |
grep 'request_irq' kernel -R |
在 kernel 文件夹中递归查找 |
9. 文本查看与处理
| 命令 | 说明 |
|---|---|
cat -n test.c |
显示 test.c 内容并加上行号 |
tail -n 6 文件名 |
显示文件末尾 6 行(-n +6 表示从第6行开始) |
10. 管道与重定向
-
管道
|:将前一个命令的正确输出作为后一个命令的输入(不处理错误输出)。cat test.sh | grep -n 'echo'
-
重定向:
>覆盖写入文件,>>追加,<输入重定向。-
与管道的区别:管道连接两个命令,重定向连接命令与文件。
-
11. 打包与压缩(tar)
# 压缩 tar czf dirA.tar.gz dirA # gzip 方式 tar cjf dirA.tar.bz2 dirA # bzip2 方式 # 解压 tar xzf dirA.tar.gz # 当前目录 tar xjf dirA.tar.bz2 -C <dir> # 解压到指定目录
12. diff 与 patch(补丁制作与应用)
# 制作补丁(原始文件夹在前,修改后文件夹在后) diff -urNwB linux-2.6.22.6 linux-2.6.22.6_ok > linux-2.6.22.6_ok.diff # 打补丁 cd linux-2.6.22.6 patch -p1 < ../linux-2.6.22.6_ok.diff
13. 目录与文件基本操作
| 命令 | 说明 |
|---|---|
pwd |
显示当前工作目录 |
cd /usr |
进入 /usr 目录 |
cd ~ |
进入当前用户的 home 目录 |
ls -l |
列出当前目录下文件(不含隐藏) |
ls -al |
列出所有文件(含隐藏) |
echo $LANG |
显示当前系统语言 |
LANG=en_US |
临时修改语言为英语 |
bc |
计算器(scale=3 设小数位数,quit 退出) |
exit |
关闭终端(等同于 Ctrl+D) |
umask -S |
查看系统权限掩码 |
14. 主机名修改
hostname abc # 临时修改,重启失效 vim /etc/hostname # 永久修改
15. 软件包管理(apt-get)
apt-get install vim # 安装 vim 编辑器
16. 用户与权限
sudo -s # 切换到超级用户 exit # 从超级用户退出
17. 挂载与卸载 U 盘
fdisk -l # 查看 U 盘盘符(如 /dev/sdb) mkdir /mnt/usb # 建立挂载点 mount -t vfat /dev/sdb /mnt/usb # 挂载 umount /mnt/usb # 卸载
现代 Ubuntu 大多自动挂载,此命令适用于未自动挂载的情况。
18. 终端快捷键与技巧
| 操作 | 说明 |
|---|---|
Ctrl+Alt+T |
打开新终端 |
Shift+Ctrl+N |
在终端中打开新标签页 |
连续按两次 Tab |
显示所有可用命令 |
!! |
执行上一条命令 |
cd 或 cd ~ |
回到当前用户家目录(root 回到 /root,普通用户回到 /home/用户名) |
19、网络命令(补充)
| 命令 | 说明 |
|---|---|
ip addr show 或 ip a |
查看所有网络接口的 IP 地址(推荐替代 ifconfig) |
curl ifconfig.me |
通过外部服务查看公网 IP |
wget http://example.com/file.zip |
远程下载文件(支持 HTTP/HTTPS/FTP) |
curl -O http://example.com/file.zip |
使用 curl 下载文件(-O 保留远程文件名) |
ftp 192.168.1.100 |
连接 FTP 服务器,然后使用 get/put 上传下载 |
lftp -c "pget -n 5 http://example.com/file.zip" |
多线程下载(需安装 lftp) |
scp user@host:/remote/file.txt ./ |
通过 SSH 安全复制远程文件到本地 |
rsync -avz /local/dir/ user@host:/remote/dir/ |
高效同步/传输文件(支持断点续传) |
20、系统管理命令(补充)
| 命令 | 说明 |
|---|---|
| 系统更新(Ubuntu/Debian) | |
sudo apt update |
更新软件包列表 |
sudo apt upgrade -y |
升级所有可升级的软件包 |
sudo apt autoremove |
删除不再需要的依赖包 |
| 开关机与重启 | |
shutdown -h now |
立即关机 |
shutdown -r +5 |
5分钟后重启 |
reboot |
立即重启 |
halt 或 poweroff |
直接关机 |
| 修改文件权限 | |
chmod 755 file.sh |
设置文件权限为 rwxr-xr-x |
chmod u+x file.sh |
给文件所有者添加执行权限 |
chown user:group file.txt |
修改文件所有者和属组 |
chown -R user:group /path/dir |
递归修改目录权限 |
| 防火墙操作(以 ufw 为例) | |
sudo ufw status |
查看防火墙状态 |
sudo ufw enable |
开启防火墙 |
sudo ufw disable |
关闭防火墙 |
sudo ufw allow 22/tcp |
允许 SSH(22端口)访问 |
sudo ufw deny 80/tcp |
拒绝 HTTP 访问 |
sudo ufw delete allow 22 |
删除某条规则 |
| 其他实用系统命令 | |
systemctl status ssh |
查看某个服务状态(如 ssh) |
journalctl -xe |
查看系统日志(用于排错) |
uname -r |
查看内核版本 |
上述命令覆盖了 Linux 系统管理员和开发者最常用的操作场景。磁盘类命令(df、du、dd)帮助监控空间与备份数据;进程类命令(ps、kill、top)实现任务调度与性能分析;网络类命令(ifconfig)支持基本接口配置;查找与搜索命令(find、grep)能高效定位文件与内容;打包工具(tar)与补丁工具(diff/patch)简化了软件分发与代码维护。此外,管道(|)和重定向(>、<、>>)是组合命令、实现复杂数据处理的核心机制。熟练掌握这些命令,不仅能够脱离图形界面完成绝大多数系统管理任务,也是深入理解 Linux 工作原理的必经之路。建议读者结合实际环境多加练习,将命令选项与典型用法内化为日常技能。



