1-12 RHEL7-find命令的使用
1、文件查找find
find命令是在目录结构中,搜索文件,并执行特定的操作
find命令提供了相当多的查找条件,功能很强大
2、格式
usage:find pathname -options[-print]
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
3、参数
-print 输出 (有时可有可无、有时必须有、有时必须无)
pahtname:路径 #在指定路径中搜索
4、选项
-option:(选项)
-name "" #根据文件名称进行查找
-perm #根据文件权限进行查找
-prune #忽略,如果是个目录,则不进入查找
-depth #在指定目录中查找后,进入其子目录查找,
#当有-depth选项时,忽略prune
-user #根据文件属主查找
-nouser #查找没有属主的文件(在/etc/passwd中没有这个用户),不需要加用户名
-group #根据文件属组查找
-nogroup #查找没有属组的文件,同nouser
-mtime -n +n atime ctime mtime #根据文件修改时间查找,
#-n n天以内,+n n天以前(不是未来时间哦)
-type [b,d,c,p,l,f]#根据文件类型查找
b块设备、d目录、c字符设备、p管道、l连接、f普通
-size #根据文件长度进行查找
-fstype #在某个文件系统中查找文件
-mount #不再其他的文件系统中查找,不跨越挂载点
-follow #如果找到的是连接文件,则会跟随到源文件
-cpio #将查找到的结果,备份 木有这个选项啊?!
================================================
echo $HOME #查看home变量的值,即确定~所代表的路径
实验:
1.通过文件名查找
文件名选项是find命令最常用的选项,
要么单独使用该选项,要么和其他选项一起使用。
注意
可以使用某种文件名模式来匹配文件,
记住要用引号将文件名模式引起来。
不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合*.txt的文件,
使用~作为 'pathname'参数,波浪号~代表了你的$HOME目录。
想要在/etc目录中查找文件名以host开头的文件,可以用:
[root@xiaogan ~]# find /etc -name "host*"
[root@xiaogan ~]# find /etc -name "host*" -print

[root@xiaogan ~]# find ~ -name "*.txt" -print #必须带""

2.通过权限查找
按照文件权限模式用-perm选项,
按文件权限模式来查找文件的话。最好使用八进制的权限表示法。
举例:
如在当前目录下查找文件权限位为755的文件,
属主可以读、写、执行,其他用户可以读、执行的文件,
可以用:
[root@xiaogan ~]# find ~ -perm 777

3.忽略
使用-prune选项来指出需要忽略的目录。
在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略。
[root@xiaogan ~]#find test -path “test/dir0” -prune -o -print
忽略目录test/dir0中的文件

-path -prune 用法:详见: find命令中选项-path和-prune的使用
4.depth
希望先匹配当前所有的文件,再在子目录中查找。
在下面的例子中, find命令从文件系统的根目录开始,查找一个名为CON.FILE的文件。
它将首先匹配所有的文件然后再进入子目录中查找。
[root@xiaogan ~]#find test -depth -path “test/dir0/*” -print
注释:-depth要在路径前面,不然会警报

5.user nouser
[root@xiaogan ~]#find /opt -user xiaogan

[root@xiaogan ~]#find /opt -nouser

6.组
同5
7.mtime
如果希望按照更改时间来查找文件,可以
使用mtime,atime或ctime选项。
如果系统突然没有可用空间了,很有可能某一个文件的长度在此期间增长迅速,这时就可以用mtime选项来查找这样的文件。
用减号-来限定更改时间在距今n日以内的文件,
用加号+来限定更改时间在距今n日以前的文件。
希望在系统/root目录下查找更改时间在5日以内的文件,
find /root -mtime -5 -print
[root@xiaogan ~]#find . -mtime -3 #查找3天内修改过的文件

[root@xiaogan ~]#find . -mtime +3 #查找3天前修改过的文件

8.type !
-type 查找某一类型的文件,
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l- 符号链接文件。
f - 普通文件。
! 取反
在/etc目录下查找所有的目录,可以用:
find /etc -type d -print
在当前目录下查找除目录以外的所有类型的文件,
[root@xiaogan ~]# find . ! -type d
在/etc目录下查找所有的符号链接文件
find /etc -type l -print
[root@xiaogan ~]#find /dev -type b #查找/dev目录下的块设备文件

[root@xiaogan ~]#find /dev ! -type b #查找/dev目录下的非块设备文件

[root@xiaogan ~]# find / -type p

