前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux中的查找文件方法

Linux中的查找文件方法

作者头像
AsiaYe
发布2019-11-06 15:16:03
6.2K0
发布2019-11-06 15:16:03
举报
文章被收录于专栏:DBA随笔DBA随笔

Linux中的四种查找文件方法

一、which which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。 也就是说它返回的是你该命令所处的位置。 举个例子,比如说现在看下使用gcc这个命令当前所在的路径,用which查找下:

二、whereis whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。 简单来说就是查找你当前系统是否安装了该程序,如果安装了就显示该程序的路径。 下面就还以gcc为例:

这样它就将你所需要的路径给出了。 下面是一些whereis的命令参数: -b 定位可执行文件。 -m 定位帮助文件。 -s 定位源代码文件。 -u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。 -B 指定搜索可执行文件的路径。 -M 指定搜索帮助文件的路径。 -S 指定搜索源代码文件的路径。

三、locate 说到locate,其实它基本已经能够完成我们基本所需的查找需求,并且速度很快,这是因为它是在一个库中进行查找的,上面的whereis也是哦。而不是通过硬盘来查找的,这个数据库是liunx自动创建的,并且每天更新一次。 下面我们还是看看它的用法: 其实用起来很简单,一般用 # locate your_file_name 的形式就可以了,比如要查找一个名为yeyz_dev的一个文件:

再用之前最好先执行下updatedb更新下,然后再进行使用。 再给一些常用的参数: -n 至多显示n个输出。 -h 显示辅助讯息 -v 显示更多的讯息 -V 显示程式的版本讯息

四、find 关于find用一句话来形容它:find是最常见和最强大的查找命令,可以用它找到任何想找的文件。上面说了locate是在一个库里查找文件,因此对于一些有新变动的文件,而你的库还没更新时,这些文件你是用locate找不到的,这时find就派上用场了,它可是从硬盘里一个一个进行查找的,正因为这样它的速度也会相当慢,一般都把它丢到后台运行。 为什么说它功能强大呢? 因为它有很多的参数: pathname:

#find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print:

#find命令将匹配的文件输出到标准输出。 -exec:

#find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command'{ } \;,注意{ }和\;之间的空格。 -ok:

#和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 -name filename

#查找名为filename的文件 -perm

#按执行权限来查找 -user username

#按文件属主来查找 -group groupname

#按组来查找 -mtime -n +n

#按文件更改时间来查找文件,-n指n天以内,+n指n天以前 -atime -n +n

#按文件访问时间来查 -ctime -n +n

#按文件创建时间来查找文件,-n指n天以内,+n指n天以前 -nogroup

#查无有效属组的文件,即文件的属组在/etc/groups中不存在 -nouser

#查无有效属主的文件,即文件的属主在/etc/passwd中不存在 -ctime -n +n

#按文件创建时间来查找文件,-n指n天以内,+n指n天以前 -nogroup

#查无有效属组的文件,即文件的属组在/etc/groups中不存在 -nouser

#查无有效属主的文件,即文件的属主在/etc/passwd中不存在 -newer f1 !f2

#查更改时间比f1新但比f2旧的文件 -type b/d/c/p/l/f

#查是块设备、目录、字符设备、管道、符号链接、普通文件 -size n[c]

#查长度为n块[或n字节]的文件 -depth

#使查找在进入子目录前先行查找完本目录 -fstype

#查更改时间比f1新但比f2旧的文件 -type b/d/c/p/l/f

#查是块设备、目录、字符设备、管道、符号链接、普通文件 -size n[c]

#查长度为n块[或n字节]的文件 -depth

#使查找在进入子目录前先行查找完本目录 -fstype

#查位于某一类型文件系统中的文件,这些文件系统类型通常可在/etc/fstab中找到 -mount

#查文件时不跨越文件系统mount点 -follow

#如果遇到符号链接文件,就跟踪链接所指的文件 -cpio

#查位于某一类型文件系统中的文件,这些文件系统类型通常可在/etc/fstab中找到 -mount

#查文件时不跨越文件系统mount点 -follow

#如果遇到符号链接文件,就跟踪链接所指的文件 -cpio

#对匹配的文件使用cpio命令,将他们备份到磁带设备中 -prune

#忽略某个目录

例子:查找名称为yeyz_dev的文件

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-10-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档