cat
cat [OPTION]... [FILE]...
把档案串连接后传到基本输出
-b
:显示行号,空行不计数,效果同nl
-c
:仅显示行中指定范围的字符-d
:指定字段的分隔符,默认的字段分隔符为“TAB”-f
:显示指定字段的内容-n
:显示行号--complement
:补足被选择的字节、字符或字段--out-delimiter=<字段分隔符>
:指定输出内容是的字段分割符-A
:显示所有,结尾为$
1 | cat -n textfile1 > textfile2 # 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里 |
nl
nl FILE
显示文件内容及行号,默认空行不加行号
more
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [file ...]
以全屏幕的方式按页显示文本文件的内容
-<数字>:指定每屏显示的行数
-d:显示“[press space to continue,’q’ to quit.]”和“[Press ‘h’ for instructions]”
-c:不进行滚屏操作。每次刷新这个屏幕
-s:将多个空行压缩成一行显示
-u:禁止下划线; +<数字>:从指定数字的行开始显示。
1 | more -c -10 install.log # 每10行显示一次,而且在显示之前先清屏 |
less
cat [OPTION]... [FILE]...
浏览文字档案的内容
-e:文件内容显示完毕后,自动退出
-f:强制显示文件
-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度
-l:搜索时忽略大小写的差异
-N:每一行行首显示行号
-s:将连续多个空行压缩成一行显示
-S:在单行显示较长的内容,而不换行显示
-x<数字>:将TAB字符显示为指定个数的空格字符。
head
显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容
-n<数字>:指定显示头部内容的行数
-c<字符数>:指定显示头部内容的字符数
-v:总是显示文件名的头信息
-q:不显示文件名的头信息。
1 | head -n 5 -v install.log # 显示前5行,可写成 head -5 同时显示文件头信息 |
tail
tail [OPTION]... [FILE]...
默认在屏幕上显示指定文件的末尾10行
-n<数字>:输出文件的尾部N(N位数字)行内容
-f:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效
-c:输出文件尾部的N(N为整数)个字节内容
-F:与选项“-follow=name”和“–retry”连用时功能相同
–pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出
-q:当有多个文件参数时,不输出各个文件名
-s<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数
-v:当有多个文件参数时,总是输出各个文件名;
1 | tail -1 file # 显示最后一行 |
wc
wc [OPTION]... [FILE]...
Word Count 统计文本行,列,字数
-c:bytes: 只显示Bytes数
-l:lines: 只显示列数
-w:words: 只显示字数
1 | wc -l /etc/passwd |
cut
cut OPTION... [FILE]...
-d CHAR:指定分隔符
-f FIELD:选出指定字段
- #:指定字段
- m-n:从第m到n的字段
- m,n,x:离散多个字段
- m-:从第m字段到最后
1 | cut -d: -f 2-4 /etc/passwd # 以:分隔取2到4字段数据 |
sort
sort [OPTION]... [FILE]...
-n:基于数值大小排序
-t CHAR:指定分隔符
-k #:用于排序的字段,与-t一起使用
-r:逆序
-f:忽略大小写
-u:重复且连续的行只保留一份
1 | sort -t: -k 3 -r /etc/passwd # 用:分隔以第3字段逆序排 |
uniq
uniq [OPTION]... [INPUT [OUTPUT]]
-c:统计每行的重复次数
-u:显示没有重复过的行
-d:显示重复过和行
1 | cut -d: -f7 /etc/passwd | uniq -c # 以:分割取第7字段不重复的内容出现次数 |
tr
tr [-cdst][第一字符集][第二字符集]
translate character 标准输入设备读取数据,转换或删除字符,输出到标准输出设备
-c:取代所有不属于第一字符集的字符
-d:删除所有属于第一字符集的字符
-s:把连续重复的字符以单独一个字符表示
-t:先删除第一字符集较第二字符集多出的字符
1 | echo "HELLO WORLD" | tr 'A-Z' 'a-z' # 转换大写到小字,等效`tr '[:upper:]' '[:lower:]'` |
tee
tee [OPTION]... FILE...
数据重定向到给定文件和屏幕上
-a:向文件中重定向时使用追加模式
-i:忽略中断(interrupt)信号
1 | ls | tee ls.tee | cat -n |