Linux命令是操作系统与用户交互的核心工具,掌握常用命令能极大提升工作效率,以下从文件管理、系统信息、文本处理、网络工具、进程管理、软件安装六大类别,详解120余个常用命令及其核心参数,并辅以示例说明。

文件与目录管理命令
文件操作是Linux最基础的功能,以下命令覆盖创建、复制、移动、删除及权限修改等场景。
| 命令 | 参数示例 | 功能说明 |
|---|---|---|
ls |
ls -la /home |
列出目录内容,-l显示详细信息,-a隐藏文件 |
pwd |
pwd |
显示当前工作目录路径 |
cd |
cd .. / cd ~ |
切换目录,返回上级,切换至用户主目录 |
mkdir |
mkdir -p /test/dir |
创建目录,-p递归创建多级目录 |
touch |
touch file.txt |
创建空文件或更新文件时间戳 |
cp |
cp -r /src /dst |
复制文件/目录,-r递归复制目录 |
mv |
mv old.txt new.txt |
移动文件/目录或重命名 |
rm |
rm -rf /test |
删除文件/目录,-r递归删除,-f强制删除(不提示) |
ln |
ln -s target.txt link.txt |
创建链接文件,-s创建软链接(符号链接) |
find |
find / -name "*.log" |
查找文件,-name按名称匹配,支持通配符 |
locate |
locate config.conf |
快速查找文件(依赖updatedb数据库) |
du |
du -sh /var |
查看目录大小,-s汇总显示,-h以人类可读格式(KB/MB/GB) |
df |
df -h /dev/sda1 |
查看磁盘分区使用情况,-h人性化显示 |
系统信息与监控命令
了解系统状态是运维和开发的基础,以下命令用于查看硬件、系统负载及用户信息。
| 命令 | 参数示例 | 功能说明 |
|---|---|---|
uname |
uname -a |
显示系统所有信息(内核版本、主机名等) |
top |
top -u username |
实时显示进程状态,-u指定用户 |
htop |
htop |
交互式进程管理工具(比top更直观,需安装) |
free |
free -h |
查看内存使用情况,-h人性化显示 |
df |
df -i |
查看inode使用情况(避免inode耗尽问题) |
ps |
ps -ef / ps aux |
查看当前进程,-ef显示全格式,aux显示详细CPU/内存占用 |
kill |
kill -9 1234 |
终止进程,-9强制终止 |
pkill |
pkill -f nginx |
按名称终止进程(支持模糊匹配) |
jobs |
jobs -l |
查看后台任务,-l显示进程ID |
bg/fg |
bg %1 / fg %1 |
将后台任务调至前台/继续执行 |
uptime |
uptime |
显示系统运行时间及负载(1/5/15分钟平均负载) |
date |
date "+%Y-%m-%d %H:%M:%S" |
设置或显示系统时间,后为格式化字符串 |
cal |
cal -y 2023 |
显示日历,-y显示全年 |
who |
who -uH |
显示当前登录用户及终端信息,-H |
last |
last reboot |
查看系统重启记录或用户登录历史 |
文本处理与搜索命令
Linux文本处理能力强大,以下命令可用于编辑、过滤、分析文本文件。
| 命令 | 参数示例 | 功能说明 |
|---|---|---|
cat |
cat file.txt |
查看文件内容(适合小文件) |
more/less |
less file.txt |
分页查看文件(less支持上下翻页、搜索) |
head/tail |
tail -f /var/log/nginx.log |
查看文件前/后N行,-f实时追踪文件更新(日志监控常用) |
grep |
grep "error" log.txt -n |
文本搜索,-n显示行号,-i忽略大小写,-v反向匹配 |
sed |
sed 's/old/new/g' file.txt |
流编辑器,替换文本(s替换,g全局替换) |
awk |
awk '{print $1,$NF}' file.txt |
文本分析工具,按列处理($1第一列,$NF最后一列) |
sort |
sort -n file.txt |
排序,-n按数字排序,-r倒序,-k按指定列排序 |
uniq |
sort file.txt | uniq -c |
去重,-c统计重复行数(需先排序) |
wc |
wc -l /etc/passwd |
统计文件行数/单词数/字节数,-l行数,-w单词数,-c字节数 |
vim |
vim file.txt |
文本编辑器,i进入编辑模式,wq保存退出,q!强制退出 |
网络配置与调试命令
网络操作是服务器管理的关键,以下命令涵盖连接测试、信息查看及服务管理。

