Linux常用高级文件操作命令
cat 查看文本
#cat 文件名 打印文件内容到当前屏幕上
#cat -n 文件名 显示行号
#cat > a.txt 可以用这种方法修改或者创建文件
手动输入文本
继续输入
...
快捷键(ctrl+d)结束
> 输出重定向(覆盖原来文本内容)
>> 输出重定向(在原来内容基础上追加)
< 输入重定向
# cat < a.sh
12345
abcde
ctrl+d 结束
ctrl+c 中断
tac 倒序显示
#tac 文件名 倒序显示文本内容
tee 写入文本内容
#ls | tee a.txt 执行前面命令的同时写入指定的文本文件
#ls | tee -a a.txt -a在原来内容的基础上追加
cut 切割
# cat /etc/passwd | cut -d ":" -f 1
# cat /etc/passwd | cut -d : -f 1
# cat /etc/passwd | cut -d: -f 1
取第1,2,7列
# cat /etc/passwd | cut -d ":" -f 1,2,7
取第2列到第7列
# cat /etc/passwd | cut -d ":" -f 2-7
取第1列到第6列
# cat /etc/passwd | cut -d ":" -f -6
取6列以后的所有列
# cat /etc/passwd | cut -d ":" -f 6-
""在里面是特殊字符(可以被shell解释的)的时候必须要加
-d delimiter
指定分割符,和指定的分割符之间可没空格,默认分割符是一个tab键
-f field 指定想要把第几列切出来
wc 统计
#wc -l 文件名 统计行数
#wc -c 文件名 统计字符数(包括所有字符:比如换行符)
#wc -w 文件名统计word数(没有空格,就会认为是一个word)
sort 排序
#cat a.txt
Abcd
Defb
Caef
第一列字符不同的排序
# cat a.txt | sort
Abcd
Caef
Defb
第一列字符相同的排序
# cat a.txt | sort
aAbcd
aCaef
aDefb
-t
-k
# cat a.txt
e:Abcd
d:Defb
a:Caef
# cat a.txt | sort -t : -k 2
e:Abcd
a:Caef
d:Defb
# cat a.txt | sort -t : -k 2.2
a:Caef
e:Abcd
d:Defb
# cat a.txt |sort -n
9d:Defb
50a:Caef
60e:Abcd
# cat a.txt |sort -n -r
60e:Abcd
50a:Caef
9d:Defb
uniq 唯一
uniq他统计的是连续重复的行
# cat a.txt 源文本
12345
abcde
12345
abcde
abcde
被处理之后
[root@linuxidc /var/ftp/1118ule]# cat a.txt | uniq -c
1 12345
1 abcde
1 12345
2 abcde
连续重复的行的数目
[root@linuxidc /var/ftp/1118ule]# cat a.txt | sort | uniq -c
2 12345
3 abcde
只列出没有连续重复的行
[root@linuxidc /var/ftp/1118ule]# cat a.txt | uniq -u
12345
abcde
12345
只列出连续重复的行
[root@linuxidc /var/ftp/1118ule]# cat a.txt | uniq -d
abcde
diff 比较文本内容的不同
# diff -u a.txt b.txt > pacth.diff
patch 打补丁
# patch a.txt pacth.diff
练习:
使用之前学过的各种命令统计本机eth0网卡的Ip地址(只要ip)
统计在/bin和/usr/bin两个目录下有多少个相同的命令