3.shell编程-文件查找之find命令
3.1.语法格式
find [路劲][选项][操作]
选项参数对照表
3.2.-name
查找/etc/目录下以.conf结尾的文件
find /etc/ -name "*.conf"
-iname 不区分大小写
find /etc/ -iname "*.conf"
-user 查找当前目录为root用户的文件
find ./ -user root
3.3.-type
文件的类型
- f 文件
- d 目录
- c 字符设备文件
- b 块设备文件
- l 链接文件
- p 管道文件
find . -type f find . -type d
3.4.-size
文件大小
- -n 小与n的文件
- +n 大于n的文件
查找/etc目录下小与100k的文件
find /etc -size -100k
查找/etc目录下大于1M的文件
find /etc -size +1M
3.5.-mtime
修改时间
- -n n天以内修改的文件
- +n n天以外修改的文件
- n 正好n天修改的文件
查找/etc目录下5天之内修改并且以conf结尾的文件
find /etc -mtime -5 -name '*.conf'
查找/etc目录下10天之前修改并且属主为root的文件
find /etc -mtime +10 -user root
3.6.-mmin
- -n n分钟以内修改的文件
- +n n分钟以外修改的文件
修改/etc目录下30分钟以内修改的目录
find /etc -mmin -30 -type d
3.7.-mindepth
表示从n级子目录开始搜索
find /etc -mindepth 3 -type -f
-madepth n
表示最多搜索到n-1级子目录
3.8.操作-exec
对搜索的文件常用操作
- -print 打印输出
- -exec 对文件执行特定的操作
- -ok 和exec功能意义,只是每次操作都会给用户提示
-exec的格式为
-exec 'command' {} \
例子一:
搜索/home/shell_learn/下的文件,文件名以.sh结尾,且修改时间在一个星期之内的,然后将其删除
#打印
find /home/shell_learn/ -type f -name '*.sh' -mtime -7 -print #复制
find /home/shell_learn/ -type f -name '*.sh' -mtime -7 -exec cp {} /home/shell_learn/test/ \; #删除
find /home/shell_learn/ -type f -name '*.sh' -mtime -7 -exec rm -rf {} \;
3.9.locate命令
locate不同于find命令是在整块磁盘中搜索,locate命令是在数据库文件中查找
find是默认全局匹配,locate则是默认部分匹配
updatedb命令
- 用户更新/var/lib/mlocate/mlocate.db
- 所使用的配置文件/etc/updatedb.conf
实例:updatedb命令把文件更新到数据库(默认是第二天系统才会自动更新到数据库),否则locate查找不到
[root@VM_0_9_centos shell_learn]# touch 789.txt
[root@VM_0_9_centos shell_learn]#
[root@VM_0_9_centos shell_learn]# locate 789.txt
[root@VM_0_9_centos shell_learn]#
[root@VM_0_9_centos shell_learn]# updatedb
[root@VM_0_9_centos shell_learn]#
[root@VM_0_9_centos shell_learn]# locate 789.txt
/home/shell_learn/789.txt
[root@VM_0_9_centos shell_learn]#
3.10 .whereis命令
实例
[root@VM_0_9_centos shell_learn]# whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
[root@VM_0_9_centos shell_learn]#
[root@VM_0_9_centos shell_learn]# whereis -b mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/include/mysql /usr/share/mysql
[root@VM_0_9_centos shell_learn]#
[root@VM_0_9_centos shell_learn]# whereis -m mysql
mysql: /usr/share/man/man1/mysql.1.gz
[root@VM_0_9_centos shell_learn]#
3.11.which
作用:仅查找二进制程序文件
[root@VM_0_9_centos shell_learn]# which mysql
/usr/bin/mysql
[root@VM_0_9_centos shell_learn]#
3.12.各查找命令总结
3.shell编程-文件查找之find命令的更多相关文章
- shell脚本--文件查找之find命令
首先是通过文件名称来查找,需要使用一个-name参数. 查询以 .txt结尾的文件,和以 t 开头的文件: ubuntu@ubuntu:~/test$ ls one.txt three.txt tw ...
- Linux输入输出重定向和文件查找值grep命令
Linux输入输出重定向和文件查找值grep命令 一.文件描述符Linux 的shell命令,可以通过文件描述符来引用一些文件,通常使用到的文件描述符为0,1,2.Linux系统实际上有12个文件描述 ...
- shell文件查找和压缩命令
locate命令 1.locate filename 模糊匹配 只要文件名中包含关键字即可 非实时查找,速度比find快. 依靠索引数据库 /var/lib/mlocate/m ...
- linux shell编程学习笔记(二) --- grep命令
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达 ...
- [ SHELL编程 ] 文件内容大小写替换
shell编程经常会碰到字符串.文件内容大小写的转换,在不同的场景下选择合适的命令可以提高编程效率. 适用场景 需大小写转换的文件内容或字符串 字符串大小写替换 小写替换大写 echo "h ...
- shell编程必须要掌握的命令-xargs
一,说xargs命令前,说一下什么是shell编程 什么是shell编程呢,说白了就是按一定的规则把各种命令组织起来,完成一定的事情.纯属个人理解,哈哈.不管是交互式的shell,还是非交互的shel ...
- shell编程:定义简单标准命令集
shell是用户操作接口的意思,操作系统运行起来后都会给用户提供一个操作界面,这个界面就叫shell,用户可以通过shell来调用操作系统内部的复杂实现,而shell编程就是在shell层次上进行编程 ...
- 文件查找和比较命令 来自: http://man.linuxde.net/find
文件查找和比较1.find命令,用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时不设置任何参数,则find命令则在当前目录下查找子目录与文件.并且将查到的子 ...
- shell脚本--内容查找之grep命令
grep命令可以检索文件中包含关键字(可以使用正则)的行,默认区分大小写. ubuntu@ubuntu:~/test$ cat test.txt this is linux this is Linux ...
随机推荐
- enum一个最不像class的class
enum一个最不像class的classjava枚举类型是jdk5出现的.它的出现主要为了解决一些有特殊意义,已经确定的,长度不会改变的集合. //月份描述 public class Month { ...
- linux 修改环境变量
直接用export命令:查看已有的环境变量 2.修改profile文件: #vi /etc/profile 在里面加入: export PATH="$PATH:/opt/au1200_rm/ ...
- vuejs怎么和thinkphp结合
vue在服务端部署时,我们都知道通过npm run build 指令打包好的dist文件,通过http指定是可以直接浏览的,Thinkphp通过域名指向index.php文件才可以浏览.要使前端正常调 ...
- c++小学期大作业攻略(五)基于QSS的样式美化
这回真的是最后一篇了. 前面说过,我们开发过程中暂时不搭理样式问题,等最后再一起处理,那么现在就是最后处理时刻了!看到网上说QSS跟CSS差不多,我还觉得自己可以干回老本行了,结果用起来发现,QSS是 ...
- spring的15个经典面试题
总结Spring框架的15个经典面试题. 什么是Spring框架? Spring是一种轻量级框架,旨在提高开发人员的开发效率以及系统的可维护性. 我们一般说的Spring框架就是Spring Fram ...
- 【转】用VMware 8安装Ubuntu 12.04详细过程(图解)
图解演示环境版本: 本机系统: WIN7 虚拟机:VMware Workstation 8 (英文版) 安装目标:Ubuntu Desktop 12.04 LTS (请点击这里)先下载好iso镜像文 ...
- CSS之flex布局和边框阴影
flex布局 main axis:主轴:cross axis:交叉轴 容器的子元素自动成为容器成员,成为flex 项目(item) flex容器属性 flex-direction 该属性决定主轴的 ...
- Java中转换为二进制的几种实现
public class HexUtil { private static final String[] DIGITS_UPPER = {"0", "1", & ...
- WebService--导出excel并将excel发送到邮箱
1.利用NPOI生成EXCEL 2.导出excel之后发送邮件 //导出excel //path :保存路径 //dt:要导出的数据 public static bool DataTableToExc ...
- Delphi - TIdFTP 两个重要函数
TIdFTP 两个重要函数 项目开发过程中发现,直接对于服务器上的文件/路径进行处理,是很危险的事情,因为一旦文件/路径不存在,程序就会抛异常,影响客户体验.所以在对服务器上的文件/路径进行访问之前, ...