Linux查找文件的相关命令

合集下载

Linux的五个查找命令

Linux的五个查找命令
Variable-name=value 设置实际值到variable-name Variable-name+value 如果设置了variable-name,则重设其 值 Variable-name:?value 如果未设置variable-name,显示未定 义用户错误信息 Variable-name?value 如果未设置variable-name,显示系统 错误信息
$ locate ~/m 搜索用户主目录下,所有以m开头 的文件。
$ locate -i ~/m 搜索用户主目录下,所有以m开头 的文件,并且忽略大小写。
3. whereis whereis命令只能用于程序名的搜索,而 且只搜索二进制文件(参数-b)、man说 明文件(参数-m)和源代码文件(参数s)。如果省略参数,则返回所有信息。 whereis命令的使用实例:
$ find . -name "my*" -ls 搜索当前目录中,所有文件名以my开头的文 件,并显示它们的详细信息。
$ find . -type f -mmin -10 搜索当前目录中,所有过去10分钟中更新过 的普通文件。如果不加-type f参数,则搜索普 通文件+特殊文件+目录。
2. locate locate命令是“find -name”的另一种写法, 但是要比后者快得多,原因在于它不搜索 具体目录,而是搜索一个数据库 (/var/lib/locatedb),这个数据库中含有 本地所有文件信息。
Linux系统自动创建这个数据库,并且每天 自动更新一次,所以使用locate命令查locate之前,先使用updatedb命 令,手动更新数据库。
locate命令的使用实例:
$ locate /etc/sh 搜索etc目录下所有以sh开头的文件。

linux用于查找文件中的内容的命令 -回复

linux用于查找文件中的内容的命令 -回复

linux用于查找文件中的内容的命令-回复Linux用于查找文件中的内容的命令在Linux系统中,我们经常需要查找特定文件中的内容,这对于系统管理员、开发人员和日常用户来说都是非常有用的功能。

Linux提供了多个命令和工具来帮助我们在文件中查找特定的内容。

本文将一步一步回答关于查找文件中内容的命令的使用。

1. grep命令grep是Linux中最基本和最常用的查找命令之一。

它可以在一个或多个文件中查找匹配指定模式的行,并将其输出到终端。

语法如下:grep [选项] 模式文件选项可以是以下之一:- `-i`:忽略大小写- `-v`:反向匹配,输出未匹配的行- `-r`:递归地查找目录中的文件- `-n`:显示匹配行的行号例如,要在一个文件中查找包含单词"hello"的行,可以使用以下命令:grep "hello" file.txt如果你希望忽略大小写,可以使用`-i`选项:grep -i "hello" file.txt2. find命令find命令可以在指定目录及其子目录中查找匹配指定条件的文件。

语法如下:find 目录[选项] 行为选项可以是以下之一:- `-name`:按文件名查找- `-type`:按文件类型查找- `-size`:按文件大小查找- `-mtime`:按文件修改时间查找行为可以是以下之一:- `-print`:打印匹配的文件名- `-delete`:删除匹配的文件例如,要在当前目录及其子目录中查找名为`example.txt`的文件,可以使用以下命令:find . -name example.txt3. awk命令awk是一个功能强大的文本处理工具,它还可以用来查找文件中的内容。

语法如下:awk '条件动作' 文件条件可以是以下之一:- `/模式/`:匹配包含指定模式的行- `1 == "value"`:匹配第一个字段等于指定值的行动作可以是以下之一:- `{print}`:打印匹配的行- `{print 1}`:打印匹配行的第一个字段例如,要在一个文件中查找包含单词"hello"的行,可以使用以下命令:awk '/hello/ {print}' file.txt4. sed命令sed是一个流式文本编辑器,它可以用来在文件中查找和替换文本。

linux中的文件查找命令

linux中的文件查找命令

linux中的⽂件查找命令我们经常在linux要查找某个⽂件,但不知道放在哪⾥了,可以使⽤下⾯的⼀些命令来搜索:which 查看可执⾏⽂件的位置。

whereis 查看⽂件的位置。

locate 配合数据库查看⽂件位置。

