一、特殊符号
* :任意个任意字符
[[email protected] ~]# ls 1* 1bak.zip 1.tar 1.zip.bz2 1: 1.txt 2 [[email protected] ~]# ls 1*2
?:一个任意字符
[[email protected] ~]# ls 2?tar 2.tar
#:注释
[[email protected] ~]# #ls [[email protected] ~]#
\:脱意
[[email protected] ~]# a=3 [[email protected] ~]# echo $a 3 [[email protected] ~]# echo \$a $a [[email protected] ~]# echo "\$a" $a
|:管道符号
管道符号的作用,是把上一条命令的输出作为下一条命令的标准输入:
[[email protected] ~]# ls|wc -l 21
二、sort
sort命令是用来排序的。
默认按照首字母的ascii码排序:
[[email protected] ~]# ls|sort 1 1bak.zip 1.tar 1.zip.bz2 2 2.tar 3 33.tar 3.tar.gz 3.zip 4.tar 4.tar.bip2 4.zip 5 5.zip 6 7.txt 8.txt 999.txt 9.txt
[[email protected] ~]# cat 3.txt | sort [ $ $ %^ 3 33 55 6 6 666 dfd dfdf e gr kQ$ Q$ Q$ t
按数字排序:
[[email protected] ~]# sort -n 3.txt [ $ $ %^ dfd dfdf e gr kQ$ Q$ Q$ t 3 6 6 33 55 666
实验发现当按数字排序的时候,字母和特殊字符都被当成0了。
倒序:
[[email protected] ~]# sort -r 3.txt t Q$ Q$ kQ$ gr e dfdf dfd 666 6 6 55 33 3 %^ $ $ [
分段排序:
[[email protected] ~]# sort -t: -nrk3 666.txt ruanwenwu:x:1000:1000::/home/ruanwenwu:/bin/bash systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin
三、cut
cut命令是用来切割的。-d指定分隔符,-f指定段数,-c指定几个字符
[[email protected] ~]# cut -d : -f 3,4 666.txt 0:0 1:1 2:2 3:4 4:7 5:0 6:0 7:0 8:12 11:0 12:100 14:50 99:99 999:997 192:192 81:81 59:996 59:59 89:89 74:74 1000:1000 [[email protected] ~]# cut -d : -f 3,4 -c1 666.txt cut: 只能指定列表中的一种类型 Try ‘cut --help‘ for more information.
实验说明,不能既分段切割,又截取字符。
截取字符:
[[email protected] ~]# cut -c 2-4 666.txt oot in: aem dm: p:x ync
四、wc
wc命令用来统计行数(最常用),单词数和字数。
wc -l统计行数。
wc -w统计单词数。
wc -m或者wc -c统计字母数。这两个命令会把隐藏的字母算在内。
[[email protected] ~]# vim 777.txt [[email protected] ~]# wc -c 777.txt 19 777.txt [[email protected] ~]# cat 777.txt df dd cc dd dd dd [[email protected] ~]# cat -A 777.txt df dd$ cc$ dd dd dd$ $ [[email protected] ~]# wc -m 777.txt 19 777.txt [[email protected] ~]# wc -w 777.txt 6 777.txt
五、uniq
uniq命令经常和sort命令一起用。因为如果两个相同的行不在一起,就无法uniq。
[[email protected] ~]# uniq 1.txt 3 4 3 5 6 7 87 8
我们先sort再uniq看看呢:
[[email protected] ~]# sort 1.txt|uniq 3 4 5 6 7 8 87
uniq -c显示每行重复的次数:
[[email protected] ~]# sort 1.txt|uniq -c 2 3 1 4 1 5 1 6 1 7 1 8 1 87
六、tee
tee命令的作用是接受标准输入,并重定向,将标准输入打印出来。
[[email protected] ~]# cat 1.txt|tee 3.txt dffdf [[email protected] ~]# cat 1.txt|tee -a 3.txt dffdf [[email protected] ~]# cat 1.txt|tee -a 3.txt dffdf [[email protected] ~]# cat 1.txt|tee -a 3.txt dffdf [[email protected] ~]# cat 3.txt dffdf dffdf dffdf dffdf
七、tr
tr命令的作用是将标准输入替换。
[[email protected] ~]# tr ‘a-z‘ ‘A-Z‘ ‘sdfsdfsgdgfs‘ tr: 额外的操作数 "sdfsdfsgdgfs" Try ‘tr --help‘ for more information. [[email protected] ~]# tr ‘a-z‘ ‘A-Z‘ dfdfdfdfdfdfd DFDFDFDFDFDFD
八、split
split是切割文件。split可以按行切(split -l),也可以按大小切(split -b)。
首先我们来准备一个大文件。将系统中所有的conf文件合并到a.txt。
[[email protected] ~]# find / -type f -name "*.conf" -exec cat {} >> a.txt \;
按行切:
[[email protected] ~]# du -sh a.txt 544K a.txt [[email protected] ~]# wc -l a.txt 21746 a.txt [[email protected] ~]# mkdir /tmp/test2 [[email protected] ~]# mv a.txt /tmp/test2/ [[email protected] ~]# cd !$ cd /tmp/test2/ [[email protected] test2]# ls a.txt [[email protected] test2]# ls -l 总用量 544 -rw-r--r--. 1 root root 554540 11月 18 12:37 a.txt [[email protected] test2]# wc -l a.txt 21746 a.txt [[email protected] test2]# wc -l 10000 a.txt wc: 10000: 没有那个文件或目录 21746 a.txt 21746 总用量 [[email protected] test2]# ls a.txt [[email protected] test2]# split -l 10000 a.txt [[email protected] test2]# ls a.txt xaa xab xac
按大小切:
[[email protected] test2]# !find find / -type f -name "*.conf" -exec cat {} >> a.txt \; [[email protected] test2]# ls a.txt [[email protected] test2]# split -b 100k a.txt [[email protected] test2]# ls a.txt xaa xab xac xad xae xaf
指定分割文件前缀:
[[email protected] test2]# split -b 100k a.txt abc. [[email protected] test2]# ls abc.aa abc.ab abc.ac abc.ad abc.ae abc.af a.txt
九、特殊符号
注意:||是如果前面的命令执行了,后面的就不执行了。
[[email protected] test2]# [ -d ruanwenwu ] || mkdir ruanwenwu [[email protected] test2]# ls abc.aa abc.ab abc.ac abc.ad abc.ae abc.af a.txt ruanwenwu
时间: 2024-10-29 19:11:13