在当前目录下查找TABB01348965或TABB01350127目录:
# find . -name 'TABB01348965' -o -name 'TABB01350127'
在当前目录下查找TABB01348965或TABB01350127目录,并将这两个目录下的所有文件复制到/home/developer/桌面/001
下:
# find . -regex '.*TABB01348965\|.*TABB01350127' -type d -exec cp -r {} '/home/developer/桌面/001' \;
find命令选项
参数 | 详细解释 | 备注 |
---|---|---|
. | 表示当前目录 | |
-name | 按照文件名查找文件 | |
-regex | 匹配正则表达式 | -regex不是匹配文件名,而是匹配完整的文件名(包括路径)。例如,当前目录下有一个文件”abar9”,如果你用”ab.9”来匹配,将查找不到任何结果,正确的方法是使用”.*ab.*9”或者”./ab.*9”来匹配 |
-type | 查找某一类型的文件 | 如:b - 块设备文件。d - 目录。c - 字符设备文件。p - 管道文件。l - 符号链接文件。f - 普通文件。 |
-exec | 对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ {} \;,注意{}和\;之间的空格。 |
执行cp命令时提示 cp: 略过目录
参数 | 详细解释 | 备注 |
---|---|---|
-a | 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。(复制的时候要保留文件属性用-a,不然会导致服务无法应用等问题,例如原文件拥有者为oracle,直接cp后文件拥有者变为root,会导致数据库服务器无法使用,可以使用chown修改文件拥有者,或者复制的时候直接用cp -a命令) | |
-d | 拷贝时保留链接。 | |
-f | 删除已经存在的目标文件而不提示。 | |
-i | 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。 | |
-p | 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。 | |
-r | 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。 | |
-l | 不作拷贝,只是链接文件。 |