让Gemini Pro整理了50条最常用的 Linux 命令+最高频的用法
### 文件与目录操作
* **1. `ls`(列出目录内容)**
* **作用:** 查看指定目录下的文件与子目录。
* **常用参数:** `-l`(详细列表格式)、`-a`(显示隐藏文件)、`-h`(人类可读的大小如 K、M、G)。
* **高频用法:**
```bash
ls -lah /var/log/ # 查看目录下所有文件(含隐藏文件)的权限、大小及时间戳
ls -lt # 按修改时间降序排列
```
* **2. `cd`(切换当前工作目录)**
* **作用:** 改变当前所在的文件路径。
* **高频用法:**
```bash
cd ~ 或 cd # 快速返回当前用户家目录
cd .. # 返回上一级目录
cd - # 切换到上一次所在的目录
```
* **3. `pwd`(打印当前工作目录)**
* **作用:** 输出当前绝对路径。
* **高频用法:**
```bash
pwd # 查看当前所在绝对路径,避免误操作
```
* **4. `mkdir`(创建目录)**
* **作用:** 新建文件夹。
* **常用参数:** `-p`(递归创建父目录,若已存在则不报错)。
* **高频用法:**
```bash
mkdir -p /data/app/logs # 递归创建多级目录
```
* **5. `rm`(删除文件或目录)**
* **作用:** 移除文件或文件夹。
* **常用参数:** `-r`(递归删除目录)、`-f`(强制删除,不提示确认)。
* **高频用法:**
```bash
rm -f test.txt # 静默强制删除单个文件
rm -rf /tmp/cache_dir # 递归强制清理指定目录(生产环境请反复确认路径)
```
* **6. `cp`(复制文件或目录)**
* **作用:** 复制数据到目标路径。
* **常用参数:** `-r`(递归复制目录)、`-p`(保留文件原有属性如修改时间、权限)。
* **高频用法:**
```bash
cp app.conf app.conf.bak # 备份单个配置文件
cp -rp /var/www /var/www_bak # 完整保留属性递归备份目录
```
* **7. `mv`(移动或重命名文件)**
* **作用:** 更改文件位置或更改名称。
* **高频用法:**
```bash
mv old_name.txt new_name.txt # 重命名文件
mv *.log /data/backup/ # 移动所有日志到指定目录
```
* **8. `touch`(创建空文件或更新时间戳)**
* **作用:** 快速新建文件或刷新已有文件的访问/修改时间。
* **高频用法:**
```bash
touch app.pid # 创建一个空的 PID 标识文件
```
* **9. `find`(高级查找文件)**
* **作用:** 根据文件名、大小、时间等条件在文件系统中遍历匹配。
* **常用参数:** `-name`(按名称查找)、`-type`(`f` 文件,`d` 目录)、`-mtime`(修改时间)、`-exec`(对结果执行后续操作)。
* **高频用法:**
```bash
find /var/log -name "*.log" -mtime +7 -exec rm -f {} \; # 查找并清理7天前的日志
find . -type f -size +100M # 查找当前目录下大于 100MB 的文件
```
* **10. `ln`(创建链接)**
* **作用:** 为文件或目录创建快捷链接(软链接或硬链接)。
* **常用参数:** `-s`(创建软链接/符号链接)。
* **高频用法:**
```bash
ln -s /opt/node-v20/bin/node /usr/local/bin/node # 创建软链接映射到全局环境变量目录
```
---
### 文本查看与流处理
* **11. `cat`(连接并打印文件内容)**
* **作用:** 输出文件全量文本或拼接文件。
* **常用参数:** `-n`(显示行号)。
* **高频用法:**
```bash
cat /etc/os-release # 查看系统版本信息
cat file1 file2 > all.txt # 合并两个文本文件
```
* **12. `less`(分页交互式查看)**
* **作用:** 查看大文件,支持上下翻页与向前/向后搜索,不一次性占用大量内存。
* **高频用法:**
```bash
less /var/log/syslog # 浏览大日志文件;按 / 输入关键词搜索,按 q 退出
```
* **13. `head`(查看文件头部)**
* **作用:** 输出文本的前 N 行。
* **常用参数:** `-n`(指定行数,默认为 10)。
* **高频用法:**
```bash
head -n 20 access.log # 快速预览文件前 20 行
```
* **14. `tail`(查看文件尾部)**
* **作用:** 输出文本的后 N 行,常用于实时跟踪。
* **常用参数:** `-n`(指定行数)、`-f`(持续监听追加写入)。
* **高频用法:**
```bash
tail -n 50 -f /var/log/nginx/error.log # 实时查看最新的 50 条错误日志并监听新输出
```
* **15. `grep`(文本模式匹配与搜索)**
* **作用:** 正则表达式检索文本行。
* **常用参数:** `-r`(递归)、`-i`(忽略大小写)、`-v`(反向过滤)、`-n`(显示行号)、`-E`(扩展正则)。
* **高频用法:**
```bash
grep -rn "ERROR" /data/logs/ # 在指定目录所有文件中递归检索包含 ERROR 的行与行号
ps aux | grep nginx | grep -v grep # 过滤进程并排除 grep 自身
```
* **16. `sed`(流编辑器)**
* **作用:** 行级别的文本替换、删除、插入。
* **常用参数:** `-i`(直接修改原文件)、`s/old/new/g`(全局替换)。
* **高频用法:**
```bash
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 批量替换配置
sed '/^#/d;/^$/d' app.conf # 打印去除注释行与空行后的纯净配置
```
* **17. `awk`(文本格式化与列分析)**
* **作用:** 基于字段的数据提取与报表统计。
* **常用参数:** `-F`(指定输入列分隔符)。
* **高频用法:**
```bash
awk -F: '{print $1, $3}' /etc/passwd # 打印用户名和对应 UID
awk '{sum += $1} END {print sum}' data.txt # 累计求和第一列数字
```
* **18. `wc`(统计文本行数、字数、字节数)**
* **作用:** 快速统计文本规模或配合管道计算数量。
* **常用参数:** `-l`(统计行数)。
* **高频用法:**
```bash
cat access.log | wc -l # 统计日志总行数
```
* **19. `diff`(比较文件差异)**
* **作用:** 逐行对比两个文件的不同。
* **常用参数:** `-u`(统一补丁格式输出)。
* **高频用法:**
```bash
diff -u config.ini config.ini.old # 检查配置文件修改前后的变动
```
* **20. `sort` 与 `uniq`(排序与去重)**
* **作用:** 对文本行进行排序并统计/消除重复项。
* **常用参数:** `sort -n`(按数值排序)、`sort -r`(逆序)、`uniq -c`(计数)。
* **高频用法:**
```bash
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -n 10 # 统计访问频次 Top 10 IP
```
---
### 系统监控与资源分析
* **21. `top` / `htop`(交互式系统监控)**
* **作用:** 实时监控 CPU、内存、负载及各进程消耗。
* **高频用法:**
```bash
top # 进入交互面板;按 P 按 CPU 排序,按 M 按内存排序,按 q 退出
```
* **22. `free`(查看内存使用状态)**
* **作用:** 显示物理内存、缓存(cache/buffer)及 Swap 分区占用。
* **常用参数:** `-h`(人类可读单位)、`-m`(以 MB 显示)。
* **高频用法:**
```bash
free -h # 快速评估系统可用内存(重点看 available 列)
```
* **23. `df`(查看磁盘空间)**
* **作用:** 检查各个文件系统的整体挂载点与磁盘占用。
* **常用参数:** `-h`(人类可读单位)、`-T`(显示文件系统类型)。
* **高频用法:**
```bash
df -hT# 确认根分区及数据挂载点剩余容量
```
* **24. `du`(查看文件或目录大小)**
* **作用:** 统计某个特定目录占用的实际存储。
* **常用参数:** `-s`(汇总输出)、`-h`(人类可读)。
* **高频用法:**
```bash
du -sh /var/log/ # 查看整个日志目录总体占用
du -h --max-depth=1 /# 排查根目录下每个一级目录的占用大小
```
* **25. `uptime`(查看系统运行时长与负载)**
* **作用:** 确认系统开机时长、当前登录用户数以及 1/5/15 分钟平均负载。
* **高频用法:**
```bash
uptime # 排查系统是否发生过意外重启及当前负载压力
```
* **26. `uname`(查看内核与架构)**
* **作用:** 输出系统内核版本、硬件架构信息。
* **常用参数:** `-a`(全量信息)、`-r`(内核发行版号)。
* **高频用法:**
```bash
uname -r # 查看当前 Linux 内核版本
```
* **27. `dmesg`(查看内核启动与驱动日志)**
* **作用:** 打印内核环形缓冲区信息,常用于硬件与底层错误排查。
* **常用参数:** `-T`(将时间戳转换成标准时间)。
* **高频用法:**
```bash
dmesg -T | grep -i oom # 检查系统近期是否触发了 OOM-killer(内存溢出杀进程)
```
* **28. `vmstat`(虚拟内存与系统活动监控)**
* **作用:** 综合监测系统进程、内存、换页、I/O 及 CPU 调度。
* **高频用法:**
```bash
vmstat 1 5 # 每隔 1 秒采样 1 次,共刷新 5 次,检查 bi/bo(I/O读写)与 cs(上下文切换)
```
* **29. `iostat`(I/O 性能监测)**
* **作用:** 监控磁盘读写吞吐与利用率(属于 `sysstat` 包)。
* **常用参数:** `-x`(显示扩展指标如 `%util`)。
* **高频用法:**
```bash
iostat -x 1 3 # 排查磁盘是否存在 I/O 瓶颈,关注 %util 是否接近 100%
```
---
### 进程与服务管理
* **30. `ps`(查看当前进程状态)**
* **作用:** 获取正在运行的进程快照。
* **常用参数:** `aux`(BSD 风格全格式)、`-ef`(标准全格式)。
* **高频用法:**
```bash
ps aux | grep java # 查找特定 Java 进程的 PID、CPU 与内存占比
```
* **31. `kill`(向进程发送信号)**
* **作用:** 终止或控制进程。
* **常用参数:** `-9`(SIGKILL 强制终止)、`-15`(SIGTERM 正常退出)。
* **高频用法:**
```bash
kill -15 1234 # 优雅退出进程(推荐优先使用)
kill -9 1234# 强制杀死失控进程
```
* **32. `pkill` 与 `pgrep`(基于名称管理进程)**
* **作用:** 无需查出 PID,直接按程序名称过滤或发信号。
* **高频用法:**
```bash
pgrep -l nginx # 查询 nginx 的 PID 及名称
pkill -9 -f app# 强制终止所有命令行包含 app 关键词的进程
```
* **33. `nohup`(后台不挂断运行)**
* **作用:** 忽略挂起信号(SIGHUP),让程序在终端关闭后持续在后台运行。
* **高频用法:**
```bash
nohup ./start.sh > app.log 2>&1 & # 启动服务,将标准输出与错误重定向到文件并在后台执行
```
* **34. `crontab`(计划任务管理)**
* **作用:** 设置定时循环任务。
* **常用参数:** `-e`(编辑当前用户定时任务)、`-l`(查看定时任务)。
* **高频用法:**
```bash
crontab -e
# 在打开的文件中添加示例(每天凌晨2点执行备份脚本):
# 0 2 * * * /data/scripts/backup.sh > /dev/null 2>&1
```
* **35. `systemctl`(systemd 系统与服务控制)**
* **作用:** 现代 Linux 的统一服务管理器。
* **高频用法:**
```bash
systemctl status nginx # 查看服务运行状态
systemctl restart nginx# 重启服务
systemctl enable nginx # 设置开机自启
```
* **36. `journalctl`(查询 systemd 运行日志)**
* **作用:** 统一采集系统服务与内核生成的系统日志。
* **常用参数:** `-u`(按服务单元过滤)、`-f`(跟踪实时日志)。
* **高频用法:**
```bash
journalctl -u docker.service -f # 实时监听 Docker 服务的运行日志
journalctl -p err -b # 查看本次开机以来的所有错误级别日志
```
---
### 用户、权限与安全
* **37. `chmod`(修改文件权限)**
* **作用:** 变更读(r=4)、写(w=2)、执行(x=1)权限。
* **常用参数:** `-R`(递归操作)。
* **高频用法:**
```bash
chmod +x script.sh # 为脚本赋予可执行权限
chmod -R 755 /var/www # 递归设置目录属主读写执行、组和其他只读执行
```
* **38. `chown`(修改文件所有者与所属组)**
* **作用:** 更改文件或目录的拥有权。
* **常用参数:** `-R`(递归)。
* **高频用法:**
```bash
chown nginx:nginx /var/log/nginx.log # 修改文件属主为 nginx 用户,属组为 nginx 组
chown -R www-data:www-data /var/www# 递归修改整套网站目录的归属
```
* **39. `sudo`(以超级用户权限执行)**
* **作用:** 普通用户临时提权执行管理员指令。
* **常用参数:** `-i`(切换到 root 环境)。
* **高频用法:**
```bash
sudo systemctl reload nginx # 以 root 权限重载服务
sudo -i # 获取交互式 root shell
```
* **40. `useradd` / `userdel`(添加/删除用户)**
* **作用:** 管理系统登录账户。
* **常用参数:** `-m`(创建家目录)、`-s`(指定默认 Shell)。
* **高频用法:**
```bash
useradd -m -s /bin/bash deployer # 创建一个名为 deployer 的用户并建立默认目录
userdel -r deployer # 删除用户并同步清理其家目录
```
* **41. `passwd`(修改密码)**
* **作用:** 更改当前账户或指定账户的登录凭证。
* **高频用法:**
```bash
passwd # 交互式修改当前登录用户的密码
sudo passwd dev # 管理员重置 dev 用户的密码
```
---
### 网络通信与远程连接
* **42. `ping`(测试网络连通性)**
* **作用:** 基于 ICMP 协议测量目标主机的响应及延迟。
* **常用参数:** `-c`(限制发送的数据包数量)。
* **高频用法:**
```bash
ping -c 4 8.8.8.8 # 向公共 DNS 发送 4 个探测包验证外部连通性
```
* **43. `curl`(发起网络请求)**
* **作用:** 终端下的 HTTP/HTTPS/FTP 传输与调试工具。
* **常用参数:** `-I`(只获取响应头)、`-s`(静默模式)、`-o`(保存到文件)、`-X`(指定请求方法)。
* **高频用法:**
```bash
curl -I https://www.example.com # 检测 Web 服务的响应状态码及 Header
curl -X POST -d '{"k":"v"}' http://api/ # 模拟发送带有 JSON 体的 POST 请求
```
* **44. `wget`(非交互式网络下载)**
* **作用:** 后台抓取文件并直接保存到本地。
* **常用参数:** `-c`(断点续传)、`-b`(后台下载)。
* **高频用法:**
```bash
wget -c https://example.com/package.tar.gz # 支持断点续传下载压缩包
```
* **45. `ss`(查看网络套接字与端口)**
* **作用:** 替代旧的 `netstat`,快速列出监听端口及网络连接状态。
* **常用参数:** `-t`(TCP)、`-u`(UDP)、`-l`(仅监听状态)、`-n`(数字形式显示 IP 与端口)、`-p`(显示对应进程信息)。
* **高频用法:**
```bash
ss -tlnp # 查看当前本机所有处于监听状态的 TCP 端口及对应 PID
```
* **46. `ssh`(安全 Shell 远程连接)**
* **作用:** 加密连接远程 Linux 主机。
* **常用参数:** `-p`(指定远程端口)、`-i`(指定公私钥对中的私钥路径)。
* **高频用法:**
```bash
ssh -p 2222 [email protected] # 连接非常规端口的远程服务器
ssh -i ~/.ssh/id_rsa [email protected] # 指定密钥免密登录
```
* **47. `scp` 与 `rsync`(跨机器文件传输)**
* **作用:** 基于 SSH 协议在不同主机间复制文件。
* **常用参数(rsync):** `-a`(归档模式,保持所有属性)、`-v`(显示进度)、`-z`(传输压缩)、`-P`(断点续传)。
* **高频用法:**
```bash
scp backup.tar.gz user@remote:/data/ # scp 简单快速传输单文件
rsync -avzP /data/app/ user@remote:/data/app/ # rsync 增量同步目录,速度极快
```
---
### 压缩与归档
* **48. `tar`(打包与解包)**
* **作用:** 整合多个文件为单个 `.tar` 包,并联动 gzip/bzip2 进行压缩。
* **常用参数:** `-c`(创建)、`-x`(解包)、`-z`(使用 gzip)、`-v`(列出过程)、`-f`(指定归档文件)。
* **高频用法:**
```bash
tar -czvf app_backup.tar.gz /var/www/ # 将目录打包并压缩为 .tar.gz
tar -xzvf package.tar.gz -C /opt/ # 解压指定压缩包到 /opt 目录
```
* **49. `zip` 与 `unzip`(Zip 格式解压缩)**
* **作用:** 处理跨平台通用的 `.zip` 文件。
* **高频用法:**
```bash
zip -r data.zip ./data/# 递归压缩整个文件夹
unzip -q package.zip -d /tmp/ # 静默解压到目标目录
```
---
### 实用与快捷工具
* **50. `history` 与 `alias`(历史记录与命令别名)**
* **作用:** 提升终端操作效率与复查历史执行记录。
* **高频用法:**
```bash
history | grep "docker run" # 检索以往执行过的 Docker 命令
!105 # 快速重新执行第 105 号历史命令
alias ll='ls -lah' # 将复杂组合命令简化为别名 ll
```
页:
[1]