Linux作为广泛使用的操作系统,其命令行工具提供了强大的功能,掌握常用命令是高效操作系统的关键,以下将详细介绍Linux常用命令,涵盖文件管理、系统操作、网络配置等多个方面,并以表格形式归纳核心命令,最后附上相关FAQs。

文件和目录操作
文件管理是Linux操作的基础,常用命令包括ls、cd、cp、mv和rm。ls命令用于列出目录内容,常用选项如-l(详细列表)、-a(显示隐藏文件)。cd用于切换目录,如cd /home进入home目录。cp用于复制文件或目录,cp -r可递归复制整个目录。mv用于移动或重命名文件,rm则用于删除文件,rm -r可递归删除目录。mkdir用于创建目录,mkdir -p可创建多级目录;rmdir仅删除空目录,而rm -r可删除非空目录。
查看与编辑的命令有cat、more、less和tail。cat适合查看小文件,more和less支持分页浏览,其中less可向前翻页。tail -f用于实时查看文件更新,常用于日志监控,编辑文件时,nano是简单易用的命令行编辑器,而vim功能强大但需学习。grep用于文本搜索,如grep "error" log.txt查找包含error的行。
压缩与解压
Linux常用.tar、.gz、.zip等格式压缩文件。tar命令可打包和解包,如tar -czvf archive.tar.gz dir/将dir目录压缩为archive.tar.gz,tar -xzvf archive.tar.gz解压。zip和unzip用于处理.zip文件,如zip -r archive.zip dir/压缩,unzip archive.zip解压。gzip用于.gz文件,gzip file.txt压缩,gunzip file.txt.gz解压。
系统信息与管理
查看系统信息的命令包括uname -a(显示内核信息)、top或htop(实时查看进程和资源占用)、df -h(磁盘空间使用情况)、free -h(内存使用情况)。ps aux列出当前进程,kill和killall用于终止进程,如kill -9 PID强制终止进程。useradd和userdel用于用户管理,passwd修改用户密码。chmod修改文件权限,如chmod 755 file设置所有者可读写执行,其他用户可读执行。
网络配置与监控
网络相关命令中,ifconfig或ip addr查看网络接口信息,ping测试网络连通性,如ping google.com。netstat -tuln查看监听端口,ss -tuln是更高效的替代工具。wget和curl用于下载文件,如wget https://example.com/file.zip。ssh用于远程登录,如ssh user@hostname。scp用于安全复制文件,如scp file.txt user@hostname:/remote/path。

软件包管理
不同发行版使用不同的包管理工具,如Debian/Ubuntu用apt,CentOS用yum或dnf。apt update更新软件列表,apt install package安装软件,apt remove package卸载软件。yum install package安装,yum update更新系统,yum remove package卸载。dnf是yum的下一代工具,用法类似。
其他实用命令
find用于查找文件,如find / -name "file.txt"在根目录下查找file.txt。man命令查看帮助手册,如man ls查看ls命令用法。history显示命令历史,!number执行历史命令中的第number条命令。echo输出文本,如echo $PATH显示环境变量。
以下为常用Linux命令核心总结表:
| 功能分类 | 命令 | 常用选项 | 示例 |
|---|---|---|---|
| 文件列表 | ls | -l(详细), -a(隐藏) | ls -la /home |
| 切换目录 | cd | 无 | cd /usr/local |
| 复制文件/目录 | cp | -r(递归) | cp -r src/ dest/ |
| 移动/重命名 | mv | 无 | mv old.txt new.txt |
| 删除文件/目录 | rm | -r(递归), -f(强制) | rm -rf dir/ |
| 创建目录 | mkdir | -p(多级) | mkdir -p project/src |
| 查看文件内容 | cat | 无 | cat config.conf |
| 分页查看 | less | /(搜索), q(退出) | less large.log |
| 实时查看文件末尾 | tail | -f(实时) | tail -f access.log |
| 文本搜索 | grep | -i(忽略大小写), -n(显示行号) | grep "error" log.txt |
| 打包/解包 | tar | -c(打包), -x(解包), -z(gzip) | tar -czvf backup.tar.gz /data |
| 压缩/解压 | zip/unzip | -r(递归) | zip -r archive.zip folder/ |
| 进程查看 | top/htop | 无 | htop |
| 磁盘空间 | df | -h(人性化显示) | df -h |
| 内存使用 | free | -h(人性化显示) | free -h |
| 终止进程 | kill | -9(强制) | kill -9 12345 |
| 用户添加 | useradd | -m(创建家目录) | useradd -m newuser |
| 修改权限 | chmod | 755(rwxr-xr-x) | chmod 755 script.sh |
| 网络测试 | ping | 无 | ping 8.8.8.8 |
| 端口查看 | netstat/ss | -tuln(显示监听端口) | ss -tuln |
| 下载文件 | wget/curl | 无 | wget https://file.zip |
| 远程登录 | ssh | -p(指定端口) | ssh -p 22 user@server |
| 软件安装(Ubuntu) | apt | install/remove/update | apt install nginx |
| 软件安装(CentOS) | yum/dnf | install/remove/update | yum install httpd |
| 查找文件 | find | -name(按名), -type(按类型) | find / -name "*.txt" |
| 查看帮助 | man | 无 | man ls |
相关问答FAQs
Q1:如何查看Linux系统已安装的软件包?
A1:不同发行版命令不同,在Ubuntu/Debian系统中,使用dpkg -l列出所有已安装包;或用apt list --installed,在CentOS/RHEL中,使用rpm -qa列出所有RPM包;或用yum list installed(CentOS 7及以下)、dnf list installed(CentOS 8及以上)。

Q2:如何解压.tar.xz格式的文件?
A2:使用tar命令结合-J选项(注意大写J),tar -xvf archive.tar.xz,其中-x表示解压,-v显示详细过程,-f指定文件名,若系统不支持-J,可先用xz -d archive.tar.xz解压为.tar文件,再用tar -xvf archive.tar解压。
