Linux命令是操作系统与用户交互的核心工具,通过命令行可以高效管理文件、系统资源、网络配置等,Linux命令种类繁多,功能覆盖从基础文件操作到复杂系统维护,以下按功能分类详细介绍常用命令及其用法。

文件和目录管理命令
文件管理是Linux操作的基础,常用命令包括ls、cd、pwd、mkdir、rm、cp、mv等。ls用于列出目录内容,ls -l可显示详细信息(如权限、所有者、大小),ls -a会隐藏文件。cd用于切换目录,cd ..返回上级目录,cd ~进入用户主目录。pwd显示当前工作目录的完整路径。mkdir创建新目录,mkdir -p可递归创建多级目录。rm删除文件或目录,rm -r递归删除,rm -f强制删除。cp复制文件或目录,cp -r用于目录复制。mv可移动文件或重命名,例如mv old.txt new.txt将文件重命名。
文本处理命令
文本处理命令包括cat、less、head、tail、grep、sed、awk等。cat用于查看文件内容,cat file.txt直接输出文件全部内容。less分页查看文件,支持上下翻页和关键词搜索。head和tail分别查看文件前几行和后几行,tail -f可实时追踪文件更新(如日志文件)。grep用于文本搜索,grep "keyword" file.txt在文件中查找包含关键词的行,grep -i忽略大小写。sed用于流编辑文本,例如sed 's/old/new/g' file.txt替换文件中所有"old"为"new"。awk基于列处理文本,awk '{print $1}' file.txt打印每行的第一列。
系统和管理命令
系统管理命令帮助监控和维护系统状态。top和htop实时显示进程资源占用,htop以彩色界面提供更直观的交互。ps查看当前进程,ps aux显示所有进程的详细信息。kill终止进程,kill -9强制终止进程。df -h查看磁盘空间使用情况,du -sh统计目录大小。free -h显示内存使用情况。uname -a查看系统内核和版本信息。reboot和shutdown关机或重启系统,shutdown -h now立即关机。
网络配置命令
网络命令用于管理和排查网络连接。ifconfig和ip addr查看或配置网络接口,ifconfig eth0 up启用网卡。ping测试网络连通性,ping www.baidu.com向目标主机发送ICMP请求。netstat -an查看网络连接状态,ss -tulpn替代netstat,显示监听端口及进程ID。wget或curl下载文件,wget https://example.com/file.zip从URL下载文件。ssh远程登录主机,ssh user@ip通过加密协议连接远程服务器。scp在本地与远程主机间传输文件,scp file.txt user@ip:/remote/path。

权限管理命令
Linux通过权限控制文件安全,chmod修改文件权限,chmod 755 file.txt设置所有者可读写执行,其他用户可读执行。chown修改文件所有者,chown user:group file.txt将文件所有者改为user,组改为group。su切换用户,su -切换到root用户并加载环境变量。sudo以超级用户权限执行命令,需在sudoers文件中配置权限。
压缩和解压命令
文件压缩可节省存储空间,tar是最常用的打包工具,tar -czvf archive.tar.gz /path/to/dir打包并压缩目录,tar -xzvf archive.tar.gz解压。zip和unzip处理.zip格式文件,zip -r archive.zip dir/递归压缩目录,unzip archive.zip解压。gzip压缩单个文件,gzip file.txt生成file.txt.gz,gunzip file.txt.gz解压。
进程和服务管理
systemctl是现代Linux发行版的服务管理工具,systemctl start nginx启动服务,systemctl enable nginx设置开机自启,systemctl status nginx查看服务状态。service命令用于传统系统,service apache2 restart重启Apache服务。
其他实用命令
find在文件系统中搜索文件,find / -name "*.txt"搜索根目录下所有.txt文件。history查看命令历史,!n执行历史中第n条命令。alias设置命令别名,alias ll='ls -l'后,输入ll即执行ls -l。

以下为部分常用命令的总结表格:
| 功能类别 | 命令 | 常用选项及示例 |
|---|---|---|
| 文件列表 | ls |
ls -l(详细信息)、ls -a(含隐藏文件) |
| 切换目录 | cd |
cd ..(上级目录)、cd ~(主目录) |
| 创建目录 | mkdir |
mkdir -p dir1/dir2(递归创建) |
| 删除文件 | rm |
rm -rf dir/(强制递归删除目录) |
| 复制文件 | cp |
cp -r src/ dest/(复制目录) |
| 文本搜索 | grep |
grep -i "error" log.txt(忽略大小写搜索) |
| 查看进程 | ps |
ps aux(显示所有进程) |
| 终止进程 | kill |
kill -9 1234(强制终止PID为1234的进程) |
| 磁盘空间 | df |
df -h(以人类可读格式显示磁盘使用) |
| 网络测试 | ping |
ping 8.8.8.8(测试与Google DNS的连通性) |
| 远程登录 | ssh |
ssh user@192.168.1.1(登录远程主机) |
| 修改权限 | chmod |
chmod 644 file.txt(设置所有者可读写) |
| 打包压缩 | tar |
tar -czvf backup.tar.gz /home(打包压缩) |
相关问答FAQs
Q1: 如何在Linux中查找包含特定关键词的所有文件?
A: 使用grep命令结合find可以实现递归搜索,在当前目录及其子目录中查找包含"error"的文件:find . -type f -exec grep -l "error" {} \;。-type f表示只搜索文件,-exec grep -l "error"对每个文件执行grep搜索,-l选项输出包含关键词的文件名。
Q2: 如何查看Linux系统当前运行的端口及对应进程?
A: 使用ss或netstat命令可以查看端口和进程信息。ss -tulpn会显示所有监听的TCP/UDP端口及其关联的进程ID和名称,若使用netstat,命令为netstat -tulpn,其中-t表示TCP,-u表示UDP,-l只显示监听端口,-p显示进程ID,-n以数字形式显示地址和端口。
