Linux 作为一款开源的类 Unix 操作系统,其强大的命令行工具是系统管理和高效操作的核心,掌握常用 Linux 系统命令,不仅能提升工作效率,还能深入理解系统运行机制,以下从文件管理、文本处理、系统监控、网络配置及压缩打包五个维度,详解常用命令及其使用场景。

文件管理命令
文件管理是 Linux 操作的基础,ls、cd、cp、mv、rm 是最核心的命令。
-
ls:列出目录内容。
常用选项包括-l(长格式显示,包含权限、所有者、大小等)、-a(显示隐藏文件,以 开头的文件)、-h(以人类可读格式显示大小,如K、M)。ls -lah会显示当前目录下所有文件(包括隐藏文件),并以易读格式展示大小。 -
cd:切换目录。
cd /切换到根目录,cd ~或cd切换到用户主目录,cd -返回上一次所在目录,相对路径(如cd Documents)和绝对路径(如cd /home/user/Documents)均支持。 -
cp:复制文件或目录。
复制文件时直接使用cp 源文件 目标文件,复制目录需加-r或-R选项(递归复制)。cp -r /tmp/test /home/user/将test目录复制到用户主目录下。
(图片来源网络,侵删) -
mv:移动或重命名文件/目录。
移动文件:mv 源文件 目标目录;重命名:mv 原文件名 新文件名。mv old.txt new.txt将文件重命名,mv file.txt /tmp/将文件移动到/tmp目录。 -
rm:删除文件或目录。
删除文件用rm 文件名,删除目录需加-r(递归删除)或-f(强制删除,不提示)。rm -rf /tmp/unused会强制删除unused目录及其所有内容,需谨慎使用。
文本处理命令
Linux 文本处理命令以高效著称,cat、grep、sed、awk 是常用工具。
-
cat:查看文件内容或合并文件。
cat filename直接显示文件内容,cat file1 file2 > file3将file1和file2合并到file3,若需分页显示,可结合more或less(如cat filename | less)。
(图片来源网络,侵删) -
grep:文本搜索,支持正则表达式。
常用选项:-i(忽略大小写)、-n(显示行号)、-v(反向匹配)。grep -n "error" log.txt搜索log.txt中包含error的行并显示行号。 -
sed:流编辑器,用于文本替换、删除等。
示例:sed 's/old/new/g' file.txt将file.txt中所有old替换为new(s表示替换,g表示全局);sed -i '1d' file.txt直接删除文件第一行(-i表示修改原文件)。 -
awk:文本分析工具,按列处理文本。
awk '{print $1, $3}' file.txt打印file.txt每行的第 1 列和第 3 列;awk '$1 > 100 {print $2}'输出第一列大于 100 的行的第 2 列。
系统监控命令
实时监控系统状态是运维的日常工作,top、ps、df、free 是核心命令。
-
top:动态显示进程信息,包括 CPU、内存使用率。
按P按 CPU 使用率排序,M按内存使用率排序,q退出。top -b -n 1可将当前进程信息输出到文件(-b批模式,-n刷新次数)。 -
ps:查看静态进程状态。
ps aux显示所有进程的详细信息(a显示所有进程,u显示用户格式,x显示无终端进程);ps -ef以 BSD 格式显示进程,grep可结合过滤(如ps -ef | grep nginx查看 nginx 进程)。 -
df:查看磁盘空间使用情况。
df -h以人类可读格式显示(如10G、500M),默认单位为 512 字节字节。df -h /查看 根分区磁盘使用情况。 -
free:查看内存使用情况。
free -h显示内存、交换分区的使用量,-m以 MB 为单位,-g以 GB 为单位。free -m可快速查看内存占用(MB)。
网络配置命令
网络配置与排查是 Linux 日常操作的重要部分,ifconfig、ping、netstat、ss 是常用工具。
-
ifconfig:配置或显示网络接口信息(部分系统需安装
net-tools包)。
ifconfig显示所有网络接口(如eth0、lo)的 IP、子网掩码等;ifconfig eth0 192.168.1.100 netmask 255.255.255.0配置eth0接口 IP 地址。 -
ping:测试网络连通性。
ping www.baidu.com向百度发送 ICMP 包,默认持续运行,按Ctrl+C退出;ping -c 4 www.baidu.com只发送 4 个包后停止。 -
netstat:查看网络连接、路由表、接口统计等(部分系统被
ss替代)。
netstat -tuln显示 TCP/UDP 监听端口(tTCP,uUDP,l只显示监听端口,n以数字形式显示地址);netstat -an | grep ESTABLISHED查看已建立的连接。 -
ss:替代
netstat的新工具,显示更高效。
ss -tuln功能与netstat -tuln一致,但速度更快,尤其在高并发场景下。
压缩打包命令
Linux 常用 tar、gzip、zip 处理文件压缩与打包。
-
tar:打包/解包工具,支持多种压缩格式。
打包:tar -cvf archive.tar file1 file2(c创建,v显示过程,f指定文件名);打包并 gzip 压缩:tar -czf archive.tar.gz file1(z表示 gzip);解包:tar -xvf archive.tar(x解包);解压 gzip:tar -xzf archive.tar.gz。 -
gzip:单独压缩/解压文件(
.gz格式)。
gzip file.txt压缩后生成file.txt.gz,原文件删除;gunzip file.txt.gz解压并删除原压缩文件。 -
zip/unzip:处理
.zip格式(跨平台兼容)。
zip -r archive.zip dir/递归压缩目录dir为archive.zip;unzip archive.zip解压到当前目录。
常用命令速查表
| 命令 | 功能 | 常用选项/示例 |
|---|---|---|
| ls | 列出目录内容 | -lah(显示隐藏文件+易读大小) |
| grep | 文本搜索 | -n "error" log.txt(显示行号) |
| ps | 查看进程 | aux(显示所有进程) |
| df | 查看磁盘空间 | -h(易读格式) |
| tar | 打包/解包 | -czf(gzip 压缩)、-xzf(解压 gzip) |
相关问答 FAQs
Q1:如何查找系统中包含特定关键词的文件?
A:使用 find 命令结合 grep,在 /var/log 目录下查找包含 "error" 的文本文件:find /var/log -type f -exec grep -l "error" {} \;。-type f 表示只查找文件,-exec grep -l "error" {} \; 对每个找到的文件执行 grep 搜索,-l 表示只输出包含匹配的文件名。
Q2:如何查看系统负载和进程资源占用情况?
A:使用 top 或 htop(需安装)动态查看系统负载(前 3 行显示 1/5/15 分钟平均负载)和进程资源占用;使用 uptime 快速查看系统负载(如 uptime 输出 load average: 0.10, 0.20, 0.15);使用 vmstat 1 每秒刷新一次,查看 CPU、内存、IO 等统计信息(如 r 列表示运行进程数,us 列表示用户 CPU 占用率)。
