Linux常用高级文件操作命令

时间:2022-05-29 16:31:59

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两个目录下有多少个相同的命令