cat和find 的用法

少年恃险若平地,独倚长剑凌清秋。这篇文章主要讲述cat和find 的用法相关的知识,希望能为你提供帮助。
cat的用法cat可以读取一个文件的内容:
cat file.txt
也可以读取数个文件拼接在一起显示:
cat file1.txt file2.txt file3.txt
cat还可以从标准输入里进行读取:
echo "来自标准输入的文本" | cat
如果想将标准输入和其他文件拼接在一起显示:
echo "来自标准输入的文本" | cat - file.txt
这里用“-”来表示标准输入。
-s 压缩文本中的空白行
-T 显示制表符
-n 显示行号
find的用法最基本的用法

$ find path

path可以是任何路径,find会从该路径开始向下搜索。
.是当前目录,..是父目录。
各种匹配搜索
根据文件名
$ find path -name "*.txt"

使用-iname可以忽略大小写。
根据文件路径
$ find path -path "*example*"

这样的话会把路径中包含example的所有文件都打印出来,不论是文件夹名还是文件名。
-path使用的是通配符匹配,这和-regex的正则表达式还是有区别的。
$ find path -regex ".*\\(\\.jpg\\)$"

如果你有多个条件,可以使用-o参数
$ find . \\( -name "*.txt" -o -name "*.sh"\\)

如果你想排除某个条件,可以使用!
$ find . ! -name "*.txt"

find默认是遍历搜索指定目录及其子目录,你可以指定搜索的深度
$ find . -maxdepth 1 -name "*.txt"
$ find . -mindepth 1 -name "*.txt"

maxdepth指定了最大深度,所以-maxdepth 1 会让find在当前目录搜索,mindepth指定了最小深度,所以-mindepth 1 会让find排除当前目录。当然这两个参数的值只能是正整数。
如果你想指定文件类型
$ find . -type d

文件类型参数有如下几种
f 普通文件
d 目录
l 符号链接
c 字符设备
b 块设备
s 套接字
p Fifo
根据时间进行搜索
$ find . -type f -atime 7

-atime 表示访问时间 ,7 表示7天,这是搜索7天前访问的文件,如果是+7,就是被访问超过7天的文件,-7表示7天内访问的文件
类似的参数还有-mtime 修改时间,-ctime 改变时间,前者指的是文件内容的修改,后者指的是文件元数据的修改(metadata,权限,所有者)。
如果要以分钟为单位搜索,还有-amin,-mmin,-cmin。
根据大小搜索
$ find . -type f -size 2M

搜索大小等于2M的文件
文件大小的单位
c 字节
w 2字节
b 512字节
k 1024字节
M 1024k字节
G 1024M字节
+2M 大于2M的文件,-2M小于2M的文件
搜索并删除文件
-delete参数
$ find . -type f -name "delete.txt" -delete

根据权限搜索文件
-perm参数
$ find . -type f -perm 777

根据用户所有权搜索
-user参数
$ find . -type f -user root



【cat和find 的用法】


    推荐阅读