Linux 常用命令速查手册
无论你是 Linux 新手还是老司机,这篇文章都能帮你快速查阅日常最常用的命令。按场景分类,附实用示例,收藏即用。
一、文件与目录操作
基础操作
| 命令 | 说明 | 示例 |
|---|
ls | 列出目录内容 | ls -lah /home |
cd | 切换目录 | cd /var/log |
pwd | 显示当前路径 | pwd |
mkdir | 创建目录 | mkdir -p /tmp/test/sub |
rmdir | 删除空目录 | rmdir /tmp/empty |
rm | 删除文件/目录 | rm -rf /tmp/test |
cp | 复制文件/目录 | cp -rv src/ dest/ |
mv | 移动/重命名 | mv old.txt new.txt |
touch | 创建空文件 | touch newfile.txt |
ln | 创建链接 | ln -s /etc/nginx nginx |
查找文件
| 命令 | 说明 | 示例 |
|---|
find | 按条件查找文件 | find / -name "*.log" -mtime -7 |
locate | 快速定位(需更新数据库) | locate nginx.conf |
which | 查找命令路径 | which python3 |
whereis | 查找二进制/源码/帮助 | whereis nginx |
tree | 树状显示目录结构 | tree -L 2 -a /etc |
二、文件查看与编辑
查看内容
| 命令 | 说明 | 示例 |
|---|
cat | 输出文件全部内容 | cat /etc/hosts |
tac | 反向输出 | tac file.txt |
less | 分页查看(支持搜索) | less /var/log/syslog |
head | 查看开头 N 行 | head -n 20 file.log |
tail | 查看末尾 N 行 | tail -f /var/log/syslog |
wc | 统计行/词/字节 | wc -l access.log |
文本处理
| 命令 | 说明 | 示例 |
|---|
grep | 文本搜索 | grep -rn "error" /var/log/ |
sed | 流编辑器 | sed -i 's/old/new/g' file.txt |
awk | 文本分析 | awk '{print $1}' access.log |
sort | 排序 | sort -t: -k3 -n /etc/passwd |
uniq | 去重 | sort file | uniq -c |
cut | 按列截取 | cut -d: -f1 /etc/passwd |
tr | 字符替换 | cat file | tr 'a-z' 'A-Z' |
diff | 比较文件差异 | diff file1.txt file2.txt |
tee | 同时输出到屏幕和文件 | cmd | tee output.log |
编辑器
| 命令 | 说明 |
|---|
nano | 入门级编辑器,操作简单 |
vim | 强大编辑器,支持插件 |
emacs | 功能丰富的编辑器 |
三、权限管理
| 命令 | 说明 | 示例 |
|---|
chmod | 修改权限 | chmod 755 script.sh |
chown | 修改所有者 | chown user:group file |
chgrp | 修改所属组 | chgrp developers file |
umask | 设置默认权限掩码 | umask 022 |
sudo | 以管理员执行 | sudo apt update |
su | 切换用户 | su - root |
权限数字速查
| 数字 | 权限 | 含义 |
|---|
| 7 | rwx | 读+写+执行 |
| 6 | rw- | 读+写 |
| 5 | r-x | 读+执行 |
| 4 | r– | 只读 |
| 0 | — | 无权限 |
常用组合:755(目录/脚本)、644(普通文件)
四、进程管理
| 命令 | 说明 | 示例 |
|---|
ps | 查看进程快照 | ps aux |
top | 实时进程监控 | top |
htop | 增强版 top | htop |
kill | 发送信号终止进程 | kill -9 1234 |
killall | 按名称终止 | killall nginx |
pkill | 按模式终止 | pkill -f "python script.py" |
jobs | 查看后台任务 | jobs -l |
bg | 后台继续运行 | bg %1 |
fg | 调到前台 | fg %1 |
nohup | 忽略挂断信号运行 | nohup python app.py & |
systemctl | 管理系统服务 | systemctl restart nginx |
五、网络相关
诊断与请求
| 命令 | 说明 | 示例 |
|---|
curl | HTTP 请求 | curl -I https://example.com |
wget | 下载文件 | wget -c https://example.com/file.zip |
ping | 测试连通性 | ping -c 4 8.8.8.8 |
traceroute | 路由追踪 | traceroute example.com |
dig | DNS 查询 | dig example.com |
nslookup | DNS 查询 | nslookup example.com |
host | 简单 DNS 查询 | host example.com |
端口与连接
| 命令 | 说明 | 示例 |
|---|
netstat | 查看端口/连接 | netstat -tlnp |
ss | 现代 netstat 替代 | ss -tlnp |
lsof | 查看文件/端口占用 | lsof -i :80 |
nmap | 端口扫描 | nmap -sT 127.0.0.1 |
远程操作
| 命令 | 说明 | 示例 |
|---|
ssh | 远程登录 | ssh -p 22 user@host |
scp | 远程复制 | scp file.txt user@host:/path/ |
rsync | 增量同步 | rsync -avz src/ user@host:dest/ |
六、系统信息
| 命令 | 说明 | 示例 |
|---|
uname | 系统内核信息 | uname -a |
hostname | 主机名 | hostnamectl set-hostname myserver |
uptime | 运行时间与负载 | uptime |
whoami | 当前用户 | whoami |
who | 在线用户 | who |
date | 系统时间 | date "+%Y-%m-%d %H:%M:%S" |
cal | 日历 | cal |
lscpu | CPU 信息 | lscpu |
lsblk | 磁盘设备 | lsblk |
lsusb | USB 设备 | lsusb |
lspci | PCI 设备 | lspci |
dmesg | 内核日志 | dmesg | tail |
七、磁盘与存储
| 命令 | 说明 | 示例 |
|---|
df | 磁盘使用情况 | df -h |
du | 目录大小 | du -sh /var/log |
mount | 挂载文件系统 | mount /dev/sdb1 /mnt |
umount | 卸载 | umount /mnt |
fdisk | 磁盘分区 | sudo fdisk /dev/sdb |
lsblk | 列出块设备 | lsblk -f |
blkid | 查看分区 UUID | blkid |
八、压缩与解压
| 命令 | 格式 | 压缩示例 | 解压示例 |
|---|
tar | .tar.gz | tar -czvf a.tar.gz dir/ | tar -xzvf a.tar.gz |
tar | .tar.bz2 | tar -cjvf a.tar.bz2 dir/ | tar -xjvf a.tar.bz2 |
tar | .tar.xz | tar -cJvf a.tar.xz dir/ | tar -xJvf a.tar.xz |
zip | .zip | zip -r a.zip dir/ | unzip a.zip |
gzip | .gz | gzip file | gunzip file.gz |
xz | .xz | xz file | unxz file.xz |
九、包管理
Debian / Ubuntu(apt)
sudo apt update # 更新软件源
sudo apt install nginx # 安装软件
sudo apt remove nginx # 卸载软件
sudo apt upgrade # 升级所有软件
apt search keyword # 搜索软件
CentOS / RHEL(yum / dnf)
sudo yum install nginx # 安装
sudo yum remove nginx # 卸载
sudo yum update # 更新
yum search keyword # 搜索
Arch(pacman)
sudo pacman -S nginx # 安装
sudo pacman -R nginx # 卸载
sudo pacman -Syu # 更新系统
pacman -Ss keyword # 搜索
十、实用技巧
管道与重定向
cmd1 | cmd2 # 管道:cmd1 输出传给 cmd2
cmd > file # 重定向输出到文件(覆盖)
cmd >> file # 追加到文件
cmd 2> error.log # 重定向错误输出
cmd > /dev/null 2>&1 # 丢弃所有输出
cmd1 && cmd2 # cmd1 成功后执行 cmd2
cmd1 || cmd2 # cmd1 失败后执行 cmd2
快捷键
| 快捷键 | 功能 |
|---|
Ctrl + C | 终止当前命令 |
Ctrl + Z | 挂起到后台 |
Ctrl + D | 退出终端 / EOF |
Ctrl + R | 搜索历史命令 |
Ctrl + L | 清屏 |
Tab | 自动补全 |
!! | 重复上一条命令 |
帮助命令
man <命令> # 查看手册
<命令> --help # 查看简要帮助
info <命令> # 查看详细信息
tldr <命令> # 简明示例(需安装 tldr)
💡 温馨提示: 学习 Linux 命令最好的方式就是多动手实践。遇到不熟悉的命令,善用 man 和 --help,它们是你最好的老师。