linux 终端查找文件,Ubuntu终端中的文件搜索

搜索文件

和新建文件类似的,在终端中提供了多种方式进行文件的搜索,常用的也是三种方式。

which命令

对于which指令来说,首先需要注意的是which命令只能搜索PATH环境变量中的内容,比如搜索一个命令程序所在的具体路径,如果该命令存在于PATH环境变量中,则能搜索到,否则搜索不到。也由于这点,使得which命令的使用频率并不是很高。

#使用which命令搜索test命令所在的绝对路径

#test命令是确实存在的命令

os@DESKTOP-2DHQBVS:~$ which test

/usr/bin/test

locate命令

locate命令的使用方法同样简单, 只需要在命令之后添加上指定的文件名称即可。

#使用locate命令搜索“test”,输出结果中,可见其输出了所有包含test关键词的路径

os@DESKTOP-2DHQBVS:~$ locate test

/etc/popularity-contest.conf

/etc/cron.d/popularity-contest

/etc/cron.daily/popularity-contest

/etc/profile.d/Z99-cloud-locale-test.sh

/usr/bin/grub-fstest

/usr/bin/test

/usr/lib/git-core/git-remote-testsvn

/usr/lib/python3/dist-packages/jinja2/tests.py

/usr/lib/python3/dist-packages/jinja2/__pycache__/tests.cpython-35.pyc

/usr/lib/python3/dist-packages/markupsafe/tests.py

。。。。。。

lcoate命令最大的特点是搜索速度快,因为locate命令在搜索文件时并不是在磁盘上进行搜索。locate命令会不定期的对磁盘上所有的文件进行一次扫描,生成一个数据库,当需要查找文件时,只需要查找数据库就可以,所以速度很快。

不同的Linux发行版,数据库的更新频率不同,可能一天,也可能一周。所以,新建的文件,往往不能立刻就能搜索到。这时候可以使用手动更新的方法更新数据库。

#使用updatedb命令进行数据库的手动更新

#需要注意的是,该命令的使用需要管理员权限

#该命令耗时较长

os@DESKTOP-2DHQBVS:~$sudo updatedb

find命令

find命令是终端中强大的文件查找命令,能够使用不同的方式进行文件的搜索。

#直接搜索文件名称

#注意,该操作,只在当前文件夹内进行搜索

os@DESKTOP-2DHQBVS:~$ find tedu.txt

tedu.txt

#输出最近三天修改的文件

os@DESKTOP-2DHQBVS:~$ find ~ -mtime -3

/home/os

/home/os/.nano

/home/os/tedu.txt

/home/os/tedu_1.txt

/home/os/tedu_2.txt

/home/os/tedu_3.txt

/home/os/tedu_nano.txt

除了mtime修改时间选项外,还有atime(访问时间)、ctime(状态改变时间)、newer(相对某文件更新的时间)等时间选项。上述示例中的时间为“-3”,代表三天内,如果是“+3”,则代表三天前,“3”则代表向前数第3天,需要注意正负符号的使用,否则可能搜索不到文件。

find命令除了根据时间查询外,还可以根据文件名、文件类型、文件所属用户、文件大小等信息来查找,使用方法如下所示。

#查找某路径下属于某用户(此处为os)的所有文件

os@tedu:~$ find /home -user os

#由于输出文件比较多,此处不再展示,请读者自行尝试查看

#根据文件名查找文件路径

os@tedu:~$ find -name tedu_cp.txt

#未添加查找路径的情况下,默认在当前目录搜索,输出结果为当前目录的相对目录

./tedu_cp.txt

#添加查找路径的情况下,在指定目录中查找,输出结果以指定目录开始

os@tedu:~$ find /home -name tedu_cp.txt

/home/os/tedu_cp.txt

#查找当前目录下所有的管道类型文件

os@tedu:~$ find -type p

#输出的管道类型的文件

./tedu_fifo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值