linux搜索文件目录文件,Linux搜索文件或目录 |
您所在的位置:网站首页 › linux系统查找文件目录 › linux搜索文件目录文件,Linux搜索文件或目录 |
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 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |