作者
林一
白天搬砖,晚上做梦。我有故事,你有酒么?
Linux 命令 find 命令解析
Linux 命令 find 是一种查找文件和目录的工具,可以通过文件类型、日期、大小等属性来查找符合要求的文件。
find 的一般形式如下:
代码语言:javascript复制find [path] [option] [action]
其中,参数 path 表示要查找的目录,option 表示查找的选项,action 表示对查找到的文件要执行的操作。
常用的 option 如下:
代码语言:javascript复制-name:按照文件名查找;
-type:按照文件类型查找;
-mtime:按照修改时间查找;
-size:按照文件大小查找。
为方便读者理解,林一写个具体的 demo:
代码语言:javascript复制find /data/logs -name "access.log*" -type f -mtime -7 -exec cp {} /backup/ ;
解析:
/data/logs是要查找的目录;
-name "access.log*"表示只查找文件名以access.log开头的文件;
-type f表示只查找文件(不包括目录);
-mtime -7表示只查找修改时间在7天内的文件;
-exec cp {} /backup/ ;表示将查找到的所有文件复制到/backup目录下。
这个命令的意思是:在/data/logs目录下查找文件名以 access.log开头、文件类型为文件、修改时间在7天内的所有文件,并将其复制到 /backup 目录下。
Linux 命令 find 命令注意事项
find 命令搜索文件或目录是从给定的路径开始向下递归,找到所有符合条件的文件或目录:
代码语言:javascript复制-exec选项后面的命令必须以;结尾表示命令结束;
-prune选项表示不进入指定的目录查找文件,可提高查找效率;
-regex选项可以使用正则表达式查找文件;
find 命令的属性条件可以使用-mtime、-atime和-ctime,分别表示文件的修改时间、访问时间和修改权限的时间。