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

目录

  1. 速查一览(常用命令简表)
  2. 文件与目录操作
  3. 文件查看与编辑
  4. 文本处理与筛选
  5. 查找与定位文件
  6. 权限、用户与组
  7. 进程与系统监控
  8. 网络与远程操作
  9. 软件包管理(发行版相关)
  10. 磁盘、分区与挂载
  11. 压缩与归档
  12. 日志、调试与排错
  13. Shell 环境与脚本基础
  14. 常见组合示例(实用一行命令)
  15. 安全与备份建议

速查一览(常用命令简表)

目的 命令举例
列目录 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:切换目录
    • cd - 返回上一次目录,cd ~ 回到家目录。
  • pwd:显示当前工作目录
  • cp:复制文件/目录
    • cp source dest,递归复制:cp -r srcdir dstdir
  • mv:移动或重命名
    • mv old new
  • 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 filenano 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 filechmod 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 日志
  • uptimefree -hvmstatiostat(需安装)

网络与远程操作

  • 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 updateapt install pkgapt upgrade
  • CentOS/RHEL:yum install pkgdnf install pkg(新版本)
  • Arch:pacman -S pkg
  • openSUSE:zypper install pkg

注意:包管理器因发行版不同而异,命令选项也略有区别。


磁盘、分区与挂载

  • df -h:查看磁盘空间使用
  • du -sh folder:查看目录大小
  • lsblk:列出块设备与分区
  • fdisk -l:列出分区表(需 root)
  • mount /dev/sdb1 /mntumount /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 PIDstrace 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)

常见组合示例(实用一行命令)

  • 查找并删除 .tmp 文件:
1
find /path -type f -name '*.tmp' -exec rm -v {} \;
  • 递归查找包含 ‘ERROR’ 的行并显示文件名:
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

安全与备份建议

  • 尽量避免在不必要时使用 sudorm -rf
  • 对重要数据定期做备份(rsync 或 专门备份工具)。
  • 使用 ssh key 登录并禁用密码登录,提高安全性。
  • 为生产服务配置监控与告警(CPU、磁盘、网络、日志)。

文档由 ChatGPT 自动生成,欢迎复制到你的笔记或仓库中管理。