Linux作为开源操作系统的代表,其强大的命令行工具是系统管理和日常操作的核心,掌握常用命令不仅能提升工作效率,还能深入理解系统运行机制,以下是20个Linux常见命令的详细介绍,涵盖文件管理、系统监控、网络操作、文本处理等多个维度,并通过表格形式归纳核心功能,最后附相关FAQs解答。

文件与目录管理命令
- ls:列出目录内容,通过
ls -l显示详细信息(权限、所有者、大小等),ls -a显示隐藏文件,ls -h以人类可读格式显示文件大小(如KB、MB)。ls -la /home可查看用户目录下的所有文件及属性。 - cd:切换工作目录。
cd /切换到根目录,cd ..返回上级目录,cd ~进入用户主目录,cd -在最近两次目录间切换。 - pwd:显示当前工作目录的完整路径,常用于确认当前位置。
- mkdir:创建新目录。
mkdir -p可递归创建多级目录(如mkdir -p a/b/c)。 - rm:删除文件或目录。
rm -f强制删除不提示,rm -r递归删除目录(需谨慎使用)。 - cp:复制文件或目录。
cp -r复制目录,cp -p保留文件属性(如权限、时间戳)。 - mv:移动文件或目录,也可用于重命名。
mv old.txt new.txt将文件重命名,mv file.txt /tmp/将文件移动到/tmp目录。 - touch:创建空文件或更新文件时间戳。
touch newfile.txt创建新文件,touch -a file.txt仅更新访问时间。
系统信息与监控命令
- top:实时显示系统进程状态,包括CPU、内存使用情况,按
P按CPU排序,M按内存排序,q退出。 - ps:查看当前进程状态。
ps aux显示所有进程的详细信息,ps -ef以完整格式列出进程。 - df:显示磁盘空间使用情况。
df -h以人类可读格式输出(如1K、2M等)。 - du:统计目录或文件大小。
du -sh *显示当前目录下各文件及子目录的总大小(-s汇总,-h人性化显示)。 - free:查看内存使用情况。
free -h以GB/MB为单位显示内存、交换空间占用。
网络操作命令
- ping:测试网络连通性。
ping www.google.com检测与目标主机的连接状态,ping -c 4发送4个数据包后停止。 - ifconfig(或
ip addr):查看或配置网络接口。ifconfig eth0显示eth0接口信息,ip addr show功能类似,为现代Linux推荐命令。 - netstat:显示网络连接、路由表、接口统计等。
netstat -tuln查看监听的TCP/UDP端口,ss命令是其替代品,功能更强大。 - ssh:远程登录安全协议。
ssh user@192.168.1.100以user身份登录远程主机,-p指定端口(如-p 2222)。
文本处理与搜索命令
- grep:文本搜索工具。
grep "error" log.txt在文件中搜索包含"error"的行,-i忽略大小写,-r递归搜索目录。 - cat:查看文件内容。
cat file.txt输出文件全部内容,-n显示行号,>或>>用于重定向输出(覆盖或追加)。 - find:文件搜索命令。
find /home -name "*.txt"在/home目录下搜索所有.txt文件,-type f仅限文件,-mtime -7查找7天内修改的文件。
核心命令功能速查表
| 命令 | 主要功能 | 常用选项 |
|---|---|---|
| ls | 列出目录内容 | -l(详细信息), -a(隐藏文件) |
| cd | 切换目录 | (主目录), (上级目录) |
| mkdir | 创建目录 | -p(递归创建) |
| rm | 删除文件/目录 | -f(强制), -r(递归) |
| cp | 复制文件/目录 | -r(目录), -p(保留属性) |
| mv | 移动/重命名文件 | 无 |
| top | 实时进程监控 | P(CPU排序), M(内存排序) |
| df | 磁盘空间使用 | -h(人性化显示) |
| grep | 文本搜索 | -i(忽略大小写), -r(递归) |
| find | 文件搜索 | -name(按名), -type(按类型) |
相关问答FAQs
Q1: 如何快速查找大文件并清理磁盘空间?
A1: 可结合du和find命令实现,使用find / -type f -size +100M -exec ls -lh {} \;查找大于100MB的文件,并通过rm -f删除不需要的文件,清理前建议使用df -h确认磁盘占用,避免误删系统关键文件。
Q2: Linux命令行中如何高效处理文本文件?
A2: 可组合使用grep、sed、awk等工具。grep "error" log.txt | sed 's/error/ERROR/g'先搜索包含"error"的行,再将"error"替换为大写;awk '{print $1,$3}' file.txt按列提取文件内容。sort用于排序,uniq用于去重,wc用于统计行数/单词数,可根据需求灵活搭配。

