一.使用whereis 查找 locate命令 ; 使用which查找whereis命令 ; 使用locate查找rm命令
[root@bogon ~]# whereis locate
locate: /usr/bin/locate /usr/share/man/man1/locate.1.gz
[root@bogon ~]# which whereis
/usr/bin/whereis
[root@bogon ~]# locate rm
/usr/share/unicode/cldr/common/annotationsDerived/rm.xml
/usr/share/unicode/ucd/DerivedNormalizationProps.txt
/usr/share/unicode/ucd/NormalizationCorrections.txt
/usr/share/unicode/ucd/NormalizationTes
...
二.find命令使用:
1.使用find命令在当前路径下查找所有的普通文件
[root@bogon ~]# find -type f
./.bash_logout
./.bash_profile
./.bashrc
./.cache/dconf/user
./.cache/tracker/db-version.txt
./.cache/tracker/meta.db
...
2.使用find命令查找当前路径下的file1.txt,file2.txt,file3.txt
[root@bogon ~]# find -name file1.txt
./file1.txt
[root@bogon ~]# find -name file2.txt
./file2.txt
[root@bogon ~]# find -name file3.txt
./file3.txt
3.使用find命令查找文件所有者为root的普通文件
[root@bogon ~]# find . -user root -type f
./.bash_logout
./.bash_profile
./.bashrc
./anaconda-ks.cfg
./.cache/dconf/user
./.cache/tracker/db-version.txt
./.cache/tracker/meta.db
...
4. 使用find命令查找修改时间在1天以内的普通文件
[root@bogon ~]# find -mtime -1
.
./file1.txt
./file2.txt
./file3.txt
./.Xauthority
三.cut命令使用:
给定文件cut_data.txt且内容为:
No Name Score
1 zhang 20
2 li 80
3 wang 90
4 sun 60
[root@bogon ~]# cat cut_data,txt
No:Name:Score
1:zhang:20
2:li:80
3:wang:90
4:sun:60
1.使用默认定界符切割文件内容,且输出切割后的第一个字段
[root@bogon ~]# cut -d : -f1 cut_data,txt
No
1
2
3
4
2.切割文件内容,且输出切割后的第一个字段和第三个字段
[root@bogon ~]# cut -d : -f1,3 cut_data,txt
No:Score
1:20
2:80
3:90
4:60
3.按字节切割:输出切割的第一个字节到第10个字节的内容
[root@bogon ~]# cut -b1-10 cut_data,txt
No:Name:Sc
1:zhang:20
2:li:80
3:wang:90
4:sun:60
4.按字符切割:输出切割后的第一个字符和第5个字符的内容
[root@bogon ~]# cut -c1,5 cut_data,txt
Na
1a
2:
3n
4n
5.按指定分界符去切割:内容如下, 输出第一个字段和第三个字段内容
No|Name|Score
1|zhang|20
2|li|80
3|wang|90
4|sun|60
[root@bogon ~]# cut -d"|" -f1,3 cut_data,txt
No|Score
1|20
2|80
3|90
4|60
四.uniq命令使用: 新建文件uniq_data.txt,文件内容为
Welcome to Linux
Windows
Windows
Mac
Mac
Linux
[root@bogon ~]# vim uniq_data.txt
[root@bogon ~]# cat uniq_data.txt
Welcome to Linux
Windows
Windows
Mac
Mac
Linux
1.使用uniq命令输出去重后的结果
[root@bogon ~]# uniq uniq_data.txt
Welcome to Linux
Windows
Mac
Linux
2.使用uniqmingl只输出重复的行
[root@bogon ~]# uniq -D uniq_data.txt
Windows
Windows
Mac
Mac
3.使用uniq命令输出不重复的行
[root@bogon ~]# uniq -u uniq_data.txt
Welcome to Linux
Linux
4.使用uniq命令统计重复次数
[root@bogon ~]# uniq -c uniq_data.txt
1 Welcome to Linux
2 Windows
2 Mac
1 Linux
五.sort命令:给定文件 num.txt, args.txt
文件内容:num.txt
1
3
5
2
4
文件内容:args.txt
test
args1
args2
args4
args4
args3
1.对num.txt进行排序,且将结果输出到sorted_num.txt中
[root@bogon ~]# sort -n num.txt > sorted_num.txt
[root@bogon ~]# cat sorted_num.txt
1
2
3
4
5
2.对args.txt进行排序,且将结果输出到sorted_args.txt中
[root@bogon ~]# sort -n args.txt > sorted_num.txt
[root@bogon ~]# cat sorted_num.txt
args1
args2
args3
args4
args4
test
3. 对num.txt和args.txt进行排序,且将结果输出到sorted_merge.txt中
[root@bogon ~]# sort num.txt args.txt > sorted_merge.txt
[root@bogon ~]# cat sorted_merge.txt
1
2
3
4
5
args1
args2
args3
args4
args4
test
4.对args.txt排序后去重输出
[root@bogon ~]# sort args.txt | uniq
args1
args2
args3
args4
test
5.合并sorted_args.txt和sorted_num.txt且输出
[root@bogon ~]# cat sorted_num.txt >> sorted_args.txt
[root@bogon ~]# cat sorted_args.txt
args1
args2
args3
args4
args4
test
1
2
3
4
5
6.给定文件info_txt:按第二列作为key进行排序
No Name Score
1 zhang 20
2 li 80
3 wang 90
4 sun 60
[root@bogon ~]# vim info_txt
[root@bogon ~]# sort -t" " -k 2 info_txt
2 li 80
No Name Score
4 sun 60
3 wang 90
1 zhang 20
六.将26个小写字母的后13个字母替换成大写字母
[root@bogon ~]# cat aaa.txt | tr n-z N-Z
abcdefghijklmNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ
将hello 123 world 456中的数字替换成空字符(提示使用通配符)
[root@bogon ~]# cat aaa.txt | tr 123456* ' '
Hello world
将hello 123 world 456中字母和空格替换掉,只保留数字(提示使用通配符)
[root@bogon ~]# cat aaa.txt | tr -s Helloworld* ' '
123 456
7.wc命令使用:
给定文件:aaa.txt,里面填充10行内容
按字节去统计
[root@bogon ~]# wc -c aaa.txt
50 aaa.txt
按单词去统计
[root@bogon ~]# wc -w aaa.txt
10 aaa.txt
按行去统计
[root@bogon ~]# wc -l aaa.txt
10 aaa.txt