本文档汇总了 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 命令(备份与转换)

bash
# 备份 /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)

bash
ifconfig                # 显示网卡信息
ifconfig eth0 up        # 启动 eth0 网卡
ifconfig eth0 down      # 关闭 eth0 网卡
ifconfig eth0 192.168.1.1   # 设置 IP 地址

7. 服务管理

bash
/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. 管道与重定向

  • 管道 |:将前一个命令的正确输出作为后一个命令的输入(不处理错误输出)。

    bash
    cat test.sh | grep -n 'echo'
  • 重定向> 覆盖写入文件,>> 追加,< 输入重定向。

    • 与管道的区别:管道连接两个命令,重定向连接命令与文件。

11. 打包与压缩(tar)

bash
# 压缩
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(补丁制作与应用)

bash
# 制作补丁(原始文件夹在前,修改后文件夹在后)
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. 主机名修改

bash
hostname abc           # 临时修改,重启失效
vim /etc/hostname      # 永久修改

15. 软件包管理(apt-get)

bash
apt-get install vim    # 安装 vim 编辑器

16. 用户与权限

bash
sudo -s                # 切换到超级用户
exit                   # 从超级用户退出

17. 挂载与卸载 U 盘

bash
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 工作原理的必经之路。建议读者结合实际环境多加练习,将命令选项与典型用法内化为日常技能。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注