Linux 作为一款广泛使用的开源操作系统,其强大的命令行工具是高效管理系统的核心,熟练掌握常用命令不仅能提升操作效率,还能深入理解系统运行机制,以下从文件管理、系统监控、网络配置、软件管理及文本处理等方面详细介绍 Linux 常用命令。

文件与目录管理命令
文件和目录是 Linux 系统的基础,相关命令是日常操作中最常使用的。ls 命令用于列出目录内容,通过 -l 参数可显示详细信息(如权限、所有者、大小、修改时间),-a 参数可隐藏文件(以开头的文件),-h 参数以人类可读格式显示文件大小(如 K、M、G)。cd 命令用于切换目录,cd .. 返回上级目录,cd ~ 进入当前用户主目录,cd - 在上次目录和当前目录间切换。pwd 命令显示当前所在工作目录的完整路径。
mkdir 用于创建目录,-p 参数可递归创建多级目录(如 mkdir -p /a/b/c)。touch 用于创建空文件或更新文件时间戳。cp 命令复制文件或目录,-r 参数用于递归复制目录(如 cp -r dir1 dir2),-i 参数会在覆盖前提示用户确认。mv 命令可移动文件/目录或重命名,-i 参数同样提供覆盖提示。rm 命令删除文件,-r 参数递归删除目录,-f 参数强制删除而不提示,需谨慎使用。ln 命令用于创建链接文件,-s 参数创建软链接(符号链接),如 ln -s source_file link_file,软链接类似于 Windows 的快捷方式,而硬链接则与原文件共享同一 inode。
系统监控与管理命令
top 命令动态显示系统进程状态,包括 CPU、内存使用率,按 M 可按内存排序,按 C 按 CPU 排序,按 q 退出。htop 是 top 的增强版,界面更友好,支持鼠标操作,但需单独安装。ps 命令查看静态进程列表,aux 参数显示所有进程详细信息(如 ps aux),-ef 参数以全格式显示进程树。kill 命令终止进程,通过进程 ID(PID)操作,如 kill 1234;-9 参数强制终止(kill -9 1234)。df 命令查看磁盘空间使用情况,-h 参数以人类可读格式显示(如 df -h),du 命令查看目录或文件大小,-sh 参数显示总大小(如 du -sh /var/log)。
free 命令查看内存使用情况,-h 参数同样以人类可读格式显示。uname 命令显示系统信息,-a 参数显示所有信息(内核版本、主机名等)。uptime 命令显示系统运行时间及负载平均值(1分钟、5分钟、15分钟)。date 命令查看或设置系统时间,"+%Y-%m-%d %H:%M:%S" 可自定义时间格式(如 date "+%Y-%m-%d %H:%M:%S")。

网络配置与诊断命令
ifconfig 或 ip 命令用于查看和配置网络接口,ifconfig eth0 up/down 启用/禁用网卡,ip addr show 显示 IP 地址信息。ping 命令测试网络连通性,如 ping www.baidu.com,-c 参数指定发送包数量(ping -c 4 www.baidu.com)。netstat 命令查看网络连接状态,-an 参数显示所有连接及端口,-tuln 参数显示监听的 TCP/UDP 端口。ss 是 netstat 的替代工具,性能更优,-tuln 参数同样显示监听端口。wget 或 curl 命令用于下载文件,wget http://example.com/file.zip 直接下载,curl -O http://example.com/file.zip 也可下载文件。
ssh 命令用于远程登录,如 ssh username@remote_ip,首次连接会提示保存主机密钥。scp 命令通过 SSH 安全复制文件,如 scp local_file username@remote_ip:/remote/path,-r 参数递归复制目录。traceroute 或 traceroute6 命令跟踪数据包到达目标主机的路径,用于诊断网络延迟或故障点。nslookup 或 dig 命令用于 DNS 查询,如 nslookup www.baidu.com 查询域名对应的 IP 地址。
软件包管理命令
不同 Linux 发行版使用不同的包管理工具,基于 Debian/Ubuntu 的系统使用 apt,常用命令包括:sudo apt update 更新软件包列表,sudo apt upgrade 升级已安装的包,sudo apt install package_name 安装软件包,sudo apt remove package_name 占除软件包,sudo apt autoremove 清理不再需要的依赖包,基于 RedHat/CentOS 的系统使用 yum 或 dnf(CentOS 8+),常用命令包括:sudo yum update 更新系统,sudo yum install package_name 安装软件包,sudo yum remove package_name 占除软件包,sudo yum clean all 清理缓存,源码编译安装时,常用 tar 命令解压文件(如 tar -zxvf file.tar.gz),./configure 配置编译选项,make 编译,sudo make install 安装。
文本处理命令
cat 命令查看文件内容,-n 参数显示行号(cat -n file.txt)。less 或 more 命令分页查看文件,支持上下翻页和搜索(less file.txt)。grep 命令在文本中搜索匹配的行,-i 参数忽略大小写,-n 显示行号,-v 反向匹配(如 grep "error" log.txt)。sed 命令流编辑器,用于文本替换、删除等操作,如 sed 's/old/new/g' file.txt 替换文件中所有 "old" 为 "new"。awk 命令用于文本处理和数据分析,如 awk '{print $1, $3}' file.txt 打印每行的第 1 和第 3 列。find 命令在目录中查找文件,如 find /home -name "*.txt" 在 /home 目录下查找所有 .txt 文件,-type f 指定文件类型,-mtime -7 查找 7 天内修改的文件。

常用命令对比表格
| 命令 | 功能描述 | 常用参数及示例 |
|---|---|---|
ls |
列出目录内容 | -l(详细信息)、-a(显示隐藏文件) |
cp |
复制文件或目录 | -r(递归目录)、-i(覆盖提示) |
mv |
移动/重命名文件或目录 | -i(覆盖提示) |
rm |
删除文件或目录 | -r(递归目录)、-f(强制删除) |
ps |
查看进程列表 | aux(所有进程详细信息) |
top |
动态监控进程 | M(按内存排序)、q(退出) |
df |
查看磁盘空间 | -h(人类可读格式) |
ping |
测试网络连通性 | -c(指定发送包数量) |
ssh |
远程登录 | username@remote_ip |
grep |
文本搜索 | -i(忽略大小写)、-n(显示行号) |
find |
查找文件 | -name(按名称查找)、-type(按类型) |
相关问答 FAQs
Q1:如何查看 Linux 系统的负载情况?
A:可以使用 uptime 命令查看系统的 1 分钟、5 分钟、15 分钟负载平均值,负载值越高表示系统负载越大;也可以通过 top 命令的第一行查看实时负载,或使用 htop 命令以更直观的界面监控负载及进程资源占用情况。
Q2:如何查找并删除指定大小的文件?
A:可以使用 find 命令结合 -size 参数查找指定大小的文件,例如查找 /var/log 目录下大小超过 100M 的文件:find /var/log -type f -size +100M;删除时需谨慎,建议先确认文件内容,再通过 -exec 参数执行删除操作:find /var/log -type f -size +100M -exec rm -f {} \;, 表示查找到的文件,\; 是命令结束符。
