Linux命令是Linux系统中用户与操作系统交互的核心工具,掌握常用命令是高效管理服务器和本地系统的基础,以下从文件管理、系统监控、文本处理、网络配置和权限控制五个维度,结合具体命令和实例进行详细说明。

文件管理命令
文件管理是Linux操作中最频繁的操作之一,ls
、cd
、cp
、mv
、rm
是基础中的基础。ls -la
命令可以显示文件的详细信息,包括权限、所有者、大小和修改时间,例如ls -la /home
会列出/home
目录下所有文件和文件夹的完整属性。cp
命令支持递归复制目录,如cp -r /source /destination
会将/source
整个目录复制到/destination
。rm
命令需谨慎使用,rm -rf
会强制递归删除文件或目录,且无法恢复,因此执行前需确认路径正确,对于需要批量重命名的场景,rename
命令非常实用,例如rename 's/\.txt/\.log/' *.txt
会将当前目录下所有.txt
文件扩展名改为.log
。
系统监控命令
实时监控系统状态对运维至关重要。top
命令动态显示进程的CPU和内存占用情况,按P
键可按CPU使用率排序,按M
键则按内存排序,更详细的系统资源监控可通过htop
实现,它以彩色界面和交互式操作提升了可读性,磁盘空间使用情况用df -h
查看,-h
参数以人类可读格式(如GB、MB)显示数据,例如df -h /dev/sda1
会查看指定分区的空间使用率,进程监控方面,ps aux
列出所有运行的进程,结合grep
可筛选特定进程,如ps aux | grep nginx
查看所有与nginx相关的进程。
文本处理命令
Linux的文本处理能力强大,grep
、sed
、awk
是三大核心工具。grep "keyword" file.txt
可在文件中搜索包含关键词的行,-i
参数忽略大小写,-r
参数递归搜索目录。sed
用于流编辑文本,例如sed 's/old/new/g' file.txt
会将文件中所有"old"替换为"new",但不会修改原文件,需用重定向保存结果。awk
适合按列处理文本,如awk '{print $1, $3}' file.txt
会输出每行的第1列和第3列内容,对于大文件分割,split -l 1000 largefile.txt part_
会将largefile.txt
每1000行分割为一个新文件,文件名以part_
为前缀。
网络配置命令
网络诊断和配置常用ping
、netstat
、ss
和curl
。ping -c 4 www.baidu.com
发送4个ICMP包测试与百度的网络连通性。netstat -tuln
查看当前监听的TCP和UDP端口,-t
表示TCP,-u
表示UDP,-l
表示仅显示监听端口,-n
以数字形式显示地址和端口。ss
命令是netstat
的替代品,性能更优,ss -tuln
效果相同。curl -I www.example.com
可获取HTTP响应头,用于快速检查网站状态。

权限控制命令
Linux权限管理通过chmod
、chown
和sudo
实现。chmod 755 file.txt
设置文件所有者可读写执行,组用户和其他用户可读执行,其中7=rwx,5=r-x。chown user:group file.txt
修改文件所有者和所属组,如chown nginx:nginx /var/www/html
会将/var/www/html
的所有者改为nginx用户和组。sudo
命令允许普通用户以超级用户权限执行命令,sudo visudo
可编辑sudoers
文件,配置用户权限规则。
以下为常用命令速查表:
| 命令类别 | 常用命令 | 功能描述 |
|----------|----------|----------|
| 文件管理 | ls -la
| 列出文件详细信息 |
| | cp -r
| 递归复制目录 |
| | rm -rf
| 强制递归删除 |
| 系统监控 | top
| 动态监控进程资源 |
| | df -h
| 查看磁盘空间使用率 |
| 文本处理 | grep
| 文本搜索 |
| | sed 's/old/new/g'
| 文本替换 |
| 网络配置 | ping -c
| 测试网络连通性 |
| | netstat -tuln
| 查看监听端口 |
| 权限控制 | chmod 755
| 修改文件权限 |
| | chown user:group
| 修改文件所有者 |
相关问答FAQs
Q1: 如何查找系统中占用CPU最高的进程?
A1: 使用top
命令后按P
键(大写)按CPU使用率排序,或通过命令ps --sort=-%cpu -eo pid,ppid,cmd,%cpu,%mem --no-headers | head -n 1
直接显示CPU占用最高的进程及其PID和命令名。
Q2: 如何批量压缩当前目录下的所有.log文件?
A2: 使用for
循环结合gzip
命令:for file in *.log; do gzip "$file"; done
,该命令会遍历所有.log
文件并逐一压缩为.gz
格式,原文件会被删除,若需保留原文件,可改用gzip -c "$file" > "${file}.gz"
。
