find -exec以+号结尾什么意思
时间: 2023-06-01 21:04:17 浏览: 96
在Linux中,find命令用于在指定目录下查找符合条件的文件或目录。-exec选项用于在找到的文件或目录上执行指定的命令或脚本。以"号结尾"意味着在-exec选项后面的命令或脚本需要以分号结尾,以表示命令执行的结束。例如:
find /home -name "*.txt" -exec rm {} \;
以上命令的意思是在/home目录下查找所有以.txt结尾的文件,并执行rm命令删除它们。注意,命令末尾需要加上"\;",表示命令执行的结束。
相关问题
linux find -exec
linux find -exec 是一个命令行工具,用于在 Linux 系统中查找文件并执行指定的命令。它的基本语法是:
find [path] [expression] -exec [command] {} \;
其中,[path] 表示要查找的目录路径,[expression] 表示查找的条件,-exec 表示要执行的命令,{} 表示查找到的文件名,\; 表示命令结束符号。
例如,要在当前目录下查找所有以 .txt 结尾的文件,并将它们复制到 /tmp 目录下,可以使用以下命令:
find . -name "*.txt" -exec cp {} /tmp \;
这个命令会在当前目录下查找所有以 .txt 结尾的文件,并将它们复制到 /tmp 目录下。
find.-type f -mtime+ 30 -name “*.log”-exec cp {} old;
这也是一个 Linux 命令,用于在当前目录及其子目录中查找修改时间超过 30 天且文件名以 ".log" 结尾的普通文件,并将这些文件拷贝到当前目录下的 old 目录中。
具体解释如下:
- find:命令名,表示查找文件。
- .:查找的目录路径,这里表示当前目录。
- -type:指定搜索的文件类型,这里使用 "f" 表示普通文件。
- -mtime:按照文件修改时间进行搜索。
- +30:表示修改时间超过 30 天的文件。
- -name:按照文件名进行搜索,使用通配符 "*.log" 表示文件名以 ".log" 结尾。
- -exec:对每个搜索到的文件执行后面的命令。
- cp {} old;:被执行的命令,其中 {} 表示搜索到的文件名。这里使用 cp 命令将文件拷贝到当前目录下的 old 目录中,"\;" 表示命令的结尾。
因此,这个命令的意思是在当前目录及其子目录中查找修改时间超过 30 天且文件名以 ".log" 结尾的普通文件,并将这些文件拷贝到当前目录下的 old 目录中。