find 实际搜寻硬盘查询⽂件名称。

1、which命令which命令的作⽤是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第⼀个搜索结果。

也就是说,使⽤which命令,就可以看到某个系统命令是否存在,以及执⾏的到底是哪⼀个位置的命令。

1.命令格式:which 可执⾏⽂件名称2.命令功能:which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第⼀个搜索结果。

3.命令参数:-n 指定⽂件名长度,指定的长度必须⼤于或等于所有⽂件中最长的⽂件名。

-p 与-n参数相同,但此处的包括了⽂件的路径。

-w 指定输出时栏位的宽度。

-V 显⽰版本信息4.使⽤实例:实例1:查找⽂件、显⽰命令路径命令:which lsmod输出:[root@localhost ~]# which pwd/bin/pwd[root@localhost ~]# which adduser/usr/sbin/adduser[root@localhost ~]#说明:which 是根据使⽤者所配置的 PATH 变量内的⽬录去搜寻可运⾏档的!所以,不同的 PATH 配置内容所找到的命令当然不⼀样的!实例2:⽤ which 去找出 which命令:which which输出:[root@localhost ~]# which whichalias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'/usr/bin/which[root@localhost ~]#说明:竟然会有两个 which ,其中⼀个是 alias 这就是所谓的『命令别名』,意思是输⼊ which 会等於后⾯接的那串命令!实例3:找出 cd 这个命令命令:which cd输出:说明:cd 这个常⽤的命令竟然找不到啊!为什么呢?这是因为 cd 是bash 内建的命令!但是 which 默认是找 PATH 内所规范的⽬录,所以当然⼀定找不到的!2、whereis 命令whereis命令只能⽤于程序名的搜索,⽽且只搜索⼆进制⽂件(参数-b)、man说明⽂件(参数-m)和源代码⽂件(参数-s)。

linux常用的文件查看指令

linux常用的文件查看指令

linux常用的文件查看指令Linux是一种开源的操作系统,广泛应用于服务器和个人电脑等领域。

作为一个强大的操作系统,Linux提供了许多文件查看指令,方便用户查看和管理文件。

本文将介绍一些常用的Linux文件查看指令。

1. ls指令ls指令用于列出当前目录下的文件和文件夹。

它的常用参数包括:- -l:以长格式显示文件信息,包括文件权限、所有者、文件大小等。

- -a:显示所有文件,包括隐藏文件。

- -h:以人类可读的方式显示文件大小。

2. cat指令cat指令用于查看文件的内容。

它的常用参数包括:- 文件名:直接输入文件名可以查看文件的内容。

- -n:显示行号。

3. more指令more指令用于分页显示文件内容。

它的常用参数包括:- 文件名:直接输入文件名可以分页显示文件内容。

- 空格键:向下翻页。

- q键:退出查看。

4. less指令less指令也用于分页显示文件内容,但相比more指令,它提供了更多的功能。

它的常用参数包括:- 文件名:直接输入文件名可以分页显示文件内容。

- 空格键:向下翻页。

- b键:向上翻页。

- /关键词:搜索关键词。

- q键:退出查看。

5. head指令head指令用于显示文件的前几行内容。

它的常用参数包括:- 文件名:直接输入文件名可以显示文件的前几行内容。

- -n 行数:显示指定行数的内容。

6. tail指令tail指令用于显示文件的后几行内容。

它的常用参数包括:- 文件名:直接输入文件名可以显示文件的后几行内容。

- -n 行数:显示指定行数的内容。

- -f:实时追踪文件的变化。

7. grep指令grep指令用于在文件中搜索指定的字符串。

它的常用参数包括:- 字符串:直接输入字符串可以在文件中搜索该字符串。

- -i:忽略大小写。

- -r:递归搜索。

8. find指令find指令用于在指定目录下搜索文件。

它的常用参数包括:- 目录:直接输入目录可以在该目录下搜索文件。

Linux终端中的文件搜索和查找命令

Linux终端中的文件搜索和查找命令

Linux终端中的文件搜索和查找命令在Linux操作系统中,文件搜索和查找命令是非常重要的功能之一。

