Linux上的文件管理类命令(2)

Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示;

wc

统计文件中的字节数、单词数、行数、并将统计结果显示输出

-c, --bytes 打印字节数
[root@qingcheng-web ~]# wc -c /etc/passwd
935 /etc/passwd
-m, --chars 打印字符数
[root@qingcheng-web ~]# echo "123456"|wc -m
7
-l, --lines打印行数
[root@qingcheng-web ~]# wc -l /etc/passwd
21 /etc/passwd
-w, --words打印单词数
[root@qingcheng-web ~]# echo "li guo ping"|wc -w
3

cut

在文件中的每一行中提取片断

-b, --bytes=LIST   :输出这些字节
-c, --characters=LIST 输出这些字符
-d, --delimiter=DELIM 使用DELIM取代TAB做字段(field)分隔符
-f, --fields=LIST 输出这些字段
-s, --only-delimited 不显示没有分隔符的行 [root@qingcheng-web ~]# cat /etc/passwd|cut -b 1 |head -5 //输出文件的第一个字符
r
b
d
a
l [root@db146 ~]# cat /etc/passwd|cut -c 1-4 |head -5 //输出文件的前四个字符
root
bin:
daem
adm:
lp:x [root@db146 ~]# cat /etc/passwd|cut -f5 -d ':' |head -5 //以:分隔文件,输出第一个字段
root
bin
daemon
adm
lp

sort

用法:sort [选项]...[文件]...

或:sort [选项]... --files0-from=F

串联排序所有指定文件并将结果写到标准输出。

-f:忽略字符大小写
-r:逆序
-t delimiter:字段分隔符
-k #:已指定字段为标准排序
u:unip 排序后去重
-n :s数值大小进行排序 [root@db146 ~]# cat /etc/passwd |sort //sort 是默认以第一个数据来排序 [root@db146 ~]# cat /etc/passwd|sort -t ':' -k 3 // /etc/passwd 内容是以:来分隔的,以第三栏来排序 [root@db146 ~]# cat /etc/passwd|sort -t ':' -k 7 -u //查看/etc/passwd有多少个shell:对/etc/passwd的第7个域进行排序,然后去重;

uniq

uniq [option]..[input][output]

-c:显示每行重复次数

-d:仅显示重复的行

-u:仅显示不重复的行,显示唯一的行

[root@db146 lgp]# cat unqtest
this is a test
this is a test
this is a test
i am tank
i love tank
i love tank
this is a test
whom have a try
WhoM have a try
you have a try
i want to abroad
those are good men
we are good men [root@db146 lgp]# uniq -c unqtest #uniq的一个特性,检查重复行的时候,只会检查相邻的行。
3 this is a test
1 i am tank
2 i love tank
1 this is a test
1 whom have a try
1 WhoM have a try
1 you have a try
1 i want to abroad
1 those are good men
1 we are good men [root@db146 lgp]# sort unqtest |uniq -c
1 i am tank
2 i love tank
1 i want to abroad
4 this is a test
1 those are good men
1 we are good men
1 whom have a try
1 WhoM have a try
1 you have a try [root@db146 lgp]# uniq -d -c unqtest //显示重复的行
3 this is a test
2 i love tank

cp

将文件复制至目标文件,或将多个源文件复制至目标目录

cp[option]...[-T]SOUCE DEST

cp[option]...source...directory

cp[option]...-t directory source...

cp SRC DEST
SRC是文件:
如果 目标不存在,新建DEST,新建DEST,并将SRC中的内容填充值DEST中;
如果目标存在:
如果DEST是文件,将SRC中的内容覆盖至DEST中;
此时建议为cp命令使用-i选项;
如果REST是目录,在DEST下新建与源文件同名的文件,并将SRC中的内容填充至新文件中
cp SRC.... DEST
SRC...多文件
dest必须存在,且为目录,其他情形均会出错;
cp SRC DEST
SRC是目录:
此选项为:-r
如果DEST不存在,则创建指定目录,复制SRC目录中所有文件复制到DEST中 -i:交互式
-r:递归复制目录及内部所有内容
-a:归档,相当于-dR --preserver=all
-d:表示不跟踪符号链接所指向的源文件
-p:保持原与文件属性信息
-f: --force 强制覆盖
-v:显示过程 [root@db146 lgp]# cp -p test /home/ //将test文件 复制到home目录,并保留原文件的属性 [root@db146 lgp]# cp -r zabbix/ /usr/local/ //将zabbix目录复制到/usr/locat目录 [root@db146 lgp]# cp test{,.txt} //备份text文件,并在尾部加上.txt文件

mv

移动命令

用法:

mv [OPTION]... [-T] SOURCE DEST

mv [OPTION]... SOURCE... DIRECTORY

mv [OPTION]... -t DIRECTORY SOURCE...

-i:交互式
-f:强制
[root@db146 lgp]# mv -i ping/test test.sh //将test文件重命名为test.sh [root@db146 lgp]# mv ping/ network //将ping文件夹重命名为network

rm

删除命令

rm [OPTION]... FILE...

-i:交互式
-f:强制
-r:递归
-v:详细显示进行步骤
[root@db146 lgp]# rm test.txt //删除文件需要确认
rm:是否删除普通文件 "test.txt"?y
[root@db146 lgp]# rm -f test.sh //强制删除文件不确认
[root@db146 lgp]# rm -rfv test.sh network/ //强制删除当前的test目录
已删除"network/ifcfg-eno16777736"
已删除"network/ifcfg-eth1"
已删除"network/backup/ifcfg-br0"
已删除目录:"network/backup"
已删除目录:"network/ping/hi"
已删除目录:"network/ping"
已删除目录:"network/"
上一篇:虚拟机——虚拟机VMware Workstation 的.vmdk格式与VirtualBox 的.vdi格式相互转换


下一篇:thinkphp6-数据库