文件管理 · 2024年1月7日

linux在文件夹中查找文件是否存在|在Linux中如何查找文件及方法

1. linux中在当前目录下查找某个文件。

1、打开shell连接工具,连接上服务器,pwd查看当前目录,一般进来默认在主目专录下。

2. Linux中如何在指定目录下查找文件

find顾名思义就是查找的意思,该命令是各种Linux发行版本中比较重要的、常用的一个命令。Linux下的find命令提供相当多的查找条件,功能比较强大,掌握这个命令之后,对平时的系统运维、管理工作可以达到事半功倍的效果。那么Linux系统中find命令的用法是什么?具体请看下文: Linux find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。 语法格式: find path -option [ -print ] [ -exec -ok command ] {} \; 参数说明: find根据下列规则判断path和expression,在命令列上第一个-(),!之前的部分为path,之后的部分是expression。如果path是空字串则使用目前路径,如果expression是空字串则使用-print为预设expression。 expression中可使用的选项有二三十个,在此只介绍常用的部分。 -mount,-xedv:只检查和指定目录在同一个文件系统下的文件,避免列出其他文件系统中的文件; -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的文件。

3. linux怎么查找一个文件是否存在

两个方式:find命令或者shell脚本。1、find命令find是linux下用于查找文件的通用方法。find语法: find [指定查找目录] [查找规则] [查找完后执行的action]例如:find /tmp -name wa* -type l ,是在/tmp下查找名为wa开头且类型为符号链接的文件。找到就表示存在。2、shell脚本在进行文件的自动处理中常常需要自动判别,下面的脚本判断test.log是否存在,存在则显示文件存在,否则显示文件不存在。例子:编辑一个脚本判断文件是否存在vi t.sh#!/bin/bashif [ -e /temp/test.log ];then //这里是判断语句,-e表示进行比较结果为真则存在 echo "文件存在"else echo "文件不存在"fi保存退出执行:sh t.sh

4. linux中怎么查看文件是否存在

两个方式:find命令或者抄shell脚本。1、find命令find是linux下用于查找文件的通用方法。find语法: find [指定查找目录] [查找规则] [查找完后执行的action]例如:find /tmp -name wa* -type l ,是在/tmp下查找名为wa开头且类型为符号链接的文件。找到就表示存在。2、shell脚本在进行文件的自动处理中常常需要自动判别,下面的脚本判断test.log是否存在,存在则显示文件存在,否则显示文件不存在。例子:编辑一个脚本判断文件是否存在vi t.sh#!/bin/bashif [ -e /temp/test.log ];then //这里是判断语句,-e表示进行比较结果为真则存在 echo "文件存在"else echo "文件不存在"fi保存退出执行:sh t.sh

5. linux下按文件名和文件内容查找文件

在当前目录下,查找所有内容包含‘abc'的文件

find . -type f | xargs grep -l 'abc'

find . -type f -exec grep -l 'abc' {} ;

(5)linux在文件夹中查找文件是否存在扩展阅读:

linux查找文件命令find

根据部分文件名查找方法:

这个方法和在WINDOWS中查找已知的文件名方法是一样的。不过在Linux中根据部分文件名查找文件的方法要比在WINDOWS中的同类查找方法要强大得多。

例如我们知道某个文件包含有srm这3个字母,那么要找到系统中所有包含有这3个字母的文件是可以实现的,输入:

find /etc -name '*srm*'

这个命令表明了Linux系统将在/etc整个目录中查找所有的包含有srm这3个字母的文件,比如 absrmyz, tibc.srm等等符合条件的文件都能显示出来。如果你还知道这个文件是由srm 这3个字母打头的,那么我们还可以省略最前面的星号,命令如下:

find/etc -name 'srm*'

这是只有像srmyz 这样的文件才被查找出来,象absrmyz或者 absrm这样的文件都不符合要求,不被显示,这样查找文件的效率和可靠性就大大增强了。

6. linux shell 判断文件是否存在 存在就删除

1、linux shell中判断文件是否存在,可以使用test命令的-a参数。借助于if结构进行判断即可。

2、以版~/t/thello.py为例,检测这权个文件,如果存在将其删除,示例代码如下:

if[[-a~/t/hello.py]];thenecho"存在文件";rm-f~/t/hello.pyfi;

3、测试效果如下图所示

7. 怎么在Linux中查找某个文件

在 Linux 中查找文件有两种方法。一种是使用 find 命令,另外一种是使用 locate 命令。

1、Find 命令

使用 Linux find 命令可以用不同的搜索标准如名字、类型、所属人、大小等来搜索目录树。基本语法如下:

#findpathexpressionsearch-term

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

#find-nametest.file

命令会搜索整个目录树来查找名为 test.file 的文件,并且会提供其存放位置。你可以使用你 Linux 上一个存在的文件名来尝试一下。

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

#find/var-nametest.file

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

#manfind

2、locate 命令

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

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

#apt-getupdate#apt-getinstallmlocate

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

#yuminstallmlocate

locate 是一种比 find 更快的方式,因为它在数据库中查找文件。要更新搜索数据库,运行下面的命令:

#updatedb

使用 locate 查找文件的语法:

#locatetest.file

就像 find 命令一样,locate 也有很多选项来过滤输出。要了解更多你可以查看Linux Locate 命令的手册。

#manlocate

8. 在Linux中如何查找文件及方法

可以使用find及local查找。 find: 1.命令格式:find pathname -options [-print -exec -ok …]2.命令功能:用于在文件树种查找文件,并作出相应的处理3.命令参数:pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print: find命令将匹配的文件输出到标准输出。 -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。 -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。4.命令选项:-name 按照文件名查找文件。-perm 按照文件权限来查找文件。-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。-user 按照文件属主来查找文件。-group 按照文件所属的组来查找文件。-mtime -n +n 按照文件的更改时间来查找文件, – n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。-type 查找某一类型的文件,诸如:b – 块设备文件。d – 目录。c – 字符设备文件。p – 管道文件。l – 符号链接文件。f – 普通文件。-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。-mount:在查找文件时不跨越文件系统mount点。-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。另外,下面三个的区别:-amin n 查找系统中最后N分钟访问的文件-atime n 查找系统中最后n*24小时访问的文件-cmin n 查找系统中最后N分钟被改变文件状态的文件-ctime n 查找系统中最后n*24小时被改变文件状态的文件-mmin n 查找系统中最后N分钟被改变文件数据的文件-mtime n 查找系统中最后n*24小时被改变文件数据的文件locate:1.命令格式:Locate [选择参数] [样式]2.命令功能:locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如”*” 或”?”等)来指定范本样式,如指定范本为kcpa*ner, locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括 子目录在内的所有档案。locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在 执行loacte时直接找该索引,查询速度会较快,索引数据库一般是由操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。3.命令参数:-e 将排除在寻找的范围之外。-1 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。-f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在资料库中。-q 安静模式,不会显示任何错误讯息。-n 至多显示 n个输出。-r 使用正规运算式 做寻找的条件。-o 指定资料库存的名称。-d 指定资料库的路径-h 显示辅助讯息-V 显示程式的版本讯息

9. 在linux中如何用命令查找文件在哪

linux中查找文件位置的命令有很多,常用的有find,locate和whereis三个命令,下面分别介绍它们的用内法:

1、find命令是容linux中最强大的查找文件的命令,它的格式为”find <指定目录> <指定条件> <指定动作>“。比如使用find命令搜索在根目录下的所有interfaces文件所在位置,命令格式为”find / -name 'interfaces'”,输入后就会返回搜索的结果了: