20 个 Linux 系统常用指令详解:从入门到进阶

在管理我们的 Ubuntu 服务器或折腾 Docker 容器时,命令行就是我们的手术刀。为了方便日后查阅,我将这 20 个高频指令整理如下。


📋 指令快速索引

类别 指令 用途简述
文件目录 ls, cd, pwd, mkdir, rm, cp, mv 基础文件操作与导航
文本处理 cat, vim, grep, tail 查看、编辑与过滤文本
权限管理 chmod, chown, sudo 掌控系统运行权限
系统监控 df, du, htop, ps 资源占用与进程管理
压缩网络 tar, ssh 数据打包与远程连接

一、 文件与目录管理

1. ls (List)

  • 原理:调用系统函数读取目录文件的索引节点(inode),列出其中的文件名及属性。
  • 常用命令
    ls -alh  # a:显示隐藏文件, l:详细信息, h:以易读单位(KB/MB)显示大小
    

2. cd (Change Directory)

  • 原理:更改当前 shell 进程的工作目录环境变量 PWD
  • 常用命令
    cd /var/lib/docker  # 进入 Docker 数据目录
    cd ~                # 回到当前用户家目录
    cd -                # 返回上一次所在的目录
    

3. pwd (Print Working Directory)

  • 原理:从根目录 / 开始,追踪当前进程的绝对路径。
  • 常用命令
    pwd  # 确认当前所在位置,防止误删文件
    

4. mkdir (Make Directory)

  • 原理:在文件系统中创建一个新的目录项(Directory Entry)。
  • 常用命令
    mkdir -p ./projects/hugo/posts  # -p 参数可以递归创建多层不存在的父目录
    

5. rm (Remove)

  • 原理:解除文件名与 inode 的链接(unlink)。如果链接数为 0,系统将回收该磁盘空间。
  • 常用命令
    rm -rf /path/to/dir  # -r:递归删除, -f:强制删除不提示。操作前请三思!
    

6. cp (Copy)

  • 原理:读取源文件内容并写入到一个新分配的 inode 块中,实现物理备份。
  • 常用命令
    cp -r /etc/nginx /etc/nginx_backup  # 递归备份整个 Nginx 配置文件夹
    

7. mv (Move)

  • 原理:同一分区内仅修改目录树索引(极快);跨分区则执行“复制+删除”。
  • 常用命令
    mv old_name.txt new_name.txt  # 重命名文件
    mv file.conf /tmp/            # 移动文件到临时目录
    

二、 文件查看与文本处理

8. cat (Concatenate)

  • 原理:将文件内容串联并输出到标准输出(stdout),适合查看小文件。
  • 常用命令
    cat /etc/os-release  # 查看当前 Linux 发行版详细信息
    

9. vim

  • 原理:全屏幕文本编辑器。分为命令模式、编辑模式和末行模式。
  • 常用命令
    vim docker-compose.yml  # 进入编辑,按 i 插入,Esc 后输入 :wq 保存退出
    

10. grep (Global Regular Expression Print)

  • 原理:基于正则引擎扫描文本流,实时过滤并打印匹配行。
  • 常用命令
    docker ps -a | grep memos  # 在所有容器列表中快速定位 memos 容器
    

11. tail

  • 原理:从文件末尾向前读取。-f 模式基于文件描述符监听数据追加。
  • 常用命令
    tail -f /var/log/syslog  # 实时滚动查看系统日志,排错必备
    

三、 权限与用户管理

12. chmod (Change Mode)

  • 原理:修改文件系统中的权限位(rwx),控制读、写、执行。
  • 常用命令
    chmod +x backup.sh  # 给脚本增加执行权限
    chmod 600 id_rsa    # 设置私钥文件仅本人可读写
    

13. chown (Change Owner)

  • 原理:修改文件的 UID(所有者 ID)和 GID(所属组 ID)。
  • 常用命令
    chown -R peter:peter /var/www/blog  # 将目录所有权移交给指定用户
    

14. sudo (Superuser Do)

  • 原理:暂时提升权限,通过 /etc/sudoers 配置文件进行安全校验。
  • 常用命令
    sudo apt update && sudo apt upgrade -y  # 以管理员权限更新系统
    

四、 系统监控与磁盘管理

15. df (Disk Free)

  • 原理:查看文件系统的挂载点及磁盘空间整体使用率。
  • 常用命令
    df -h  # 以 GB/MB 显示磁盘剩余空间
    

16. du (Disk Usage)

  • 原理:统计文件或目录所占用的磁盘块(Block)数量。
  • 常用命令
    du -sh * | sort -hr  # 查看当前目录下所有文件夹大小并排序
    

17. htop

  • 原理:交互式进程查看器,实时反映 CPU、内存、负载情况。
  • 常用命令
    htop  # 若未安装请执行 sudo apt install htop
    

18. ps (Process Status)

  • 原理:从 /proc 虚拟文件系统中抓取进程状态快照。
  • 常用命令
    ps -ef | grep portainer  # 查找 Portainer 相关的进程号(PID)
    

五、 压缩与网络

19. tar

  • 原理:将多文件归档。-z 调用 gzip 压缩算法。
  • 常用命令
    tar -zcvf website_backup.tar.gz /var/www/blog  # 压缩备份
    tar -zxvf backup.tar.gz                        # 解压到当前目录
    

20. ssh (Secure Shell)

  • 原理:通过加密通道连接远程服务器,基于非对称加密算法保证安全。
  • 常用命令
    ssh peter@69.197.159.109  # 远程登录 VPS
    

结语: 这 20 个命令构成了 Linux 运维的基石。记住,Linux 的精髓在于“组合”,通过管道符 | 把这些工具串联起来,你就能像指挥家一样掌控整台服务器。

Built with Hugo
Theme Stack designed by Jimmy