前言
这是我根据我的日常使用和学习过程中对命令行的常见使用基于 命令行的艺术 进行了整理
我将强化作者所说的,本文致力于做到覆盖面广(涉及所有重要的内容),具体(给出具体的最常用的例子),以及 可能并没有那么简洁,因为我不打算写的过于粗糙))))))
该文章不仅是命令行的常用命令,而且涉及到常用的技巧
文章大部分内容是为 Linux 系统编写的,主要关注于交互式 Bash,包括基础命令、日常使用技巧、文件及数据处理、系统调试等方面,这些技巧在 Linux 系统的交互式 Bash 环境中均可使用,但也涵盖了部分 OS X 系统和 Windows 系统的相关内容
遇到问题时,记得多用 man
或 --help
查看文档
只要我活着并且使用命令行并且不忘了),我就会尝试更新这篇文章
基础
ls
和 ls -l
作用:列出目录内容。
常用选项:
-l
:显示详细信息(权限、所有者、大小、修改时间)。-a
:显示隐藏文件。-h
:以易读格式显示文件大小(如 1K、2M)。
示例:
1
ls -lah # 列出所有文件(含隐藏文件),显示详细信息并以易读格式展示大小
grep
作用:文本搜索工具,支持正则表达式。
常用选项:
-i
:忽略大小写。-v
:反向匹配(显示不包含关键字的行)。-r
:递归搜索目录中的文件。
示例:
1
grep -ri "error" /var/log # 在 /var/log 目录中递归搜索包含 "error" 的行(忽略大小写)
man
作用:查看命令的手册页。
示例
1
man ls # 查看 ls 命令的详细用法
日常使用
Ctrl+R
- 作用:反向搜索命令历史记录,输入关键字可快速定位并执行历史命令。
- 示例: 按
Ctrl+R
,输入ssh
,可快速找到最近执行的 SSH 命令。
history
作用:显示命令历史记录。
常用技巧:
!n
:执行历史记录中第n
条命令。!!
:重复上一条命令。!$
:引用上一条命令的最后一个参数。
示例
1
!100 # 执行历史记录中第 100 条命令
alias
作用:创建命令别名,简化复杂操作。
示例:
1
alias ll='ls -alh' # 输入 ll 即可执行 ls -alh
文件及数据处理
find
作用:查找文件或目录。
常用选项:
-name
:按名称匹配。-type
:按类型过滤(如f
表示文件,d
表示目录)。
示例:
1
find ~ -name "*.txt" -type f # 在主目录查找所有 .txt 文件
awk
作用:处理文本数据,按列提取或计算。
示例:
1
awk '{sum += $1} END {print sum}' data.txt # 计算第一列的总和
sed
作用:流编辑器,用于文本替换或删除。
示例:
1
sed 's/foo/bar/g' file.txt # 将文件中所有 "foo" 替换为 "bar"
系统调试
top
/ htop
作用:实时监控系统进程和资源占用。
区别:
htop
更直观,支持鼠标操作和颜色高亮。示例:
1
htop # 查看 CPU、内存使用情况,并支持排序和进程管理
netstat
/ ss
作用:查看网络连接和端口状态。
常用选项:
-t
:显示 TCP 连接。-l
:仅显示监听中的端口。
示例:
1
netstat -tuln # 列出所有 TCP/UDP 监听端口
dmesg
作用:查看内核日志,常用于排查硬件或驱动问题。
示例:
1
dmesg | grep "error" # 筛选内核日志中的错误信息
单行脚本
统计文件行数
1 | wc -l file.txt # 直接统计 |
快速备份文件
1 | cp file.txt{,.bak} # 生成 file.txt.bak |
批量重命名文件
1 | for f in *.log; do mv "$f" "${f%.log}.txt"; done # 将所有 .log 后缀改为 .txt |
冷门但是有用
nc
(Netcat)
- 作用:网络调试工具,支持 TCP/UDP 数据传输。
- 示例:
1
nc -zv example.com 80 # 检查 example.com 的 80 端口是否开放
dd
- 作用:复制文件或设备,常用于创建镜像或测试 I/O。
- 示例:
1
dd if=/dev/zero of=testfile bs=1M count=100 # 生成一个 100MB 的空文件
仅限 OS X
brew
作用:包管理器,用于安装 Unix 工具。
示例:
1
brew install wget # 安装 wget
pbcopy
/ pbpaste
作用:与剪贴板交互。
示例:
1
cat file.txt | pbcopy # 将文件内容复制到剪贴板
仅限 Windows
Cygwin
作用:在 Windows 中提供类 Unix 环境。
示例: 安装后可直接使用
grep
、ssh
等命令。
wmic
作用:执行系统管理任务,如查看进程信息。
示例:
1
wmic process list brief # 列出正在运行的进程