符号 | 功能 |
---|---|
* | 代表任意字符串 |
? | 代表任意字符 |
/ | 代表根目录或作为路径间隔符使用 |
\ <ENTER> | 续行符,可以使用续行符将一个命令行分写在多行上 |
$ | 变量标识符,用来读取变量 |
' | 在'……'中间的字符会被当做字符串处理 |
" | 在"……"中间的字符会被当做字符串处理,允许读取变量 |
` | 在`……`中的命令会被执行 |
< | 输入重定向字符 |
> | 输出重定向字符 |
| | 管道字符 |
& | 后台执行字符,一般放在命令最后面。 |
; | 命令分隔字符,按照顺序执行多个命令 |
() | 在子Shell中执行命令(执行完毕自动结束,不影响当前Shell) |
{} | 在当前Shell中执行命令 |
! | 执行历史记录中的命令 |
~ | 当前用户的主目录(家目录) |
语法 | 作用 |
---|---|
cmd < file | 从file重定向标准输出 |
cmd > file | 把标准输出重定向到file中,如果file存在则覆盖file |
cmd >> file | 把标准输出重定向到file中,如果file存在则追加到后面 |
cmd 2> file | 把标准错误重定向到file中,如果file存在则覆盖file |
cmd 2>> file | 把标准错误重定向到file中,如果file存在则追加到后面 |
cmd > file 2>&1 | 合并标准输出和标准错误,并重定向到file中,可以简写为cmd >& file |
grep负责从数据源中检索对应的字符串,进行过滤,输匹配的行。
grep负责从数据源中检索对应的字符串,行过滤。输出的时被匹配的那行。
grep [options] "string" firename
选项 | 功能 | 备注 |
---|---|---|
i | 不区分大小写,linux默认区分大小写 | |
v | 反向查找,查找不包含 | |
w | 按单词搜索 | 必须是正确的单词 |
n | 显示行号 | |
A | 显示匹配行以及后面多少行 -A 5 | |
B | 显示匹配行以及后面多少行 | |
o | 打印匹配关键字 | 只显示匹配到的关键字 以列显示 |
c | 统计匹配到的次数 | 只显示数字 |
r | 逐层遍历目录查找 | |
C | 显示匹配前后多少行 | |
l | 只列出匹配的文件名 | |
L | 列出不匹配的文件名 | |
e | 使用正则表达式 | |
E | 使用扩展正则表达式 | |
^key | 以关键字开头 | |
key$ | 以关键字结尾 | |
^$ | 匹配空行 |
cut用于数据截取
cut 选项 "文件"
选项 | 功能 | 备注 |
---|---|---|
c | 以字符串为单位进行分割 | 截取字符串长度由后面数字确定 |
d | 自定义分隔符,默认使用制表符\t | 自定义字符使用"" |
f | 与 -d一起使用,指定显示那个区域 | 多列之间可以加","分隔 连续多列之间家"-"连接 多列之间会携带分隔符 |
tr用来对标准输入中通过替换或删除操作进行字符转换,主要用于删除文件中控制字符或进行字符转。
使用tr时要转换两个字符串,第一个用于查询,第二个用于处理各种转换。
commands | tr [options] "string1" "string2 < "filename"
选项 | 功能 | 备注 |
---|---|---|
d | 删除字符串中所有输入字符 | |
s | 删除所有重复出现字符序列,只保留第一个。 将重复出现的字符串压缩为一个字符串。 |
sort是将文件的每一行作为一个单位,从首字符向后,一次按照ASCII码进行比较,最后将他们升序输出。
sort [options] [filename]
选项 | 功能 | 备注 |
---|---|---|
u | 去除重复行 | 只保留第一行 |
r | 降序排列 | |
o | 将排序结果输出到文件中 | |
n | 以数字排序,默认是字符排序 | |
t | 分隔符 | |
k | 第N列 | |
b | 忽略前导空格 | |
R | 随机排序,每次结果都不同 |
uniq能够去除连续的重复行。去重前先要排序
uniq [options] [filename]
选项 | 功能 | 备注 |
---|---|---|
i | 忽略大小写 | |
c | 统计重复行次数 | |
d | 只显示重复行 |
tee能够实现双向输出,将屏幕输出文件写入到文件或输出到屏幕。和"<<" ">>" "<" ">" 这几个工具一样。
somecommand | tee
选项 | 功能 | 备注 |
---|---|---|
a | 双向追加重定向 |
paste工具用于合并文件行输出到屏幕,不会改动源文件。
paste [options] [file1] [file2] ...
选项 | 功能 | 备注 |
---|---|---|
d | 自定义间隔符 | |
s | 将每个文件按照一行输出,航宇航以tab间隔 |
管道命令,将上一个命令的输出作为下一个命令的输入,做的是数据源,一般使用"|"符号。
xargs命令,将上一个命令的输出作为下一个命令的参数。一般是和管道命令一起使用。
"[somecommand]|[filename]" | xargs [options] command
选项 | 功能 | 备注 |
---|---|---|
-a file | 从文件读入作为输入 | |
-E flag | flag必须是一个以空格分割的标志 当xargs分析道flag时就停止 |
|
-p | 没执行一次就询问下用户 | |
-n num | 表示执行的时候一次用的参数的个数,默认是全部使用 | |
-t | 先打印命令,然后执行,不询问用户是否执行。 | |
-i/-I | ||
-r | 当xargs的输入为空的是停止xargs | |
-d | 分隔符,默认的分隔符是回车 |