Linux 常用命令速查表

Linux 命令体系非常庞大,为了便于理解和记忆,通常可以按功能方向进行分类。

一、 文件与目录操作

这是最基础的日常操作,用于在系统中导航和管理文件。

  • ls:列出目录内容。常用 ls -l 显示详细信息,ls -a 显示隐藏文件。
  • cd:切换工作目录。cd ~ 回到主目录,cd .. 返回上级目录。
  • pwd:显示当前所在的绝对路径。
  • mkdir:创建新目录。mkdir -p a/b/c 可递归创建多级目录。
  • touch:创建一个空文件,或更新已有文件的时间戳。
  • cp:复制文件或目录。复制目录需加 -r 参数,如 cp -r src_dir dst_dir
  • mv:移动文件或重命名文件。
  • rm:删除文件或目录。rm -r dir 递归删除目录,rm -rf dir 强制删除(慎用)。

二、 文件查看与文本处理

用于查看配置文件、分析日志和处理文本数据。

  • cat:一次性查看文件全部内容,适合短文件。
  • less / more:分页查看长文件,按 q 退出。
  • head / tail:查看文件的头部或尾部。tail -f file.log 可实时追踪日志更新,是排查问题的核心命令。
  • grep:强大的文本搜索工具。grep "error" log.txt 查找包含 “error” 的行,-r 参数可递归搜索目录。
  • find:根据名称、大小等条件在系统中查找文件,如 find / -name "file.txt"
  • 文本三剑客 (sed, awk):进阶文本处理工具。sed 用于文本替换,awk 用于按列提取和分析数据。

三、 系统状态与进程管理

用于监控系统健康度、排查性能瓶颈和管理后台任务。

  • top / htop:实时动态查看 CPU、内存和进程占用情况。
  • free -h:以人类可读格式(如 MB, GB)查看内存使用情况。
  • df -h:查看各磁盘分区的空间使用率,防止磁盘写满。
  • ps aux:查看系统中所有进程的详细信息。
  • kill:终止进程。kill PID 正常终止,kill -9 PID 强制杀死顽固进程。
  • systemctl:管理系统服务。如 systemctl status nginx 查看状态,systemctl restart nginx 重启服务。

四、 网络管理与排查

用于测试网络连通性、排查网络故障和远程管理。

  • ping:测试与目标主机的网络连通性。
  • ip addr:查看本机 IP 地址等网络接口信息(现代替代 ifconfig)。
  • ss -tulnp / netstat -tulnp:查看当前系统的端口监听和连接状态,排查端口冲突。
  • curl / wget:命令行下载文件或测试 API 接口。
  • ssh:安全远程登录服务器。

五、 权限与用户管理

用于控制系统访问安全和文件归属。

  • chmod:修改文件或目录的读、写、执行权限。如 chmod 755 filechmod +x script.sh
  • chown:修改文件或目录的所有者和所属组。
  • sudo:以管理员(root)身份执行命令。
  • su:切换当前用户身份。

六、 压缩解压与软件包管理

用于文件打包和系统软件安装。

  • tar:打包与解包。tar -czvf archive.tar.gz dir 压缩,tar -xzvf archive.tar.gz 解压。
  • zip / unzip:处理 .zip 格式的压缩包。
  • 包管理器:根据发行版不同,使用 apt (Ubuntu/Debian) 或 yum/dnf (CentOS/RHEL) 来安装、更新和卸载软件。

实用小技巧

  • man [命令]:遇到不认识的命令,随时用 man 查看官方手册,是最好的老师。
  • history:查看你之前执行过的命令历史,配合 !n 可快速重复执行。
  • | (管道符):将前一个命令的输出作为后一个命令的输入,例如 ps aux | grep nginx,是组合命令实现自动化任务的关键。