find命令用于查找符合条件的文件,任何在参数之前的字符串都将视为欲查找的目录。假如没有指定目录,则会查找当前的目录,假如没有设定参数,则会以“-print”参数作为默认值。
当指定参数时,可在参数之前加上“l”,表示查找不符合此参数的文件或目录。也可将两个参数用“-o”连接表示只要符合其中一个参数的条件即可。
语法:find + 目标目录(路径) + <选项> + 参数
♻️ 相关命令: locate,slocate,whereis, which
包名称:findutils
✅练习打卡:
1️⃣ 列出当前目录下所有子目录及文件的名称
[root@linux-commands filedir]# find
2️⃣ 寻找当前目录下,文件名称以 file 起始的文件
[root@linux-commands filedir]# find -namefile\*
3️⃣ 寻找当前目录下文件名称以 file 起始的文件,并将结果输出到filelist文件中
[root@linux-commands filedir]# find -namefile\*
-fprint filelist
4️⃣ 寻找当前目录下文件名称以file或sys起始的文件
[root@linux-commands filedir]# find -namefile\*
-o -namesys\*
5️⃣ 列出当前目录下最近5天之内有变动的文件
[root@linux-commands filedir]# find . -mtime -5
6️⃣ 列出当前目录下最近60分钟之前有变动的文件
[root@linux-commands filedir]# find . -mmin +60
7️⃣ 列出当前目录下最近一天之内有存取过的文件
[root@linux-commands filedir]# find . -ctime -1
或者
[root@linux-commands filedir]# find . -atime -1
8️⃣ 列出当前目录下最近30分钟之前有存取过的文件
[root@linux-commands filedir]# find . -amin +30
9️⃣ 列出当前目录下存取时间比test.txt文件更近的文件或目录
[root@linux-commands filedir]# find . -anewer test.txt
1️⃣0️⃣ 列出/目录下属于用户zyl的文件或目录
[root@linux-commands filedir]# find / -user zyl
1️⃣1️⃣ 列出/目录下属于zyl组的文件或目录
[root@linux-commands filedir]# find / -group zyl
1️⃣2️⃣ 寻找/filedir目录下文件名称为test.txt的文件,寻找时最多只往下找3层子目录
[root@linux-commands ~]# find /root/filedir -name test.txt -maxdepth 4
寻找/filedir目录下文件名称为test.txt的文件,寻找时从/filedir目录下2层子目录开始找起
find /root/filedir -name test.txt -mindepth 3
1️⃣3️⃣ 列出/filedir目录下文件大小为0,或目录下没有任何子目录或文件的空目录
[root@linux-commands ~]# find /root/filedir -empty
1️⃣4️⃣ 列出/filedir目录下大于1 KB的文件
[root@linux-commands ~]# find /root/filedir -size +1k
1️⃣5️⃣ 列出/filedir目录下权限刚好为0700的文件或目录
[root@linux-commands ~]# find /root/filedir -perm 0755
1️⃣6️⃣ 寻找/filedir目录下名称为file的文件,如果有该文件,则接着列出这个文件的内容
[root@linux-commands ~]# find /root/filedir -name file -exec cat {} ;
1️⃣7️⃣ 根据文件类型进行搜索, f为普通文件,d为目录,l为链接
[root@linux-commands ~]# find /root/filedir -type f
cut命令一行行地读入文件内容,然后把符合指定条件的内容输出至标准设备(如显示器) 上。
若不指定任何文件名称,或是所给予的文件名为“_”,则cut命令会从标准输入设备读取数据。
♻️ 相关命令: cat, head, tac, tail
包名称:coreutils
✅
练习打卡:
1️⃣ 列出file文件每一行的第3~5、第7、第9个字符
[root@linux-commands filedir]# cut -b 3-5,7,9 file
2️⃣ 列出file文件每行第7个以后的字符
[root@linux-commands filedir]# cut -b 7- file
3️⃣ 列出file文件第1列、第2列
[root@linux-commands filedir]# cut -f 1,2 file
4️⃣ 列出file第1、第2列,且不列出不含分界字符
[root@linux-commands filedir]# cut -f 1,2 -s file
5️⃣ 列出file第1、第2列,指定分界字符为“:”号
该章详细介绍了【Linux命令】find 、cut命令的使用,及有关参数详解。