它一定是一个很普遍的问题,但我找不到答案。
如何通过*将所有文件(包括隐藏文件)移动到父目录,如下所示:
mv /path/subfolder/* /path/
这会将所有文件移到预期的父目录中,但不会移动隐藏文件。怎么做?
您可以在UNIX和Linux关于如何将所有文件(包括隐藏文件)从一个目录移动到另一个目录的答案中找到一套全面的解决方案。。它显示了Bash,zsh,ksh93,标准(POSIX)sh等解决方案。
您可以同时使用这两个命令:
mv /path/subfolder/* /path/ # your current approach
mv /path/subfolder/.* /path/ # this one for hidden files
或一起(感谢pfnuesel):
mv /path/subfolder/{.,}* /path/
扩展为:
mv /path/subfolder/* /path/subfolder/.* /path/
(示例:echo a{.,}b
扩展为a.b ab
)
请注意,这将显示一些警告:
mv: cannot move ‘/path/subfolder/.’ to /path/.’: Device or resource busy
mv: cannot remove /path/subfolder/..’: Is a directory
只需忽略它们即可:这是因为/path/subfolder/{.,}*
还会扩展到/path/subfolder/.
和/path/subfolder/..
,分别是目录和父目录(请参阅“。”和“ ..”在文件夹中的含义是什么?)。
如果您只想复制,则可以只使用:
cp -r /path/subfolder/. /path/
# ^
# note the dot!
这将复制所有文件,包括普通文件和隐藏文件,因为/path/subfolder/.
扩展到“此目录中的所有内容”(来源:如何使用cp复制以包括隐藏文件和隐藏目录及其内容?)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句