查看及相关组合命令

一、查看:

cat       查看文本文件   -A   可将符号也显示如换行     -b   显示行号不带空行    -n   显示行号带空行    -s   查看时将空行合并

tac       (将cat倒过来,所以就是反着显示)

nl         显示行号   = cat -b

rev       将同行反过来

more    可翻屏,但不可回看,看完自动退出     ls  -R /etc/ |more    将/etc/所有文件目录全部列出

less      more的所有功能,可回看,q退出         ls -R  /etc  |more

head    默认头10行     -n 头多少行    -c  头多少字节 

            取随机数字或字母前10位:cat /dev/urandom |tr -dc '[:alnum:]' |head -c 10

            给用户设置随机密码:        cat /dev/urandom |tr -dc '[:alnum:]' |head -c 10 |tee passwd.txt |passwd --stdin 用户名

tail       默认尾10行    -n  尾多少行   -c  尾多少字节(注意最后的换行符也占一个字符)

tail  -f   跟踪文件描述符,此时删除文件,没有提示。再创建相同名字文件,不可继续跟踪

tail  -F  跟踪文件名,此时删除文件,有提示。在创建相同名字文件,可以继续跟踪

            只显示第二行:ifconfig |head -2 |tail -1

cut       列抽取       -d 指定分隔符   -f 取第几列如1;   1,3,6;  1-6;   1-3,6

            只取ifconfig中的ip地址:ifconfig |head -2 |tail -1|tr -s " "|cut -d " " -f3

            取df中的利用率并只保留数字:df |tr -s " " %|cut -d% -f5 |tr -d "[:alpha:]"

paste   横向合并   -d 指定合并的分割符     -s 把列变为行

            例:先创建a,b文件:seq 1 5 >a ;  echo {a..h} |tr " " " "  然后 paste a b [多个文件都可以]

wc       -l  行数(利用管道就不会打印原文件名字)     -L 显示最长长度   -m 字符数(一个汉字算一个)    -c 字节总数   -w 单词总数

           将df第一行英文去了:df|tail -n $(echo `df|wc -l`-1|bc)

lastb    -f  专门查看服务器记录的登陆文件信息

sort     默认字符排序a>A>b>B>c>C>...>z>Z    -n 数字排   -r倒序   -R随机排序    -t 指定分隔符   -k 指定排第几列   -f 忽略大小写  -u 排好序后并将相同的合并

uniq    去重,只能将连续重复的合并      -c 显示每行重复的次数    -d 显示重复的       -u显示没重复过的

           查看访问最多的前三名用户ip地址(假设文件以“ ”分隔,第一列为ip): cut -d " " -f1 文件|sort |uniq -c |sort -nr|head -3

           有a、b俩文件,假设个文件中没有重复的行,如何找出相同的行与不同的行?  相同:cat a b|sort |uniq -d  不同:cat a b |sort |uniq -u

diff      比较  -u更加详细

patch  补丁,与diff -u合用  -b备份,否则会覆盖原来文件

           例:diff -u 1.txt 2.txt >diff.txt         rm -rf 2.txt            patch -b 1.txt diff.txt

cmp    比较二进制

hexdump  查看二进制文本   -C更加直观   echo {a..z} |tr -d " " |hexdump -C

od       类似hexdump            od -t

xxd     类似hexdump

利用vim将windows格式文件转为Linux格式文件:vim打开后,:set ff=unix

原文地址:https://www.cnblogs.com/ldyaly/p/12732953.html