本文根据 Devhints / Command line stuff 翻译。代码示例及版本范围沿用原文。
列出文件 (ls)
用法
ls [options] [paths]
格式
| 选项 | 说明 |
|---|---|
-1 | 每行显示一个条目 |
-l | 详细视图 |
-o | 详细视图(不显示所属组) |
-C | 多列显示(按行排序) |
-x | 多列显示(按列排序) |
-F | 在目录名后添加“/” |
-G | 彩色显示 |
选项
-R | 递归处理 |
-a | 包含隐藏文件(以“.”开头的文件) |
-A | 包含隐藏文件(排除“.”和“..”) |
排序
| 选项 | 说明 |
|---|---|
-r | 反向排序 |
-S | 按大小排序 |
-t | 按修改时间排序 |
-u | 按访问时间排序 |
-U | 按创建时间排序 |
-c | 按状态变更时间排序 |
-h | 人类可读的大小(如 3k) |
尾部 (Tail)
用法
tail [-F | -f | -r] [-bN | -cN | -nN] [file ...]
模式
-f | 持续跟踪 (follow) |
-F | 按文件名跟踪(支持日志轮转) |
-r | 反向排序 |
选项
-bN | N*512 字节 |
-cN | N 字节 |
-nN | N 行 |
+N | 从第 N 行开始 |
Sudo
用法
sudo [options] <command>
列出
-l | 列出允许执行的命令 |
选项
-A | 使用 $SUDO_ASKPASS |
-b | 在后台运行 |
-E | 保留环境变量 |
-H | 使用目标用户的 $HOME |
-n | 不提示输入密码 |
-P | 保留组向量 (group vector) |
-S | 从标准输入 (stdin) 读取密码 |
文件描述符
-C fd | 关闭所有已打开的文件描述符 |
提示符
-p prompt | 自定义提示符 (-p “%p password:”) |
交互式
| 选项 | 说明 |
|---|---|
-i [cmd] | 无变量的交互式 Shell |
-s [cmd] | 交互式 Shell |
-u user | 以该用户身份运行 |
-g group | 以该组身份运行 |
时间戳
-v | 重新验证时间戳(有效期 5 分钟) |
-k | 使时间戳失效 |
-K | 与 -k 相同 |
wc(字数统计)
wc
... | wc [options]
选项
-c | 字节数 |
-l | 行数 |
-m | 字符数(包含多字节字符) |
-w | 单词数 |
Grep(文本搜索)
用法
grep [options] [pattern] [file ...]
选项
| 选项 | 说明 |
|---|---|
-A num | 打印 num 训练上下文行数 |
-G | —basic-regexp(默认) |
-E | —extended-regexp |
-P | —perl-regexp |
-f file | —file(获取文件中的匹配模式) |
-F | —fixed-strings |
-h | —no-filename |
-H | —with-filename |
-l | —files-with-matches(仅打印文件名) |
-L | —files-without-match |
-r, -R | —recursive |
-v | —invert-match |
-i | —ignore-case |
同义词
egrep => grep -E
fgrep => grep -F
其他方案
在所有文件中进行查找并替换
perl -p -i -e 's/hello/HELLO/g' **/*