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 日志文件

原文地址:https://www.cnblogs.com/mff99/p/7745936.html