如果你不太了解Linux命令,那么在Linux系统里查找文件是比较困难的。只要使用多种不同的终端命令,可以很快地找到文件。Linux命令比其它操作系统的搜索功能更加强大,掌握这些命令就能你完全控制这些文件。

1
根据文件名搜索文件。find命令是最基础和常用的搜索命令。它可以在当前路径和任意子目录中搜索文件。[1]

find -iname "文件名"
  • 用-iname来代替-name,忽略文件名的大小写。-name命令区分大小写。
2
设置搜索条件,从根目录开始搜索。如果想要搜索整个系统,可以添加/来修改命令。这样,find命令会搜索所有路径,从根目录开始搜索文件。

find / -iname "文件名"
  • 用具体的目录路径来代替/,可以搜索特定路径里的文件,如/home/pat。
  • 你可以用.来代替/,这样就能在当前路径和子目录下强制搜索文件。
3
使用通配符.* 搜索任何匹配搜索条件的文件。 如果你不知道文件全名,或想要查找带有特定扩展名的所有文件,可以使用通配符*。

find /home/pat -iname "*.conf"
  • 这样会在“Pat”用户文件夹(所有子目录)中找到所有.conf文件。
  • 你也可以用它来查找所有匹配部分文件名的文件。例如,如果你有很多wikiHow相关的文档,可以输入"*wiki*"来找到它们。
4
让你的搜索结果更方便管理。如果获得很多搜索结果,就很难细查筛选文件。使用" | "字符,将搜索结果发送到“less”筛选程序。这样你就可以更简单地浏览和筛选搜索结果。

find /home/pat -iname "*.conf" | less
5

找到特定类型的结果。你可以使用修饰符来返回特定类型的结果。你可以使用f搜索常规文件,用d搜索路径,用l搜索符号链接文件,用c搜索字符设备,用b屏蔽设备。

find / -type f -iname "文件名"

6
根据大小过滤搜索结果。
如果很多文件的名称相似,但是你知道目标文件的大小,可以使用文件大小进行过滤。
find / -size +50M -iname "文件名"
  • 上述命令会返回大于等于50MB的文件。你可以使用+或-来搜索更大或更小的文件。如果没有加+或-字符,就会只搜索特定大小的文件。
  • 你可以使用字节(c)、千字节(k)、兆字节(M)、千兆字节(G)或512字节块(b)来进行筛选。记住,这些文件大小命令是区分大小写的。
7
使用布尔操作符来整合搜索过滤。使用-and、-or和-not操作符来整合不同类型的搜索条件。[2]

find /travelphotos -type f -size +200k -not -iname "*2015*"
  • 这个命令会在“travelphotos”目录里查找大于200KB,文件名里不包含“2015”的所有文件。
8
根据用户或权限搜索文件。如果你想要查找特定用户的文件,或是带有特定权限的文件,可以根据此来缩窄搜索条件。

find / -user pat -iname "文件名"
find / -group users -iname "文件名"
find / -perm 777 -iname "文件名"
  • 以上命令会搜索特定用户、群组或权限的文件。你可以忽略文件名,返回所有匹配条件的文件。如:find / -perm 777会返回所有带有777权限的文件(无限制条件)。[3]
9
将执行命令整合到搜索文件中。你可以将find命令和其它命令整合到一起,这样在返回搜索结果时,执行命令。用-exec来隔开find命令和第二个命令,然后结尾用{} \;字符。

find . -type f -perm 777 -exec chmod 755 {} \;
  • 这样会在当前路径和所有子目录里搜索带有777权限的文件。找到文件后,chmod命令会将权限更改为755。

1
安装.locate 功能。 由于locate命令能够读取数据库文件的结构,所以,它通常比find命令速度更快。但是,不是所有版本的Linux系统都安装了locate功能,你可能需要输入以下命令来安装它:

  • 输入sudo apt-get update,按下回车键。
  • 你可以在“Debian”和乌班图系统里安装它:输入sudo apt-get install mlocate,按下回车键。如果已经安装了locate,那么会看到mlocate is already the newest version的信息。
  • 在“Arch Linux”系统里,使用“pacman”安装包管理器:pacman -Syu mlocate
  • 在“Gentoo”系统里,使用“emerge”:emerge mlocate
2
更新.locate 数据库。 除非建立并更新数据库,否则locate命令无法找到任何内容。一般来说,系统每天会自动更新数据库,但是你也可以手动更新它。如果你想要立刻使用locate命令,那就需要手动更新。[4]

  • 输入sudo updatedb,按下回车键。
3
使用.locate 命令进行简单的搜索。 locate命令的运行速度很快,但是没有find命令那么多选项。你可以用它来执行简单的文件搜索,基本的搜索方式与find命令相同。

locate -i "*.jpg"
  • 这个命令会搜索整个系统,找到带.jpg后缀的文件。通配符*与find命令里的通配符功能一致。
  • 跟find命令类似,-i会忽略搜索条件里的大小写。
