如何查找特定文件,并将其移动到特定目录/var/tmp
?
例如我想找到该文件0914_Jul-2014.gz
。
备注,该文件0914_Jul-2014.gz
位于约 300 个子目录下:
/usr/../../../../../../../../../../../../../../../../../../0914_Jul-2014.gz
举个例子:当我做一个
find /usr -name '0914_Jul-2014.gz' -exec mv {} /var/tmp
结果是
mv: cannot stat: File name too long
错误。
答案1
您可以使用find
:
find /usr -name '0914_Jul-2014.gz' -exec mv {} /var/tmp \;
或者对于极度嵌套的目录层次结构
find /usr -name '0914_Jul-2014.gz' -execdir mv {} /var/tmp \;
尽管如文档所述, 如果您使用,您必须确保您的$PATH
环境变量不会引用当前目录(即).
-execdir
答案2
使用locate
来查找文件:
locate <file_name>
然后使用mv
移动文件
mv <location/file_name> <new_location/file_name>