通过这些命令,我们可以快速地定位并找到我们所需要的文件。

本文将介绍一些常用的Linux终端中的文件搜索和查找命令,并对其用法和功能进行详细的说明。

1. find命令find命令是Linux系统中最常用的文件搜索和查找命令之一。

它可以根据指定的条件在文件系统中进行搜索,并输出符合条件的文件列表。

find命令的基本语法如下:```find [路径] [选项] [表达式]```其中,路径表示搜索的起始路径,可以是绝对路径或相对路径;选项用于设置搜索的条件,如文件类型、文件名等;表达式用于进一步筛选搜索结果。

以下是一些常用的find命令的示例:1.1. 搜索文件名为"test.txt"的文件,并打印出文件路径:```find / -name test.txt```1.2. 搜索文件名以".txt"结尾的文件,并打印出文件路径:```find / -name "*.txt"```1.3. 搜索文件名为"test.txt"且文件类型为普通文件的文件,并打印出文件路径:```find / -type f -name test.txt```1.4. 搜索文件大小大于1MB的文件,并打印出文件路径:```find / -size +1M```2. grep命令grep命令是一种强大的文本搜索工具,在Linux终端中广泛应用于文件搜索和查找操作。

它可以根据指定的模式在文件中进行搜索,并输出符合模式的文本行。

grep命令的基本语法如下:```grep [选项] 模式 [文件]```其中,选项用于设置搜索的条件,如忽略大小写、输出行号等;模式用于指定搜索的模式,可以是字符串或正则表达式;文件表示要搜索的文件。

以下是一些常用的grep命令的示例:2.1. 在文件中搜索包含"example"的文本行,并输出行号:```grep -n "example" file.txt```2.2. 在多个文件中搜索包含"example"的文本行,并输出文件名和行号:```grep -rn "example" dir/```2.3. 搜索包含"example"的文本行,并忽略大小写:```grep -i "example" file.txt```3. locate命令locate命令是一种基于数据库的快速文件搜索工具,它通过搜索数据库来定位文件,速度非常快。

linux中查找文件的命令

linux中查找文件的命令

linux中查找文件的命令在Linux上查找文件是一件花时间的事情,但也可以通过使用一些Linux查找文件的命令迅速显示出我们所需的文件或文件夹。

1、locate命令locate命令可以查找一个文件或一个目录,系统会根据用户输入的文件,目录名称或首字母查找文件。

它是一个快速方法来查找文件,不用等待太久,只需输入文件名,就可以查找出结果:例如:我们要查找文件test.txt,那么可以输入:locate test.txt2、find命令find命令可以查找一个或多个文件,查找的内容可以是文件的名称,文件的权限,文件的数据和其他属性。

可以搜索一个路径,或者搜索整个文件目录树。

例如:我们要查找位于/home/username/文件夹下,以start开头的所有文件,可以输入: find/home/username/ -name start*3、whichwhich命令可以搜索某个特定的程序文件,并显示出它的全路径,也就是说该文件的完整路径位置。

例如:我们要查找sh文件,可以输入:which sh4、grep命令grep命令则是一个更高级的查找命令,可以在文件中搜索指定的文本字符串,可以定位出相应的文件,或者某一行具体的字符串出现的位置。

例如:我们要在/etc/文件夹下,查找含有“apache”字符串的文件,可以输入:grep -ir “apache”/etc/以上就是Linux系统中查找文件的命令介绍,以上命令只是 Linux 系统常用的查找文件,其他的可以自行尝试。

另外,Linux 系统中可以安装一些工具,来查找文件,比如:Findutils,Searchmonkey,VIPER等。

它们可以更高效的查找文件信息。

linux中根据文件名找文件的命令

linux中根据文件名找文件的命令

linux中根据文件名找文件的命令Linux中根据文件名找文件的命令在Linux系统中,我们经常需要使用命令行来查找文件。

无论是找到特定文件,还是按照文件名的模式来查找文件,Linux提供了一些非常有用的命令来满足这些需求。

