linux which find,linux怎么查找一个文件是否存在
find指令是linux中的功能最齐全的搜索指令,求用法!
![](https://i01piccdn.sogoucdn.com/7603d82c32ab34bb?.png)
名称: find 用法: find <path> <expression> 使用说明: 将档案系统内符合expression 的档案列出来。
你可以指要档案的名称、类别、时间、大小、权限等不同信息的组合,只有完全相符的才会被列出来。
find 根据下列规则判断path 和expression,在命令列上第一个- ( ) , ! 之前的部份为path,之后的是expression。
如果path空字符串则使用目前路径,如果expression空字符串则使用-print 为预设expression。
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 : gidn 或是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 的档案。
o d: 目录 o c: 字型装臵档案 o b: 区块装臵档案 o p: 具名贮列 o f: 一般档案 o l: 符号连结o s: socket -pid n : process idn 的档案 你可以使用( ) 将表达式分隔,并使用下列运算。
exp1 -and exp2 ! expr -not expr exp1 -or exp2 exp1, exp2 范例: 将目前目录及其子目录下所有延伸文件名是c 的档案列出来。
# find . -name "*.c" 将目前目录其其下子目录中所有一般档案列出 # find . -ftype f 将目前目录及其子目录下所有最近20 分钟内更新过的档案列出 # find . -ctime -20 最后是例子排版不好自己找找
采纳哦
linux怎么查找一个文件是否存在
![](https://i01piccdn.sogoucdn.com/89542facaf87de9c?.png)
两个方式:find命令或者shell脚本。
1、find命令
find是linux下用于查找文件的通用方法。
find语法: find [指定查找目录] [查找规则] [查找完后执行的action]
找到就表示存在。
2、shell脚本
在进行文件的自动处理中常常需要自动判别,下面的脚本判断test.log是否存在,存在则显示文件存在,否则显示文件不存在。
例子:编辑一个脚本判断文件是否存在
vi t.sh
#!/bin/bash
if [ -e /temp/test.log ];then //这里是判断语句,-e表示进行比较结果为真则存在
echo "文件存在"
else
echo "文件不存在"
fi
保存退出
执行:
sh t.sh
鸟哥的linux私房菜 find命令使用
![](https://i01piccdn.sogoucdn.com/6cd6d424d5ab84da?.png)
find命令用于查找文件,格式为:“find [查找路径] 寻找条件 操作”。
咱们在Linux系统中的搜索工作一般都是通过find命令来完成的,它可以根据不同的文件特性来做为匹配项(如文件名、大小、修改时间、权限等信息),一旦匹配到了则会默认为用户显示到屏幕上来,基础的匹配项目请见下表即可,我主要讲解下“--exec”参数重要的作用,这个参数是用于将find命令搜索到的结果交由给后面的命令再进一步做处理,十分类似于咱们将在下一章中提到的管道符技术。
参数 作用
-name 匹配名称
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n 匹配访问文件的时间-n指n天以内,+n指n天以前
-ctime -n +n 匹配修改权限的时间-n指n天以内,+n指n天以前
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件f1新却比f2旧的文件
-size 匹配文件的大小(+50k查找超过50k的文件,而-50k则代表查找小于50k的文件)
-prune 忽略某个目录
-exec {} \; 后面可接对搜索到结果进一步处理的命令(下面会有演示)
命令是很基础的东西,可以学习下《linux就该这么学》的第二章巩固下基础 (随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)