资讯专栏INFORMATION COLUMN

Linux搜索文件或目录

leejan97 / 839人阅读

摘要:命令查看可执行文件的位置选项指令名注意事项只能搜索命令,是通过环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件。

which命令

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

which + [选项] + 指令名

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

whereis命令

查看文件的位置:

whereis +[选项]+ 指令名

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

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

-m:只查找帮助文件;

-s:只查找源文件;


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

locate

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

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

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

注意事项:locate只能搜索文件,文件名是包含匹配;
prunepaths:PRUNEPATHS的值,多字符串、排除的路径;/etc/updatedb.conf

find命令

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

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

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

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

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

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

例如:查找出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天的文件;

find按文件类型查找

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

在当前目录下的子目录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 命令

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/33272.html

相关文章

  • Linux常用命令(一)基本格式、文件处理和文件搜索命令、链接

    摘要:生成链接文件命令原文件目标文件选项创建软链接硬链接特征拥有相同的节点和存储块,可以看做是同一个文件。当删除原文件或硬链接文件的任何一文件,不影响文件索引操作。 参考课程视频:Linux达人养成计划 I showImg(https://segmentfault.com/img/bVUIfG?w=615&h=259); 一、命令基本格式 1.1 起始符/命令提示符 [root@local...

    zhangxiangliang 评论0 收藏0
  • Linux就该这么学【基础指令】

    摘要:将目录象文件一样显示,而不是显示其下的文件。如指定文件以字节的形式表示文件的大小。介绍,在每个文件名后附上一个字符以说明该文件的类型,表示可执行的普通文件表示目录表示符号链接表示表示套接字。是建立目录,而是删除命令。 ...

    happyhuangjinjin 评论0 收藏0
  • linux命令学习

    摘要:命令学习一些常识命令格式命令选项查询目录中的内容选项文件或目录选项显示所有文件,包括隐藏文件显示详细信息查看目录属性人性化显示文件大小显示权限操作常用目录说明目录名作用根目录设备文件保存目录配置文件目录普通用户家目录系统库目录系统 Linux命令学习 一些常识 命令格式 命令 选项 查询目录中的内容 ls [选项][文件或目录] 选项: -a 显示所有文件,包括隐藏文件 ...

    niuxiaowei111 评论0 收藏0
  • 01Linux常用指令

    摘要:二常用的指令语法功能显示用户当前的身份。的作用是显示当前目录的文件和子目录。语法选项指令功能查看指令的使用规则等。 所有的指令不要强制记忆,选项要多多查一下,多多练...

    ethernet 评论0 收藏0
  • linux常用命令(不定时更新)

    摘要:关机系统的关机重启以及登出关闭系统关闭系统关闭系统按预定时间关闭系统取消按预定时间关闭系统重启重启注销文件和目录进入目录返回上一级目录返回上两级目录进入个人的主目录进入个人的主目录返回上次所在的目录显示工作路径查看目录中的文件查 关机 (系统的关机、重启以及登出 ) shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shu...

    Alex 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<