| 命令 | 参数示例 | 功能说明 |
|---|---|---|
ping |
ping -c 4 8.8.8.8 |
测试网络连通性,-c发送包数量 |
ifconfig |
ifconfig eth0 up |
配置网络接口(需安装net-tools),up/down启用/禁用接口 |
ip |
ip addr show eth0 |
现代网络配置工具(替代ifconfig),查看/设置IP地址 |
netstat |
netstat -tuln |
查看网络端口状态,-tTCP,-uUDP,-l监听端口,-n显示数字IP |
ss |
ss -tuln |
替代netstat的工具,显示更快的端口信息 |
curl |
curl -I http://example.com |
发送HTTP请求,-I仅获取响应头 |
wget |
wget -c http://example.com/file.zip |
下载文件,-c断点续传 |
ssh |
ssh user@192.168.1.100 -p 22 |
远程登录服务器,-p指定端口 |
scp |
scp -r /local user@remote:/dst |
安全复制文件/目录(基于SSH) |
traceroute |
traceroute 8.8.8.8 |
跟踪数据包路由路径 |
nslookup |
nslookup www.baidu.com |
查询域名解析信息 |
软件安装与压缩命令
Linux软件管理和文件压缩是日常操作的核心,以下命令覆盖包管理及压缩格式。
| 命令 | 参数示例 | 功能说明 |
|---|---|---|
apt |
apt install nginx / apt update |
Debian/Ubuntu包管理工具,安装/更新软件 |
yum |
yum install httpd / yum clean all |
CentOS/RHEL包管理工具,安装/清理缓存 |
dnf |
dnf upgrade python3 |
Fedora/CentOS 8+新包管理工具(功能同yum) |
tar |
tar -czvf archive.tar.gz /src |
打包压缩,-c创建,-zgzip压缩,-x解压,-v显示过程,-f指定文件名 |
zip/unzip |
zip -r archive.zip /src |
创建zip压缩包,unzip archive.zip解压 |
gzip/gunzip |
gzip file.txt |
压缩单个文件(.gz),gunzip解压 |
rpm |
rpm -ivh package.rpm |
RPM包管理(CentOS),-i安装,-v显示信息,-h哈希校验 |
dpkg |
dpkg -i package.deb |
Debian包管理(Ubuntu),安装deb文件 |
其他实用命令
以下命令涵盖权限管理、用户管理及系统维护等高频操作。
| 命令 | 参数示例 | 功能说明 |
|---|---|---|
chmod |
chmod 755 script.sh |
修改文件权限,755(所有者读写执行,其他用户读执行) |
chown |
chown user:group file.txt |
修改文件所有者/所属组 |
su/sudo |
sudo apt update |
切换用户(su -切换至root),sudo以管理员权限执行命令 |
history |
history -c |
查看命令历史,-c清空历史记录 |
alias |
alias ll='ls -la' |
设置命令别名,永久需写入~/.bashrc |
crontab |
crontab -e |
编辑定时任务(格式:分 时 日 月 周 命令) |
systemctl |
systemctl restart nginx |
管理系统服务(启动/停止/重启/启用开机自启) |
journalctl |
journalctl -u nginx |
查看系统服务日志(配合systemctl使用) |
相关问答FAQs
Q1:Linux中cp、mv、rm命令误操作导致文件丢失,如何恢复?
A:若文件未被覆盖,可通过以下方式尝试恢复:
- 从回收站恢复:若使用
mv将文件移至~/.local/share/Trash,可通过trash-list查看并trash-restore恢复(需安装trash-cli工具)。 - 通过
extundelete工具恢复:针对ext4文件系统,安装后执行extundelete /dev/sda1 --restore-inode inode_num(需先卸载分区或以只读模式挂载)。 - 使用
testdisk/photorec:若文件系统损坏,可通过工具扫描并恢复文件。
预防措施:关键操作前使用cp -b创建备份文件,或通过alias为rm添加mv到回收站的功能(如alias rm='mv -t ~/.local/share/Trash --backup=t')。
Q2:如何查看Linux系统当前所有活跃的网络连接及其对应的进程?
A:可通过ss或netstat结合grep过滤,推荐使用ss(性能更优):

# 查看所有TCP/UDP连接,显示进程ID和名称 ss -tulnp | grep -E 'tcp|udp' # 查看指定端口(如80)的连接 ss -tulnp | grep ':80' # 查看所有ESTABLISHED状态的连接 ss -tulnp | grep 'ESTAB'
参数说明:-tTCP、-uUDP、-l监听端口、-n数字IP、-p显示进程ID/名称,若需进一步分析进程,可通过ps -ef | grep <PID>查看进程详情。
