版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Linux基础命令(四)
sort
-
sort :
它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入。
-
主要[参数] :
-
-f :忽略大小写的差异,例如A 与a 视为编码相同;
-
-b :忽略最前面的空格部分;
-
-M :以月份的名字来排序,例如JAN, DEC 等等的排序方法;
-
-n :使用『纯数字』进行排序默认是以文字型态来排序的);
-
-r :反向排序;
-
-u :就是uniq ,相同的资料中,仅出现一行代表;
-
-t :分隔符号,预设是用[tab] 键来分隔;
-
-k :以那个区间(field) 来进行排序的意思;
-
示例 :
- 对/etc/passwd的账号进行排序:
cat /etc/passwd | sort
adm:X:3:4:adm:/var/adm:/sbin/nologin
bin:X:1:1:bin:/bin:/sbin/nologin
chrony:X:998:996::/var/lib/chrony:/sbin/nologin
uniq
- uniq :
用于报告或忽略文件中的重复行,一般与sort命令结合使用。
选项:
-
-c或——count:在每列旁边显示该行重复出现的次数;
-
-d或--repeated:仅显示重复出现的行列;
-
-f<栏位>或--skip-fields=<栏位>:忽略比较指定的栏位;
-
-s<字符位置>或--skip-chars=<字符位置>:忽略比较指定的字符;
-
-u或——unique:仅显示出一次的行列;
-
-w<字符位置>或--check-chars=<字符位置>:指定要比较的字符。
示例 :
- 统计各行在文件中出现的次数:
sort file.txt | uniq -c - 在文件中找出重复的行:
sort file.txt | uniq -d
wc
- wc :
用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。
选项 :
-
-c或--bytes或——chars:只显示Bytes数;
-
-l或——lines:只显示列数;
-
-w或——words:只显示字数。
示例 :
- 查看etc/passwd中有多少账号
-
cat /etc/passwd | wc -l
tee
- tee :
双向重定向命令。在数据流的处理过程中将某段信息保存下来,使其既能输出到屏幕又能保存到某一个文件中。
选项 :
-
-a:向文件中重定向时使用追加模式;
-
-i:忽略中断(interrupt)信号。
cp
- cp :
将一个或多个源文件或者目录复制到指定的目的文件或目录。 它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。 cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
选项 :
-
-a:此参数的效果和同时指定"-dpR"参数相同;
-
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-
-i:覆盖既有文件之前先询问用户;
-
-l:对源文件建立硬连接,而非复制文件;
-
-p:保留源文件或目录的属性;
-
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-
-s:对源文件建立符号连接,而非复制文件;
-
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-
-b:覆盖已存在的文件目标前将目标文件备份;
-
-v:详细显示命令执行的操作。
默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R选项;
如果把一个文件复制到一个目标文件中,而目标文件已经存在,那么,该目标文件的内容将被破坏.
示例 :
[root@CentOS8 data]# cp /etc/passwd ./
[root@CentOS8 data]# ll
total 56
-rw-r--r--. 2 root root 13 Sep 26 09:25 fi
-rw-r--r--. 2 root root 13 Sep 26 09:25 fi.txt
-rw-r--r--. 1 root root 2475 Sep 26 11:44 passwd
-rw-r--r--. 1 root root 44355 Sep 26 10:21 SB.txt.txt
tree
- tree :
以树状图列出目录的内容.
选项 :
-
-a:显示所有文件和目录;
-
-A:使用ASNI绘图字符显示树状图而非以ASCII字符组合;
-
-C:在文件和目录清单加上色彩,便于区分各种类型;
-
-d:先是目录名称而非内容;
-
-D:列出文件或目录的更改时间;
-
-f:在每个文件或目录之前,显示完整的相对路径名称;
-
-F:在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","@","|"号;
-
-g:列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码;
-
-i:不以阶梯状列出文件和目录名称;
-
-l:如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录;
-
-n:不在文件和目录清单加上色彩;
-
-N:直接列出文件和目录名称,包括控制字符;
-
-p:列出权限标示;
-
-P:<范本样式> 只显示符合范本样式的文件和目录名称;
-
-q:用“?”号取代控制字符,列出文件和目录名称;
-
-s:列出文件和目录大小;
-
-t:用文件和目录的更改时间排序;
-
-u:列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码;
-
-x:将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该目录予以排除在寻找范围外。
示例 :
[root@CentOS1908 ~]# tree -d /root/
/root
├── /root/anaconda-ks.cfg
├── /root/Desktop
├── /root/Documents
├── /root/Downloads
├── /root/initial-setup-ks.cfg
├── /root/Music
├── /root/Pictures
├── /root/Public
├── /root/Templates
└── /root/Videos