首页 > 系统相关 >Linux文件搜索

Linux文件搜索

时间:2024-09-19 14:35:01浏览次数:7  
标签:locate 文件 passwd 查找 搜索 usr Linux find

推荐使用顺序:

whereis \(\rightarrow\) locate \(\rightarrow\) find

可执行文件查找

查找PATH目录下的可执行文件,常常是命令

which [-a] command

# 示例
which ls # ls命令的位置,但只打印第一个被找到符合要求的指令

which -a ls # 打印出PATH目录下所有匹配的命令位置

文件查找

  1. whereis:特定目录中,查找文件。一般用于查找二进制文件、源代码文件和manual手册等系统级别的文件。速度快。
# 语法
whereis [-option] fileName
# 参数介绍
-l:查找的主要目录
-b:只查找二进制文件
-m:只查找在说明文档manual路径下的文件
-s:只查找source来源文件
-u: 查找不在上述三个类别的其他特殊文件

示例:

whereis -l
# 输出太长,部分结果
bin: /usr/bin
bin: /usr/sbin
bin: /usr/lib/x86_64-linux-gnu
...
man: /usr/share/man/man6
man: /usr/share/man/man1
man: /usr/share/man/man7
...
src: /usr/src/linux-headers-6.5.0-45-generic
src: /usr/src/linux-headers-6.8.0-40-generic
src: /usr/src/linux-hwe-6.5-headers-6.5.0-45

whereis passwd # 全部文件

whereis -m passwd # 在manual手册中的文件
  1. locate:一般文件查找的首选方式

    • 速度快,创建文件数据库,而不是直接读取硬盘
    • 无法查找到最新文件。数据库每天自动更新,更新前的新文件无法被查找到。可sudo updatedb手动更新数据库,可能花费几分钟
    • 查找功能不如find强大,不过日常查找够用了

有可能没有安装,可通过sudo apt install mlocate进行安装。

# 语法
locate [-option] keyword # 只需要关键词就可以了,不需要全称
locate [-option] keyword | less # 有可能输出很多,可用less、more进行分页
# 参数介绍
-i:--ignore-case,常见参数,忽略大小写
-c:不输出文件名,而是输出找到的文件数量
-l:控制输出的行数,例如-l 5 输出5行
-S:输出locate所使用的数据库文件的相关信息
-r:后接正则表达式

示例:

locate passwd
# 为了看出差别,改为输出结果数量
locate -c passwd # 214

locate -ic passwd # 214

locate -rc passwd* # 895

locate -l 5 passwd
# /etc/passwd
# /etc/passwd-
# /etc/pam.d/chpasswd
# /etc/pam.d/passwd
# /etc/security/opasswd
  1. find:非常强大的查找方法,可以支持多种方式进行查找,如时间、权限、名称等

    • 速度慢,费硬盘。每次都在硬盘中进行查找,而不是在数据库中进行查找。
    • 查找方式多
    # 查找方式过多,以下仅展示使用过的方式。若之后用到新的方式,会对其进行补充
    # 基础查找
    find PATH -name fileName
    
    PATH:查找某路径下的文件,如/,查找根目录下的文件
    fileName:文件名称,支持正则表达式。使用正则表达式的时候,需要加引号,如"*passwd*"
    
    # 额外操作
    find PATH -name fileName -exec command {} \; # 查找后,接着执行其他命令。\;对分号进行转义
    
    -exec:执行命令,直到\;
    {}:表示find查找的结果,类似于变量。或者类似于python中的print("{}".format(value))
    

参考文献

  • 《鸟哥的Linux私房菜:基础学习篇 第四版》

标签:locate,文件,passwd,查找,搜索,usr,Linux,find
From: https://www.cnblogs.com/coder-shane/p/18420544

