一、查看:
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