## 1. 使用`find`命令查找文件`find`命令是最常用的用于查找文件的命令之一。

它的基本使用格式如下:```find [路径] [选项] [操作]```例如,要在当前目录下查找名为`example.txt`的文件,可以使用以下命令:`-name`选项用于指定要查找的文件名,`.`表示从当前目录开始查找。

`find`命令还可以使用其他的选项来扩展它的功能。

例如,如果我们想要查找以`.txt`结尾的文件,可以使用通配符`*`来匹配文件名的模式:## 2. 使用`locate`命令快速查找文件`locate`命令是另一个便捷的查找文件的命令。

与`find`命令相比,`locate`命令的查询速度更快,但是它只能查找已经建立索引的文件。

在大多数的Linux发行版中,`locate`命令的索引是由`updatedb`命令定期更新的。

因此,在使用`locate`命令之前,我们需要确保索引是最新的。

可以通过以下命令来更新索引:然后,我们可以使用以下命令来查找文件:## 3. 使用`find`和`grep`命令结合查找文件有时候,我们不仅需要根据文件名来查找文件,还需要根据文件内容来查找。

这时,可以结合使用`find`和`grep`命令来完成。

例如,要查找名为`example.txt`,且包含关键字`Linux`的文件,可以使用以下命令:这个命令会在当前目录下查找名为`example.txt`的文件,并使用`grep`命令在这些文件中搜索关键字`Linux`。

其中,`-l`选项用于只输出包含关键字的文件名。

## 4. 使用`find`和`mtime`选项按照文件的修改时间查找文件有时候,我们需要根据文件的修改时间来查找文件。

在Linux终端中查找文件和文件夹的技巧

在Linux终端中查找文件和文件夹的技巧

在Linux终端中查找文件和文件夹的技巧在使用Linux终端操作系统时,经常需要查找特定的文件或文件夹。

本文将介绍一些在Linux终端中查找文件和文件夹的常用技巧,以便提高工作效率。

1. 使用find命令find命令是在Linux中最常用的查找文件和文件夹的命令之一。

其基本语法如下:find [路径] [选项] [表达式]- 路径:指定需要查找的路径,默认为当前目录。

- 选项:用于指定查找的条件。

- 表达式:用来进一步筛选查找结果。

例如,要在当前目录查找名称为"test.txt"的文件,可以使用以下命令:find . -name test.txt- "."代表当前目录。

- "-name"选项表示按名称进行查找。

2. 使用locate命令locate命令是另一种常用的文件查找命令,它利用预建的数据库进行查找。

虽然locate速度较快,但由于数据更新不及时,可能无法找到最新创建的文件。

要使用locate命令,可以直接输入以下命令:locate [关键词]例如,要查找名字包含"test"的文件,可以使用以下命令:locate test这将返回包含"test"关键词的所有文件路径。

3. 使用grep命令grep命令通常用于在文件中搜索指定的字符串,但它也可以在Linux终端中查找文件和文件夹。

要使用grep命令查找文件,可以通过以下命令:grep -r [关键词] [路径]- "-r"选项表示递归查找。

- "[关键词]"用于指定查找的关键词。

- "[路径]"用于指定查找的路径,默认为当前目录。

例如,要递归查找当前目录下包含"test"关键词的文件,可以使用以下命令:grep -r "test" .4. 使用whereis命令whereis命令可以定位二进制文件、源代码文件和帮助文件等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux查找文件的相关命令2010-05-06 15:53Linux查找文件的相关命令如表2-7所示。

表2-7 Linux查找文件的相关命令说明more分页显示一个文件或任何输出结果/binless分页显示一个文件并且可以回头/usr/binwhereis寻找文件工具/usr/binfind寻找文件工具/usr/binlocate寻找文件工具/usr/bingrep 寻找某字串内容工具/binenv查看环境设置/usr/binmore [文件名]分页显示一个文件或任何输出结果其实more不是用来寻找文件的,但是一般人却十有八九是在找文件时把它派上用场。

