Linux 常用命令
面向日常开发与排障的 Linux 命令速查,涵盖文件、日志、进程、端口、网络、权限与服务管理。
【…】 为待替换参数,每行独立使用。普通参数省略引号;实际路径或 URL 含空格、& 等 Shell 特殊字符时,需加引号。搜索模式保留单引号,避免被 Shell 提前解释。见 Bash 引号规则。
以下以 Linux、Bash 和 GNU 工具为准,部分工具需另行安装。
1. 目录与文件
| |
cp、mv 的目标为已有目录时,源会放入其中;为已有文件时可能覆盖,加 -i 可在覆盖前询问。rm 不经过回收站。
2. 查看与编辑文件
| |
3. 查找文件与过滤日志
| |
--line-buffered 避免 grep 的输出缓冲造成显示延迟;需要跟踪轮转日志时,将 tail -f 改为 tail -F。
4. 进程、端口与后台运行
| |
lsof 的 -nP 禁用主机名与端口服务名解析;-iTCP 限定协议,-sTCP:LISTEN 限定监听状态。见 lsof 手册。
5. 网卡与网络排查
| |
ifconfig、netstat 属于 net-tools;未安装时可用 ip addr、ss。-tulnp:TCP / UDP / 监听类条目 / 数字地址与端口 / 进程。
端口后的 [[:space:]] 匹配空白,避免 80 误匹配 8080。grep 筛选的是整行文本,进程名对应 PID/Program name 列,不是完整启动命令。见 netstat 手册。
curl -f 使大多数 HTTP 400 及以上响应以失败退出,-L 跟随重定向,-o 指定输出文件。见 curl 选项说明。
6. CPU、内存与磁盘
| |
nproc 统计可用处理单元,不是物理核心数,结果可能受 CPU 亲和性、配额等限制;--all 不按当前进程的这些限制计数。核心与线程关系看 lscpu,虚拟化环境中不要据此推断宿主机物理核数。见 nproc 与 lscpu 手册。
free 的 available 是估计无需交换即可使用的内存,不等于完全空闲的 free;负载均值也不是 CPU 使用率。
vmstat 1 首行的 CPU、I/O 速率是开机以来的平均值,后续行才是采样区间值。
7. 用户与权限
| |
8. 远程登录与文件传输
| |
指定端口:ssh -p,scp -P。
9. 打包与解压
| |
tar:c 创建、x 解开、t 列出,三者互斥;z 使用 gzip,v 显示过程,f 后接归档文件名。打包、解压均可能覆盖同名文件。
10. 输出重定向与常用组合
| |
2>&1 将标准错误并入当时的标准输出,顺序会影响结果。> 会先清空目标文件,不能与输入文件相同。见 Bash 重定向说明。
11. 服务管理
适用于 systemd。【服务名】 指 systemd 管理的服务单元名,例如 nginx.service,不是进程号。下面第一条命令输出的 UNIT FILE 列会列出本机的服务单元名称。
| |
如果列表中有 nginx.service,就把 【服务名】 替换为它:
| |
systemctl status nginx.service 也可简写为 systemctl status nginx,省略 .service 后缀。见 systemctl 手册。
评论
使用 GitHub 登录后参与讨论,评论将公开保存在 GitHub。
站长管理删除会同步到 GitHub,无法撤销。
阅读到这里时加载评论。