一个面向日常使用与学习的 Markdown 参考手册,包含常见命令、常用选项与示例。

目录
- 速查一览(常用命令简表)
- 文件与目录操作
- 文件查看与编辑
- 文本处理与筛选
- 查找与定位文件
- 权限、用户与组
- 进程与系统监控
- 网络与远程操作
- 软件包管理(发行版相关)
- 磁盘、分区与挂载
- 压缩与归档
- 日志、调试与排错
- Shell 环境与脚本基础
- 常见组合示例(实用一行命令)
- 安全与备份建议
速查一览(常用命令简表)
| 目的 |
命令举例 |
| 列目录 |
ls, tree |
| 切换目录 |
cd |
| 复制/移动/删除 |
cp, mv, rm |
| 查看文件 |
cat, less, head, tail |
| 搜索文本 |
grep |
| 文本处理 |
awk, sed, cut, sort, uniq |
| 查找文件 |
find, locate |
| 权限 |
chmod, chown |
| 进程 |
ps, top, kill, systemctl |
| 网络 |
ip, ss, curl, ssh, scp, rsync |
| 打包/压缩 |
tar, zip, gzip |
文件与目录操作
ls:列出目录内容
ls -l(长列表),ls -a(显示隐藏文件),ls -lh(人类可读大小)。
cd:切换目录
pwd:显示当前工作目录
cp:复制文件/目录
cp source dest,递归复制:cp -r srcdir dstdir。
mv:移动或重命名
rm:删除文件/目录(小心)
- 删除文件:
rm file,删除目录:rm -r dir,强制:rm -rf dir(危险)。
mkdir:创建目录,递归创建:mkdir -p a/b/c。
rmdir:删除空目录
tree:以树形列出(需安装),tree -L 2 限制层级。
文件查看与编辑
cat file:显示完整文件
less file:分屏查看(上下翻页),支持搜索 /pattern。
more file:简单分页查看
head -n 20 file:显示前 20 行
tail -n 50 file:显示后 50 行,tail -f file 实时跟踪日志
nl file:显示带行号的内容
- 编辑器:
vim file、nano file(更友好)、emacs file
文本处理与筛选
grep 'pattern' file:在文件中搜索文本
- 递归搜索:
grep -R 'pattern' /path,忽略大小写:-i。
sed:流编辑器,用于替换、删除行等
- 例如:
sed -n '1,10p' file 显示前 10 行,替换:sed 's/old/new/g' file。
awk:字段处理与统计,复杂但强大
- 例如:
awk '{print $1,$3}' file 打印第1列和第3列。
cut -d',' -f1,3 file:按分隔符截取字段
sort:排序 sort file,按数字排序:sort -n,反向:-r。
uniq:去重(常与 sort 联用),uniq -c 显示计数。
tr:字符替换或删除,例如 tr '[:lower:]' '[:upper:]'。
wc:统计行数、词数、字节数,wc -l file。
查找与定位文件
find /path -name '*.log':查找文件
- 常用:
find . -type f -name '*.py' -mtime -7(查找 7 天内修改的 Python 文件)。
locate filename:快速(基于索引,需 updatedb 更新索引)
which cmd:显示命令路径(PATH 中找到的第一个)
whereis cmd:查找二进制、源码、手册位置
权限、用户与组
chmod:修改权限,例如 chmod 644 file 或 chmod u+x script.sh
chown user:group file:变更所属用户/组
chgrp group file:只改组
umask:设置默认权限掩码
sudo command:以管理员权限运行(谨慎)
- 用户管理:
useradd, usermod, userdel, passwd,组管理:groupadd 等
进程与系统监控
ps aux:列出所有进程
top / htop:实时查看系统与进程(htop 更友好,需安装)
kill PID:发送 SIGTERM,kill -9 PID 强制终止
pkill -f name:按名杀进程,pgrep name 查找 PID
nice / renice:调整进程优先级
systemctl status name.service:查看 systemd 服务状态
journalctl -u name.service:查看 systemd 日志
uptime、free -h、vmstat、iostat(需安装)
网络与远程操作
ip addr / ip a:查看网络接口与 IP(推荐,代替 ifconfig)
ss -tuln:列出监听端口(比 netstat 更现代)
ping host:测试连通性
traceroute host:路径追踪(部分系统需安装)
curl:HTTP 请求,常用于测试 API,例如 curl -I https://example.com
wget URL:下载文件
ssh user@host:远程登录
scp file user@host:/path:拷贝文件到远端
rsync -avz src/ dest/:增量同步(非常常用)
nc(netcat)用于端口测试或简单的网络服务
软件包管理(发行版相关)
- Debian/Ubuntu:
apt update,apt install pkg,apt upgrade
- CentOS/RHEL:
yum install pkg 或 dnf install pkg(新版本)
- Arch:
pacman -S pkg
- openSUSE:
zypper install pkg
注意:包管理器因发行版不同而异,命令选项也略有区别。
磁盘、分区与挂载
df -h:查看磁盘空间使用
du -sh folder:查看目录大小
lsblk:列出块设备与分区
fdisk -l:列出分区表(需 root)
mount /dev/sdb1 /mnt,umount /mnt
blkid:显示设备 UUID
压缩与归档
tar -czvf archive.tar.gz folder/:创建 gzip 压缩的 tar
tar -xzf archive.tar.gz:解压
zip -r archive.zip folder/,unzip archive.zip
gzip file / gunzip file.gz
日志、调试与排错
dmesg:查看内核环缓冲信息(启动/硬件相关)
journalctl -xe:查看 systemd 全局日志(带详细错误)
strace -p PID 或 strace command:跟踪系统调用
lsof -i :80:查看哪个进程在占用端口 80
tail -f /var/log/syslog 或 /var/log/messages:跟踪日志
Shell 环境与脚本基础
env / printenv:显示环境变量
export VAR=value:设置环境变量(当前 shell)
alias ll='ls -lah':设置别名
source ~/.bashrc 或 .:重新加载配置文件
chmod +x script.sh,然后 ./script.sh 运行脚本
crontab -e:编辑定时任务(cron)
常见组合示例(实用一行命令)
1
| find /path -type f -name '*.tmp' -exec rm -v {} \;
|
1
| grep -R --line-number 'ERROR' /var/log | cut -d: -f1 | sort -u
|
1
| rsync -avz --delete ./myproj/ user@host:/var/www/myproj/
|
1
| journalctl -u nginx.service --since "2 hours ago" -f
|
安全与备份建议
- 尽量避免在不必要时使用
sudo 或 rm -rf。
- 对重要数据定期做备份(
rsync 或 专门备份工具)。
- 使用
ssh key 登录并禁用密码登录,提高安全性。
- 为生产服务配置监控与告警(CPU、磁盘、网络、日志)。
文档由 ChatGPT 自动生成,欢迎复制到你的笔记或仓库中管理。