4
限制搜索条件。如果返回过多搜索结果,处理不过来,你可以使用-n选项来限制搜索。在选项里输入数字,就会限制出现的搜索结果数量。

locate -n 20 -i "*.jpg"
  • 只显示匹配搜索条件的前20个结果。
  • 你也可以使用" | "来将结果发送到less程序。

3种方法来在Linux电脑上查找文件的更多相关文章

  1. 在Linux系统上查找文件

    Find命令 格式:find <指定搜索范围> <指定条件> <指定动作> 其中搜索范围是一个目录名,指定条件包括文件名.文件属性(修改时间所属用户等).所在位置特 ...

  2. Git学习笔记——从一台电脑上传文件到Github上

    目标:从一台电脑上传文件到Github上 前提: 1.这里假定已在Github上创建了仓库,建立了仓库 2.已在这台电脑上安装了Git客户端 实验环境: 1.Windows 10 64位,已安装了Gi ...

  3. Linux系统上查找已安装软件的路径

    在Linux系统上查找已安装软件路径的命令,以查找pcre的安装路径为例: [root@localhost doc]# rpm -ql pcre /lib64/libpcre.so. /lib64/l ...

  4. Linux系统下查找文件的方法

    Linux系统下查找文件的方法 作者:Vashon 时间:20150419 方法一.在当前目录里查找所有名为以 java 开头的文件: find ./ -name "java*" ...

  5. 如何使用sftp下载Linux服务器上的文件到本地

    下载Linux服务器上的文件到本地 Linux服务器上的操作 sftp xxxxx@jumper.xxxx.com 使用put命令进行文件上传,put app.log 本地操作 sftp xxxxx@ ...

  6. Git 命令将电脑上的文件上传到 Github

    1.在电脑上安装 Windows 版 Git下载地址:https://git-scm.com/downloads2.使用 Git GUI 生成 SSH Key 3.将 SSH Key 添加到 Gith ...

  7. Linux按照时间查找文件

    linux按照时间查找文件 需要用到一个根据最后修改时间来处理的脚本. 前面有个有关find的基本用法,根据文件大小,类型什么的,这个是关于时间的.  linux 文件的三种时间(以 find 为例) ...

  8. MySQL重置root密码的几种方法(windows+Linux)

    重置root密码的方法: windows系统下:1.停止mysql服务:2.新建文件init-root.txt,写上如下内容: update mysql.user set password = pas ...

  9. linux上查找文件存放地点和文件中查找字符串方法

    一.查找文件存放地点 1.locate 语法:locate <filename> locate命令实际是"find -name"的另一种写法,但是查找方式跟find不同 ...

随机推荐

  1. 概率dp的边界处理 POJ 2096

    题目地址:https://vjudge.net/problem/POJ-2096 说的是有n个bug,和s个系统.现在一个人一天能发现一个bug,它可能是任何一个系统中的,也可能会发现已经发现过的bu ...

  2. ogma

    Ogma是Linkurious的JavaScript图形可视化库.Ogma的一个实例是一个javascript对象,它在内部存储一个图形, 并根据样式规则在HTML容器中呈现它. Ogma有两个版本: ...

  3. OpenStack—nova组件计算服务

    nova介绍: Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源.OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova 来实现的. 用 ...

  4. 设置SecureCRT的背景色和文字颜色方案

    一.对于临时设置,可以如下操作: 首先options -- session - appearance 此处可以设置临时的窗口背景,字体颜色,大小等等,为什么说是临时,是因为只要你关闭连接后,又会恢复. ...

  5. 使用makecert.exe创建数字证书

    RT makecert.exe不用去找,安装VS2008后,在开始菜单相应的路径找到该命令提示符:Microsoft Visual Studio 2008/Visual Studio Tools/Vi ...

  6. solution for python can not import local module

    blog 这次遇到的问题是sys.path的输出不包含'',导致无法import当前文件和文件夹 When no ._pth file is found, this is how sys.path i ...

  7. 开源jar包bug导致的CPU消耗200%问题分析案例

    mapdb是什么 mapdb是一个快速.易用的嵌入式java数据库,主要提供map和set形式的数据存储,使用起来就像是在操作java本身的map,set, mapdb可以提供内存级别和磁盘级别的缓存 ...

  8. Ansible入门篇:playbook的使用

    playbooks介绍 playbooks是 一个不同于使用Ansible命令行执行方式的模式,其功能更强大灵活.简单来说,playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存在 ...

  9. 迁移hive,不同集群。

    step1: 设置默认需要导出的hive数据库为defaultDatabase 在原集群中的任意节点上,新建“.hiverc”文件,加入如下内容: vi ~/.hiverc use defaultDa ...

  10. [sublime]用sublime搭建属于自己的Python的IDE

    先在sublime中利用package control下载anaconda插件, 然后更改python的路径,不知道自己anaconda的python在哪,可以在prompt用命令where pyth ...