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/"