因为 more 主要的作用是把输出结果显示在屏幕上,一页停止一次,所以例如当我们用 ls 命令去找一个 x字母开头的文件,而下达了 ls x* 却仍然列出太多文件,一个屏幕看不完时,就可以配合管道符号和 more 命令:ls x* | more它会一屏停止一下,等待您按空白键才继续往上卷。

于是 more 俨然犹如DOS 的 DIR 命令 /P 选项的地位了。

而 more 当主角的时候,是用做一页一次显示文章,例如我们想要看 /etc 里面的 XF86Config 文件,可以下如下命令:more /etc/XF86Config这样,我们就可以不断按空白键把这个文件慢慢看完。

但是,因为more 先天的设计,如果您看完了这页,想要回头看上一页,很抱歉,是不行的,您必须从头再来!于是大家在使用中就干脆摒弃这个命令,而代之以 vi 或者pico, joe 等文书编辑器来看文字文件了!pico /etc/XF86Config到最后,很少人再用more了。

所以more经常配合 ls在找文件的场合出现,每天都可以上场十几次。

所以,相信把失去主要舞台的 more归类为找寻文件的相关命令虽不合法,但合情合理也合于现状。

less [文件名]分页显示一个文件并且可以回头less命令很好笑,取名时就故意与more 命令打对台,你叫“更多”,我就叫“更少”,就好像你叫黑人牙膏我就叫白人牙膏一样。

事实上与什么“更多”、“更少”都没有关系。

它最主要只是为了改进一点:more 不能回头看的问题!less 的优点就是可以随时回头,最简单的用【PgUp】键就可以向上翻。

可是依我们的孤陋之见,还是用文书编辑器去阅读文件就好了嘛,更何况less 本身还有高达 42 个选项,何必那么麻烦!所以,为了您好,选项我们也不介绍了。

这个命令目前只在 Linux 系统可以使用,其他 UNIX 家族尚无。

whereis 文件名寻找文件工具whereis 是一个小巧好用的文件寻找工具,它专门用来寻找可执行的程序、原始程序和使用手册。

例如执行命令:whereis bzip2它就会告诉您,bzip2 放在 /usr/bin 。

通常,如果您确定某个东西是程序,而用 whereis 找不到的话,那就表示本系统没有安装该程序了,例如:whereis cjoe表示这套系统中没有装 cjoe,否则应该会找到才对。

find [寻找的目录] [表示式]寻找文件工具find 是高级的寻找文件工具,可不像 whereis 那么“阳春白雪”。

但也因为它太高级了,复杂到很多人用不熟练。

我们尽量只举简单的例子。

最简单的格式如下:find / -name my* -print这个意思是请它从最底层的主目录开始找,找出文件名是 my 开头的文件,把它显示出来。

-print 选项是显示,您可把它当做固定要加上的项目。

但它还可以用时间来找,例如:find /usr -atime 3 –print会从 /usr 目录开始往下找,找最近3天之内存取过的文件。

find /usr -ctime 5 –print会从 /usr 目录开始往下找,找最近5天之内修改过的文件。

find /doc -user jacky -name 'j*' –print会从 /doc 目录开始往下找,找jacky 的、文件名开头是 j的文件。

find /doc \( -name 'ja*' -o- -name 'ma*' \) –print会从 /doc 目录开始往下找,找寻文件名是 ja 开头或者 ma开头的文件。

find /doc -name '*bak' -exec rm {} \;会从 /doc 目录开始往下找,找到凡是文件名结尾为 bak的文件,把它删除掉。

-exec 选项是执行的意思,rm 是删除命令,{ } 表示文件名,“\;”是规定的命令结尾。

虽然find搜索文件的速度没有locate快,但是find命令可以根据属性去搜索文件,而且find的选项更多更强大用法:find [path] [expression]常用选项介绍:-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件-amin n : 在过去 n 分钟内被读取过-anewer file : 比文件 file 更晚被读取过的文件-atime n : 在过去 n 天过读取过的文件-cmin n : 在过去 n 分钟内被修改过-cnewer file :比文件 file 更新的文件-ctime n : 在过去 n 天过修改过的文件-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写-name name, -iname name : 文件名称符合 name 的文件。

