2019-05-02 13:02:49 xinbumi 阅读数 828

查找指定文件

语法 find path [options] params 

在指定目录下查找文件

find -name "查找的文件名称"

find / -name "查找的文件名称"

查找以什么打头的文件

find / -name "文件名*"

*代表通配符

如何忽略大小写

find / -iname "文件名*"

如何查询指令的其他具体用法 ?

例如想了解find 的其他指令用法

man find 即可

2020-02-24 15:22:13 weixin_45691780 阅读数 17

Linux查找文件

一 、find命令
find目录在文件目录结构下搜索文件,并执行指定的操作;

命令选项:

-name 文件名:按文件名称查找文件
-perm 权限 : 按照文件权限来查找文件。
-user UID或用户名 :按照文件属主来查找文件。
-group GID或组名 :按照文件所属的组来查找文件。
-type 类型 :查找某一类型的文件,诸如:
b - 块设备文件。d - 目录。c - 字符设备文件。p - 管道文件。l - 符号链接文件。f - 普通文件。
-newer 文件名:查找更新时间比文件新的文件。
-newer file1 ! -newer file2 查找更改时间比文件file1 新但没有比文件file2新的文件。

-mtime -n +n 按照文件的更改时间来查找文件

  • -n 表示文件更改时间距现在n天以内, + n 表示文件更改时间距现在n天以前。

示例:1)根据文件名查找文件find . -name ‘f*’

2)根据权限查找find . -perm 777

3)根据所属用户查找find . -user root

4)根据所属文件类型查找find . -type l

5)根据时间范围来查找find -newer f1

6)查找比file1新,没有file2新的文件find -newer file1 ! -newer file2

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

和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。

    查找系统中可执行文件、man说明文件、源代码文件。
    -b   定位可执行文件。
    -m   定位帮助文件。
    -s   定位源代码文件。

4 查找可执行文件:which
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

2018-08-31 15:42:37 hero_hope 阅读数 3010

1.语法

find path expression

2.按照文件名查找

  • 在根目录下查找文件mysql,表示在整个硬盘查找
find / -name mysql
  • 在/var目录下文件mysql
find /var -name mysql
  • 使用通配符*(0或者任意多个)。表示在/var目录下查找文件名中含有字符串‘my’的文件
find /var -name '*my*'
  • 表示当前目录下查找文件名开头是字符串‘my’的文件
find . -name 'my*'
2016-01-07 13:13:03 a694704123b 阅读数 392

Linux查找文件内容的常用命令方法。  

从文件内容查找匹配指定字符串的行:

$ grep "被查找的字符串" 文件名
例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件
grep "thermcontact" */*.in

从文件内容查找与正则表达式匹配的行:
$ grep –e “正则表达式” 文件名

查找时不区分大小写:
$ grep –i "被查找的字符串" 文件名

查找匹配的行数:
$ grep -c "被查找的字符串" 文件名


从文件内容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名


从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行
find / -type f -name "*.log" | xargs grep "ERROR"
例子:从当前目录开始查找所有扩展名为.in的文本文件,并找出包含”thermcontact”的行

find . -name "*.in" | xargs grep "thermcontact"


从根目录开始查找所有扩展名为.log的文本文件,并找出包含”友盟消息推送API返回的结果”的行

find / -type f -name "*.log" | xargs grep "友盟消息推送API返回的结果"


从当前目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行
find . -name "*.log" | xargs grep "ERROR"

从当前目录开始查找所有扩展名为.log的文本文件,并找出包含”友盟消息推送API返回的结果”的行
find . -name "*.log" | xargs grep "友盟消息推送API返回的结果"



2018-09-05 20:11:01 yushupan 阅读数 324

Linux which命令用于查找文件。

which指令会在环境变量$PATH设置的目录里查找符合条件的文件。

语法:which [文件...]

参数

  • -n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
  • -p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
  • -w  指定输出时栏位的宽度。
  • -V  显示版本信息。

 

Linux find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

find:http://www.runoob.com/linux/linux-comm-find.html

 

Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。

一般情况我们只需要输入 locate your_file_name 即可查找指定文件。

locate与find 不同: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找。

locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:located -u

 

Linux whereis命令用于查找文件。

该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。

该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。

 

 

 

没有更多推荐了,返回首页