相关文章

  • Android中如何调用DLL文件
    在Android设备上直接调用DLL(动态链接库)文件是不可行的,因为DLL文件是Windows操作系统下的一种可执行文件格式,而Android操作系统基于Linux内核,两者在底层架构和API支持上存在根本差异。不过,如果你需要在Android应用中使用在Windows下开发的某些功能或库,有几种可......
  • 阿里云服务器手动部署LNMP环境(Alibaba Cloud Linux 3/2、CentOS 7/8)
    LNMP是目前主流的网站服务器架构之一,适合运行大型和高并发的网站应用,例如电子商务网站、社交网络、内容管理系统等。LNMP分别代表Linux、Nginx、MySQL和PHP。本文介绍如何在AlibabaCloudLinux3/2、CentOS7/8操作系统的ECS实例上搭建LNMP环境。部署环境的实例要求手动部署LNMP环......
  • 常用10款文件加密软件分享 | 2024办公文件加密方法,赶紧Get起来吧!
    在信息安全日益受到重视的今天,保护办公文件的安全尤为重要。选择合适的文件加密软件,可以有效防止数据泄露。以下是2024年推荐的10款常用文件加密软件,让我们一起来看看吧!1.Ping32文件加密软件Ping32是一款功能强大的文件加密软件,专为企业用户设计。它支持多种高级加密算法(如......
  • 详解kali linux环境变量
    上一篇讲到了kalilinux的代理,在配置kaliLinux代理的过程中对linux的环境变量有了一个较为深入的了解,现有的文章比较零散,遂加上作者自己的理解进行一个整理并记录下来,也为日后再想回顾时做一个参考。一、环境配置文件由于在使用kalilinux之前,作者一直在使用Windows,Linux......
  • 【FAT32文件系统详细分析 (格式化SD nandSD卡)】
    ......
  • docker在基础镜像上,比如rockylinux,如何配置yum仓库
    在基础镜像rockylinux上启动的容器,没有yum仓库,就执行不了一些命令~]dockerrun-itd--namelinuxrockylinux:8.5~]#dockerexec-itlinuxbash/]#ifconfigbash:ifconfig:commandnotfound/]#vimbash:vim:commandnotfound/]#ipasbash:ip:c......
  • 网站robots.txt文件简要说明
    1、robots.txt文件是用来指示搜索引擎的爬虫哪些页面可以爬取,哪些页面不能爬取的。2、robots.txt(统一小写)文件路径:网站根目录/robots.txt或者public/robots.txt关键指令解释:User-agent:指定搜索引擎爬虫(如Googlebot、Bingbot等),*代表所有爬虫。Disallow:禁止访问的路......
  • 易优eyoucms网站数据库文件版本号(v1.3.9)与CMS源码版本号(v1.4.1)不一致,无法安装,如何解决
    当遇到数据库文件版本号与CMS源码版本号不一致的问题时,可以采取以下两种方法来解决:第一种方法:回原网站备份数据库再搬家回到原网站备份数据库:登录原网站的数据库管理系统(如phpMyAdmin或通过命令行)。备份整个数据库。导出数据库文件,并保存到本地。在新服务器上导入数......
  • 宝塔Linux面板搭建开源考试系统phpems
    一、安装宝塔linux面板1、宝塔linux面板官网:https://baota.yingxunszcm.cn/2、安装宝塔linux面板,使用万能安装脚本if[-f/usr/bin/curl];thencurl-sSOdownload.cnnbt.net/install_panel.sh;elsewget-Oinstall_panel.shdownload.cnnbt.net/install_panel.sh;fi;bash......
  • 易优eyoucms网站重新安装时,删除了install.lock文件,可是还是出现404页面
    当您在重新安装网站时删除了install.lock文件但仍出现404页面,可能是因为某些配置文件或缓存文件未被正确处理。以下是详细的解决步骤:1.确认删除install.lock文件确保install.lock文件已被正确删除。删除install.lock文件登录FTP客户端:使用FTP客户端登录到服务器。找......