9.size
-a -o -a and -o or -not 非 !非
可以按照文件长度来查找文件;
这里所指的文件长度既可以用块(block)来计量,
也可以用字节来计量。
以字节计量文件长度的表达形式为N c;
以块计量文件长度只用数字表示即可。
在按照文件长度查找文件时,一般使用这种以字节表示的文件长度,在查看文件系统的大小,因为这时使用块来计量更容易转换。
在当前目录下查找文件长度大于1 M字节的文件:
find . -size +1000000c -print
在/home/apache目录下查找文件长度恰好为100字节的文件:
find /home/apache -size 100c -print
在当前目录下查找长度超过10块的文件(一块等于512字节):
find . -size +10 -print
find /etc/ -size +20k -a -size -50k
-a and 并且 -o or 或者
+ 超过 - 低于
[root@xiaogan ~]#find . -size +20k -a -size -30k #查找当前目录下大小在20k~30k之间的文件

1-12 RHEL7-find命令的使用的更多相关文章
- 你一定要知道的关于Linux文件目录操作的12个常用命令
写在前面: 1,<你一定要知道的关于Linux文件目录操作的12个常用命令>是楼主收集的关于Linux文件目录操作最常用的命令,包括文件或目录的新建.拷贝.移动.删除.查看等,是开发人员操 ...
- 作为前端Web开发者,这12个终端命令不可不会
对于开发人员来说,终端是最重要的工具之一.掌握终端,能够有效的提升开发人员的工作流程.使用终端,许多日常任务都被简化为了编写简单的命令并按下 Enter 按钮. 本文列举了一系列 Linux 命令,旨 ...
- 每个Web开发人员应该知道的12个终端命令
Tips 原文作者:Danny Markov 原文地址:12 Terminal Commands Every Web Developer Should Know About 终端是开发人员的武器库中最 ...
- RHEL7 timedatectl命令
1.要显示系统的当前时间和日期,使用timedatectl命令,如下: [root@rhel7 ~]# timedatectl Local time: Mon -- :: EDT Universal ...
- RHEL7 - 从命令行管理文件
RHEL中重要的目录 位置 用途 /usr 安装的软件.共享的库,包括文件和静态只读程序数据.重要的子目录有: -/usr/bin:用户命令 -/usr/sbin:系统管理命令 -/usr/local ...
- 从零自学Hadoop(12):Hadoop命令中
阅读目录 序 HDFS Commands User Commands Administration Commands Debug Commands 引用 系列索引 本文版权归mephisto和博客园共 ...
- 每天一个linux命令(12):more命令
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...
- 每天一个 Linux 命令(12):more命令
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...
- 每天一个Linux命令(12)--more命令
more命令,功能类似cat, cat 命令是这个文件的内容从上到下显示在屏幕上,more会以一页一页的显示方便使用者主页阅读,而最基本的指令就是按空格键就往下一页显示,按B键就会往回一页显示,而且 ...
- linux每日命令(12):nl命令
nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...
随机推荐
- 我的第一次NGS分析操作
部分参考自:生物信息学100个基础问题 —— 番外2: 用Anaconda快速搭建生物信息学分析平台 - 孟浩巍的文章 - 知乎 https://zhuanlan.zhihu.com/p/357114 ...
- django migrate生成表结构DateTimeField 类型加了6位精度别的框架无法调用的问题?
背景介绍 django migrate 生成表结构时,对于DateTimeField 类型的处理是加了6位精度的,只用django处理是没有任何问题的,但是如何别的框架来读取这种字段会读取不到该字段值 ...
- To keep up-to-date with Latest Jordans 2016
The Latest Jordans 2016 will feature cement speckling because the base, Reflect Silver accents, a a ...
- ruby on rails 数据库操作
(1)增加列的操作 rails generate migration add_password_digest_to_students password_digest:string bundle exe ...
- discuz debug下载地址
Discuz!X会自带Debug模式,主要是用于排查性能问题.垃圾站建议当如果您的站点调试完之后,一定要把debug模式关闭,以免其他用户会获取到一些敏感信息.在调试过程中,config文件配置的 ...
- openJudge C17K:Lying Island
地址:http://poj.openjudge.cn/practice/C17K/ 题目: C17K:Lying Island 查看 提交 统计 提问 总时间限制: 2000ms 内存限制: 26 ...
- 关于Socket和ServerSocket类详解
Socket类 套接字是网络连接的一个端点.套接字使得一个应用可以从网络中读取和写入数据.放在两个不同计算机上的两个应用可以通过连接发送和接受字节流.为了从你的应用发送一条信息到另一个应用,你需要知道 ...
- Linux数据备份与恢复 dump、restore、dd命令
dump命令:备份分区.文件或目录 在Linux系统中 dump 命令是没有安装的,所以先安装一下 dump 命令,安装命令如下: [root@localhost -]# yum -y install ...
- Table的一些设置(自适应以及溢出)
table的两个属性 单行溢出点点显示 表格的宽度设置 双栏自适应连续连续英文符换行 1.table重置的两个属性: ①border-collapse: collapse; /* 为表格设置 ...
- OpenStack、KVM、VMWare和Docker
一.虚拟化 1.什么是虚拟化 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内 ...