Skip to content

Linux 常用命令合集

本指南旨在提供一份 Linux 系统中常用命令的快速参考,涵盖文件操作、系统信息、进程管理、网络工具等多个方面。


1. 文件与目录操作

  • ls:列出目录内容。
    • ls -l:长格式显示(权限、所有者、大小、修改日期等)。
    • ls -a:显示所有文件,包括隐藏文件。
    • ls -lh:以人类可读的格式显示文件大小。
  • cd [目录]:切换当前工作目录。
    • cd ~cd:切换到用户主目录。
    • cd ..:切换到上级目录。
  • pwd:显示当前工作目录的路径。
  • mkdir [目录名]:创建新目录。
    • mkdir -p a/b/c:递归创建多级目录。
  • rmdir [目录名]:删除空目录。
  • cp [源文件/目录] [目标文件/目录]:复制文件或目录。
    • cp -r [源目录] [目标目录]:递归复制目录及其内容。
  • mv [源文件/目录] [目标文件/目录]:移动或重命名文件/目录。
  • rm [文件/目录]:删除文件或目录。
    • rm -r [目录]:递归删除目录及其内容。
    • rm -f [文件]:强制删除文件,不提示。
    • rm -rf [目录]:强制递归删除目录及其内容(慎用!)。
  • touch [文件名]:创建空文件或更新文件的时间戳。
  • cat [文件名]:显示文件内容。
  • more [文件名]:分页显示文件内容(按空格翻页,q 退出)。
  • less [文件名]:更强大的分页显示文件内容(支持前后翻页,搜索等,q 退出)。
  • head [文件名]:显示文件开头几行(默认10行)。
    • head -n 5 [文件名]:显示文件开头5行。
  • tail [文件名]:显示文件末尾几行(默认10行)。
    • tail -n 5 [文件名]:显示文件末尾5行。
    • tail -f [文件名]:实时跟踪文件末尾内容(常用于查看日志)。
  • find [路径] [选项] [表达式]:在文件系统中搜索文件。
    • find . -name "*.log":在当前目录及其子目录中查找所有 .log 文件。
  • grep [模式] [文件]:在文件中搜索匹配指定模式的行。
    • grep -i "error" log.txt:不区分大小写搜索 error
    • grep -r "keyword" .:递归搜索当前目录下的所有文件。

2. 系统信息与管理

  • uname -a:显示所有系统信息(内核版本、操作系统等)。
  • df -h:显示磁盘空间使用情况(人类可读格式)。
  • du -sh [目录]:显示目录或文件的大小(人类可读格式)。
  • free -h:显示内存使用情况(人类可读格式)。
  • top:实时显示系统进程、CPU、内存使用情况。
  • htoptop 的增强版,提供更友好的交互界面。
  • ps aux:显示所有正在运行的进程。
  • kill [PID]:终止指定 PID 的进程。
  • killall [进程名]:终止指定名称的所有进程。
  • history:显示历史命令。
  • date:显示当前日期和时间。
  • cal:显示日历。
  • whoami:显示当前用户名。
  • id:显示当前用户的用户ID和组ID。
  • hostname:显示主机名。
  • uptime:显示系统运行时间、用户数和平均负载。

3. 用户与权限管理

  • sudo [命令]:以超级用户权限执行命令。
  • su - [用户名]:切换用户(- 表示切换到该用户的环境)。
  • passwd:修改当前用户密码。
  • chown [用户:组] [文件/目录]:改变文件或目录的所有者和组。
  • chmod [权限模式] [文件/目录]:改变文件或目录的权限。
    • chmod +x [脚本文件]:添加执行权限。
    • chmod 755 [文件]:设置权限为 rwxr-xr-x

4. 网络工具

  • ping [IP地址/域名]:测试网络连通性。
  • ifconfig (或 ip addr):显示或配置网络接口信息。
  • netstat -tulnp:显示所有监听端口和建立的连接。
  • ss -tulnpnetstat 的替代品,更快更高效。
  • ssh [用户@主机]:远程登录到另一台服务器。
  • scp [源文件] [目标文件]:在本地和远程主机之间复制文件。
  • wget [URL]:从网络下载文件。
  • curl [URL]:发送 HTTP 请求,常用于测试 API 或下载文件。

5. 软件包管理

Debian/Ubuntu (APT)

  • sudo apt update:更新软件包列表。
  • sudo apt upgrade:升级所有可升级的软件包。
  • sudo apt install [软件包名]:安装软件包。
  • sudo apt remove [软件包名]:卸载软件包(保留配置文件)。
  • sudo apt purge [软件包名]:彻底卸载软件包(包括配置文件)。
  • sudo apt autoremove:删除不再需要的依赖包。

CentOS/RHEL (YUM/DNF)

  • sudo yum update (或 sudo dnf update):更新软件包列表并升级。
  • sudo yum install [软件包名] (或 sudo dnf install [软件包名]):安装软件包。
  • sudo yum remove [软件包名] (或 sudo dnf remove [软件包名]):卸载软件包。

6. 压缩与解压

  • tar -cvf [归档名.tar] [文件/目录]:创建 .tar 归档文件。
  • tar -xvf [归档名.tar]:解压 .tar 归档文件。
  • tar -czvf [归档名.tar.gz] [文件/目录]:创建 .tar.gz 压缩文件。
  • tar -xzvf [归档名.tar.gz]:解压 .tar.gz 压缩文件。
  • gzip [文件]:压缩文件为 .gz
  • gunzip [文件.gz]:解压 .gz 文件。
  • zip [压缩包名.zip] [文件/目录]:创建 .zip 压缩文件。
  • unzip [压缩包名.zip]:解压 .zip 文件。

7. 文本编辑

  • vi / vim:强大的文本编辑器。
  • nano:简单易用的文本编辑器。

8. 其他常用命令

  • clear:清空终端屏幕。
  • man [命令]:显示命令的帮助手册页。
  • echo [文本]:在终端输出文本。
  • alias [别名]='[命令]':创建命令别名。
  • history:显示历史命令。
  • reboot:重启系统。
  • shutdown -h now:立即关机。
  • poweroff:关机。

这份列表涵盖了 Linux 日常使用和管理中最常用的一些命令。熟练掌握它们将大大提高你在 Linux 环境下的工作效率。