linux搜索文件目录文件,Linux搜索文件或目录

您所在的位置:网站首页 linux系统查找文件目录 linux搜索文件目录文件,Linux搜索文件或目录

linux搜索文件目录文件,Linux搜索文件或目录

2022-04-21 19:38| 来源: 网络整理| 查看: 265

which命令

查看“可执行文件”的位置:

which + [选项] + 指令名

注意事项:which只能搜索命令,是通过PATH环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件。

bVXExW?w=1015&h=108

whereis命令

查看文件的位置:

whereis +[选项]+ 指令名

- whereis命令用来查找二进制程序、源代码文件和帮助文件在文件系统中的位置。

-b:只查找二进制文件;

-m:只查找帮助文件;

-s:只查找源文件;

bVXEzq?w=1014&h=55

whereis可以查找出系统目录下面的用户自定义文件,但是查不出root目录下的文件,因为root目录是用户自定义目录,不属于系统目录。

locate

配合数据库查找文件或目录:

locate +[选项]+ 文件或目录名

locate不搜索具体目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db,这个数据库中含有本地所有文件信息,Linux系统自动创建这个数据库,并且每周自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令;手动更新数据库。

bVXJyO?w=1006&h=96

注意事项:locate只能搜索文件,文件名是包含匹配;

prunepaths:PRUNEPATHS的值,多字符串、排除的路径;/etc/updatedb.conf

find命令

find搜索文件并执行指定操作:

find + 查询目录(即搜索范围) + [选项1] + 查询参数 + [选项2] +[执行操作]

- 选项1 -name:查询文件名;

选项2 -print:将匹配结果输出到标准输出设备;

选项2 -exec:搜索到文件后执行后续命令,常见格式为:-exec command {} \;即:将前面一个命令的结果交给command命令来处理;{}指的是前面找到的信息。

注:尽量避免搜索范围过大,例如 find / -name lilaoshi.file

bVXJ8z?w=1009&h=528

例如:查找出root含有aaa名字的文件,并输出到屏幕上的同时,在每一个文件的前面和后面加一句话:i have 文件名字 this file!

find /root -name "*aaa*" -exec echo i hane {} this file!\;

根据文件更改的时间查找

-atime +n/-n:访问或执行时间大于/小于n天的文件;

-ctime +n/-n:写入、更改inode属性(例如更改所有者、权限或链接)时间大于/小于n天的文件;

-mtime +n/-n:写入时间大于/小于n天的文件;

bVXKcr?w=1008&h=208

bVXKcI?w=1009&h=319

find按文件类型查找

-type filetype:通过文件类型查找;

文件类型filetype包含了f:普通文档、b:块设备文档、c:字符设备文档、d:目录、l:符号链接文档、s:串接口等

bVXKdA?w=1005&h=314

bVXKd5?w=1008&h=325

在当前目录下的子目录dir00及其子目录下查找txt后缀文件;

find ./ -path '*dir00*' -name *.txt

式中的[path...]部分表示以此目录为根目录进行搜索;

find命令的格式:

find [-path...] -options [-print -exec -ok]

-path:要查找的目录路径

~:表示$HOME目录;

.:表示当前目录;

/:表示根目录;

-print:表示将结果输出到标准输出;

-exec:对匹配的文件执行该参数所给出的shell命令。形式为command {} ;注意{}与\;之间有空格;

-ok:与-exec作用相同,区别在于,在执行命令之前,都会给出提示,让用户确认是否执行;

options常用的有下选项:

-name:按照名字查找;

-perm:安装权限查找;

-prune:不在当前指定的目录下查找;

-user:按文件属主来查找;

-group:按属组来查找;

-nogroup:查找无有效所属组的文件;

-nouser:查找无有效属主的文件;

-type:按照文件类型查找;

文件的三个时间属性

Access time:atime、是在读取文件或者执行文件时更改的,即最后一次访问(仅仅是访问,没有修动)文件的时间;

Modified time:mtime、是在写入文件时随文件内容的更改而更改的,即最后一次修改文件的时间。

Create time:ctime、是在写入文件、更改所有者、权限或链接设置是随inode的内容更改而更改的,即最后一次对文件属性改变的时间。

inode:就是索引节点,它用来存放档案及目录的基本信息、包含时间信息、文档名、属主以及属组等。可以用df -i来查看各个分区的inode数量;

获得一个文件的atime、mtime以及ctime的方式:stat 命令

bVXKiv?w=1006&h=264

Linux之find命令详解

查找文件:find ./ -type f

查找目录:find ./ -type d

查找名字为test的文件或目录:find ./ -name test

查找名字符合正则表达式的文件,注意前面的‘.*’(查找到的文件带有目录)

find ./ -regex .*so.*\.gz

查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,没有选项-print是文件列表前一行不会显示目录名称)

find ./ -type d -print -exec ls {} \;

查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,执行命令前需要确认)

find ./ -type d -print -ok ls {} \;

查找目录并列出目录下的文件(将找到的目录添加到ls命令后一次执行,参数过长时会分多次执行)

find ./ -type d -exec ls {} +

查找文件名匹配*.c的文件:find ./ -name \*.c

打印test文件名后,打印test文件的内容

find ./ -name test -print -exec cat {} \;

不打印test文件名,只打印test文件的内容

find ./ -name test -exec cat {} \;

查找文件更新日时在距现在时刻二天以内的文件:

find ./ -mtime -2

查找文件更新日时在距现在时刻二天以上的文件:

find ./ -mtime +2

查找文件更新日时在距现在时刻一天以上二天以内的文件:

find ./ -mtime 2

查找文件更新日时在距现在时刻二分以内的文件:

find ./ -mmin -2

查找文件更新日时在距现在时刻二分以上的文件:

find ./ -mmin +2

查找文件更新日时在距现在时刻一分以上二分以内的文件:

find ./ -mmin 2

查找文件更新时间比文件abc的内容更新时间新的文件:

find ./ -newer abc

查找文件访问时间比文件abc的内容更新时间新的文件:

find ./ -anewer abc

查找空文件或空目录:

find ./ -empty

查找空文件并删除:

find ./ -empty -type f -print -delete

查找权限为644的文件或目录(需完全符合)

find ./ -perm 644

查找用户/组权限为读写,其他用户权限为读(其他权限不限)的文件或目录

find ./ -perm -644

查找用户有写权限或者组用户有写权限的文件或目录

find ./ -perm /220

find ./ -perm /u+w,g+w

find ./ -perm /u=w,g=w

查找所有者权限有读权限的目录或文件

find ./ -perm -u=r

查找用户组权限有读权限的目录或文件

find ./ -perm -g=r

查找其它用户权限有读权限的目录或文件

find ./ -perm -o=r

查找所有者为lzj的文件或目录

find ./ -user lzj

查找组名为gname的文件或目录

find ./ -group gname

查找文件的用户ID不存在的文件

find ./ -nouser

查找文件的组ID不存在的文件

find ./ -nogroup

查找有执行权限但没有可读权限的文件

find ./ -executable \! -readable

查找文件size小于10个字节的文件或目录

find ./ -size -10c

查找文件size等于10个字节的文件或目录

find ./ -size 10c

查找文件size大于10个字节的文件或目录

find ./ -size +10c

查找文件size小于10k的文件或目录

find ./ -size -10k

查找文件size小于10M的文件或目录

find ./ -size -10M

查找文件size小于10G的文件或目录

find ./ -size -10G



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3