iname 会忽略大小写-size n : 文件大小是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k表示 kilo bytes,w 是二个位元组。

-type c : 文件类型是 c 的文件。

d: 目录c: 字符设备文件b: 块设备文件p: 命名管道文件f: 一般文件l: 符号链接s: 套接字文件-pid n : process id 是 n 的文件你可以使用 ( ) 将运算式分隔,并使用下列运算。

exp1 -and exp2! expr-not exprexp1, exp2举例:find / -name “host*” -print 递归搜索整个文件系统查找文件名包含host 的文件find / -name host -print 2>&1 | grep -v “Permission denied” 搜索文件名为host并且过滤没有权限访问的目录find / -name host -print 2> /dev/null 搜索文件名为host并且将错误发送到/dev/null位元桶find /usr/bin/ -amin -2 -print 搜索/usr/bin/目录下过去两分钟内访问过的文件find /etc -type d -print 2> /dev/null 搜索/etc目录下所有目录,将标准错误输出至/dev/null位元桶find /sbin/ -perm 750 -print 搜索/sbin/目录下权限为750的文件find /var -user huanxiangwu -exec ls -l {} \; 搜索/var下huanxiangwu 的文件,并对每个文件执行ls -l命令find /var -user huanxiangwu -print | xargs ls -l 跟上条命令功能一样,但是效率提升不少find / ! -group root -type f -print 2> /dev/null | xargs ls -l 搜索不属于root用户组的所有普通文件并对这些文件执行ls -l命令find /sbin/ -type f ! -perm /o+x -print | xargs ls -l 搜索/sbin/目录下其他用户不能执行的普通文件并对这些文件执行ls -l命令find / -xdev -size +10M -print | xargs ls -LS > /tmp/bigfiles.txt 搜索系统中所有大于10M的文件并从大到小列出这些文件的详细信息,最后将结构保存到/tmp/bigfiles.txt文件locate 文件名寻找文件工具locate 也是一个寻找文件的工具,但是它不像 whereis 只能找程序文件等几种文件,也不像find那么复杂,可以算是“中庸之道”!中庸之道,往往就是大部分人最佳的选择,如图2-32所示。

图2-32 3种寻找文件命令的对比whereis找不到的文件,find要一大串命令,还花了很久的时间才找到的XF86Config设置文件,而用locate一下子就简单找到了!locate命令其实是去搜索mlocate软件包维护的一个文件系统所有文件的数据库(/etc/updatedb.conf文件指定的目录是不包含在这个数据库中的),可以很快的搜索出需要的文件,可以使用updatedb命令去手工更新locate数据库当然mlocate提供一个cron作业,每天运行一次 updatedb命令。

locate PATTERNlocate -i PATTERN 不区分大小写locate -r PATTERN 使用正则表达式例:locate -r /rm$ 查找以/rm结尾的文件locate -r host*h 查找文件名包含host和h的文件locate -r ^/boot 查找以/boot开头的文件locate -e PATTERN 查找数据库中找到的文件是否还存在grep [-选项] [字串] [文件名]寻找某字串内容工具有些时候,我们存储文件时随手乱取了一个文件名,事后自己都忘了那个文件名叫什么,连开头第一个字母都想不起来。

那么,如果您还记得该文件一点特殊的词语,应该可以用 grep 命令找到。

例如,我们想在一个目录的200个文件里面,找出哪一个文件提到“排版”这个词语:grep 排版 *.txt找到了两个文件有此字样。

然后您再自行调出看看到底哪一篇才是您所要的即可。

寻找时注意尽量寻找特殊词语,如果您输入“然后”、“这样”、“不是”、“电脑”……这类太普遍的词语,可能几百篇文章中都有,那就失去了用grep 找文件的意义了。

因为例子中第二篇文章出现了两次,所以列出了3行,其实只有两个文件符合。

如果您想要让它凡是符合条件的只出现一次的话,加上 -l 选项就可以了,如图2-33所示。

图2-33 增加-l选项后的grep命令其他常用的选项还有:-n 同时列出该词语出现在文章的第几行。

相关文档
最新文档