Linux作为广泛使用的操作系统,其命令行界面(CLI)是高效管理系统的核心,熟练掌握Linux必会命令能极大提升操作效率,以下从文件管理、系统监控、网络配置、文本处理和权限管理五个维度详细介绍常用命令及其应用场景。

文件管理命令
文件管理是Linux操作的基础,ls命令用于列出目录内容,ls -l以详细格式显示权限、所有者、大小等信息,ls -a则隐藏文件也会显示。cd命令用于切换目录,cd ..返回上级目录,cd ~进入用户主目录。cp命令复制文件或目录,cp -r用于递归复制整个目录,cp -i在覆盖前会提示确认。mv命令实现文件移动和重命名,mv -i同样提供覆盖提示。rm命令删除文件,rm -r递归删除目录,rm -f强制删除不提示。mkdir创建新目录,mkdir -p可创建多级嵌套目录。touch用于创建空文件或更新文件时间戳。find命令按名称、类型、时间等条件查找文件,例如find /home -name "*.txt"查找home目录下所有txt文件。grep在文本中搜索匹配行,grep "error" log.txt在log.txt中搜索包含error的行。
系统监控命令
top命令实时显示系统进程资源占用,按CPU、内存排序,top -i仅显示活跃进程。htop是top的增强版,支持彩色显示和鼠标操作。free查看内存使用情况,free -h以人类可读格式显示(GB/MB)。df检查磁盘空间,df -h按易读格式显示各分区使用率。du统计目录大小,du -sh *显示当前目录下各子目录总大小。ps查看进程状态,ps aux显示所有进程详细信息,ps -ef以全格式列出进程。kill终止进程,kill -9强制终止,killall按进程名终止所有相关进程。uptime显示系统运行时间和负载平均值。vmstat报告虚拟内存、进程、I/O等系统状态。
网络配置命令
ifconfig查看和配置网络接口,ifconfig eth0 up/down启用或禁用网卡。ip命令是ifconfig的现代替代品,ip addr show查看IP地址,ip link set eth0 up启用接口。ping测试网络连通性,ping -c 4 baidu.com发送4个数据包。netstat显示网络连接、路由表、接口统计等,netstat -tuln查看监听的TCP/UDP端口。ss是netstat的替代工具,ss -tuln功能相同但性能更优。curl用于传输数据,curl -I www.baidu.com获取HTTP响应头。wget下载文件,wget -c file.zip支持断点续传。ssh远程登录,ssh user@ip连接远程主机。scp安全复制文件,scp -r local_dir user@ip:/remote_dir递归复制目录。
文本处理命令
cat查看文件内容,cat -n file.txt显示行号。less分页查看大文件,支持上下翻页和搜索。head显示文件前几行,head -n 10 file.txt显示前10行。tail显示文件末尾内容,tail -f log.txt实时跟踪日志更新。wc统计文件行数、单词数、字节数,wc -l file.txt统计行数。sort对文本行排序,sort -n file.txt按数字排序。uniq去除重复行,需先配合sort使用。cut提取文本列,cut -d: -f1 /etc/passwd以冒号为分隔符提取第一列。sed流编辑器,用于替换、删除文本,sed 's/old/new/g' file.txt全局替换。awk强大的文本分析工具,awk '{print $1}' file.txt打印每行第一列。

权限管理命令
chmod修改文件权限,chmod 755 script.sh设置所有者可读写执行,其他用户可读执行。chown更改文件所有者,chown user:group file.txt同时修改所有者和所属组。su切换用户,su -切换到root并加载环境变量。sudo以其他用户身份执行命令,sudo apt update以管理员权限更新软件包。passwd修改用户密码,passwd username修改指定用户密码。useradd创建新用户,useradd -m -s /bin/bash newuser创建用户并创建主目录。userdel删除用户,userdel -r newuser同时删除用户主目录。groupadd创建用户组,groupadd developers创建developers组。visudo安全编辑sudoers文件,避免语法错误导致权限问题。
以下为常用命令速查表:
| 命令类别 | 常用命令 | 功能描述 |
|---|---|---|
| 文件管理 | ls, cd, cp, mv, rm | 列表、切换目录、复制、移动、删除 |
| 系统监控 | top, free, df, ps | 进程监控、内存查看、磁盘检查、进程状态 |
| 网络配置 | ifconfig, ping, netstat, ssh | 网络配置、连通性测试、端口查看、远程登录 |
| 文本处理 | cat, grep, sed, awk | 、搜索、编辑、分析文本 |
| 权限管理 | chmod, chown, sudo | 修改权限、更改所有者、提权执行 |
相关问答FAQs
Q1: 如何在Linux中查找包含特定关键词的所有文件?
A: 使用find命令结合grep可以实现,在当前目录及其子目录中查找包含"error"的.txt文件,可执行:find . -type f -name "*.txt" -exec grep -l "error" {} \;,该命令会递归查找所有.txt文件,并通过grep过滤出包含"error"的文件路径。
Q2: 如何查看某个进程占用的端口号?
A: 可通过netstat或ss命令结合grep实现,查看进程ID为1234的占用的端口:netstat -tulnp | grep 1234或ss -tulnp | grep 1234,命令中-t表示TCP,-u表示UDP,-l仅显示监听端口,-n以数字形式显示地址和端口,-p显示进程ID和名称。
