Linux 作为一款广泛使用的操作系统,其命令行界面(CLI)提供了强大的功能,通过简洁的命令即可完成复杂的操作,掌握最常用的 Linux 命令是高效管理系统的关键,以下将从文件管理、文本处理、系统信息、网络操作、软件管理及权限控制等方面,详细介绍 Linux 中最常用的命令及其用法。
在文件管理方面,ls
是最基础的命令,用于列出目录内容,通过 ls -l
可以显示文件的详细信息(如权限、所有者、大小、修改时间),ls -a
会显示包括隐藏文件在内的所有文件,ls -h
则以人类可读的格式(如 K、M、G)显示文件大小。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 oldname newname
),mv -i
可在覆盖前提示确认。touch
用于创建空文件或更新文件的时间戳。cat
用于查看文件内容,more
和 less
用于分页查看长文件(less
支持向前翻页)。head
和 tail
用于查看文件的开头和末尾部分,tail -f
可实时跟踪文件内容变化(常用于日志监控)。
文本处理是 Linux 命令的强项。grep
用于在文本中搜索匹配的行,grep -i
忽略大小写,grep -r
递归搜索目录,grep -v
反向匹配(输出不包含关键词的行)。sed
是流编辑器,用于对文本进行替换、删除等操作,sed 's/old/new/g' file
将文件中所有 "old" 替换为 "new"。awk
是强大的文本分析工具,按列处理文本,awk '{print $1, $3}' file
输出文件的第一列和第三列。sort
用于对文本行进行排序,sort -n
按数字排序,sort -r
反向排序,sort -k2
按第二列排序。uniq
用于去除相邻的重复行,uniq -c
可统计重复次数,通常需与 sort
配合使用(如 sort file | uniq -c
)。wc
用于统计文件的行数、单词数和字节数,wc -l
统计行数,wc -w
统计单词数,wc -c
统计字节数。
系统信息查询方面,top
和 htop
(需安装)是动态监控系统进程和资源占用的工具,按 q
退出。ps
用于查看当前进程,ps -ef
显示所有进程的详细信息,ps aux
显示进程的 CPU 和内存占用情况。kill
用于终止进程,kill -9
强制终止,需配合进程号(PID)使用。uname -a
显示系统的详细信息(如内核版本、主机名)。df -h
用于查看磁盘空间使用情况,du -sh
查看目录或文件的总大小(-s
仅显示总计,-h
人类可读格式)。free -h
查看内存使用情况。date
用于显示或设置系统时间,date +"%Y-%m-%d %H:%M:%S"
可自定义时间格式。
网络操作命令中,ifconfig
或 ip addr
用于查看和配置网络接口(如 ip addr show eth0
)。ping
用于测试网络连通性(如 ping www.baidu.com
),ping -c 4
发送 4 个数据包后停止。netstat -tuln
查看监听的 TCP/UDP 端口,ss -tuln
是更高效的替代工具。ssh
用于远程登录服务器(如 ssh user@hostname
),scp
用于安全复制文件(如 scp file.txt user@remote:/path/
)。wget
或 curl
用于下载文件,wget https://example.com/file.zip
直接下载,curl -O url
保存文件。traceroute
或 tracert
(Windows)用于跟踪网络路由路径。
软件管理方面,基于 Debian/Ubuntu 的系统使用 apt
,常用命令包括 sudo apt update
更新软件列表,sudo apt install package
安装软件,sudo apt remove package
卸载软件,sudo apt upgrade
升级已安装软件,基于 RedHat/CentOS 的系统使用 yum
或 dnf
,常用命令有 sudo yum install package
,sudo yum remove package
,sudo yum update
,编译安装时,./configure
配置编译参数,make
编译源码,sudo make install
安装。
权限控制命令中,chmod
用于修改文件权限,chmod 755 file
设置所有者可读写执行、组和其他用户可读执行,chmod u+x file
给所有者添加执行权限。chown
用于修改文件所有者,chown user:group file
同时修改所有者和所属组。sudo
用于以超级用户权限执行命令,需输入用户密码。
以下为常用命令的快速参考表格:
命令分类 | 常用命令 | 功能描述 | 常用选项 |
---|---|---|---|
文件管理 | ls | 列出目录内容 | -l (详细信息), -a (显示隐藏) |
cd | 切换目录 | (上级), (家目录) | |
cp | 复制文件/目录 | -r (递归), -p (保留属性) |
|
mv | 移动/重命名文件 | -i (覆盖提示) |
|
文本处理 | grep | 文本搜索 | -i (忽略大小写), -r (递归) |
sed | 流编辑器 | s/old/new/g (替换) |
|
awk | 文本分析 | {print $1} (输出第一列) |
|
系统信息 | top/htop | 进程监控 | q (退出) |
df -h | 磁盘空间查看 | -h (人类可读) |
|
free -h | 内存使用查看 | -h (人类可读) |
|
网络操作 | ping | 网络连通性测试 | -c (指定次数) |
ssh | 远程登录 | user@hostname |
|
wget/curl | 下载文件 | -O (保存为) |
|
软件管理 | apt/yum/dnf | 软件安装/卸载/更新 | install (安装), remove (卸载) |
权限控制 | chmod | 修改权限 | 755 (读写执行权限) |
chown | 修改所有者 | user:group |
相关问答FAQs
Q1: 如何快速查找包含特定关键词的文件?
A: 可以使用 find
命令结合 grep
实现,在当前目录及其子目录中查找包含 "error" 关键词的所有 .log
文件,可执行:find . -name "*.log" -exec grep -l "error" {} \;
。find . -name "*.log"
查找所有 .log
文件,-exec grep -l "error" {} \;
对每个文件执行 grep
搜索并输出包含关键词的文件名。
Q2: 如何查看系统已开放的端口及对应的进程?
A: 可以使用 netstat
或 ss
命令。netstat -tulnp
可显示所有 TCP(-t
)和 UDP(-u
)监听(-l
)端口,并以数字形式显示地址(-n
),同时显示进程 ID(-p
),若使用 ss
,命令为 ss -tulnp
,其输出更简洁高效,通过端口号和 PID,可结合 ps -p PID
查看具体进程信息。