Linux如何查找文件

发布时间 - 2023-05-23 00:00:00    点击率:

Linux查找文件的方法:1、使用find命令,可根据文件的属性进行查找,如文件名、文件大小、所有者、所属组、是否为空、访问时间、修改时间等。2、使用locate命令,配合数据库查看文件位置。Whereis command can only be used to search for binary files, source code files, and man manual pages.。4、使用which命令,可查看可执行文件的位置。5、使用type命令查找。6、用grep命令查找。

find 命令查找文件

使用Linux的find命令,你可以通过不同的搜索准则,如名称、类型、所有者、大小等来搜索目录树。基本语法如下:

# find path expression search-term

下面是使用 find 命令根据文件名来查找特定文件的一个例子:

# find -name test.file

命令会搜索整个目录树来查找名为test.file 的文件,并且会提供其存放位置。你可以使用你 Linux 上一个存在的文件名来尝试一下。
find 命令有时会花费几分钟来查找整个目录树,尤其是如果系统中有很多文件和目录的话。要显著减少时间,你可以指定搜索的目录。比如,如果你知道 /var中存在 test.file,那就没有必要搜索其它目录。这样,你可以使用下面的命令:

# find /var -name test.file

find 还可以根据时间、大小、所属人、权限等选项搜索文件。如果你需要获得更多关于这些选项的信息,可以查看 Linux find 命令的手册。

# man find

locate 命令查找文件

要在Linux中使用locate命令,首先需要安装它。

如果你正在使用 Ubuntu,运行下面的命令来安装 locate:

# apt-get update# apt-get install mlocate

如果你使用的是 CentOS ,运行下面的命令来安装 locate:

# yum install mlocate

相较于find,使用locate可以更快地在数据库中查找文件。要更新搜索数据库,运行下面的命令:

# updatedb

使用 locate 查找文件的语法:

# locate test.file

类似于 find 命令,locate 命令也具备多种选项,可以对输出进行过滤。要了解更多你可以查看Linux Locate 命令的手册。

# man locate

whereis命令查找文件

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

whereis命令的使用实例:

  $ whereis grep

说明:whereis寻找特定文件,只能用于查找二进制文件、源代码文件和man手册页

which命令查找文件

which查看可执行文件的位置 ,只有设置了环境变量的程序才可以用

The purpose of the "which" command is to search for the location of a particular system command within the paths specified by the PATH variable, and returns the first search result.。利用which命令,可以查看某个系统命令是否可用,以及该命令被执行的确切位置。

which命令的使用实例:

  $ which grep

type命令查找文件

type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。使用-p参数会显示外部命令的路径,类似于which命令。

type命令的使用实例:

  $ type cd

系统会提示,cd是shell的自带命令(build-in)。

  $ type grep

系统会提示,grep是一个外部命令,并显示该命令的路径。

  $ type -p grep

加上-p参数后,就相当于which命令。

grep命令查找文件

grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。

基本格式:

find [options] expression

主要参数:

[options]主要参数:

  • -c:只输出匹配行的计数。

  • -i:不区分大小写

  • -h:查询多文件时不显示文件名。

  • -l:查询多文件时只输出包含匹配字符的文件名。

  • -n:显示匹配行及行号。

  • -s:不显示不存在或无匹配文本的错误信息。

  • -v:显示不包含匹配文本的所有行。

pattern正则表达式主要参数:

  • \: 忽略正则表达式中特殊字符的原有含义。

  • ^:匹配正则表达式的开始行。

  • $: 匹配正则表达式的结束行。

  • \

  • \>:到匹配正则表达式的行结束。

  • [ ]:单个字符,如[A]即A符合要求 。

  • [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。

  • .:所有的单个字符。

  • * :有字符,长度可以为0。

实例:

grep -r "字符串"  很方便

1)grep 'test' d*  #显示所有以d开头的文件中包含 test的行

2)grep ‘test’ aa bb cc    #显示在aa,bb,cc文件中包含test的行

3)grep ‘[a-z]\{5\}’ aa   #显示所有包含每行字符串至少有5个连续小写字符的字符串的行

4)grep magic /usr/src  #显示/usr/src目录下的文件(不含子目录)包含magic的行

5)grep -r magic /usr/src  #显示/usr/src目录下的文件(包含子目录)包含magic的行

6)grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),


# linux  # 正则表达式  # for  # 字符串  # var  # location  # 数据库  # ubuntu  # centos  # 你可以  # 如果你  # 是由  # 行号  # 自带  # 类似于  # 源代码  # 可以查看  # 可执行文件 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: C++用Dijkstra(迪杰斯特拉)算法求最短路径  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  如何在Windows 2008云服务器安全搭建网站?  Laravel如何实现本地化和多语言支持?(i18n教程)  Laravel如何使用Eloquent进行子查询  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  如何用AI帮你把自己的生活经历写成一个有趣的故事?  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  公司网站制作需要多少钱,找人做公司网站需要多少钱?  网站优化排名时,需要考虑哪些问题呢?  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  如何在万网主机上快速搭建网站?  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  js实现点击每个li节点,都弹出其文本值及修改  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  香港服务器网站推广:SEO优化与外贸独立站搭建策略  如何有效防御Web建站篡改攻击?  详解vue.js组件化开发实践  黑客如何通过漏洞一步步攻陷网站服务器?  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  免费视频制作网站,更新又快又好的免费电影网站?  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  Java垃圾回收器的方法和原理总结  详解jQuery中的事件  如何在IIS中配置站点IP、端口及主机头?  iOS正则表达式验证手机号、邮箱、身份证号等  如何利用DOS批处理实现定时关机操作详解  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  如何在 React 中条件性地遍历数组并渲染元素  Laravel观察者模式如何使用_Laravel Model Observer配置  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  Python进程池调度策略_任务分发说明【指导】  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  JavaScript Ajax实现异步通信  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  IOS倒计时设置UIButton标题title的抖动问题  如何在景安服务器上快速搭建个人网站?  新三国志曹操传主线渭水交兵攻略  如何快速登录WAP自助建站平台?  实例解析angularjs的filter过滤器  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】