1、文件相关命令
1.1、file:查看文件类型
1.2、which:查看命令完整路径(从PATH变量中查)
1.3、whereis:显示命令、源码、说明文档等的路径
-b 只查看二进制命令,相当于which
1.4、locate:快速定位文件路径
locate
查找文件路径,是从数据库A(/var/lib/mlocate/mlocate.db
)里查询。
更新数据库用updatedb
命令
CentOS7中默认没有该命令,需要安装yum install mlocate -y
[root@qingxiaofu ~]\# locate cp
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
安装后直接使用一般会出现上述报错,使用updatedb
命令更新即可
[root@qingxiaofu ~]\# updatedb
1.5、find:查找目录下的文件
查找原理:磁盘遍历,速度慢。
模糊查找
-type 按照文件类型查找
-o 取并集
这里的类型和名字是取交集,两条件都满足。默认是交集,相当于有个-a
如果取并集即或者用-o分割查找的项
取反
!
-exec:对查找的结果再处理
[root@qingxiaofu ~/test]\# find . -type f -name "test*" -exec ls -l {} \;
-rw-r--r--. 1 root root 0 Jan 16 10:45 ./test1.txt
-rw-r--r--. 1 root root 0 Jan 16 10:45 ./test2.txt
-rw-r--r--. 1 root root 0 Jan 16 10:45 ./test3.txt
-rw-r--r--. 1 root root 0 Jan 16 10:45 ./test4.txt
-rw-r--r--. 1 root root 0 Jan 16 10:45 ./test5.txt
-rw-r--r--. 1 root root 0 Jan 16 10:45 ./test6.txt
{}
指代前面find
命令查找到的文件或目录,{}
前后要有空格
\ 是转义,;是结束的标志。一般命令行中";"是一行中两个及以上命令之间的分割,所以需要转义。
-mtime:按照修改时间查找
查找3天之内的文件:find . -mtime -3
查找3天之前的文件:find . -mtime +3
查找第3天的文件:find . -mtime 3
1.6 grep在文件内容中查找对应行
–color=auto:过滤内容加色
-v:invert 取反
-i:ignore 不区分大小写
-n:对输出的内容显示在源文件中的行号
-w:按照单词为单位过滤(完全匹配)
-o:只输出匹配的内容
-E:extend 扩展的grep,及egrep
-A:after 显示过滤字符串和它之后的多少行
-B:before 显示过滤字符串和它之前的多少行
-C:context 显示过滤的字符串和它之前之后的多少行
1.7、xargs从标准输入执行命令
build and execute command lines from standard input
-n 几个东西在一起(分组),默认空格
-d 指定分割符
find /data -type f -exec rm -f {} ;
相当于
rm -f test1.txt
rm -f test2.txt
rm -f test3.txt
效率低。
find /data -type f|xargs rm -f
只是一条命令
rm -f test1.txt test2.txt test3.txt
效率高
-i 把{}当做前面查找的结果
find . -type f -name "haha*"|xargs -i cp {} haha/
1.7 date显示系统时间和日期
修改时间
root@qingxiaofu /data]\# date -s "2020/10/1 00:00:00"
Thu Oct 1 00:00:00 CST 2020
[root@qingxiaofu /data]\# clock -w
[root@qingxiaofu /data]\# date +%F
2020-10-01
[root@qingxiaofu /data]\# date +%Y #year年
2020
[root@qingxiaofu /data]\# date +%y #year年
20
[root@qingxiaofu /data]\# date +%m #month 月
10
[root@qingxiaofu /data]\# date +%d #day日
01
[root@qingxiaofu /data]\# date +%H #hour时
00
[root@qingxiaofu /data]\# date +%M #minute分
02
[root@qingxiaofu /data]\# date +%S #second秒
46
[root@qingxiaofu /data]# date +%F -d “-1day”
2020-09-30
[root@qingxiaofu /data]# date +%F -d “+1day”
2020-10-02
[root@qingxiaofu /data]# date +%F -d “+1month”
2020-11-01
[root@qingxiaofu /data]# date +%F -d “+1Y”
date: invalid date ‘+1Y’
[root@qingxiaofu /data]# date +%F -d “+1year”
2021-10-01
- 过去
+ 未来
[root@qingxiaofu /data]# date +"%Y-%m-%d %H:%M:%S"
2020-10-01 00:09:36
[root@qingxiaofu /data]# date +"%F %T"
2020-10-01 00:09:39
这两个等价
1.8 tar打包压缩
语法:
tar 参数 筐(压缩包) 苹果(被打包的文件)
打包集合参数zcvf:v可以不加
压缩包名字:data.tar.gz #tar表示打包,gz表示gzip格式压缩。
-z:压缩
-c:创建
-v:输出打包过程
-f:文件
-t:不解包查看包的内容
-x:解压
-C:解压到指定目录
-h:不建立符号连接,直接复制该连接所指向的原始文件。
–exclude:排除不需要的文件
-X:通过文件里的内容排除(该文件中是需要排除的文件名)
打包
查看
解压
–exclude:排除不需要的文件
-X:通过文件里的内容排除(该文件中是需要排除的文件名)