Linux作为一款广泛使用的开源操作系统,其强大的命令行工具是高效管理系统的关键,掌握常用命令不仅能提升操作效率,还能深入理解系统运行机制,以下通过具体例子详细介绍Linux常用命令的使用方法,涵盖文件管理、系统监控、网络配置、文本处理等多个方面。

在文件管理方面,ls
命令是最基础的目录列表工具。ls -l
以长格式显示文件详细信息,包括权限、所有者、大小和修改时间;ls -a
会显示隐藏文件,以开头的文件通常被视为隐藏文件,创建目录使用mkdir
,如mkdir newdir
创建单个目录,mkdir -p parentdir/newdir
可递归创建多级目录,删除文件或目录时,rm file.txt
删除普通文件,rm -r dir
递归删除目录及其内容,而rm -f file
强制删除文件而不提示,复制文件用cp
,如cp source.txt dest.txt
复制文件,cp -r sourcedir destdir
复制整个目录,移动或重命名文件则通过mv
实现,mv oldname newname
重命名文件,mv file.txt /path/to/dest/
将文件移动到指定目录。
查看是日常操作的重要部分。cat
命令适合查看小文件,如cat file.txt
直接显示文件内容;对于大文件,less file.txt
支持分页浏览,可通过上下箭头或Page Up/Down
键翻页,按q
退出,查看文件末尾内容常用tail
,例如tail -n 10 file.txt
显示文件最后10行,tail -f file.txt
实时监控文件更新,常用于查看日志。head
命令则相反,head -n 5 file.txt
显示文件前5行,搜索文件内容时,grep
命令非常强大,如grep "error" log.txt
在日志中查找包含"error"的行,grep -r "keyword" /path/
递归搜索指定目录下的所有文件。
系统监控命令帮助了解系统运行状态。top
命令动态显示进程资源占用情况,按P
按CPU排序,按M
按内存排序。htop
是top
的增强版,提供更直观的界面和交互操作,查看磁盘空间使用情况用df -h
,-h
参数以人类可读格式显示(如GB、MB);du -sh /path/
显示指定目录的总大小,-s
仅汇总显示,内存使用情况可通过free -h
查看,-h
同样以友好格式显示,网络监控方面,netstat -tuln
显示所有监听端口和TCP/UDP连接状态,ss -tuln
是netstat
的替代工具,性能更优。
网络配置与诊断命令是网络管理的基础。ping
命令测试网络连通性,如ping google.com
持续发送ICMP请求;ping -c 4 google.com
只发送4次请求后停止,网络接口信息查看用ip addr
或ifconfig
(需安装net-tools),例如ip addr show eth0
查看指定网卡信息,配置网络接口时,sudo ip addr add 192.168.1.100/24 dev eth0
为网卡添加IP地址,sudo ip link set eth0 up
启用网卡,路由管理使用route -n
查看路由表,sudo ip route add default via 192.168.1.1
添加默认网关,文件传输方面,scp
命令可在本地与远程主机间安全复制文件,如scp user@remote:/path/to/file /local/path/
从远程复制到本地,scp /local/file user@remote:/remote/path/
从本地复制到远程。
文本处理命令在日志分析和数据整理中常用。sort
排序,如sort file.txt
按字母顺序排序,sort -n file.txt
按数字排序,sort -k 2 file.txt
按第二列排序。uniq
用于去除重复行,uniq file.txt
显示去重后的内容,sort file.txt | uniq
先排序后去重。cut
命令提取列数据,cut -d',' -f1 file.txt
以逗号为分隔符提取第一列,-f
指定列号。awk
是强大的文本分析工具,如awk '{print $1, $3}' file.txt
打印每行的第一和第三列,awk -F',' '$2 > 100 {print $1}' file.txt
以逗号为分隔符,筛选第二列大于100的行的第一列。sed
用于流编辑文本,sed 's/old/new/g' file.txt
将文件中所有"old"替换为"new",sed -i 's/^/#/' file.txt
在每行开头添加注释符号。

用户与权限管理是系统安全的核心。useradd
命令创建新用户,如sudo useradd -m username
创建用户并创建家目录,-m
自动创建主目录,修改用户密码用passwd username
,删除用户则通过userdel -r username
,-r
同时删除用户家目录,权限修改使用chmod
,如chmod 755 script.sh
设置文件所有者可读写执行,组用户和其他用户可读执行;chmod u+x file.txt
为所有者添加执行权限,文件所有者修改通过chown
实现,chown user:group file.txt
将文件所有者改为user,组改为group,批量修改权限时,find /path -type f -exec chmod 644 {} \;
递归修改所有普通文件权限为644,find /path -type d -exec chmod 755 {} \;
递归修改所有目录权限为755。
进程管理命令确保系统稳定运行。ps
命令查看当前进程,ps aux
显示所有进程的详细信息,ps -ef
以BSD格式显示进程树,终止进程使用kill
,如kill 1234
终止进程ID为1234的进程,kill -9 1234
强制终止进程,后台运行命令时,command &
在后台执行命令,如sleep 100 &
,jobs
查看后台任务,fg %1
将后台任务1调到前台。nohup
命令使进程在用户退出后继续运行,如nohup command > output.log 2>&1 &
,标准输出和错误输出重定向到output.log。
软件包管理因Linux发行版而异,基于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
安装到系统。
以下是相关问答FAQs:

Q1: 如何在Linux中查找包含特定关键词的文件?
A: 可以使用find
和grep
命令结合,在当前目录及其子目录中查找包含"error"的.txt文件,可执行:find . -type f -name "*.txt" -exec grep -l "error" {} \;
。find . -type f -name "*.txt"
查找所有.txt文件,-exec grep -l "error" {} \;
对每个文件执行grep搜索并输出包含关键词的文件名。
Q2: Linux中如何查看系统负载和进程资源占用情况?
A: 系统负载可通过uptime
命令查看,显示当前系统负载平均值(1分钟、5分钟、15分钟),进程资源占用情况使用top
或htop
命令,top
默认按CPU占用排序,htop
提供更直观的彩色界面和交互操作(如按F2
设置显示列)。vmstat 1
每秒显示一次虚拟内存统计,包括CPU使用率、内存交换情况等。