cat和find 的用法
Posted WebCodingTech
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 的用法的主要内容,如果未能解决你的问题,请参考以下文章