find命令和文件名后缀
1.find命令
find是查找系统文件的一个搜索命令,功能十分强大。
除find外还有几个较为常用的命令,例which,locate等等
1.1 which(常用来查看命令的路径)
有时候会出现别名,如果想去掉别名可以用"which --skip-alias"
1.2 locate(用于模糊查找)
如果没这个命令可以先安装包 “yum install -y mlocate”
使用前要先更新下数据库updatedb
locate pwd
1.3 find(遍历整个问价目录查找文件)
用find命令之前要介绍下linux的三种状态时间
mtime:修改时间,与内容相关(文件内容改变都会改变)
atime:查看文件时间(查看内容都会导致改变,cat,head等和vim命令)
ctime:状态时间(写入文件或者所有者更改,权限更改,链接更改等状态信息更改都会使ctime更改)
语法
-name 'FILENAME'(文件精确查找,支持统配符号)
-iname 'FILENAME'(忽略大小写)
-user 'USERNAME' (查找属主)
-group 'GROUPNAME'(查找属组)
-uid UID
-gid GID
-nouser (查找没有属主的文件)
-nogroup(查找没有属组的文件)
-type (f文件,d目录,c输入设备,b块设备,l软连接,p,s.....)
+ #k
-size #M
- #G
+天数
-mtime|ctime|atime
-天数
-a(and的意思)等同于&&,1 and 2意思是1真2才执行,1假2不执行
-o(or的意思)等同于||,总有一个要执行
-not(非)
!(取反)
-perm(精确匹配)
-perm /(有一个权限位匹配即可)
-perm -(文件完全包含这个权限才可以)
-mindepth #(指定目录开始的深度)
-maxdepth #(指定目录结束的深度)
-path (指定目录)
-prune (忽略,与-path搭配以及-o)
-exce command { } \ ;
例子:
1. find /tmp -type f (查找/tmp目录下类型为文件的)
2. find /tmp -size 10M(查找10兆的文件,9.8兆的也会显示)
3. find /tmp -mtime +30 (查找30天前的文件)
4. find -perm g=r -exec ls -l {} \;(查找属组只有只读权限的并且传递给ls -l来显示出来)
5.find -perm /777 /tmp (只要属主或者属组或者其他人只要有一个为7即可,720,027,700....都可以)
6.find -perm -444 /tmp (属主或者属组或者其他人他们权限必须能包含444才行)
7.find / -mindepth 1 -maxdepth 2 (查找所有在/下的一级目录和文件)
8.find . -path ' ./var/www' -name 'a.*' -print(查找./var/www路径下的所有以a开头的文件或目录)
9.find . -path './var/www' -prune -o -name 'a.*' -print (查找path指定的路径下以外叫做a开头的文件或目录)
10.find . -type f -print | xargs -i cp { } /usr/ (找当前目录下文件并且复制到/usr的目录下)
(由于不在配置的虚拟机linux旁边没法补图,下次一并补上)
2.Linux的文件后缀
Linux的文件后缀不像在windows下那么有意义。在linux下,后缀只是为了让我们更容易区分文件类型。常见的文件类型有:
.conf 配置文件
.zip zip压缩包
.tar.gz tar.gz压缩包
.tar tar压缩包
.log 日志文件