Bash:重复+重命名文件夹

时间:2015-10-26 10:48:40

标签: bash shell directory rename

假设我在my_folder_old中有一个名为/path/to/folder的文件夹,如何在同一目录中创建名为my_folder_new的副本?

修改

此外,如果my_folder_new已经存在,则在第一个内部创建my_folder_old而不是替换。为什么会这样?

2 个答案:

答案 0 :(得分:7)

教程复制文件,文件夹链接:link

手动cp命令:Link

cp -frp /path/to/folder/my_folder_old -T /path/to/folder/my_folder_new

   -f, --force
          if an existing destination file cannot be opened, remove it
          and try again (this option is ignored when the -n option is
          also used)
   -p     same as --preserve=mode,ownership,timestamps
   -R, -r, --recursive
          copy directories recursively
   -T, --no-target-directory
          treat DEST as a normal file

虽然如果my_folder_new已经存在,my_folder_old会在第一个内部创建而不是替换。为什么会这样?

之所以会发生这种情况,是因为my_folder_new已经创建了。执行相同的cp命令,它将看作新路径,/ path / to / folder / my_folder_new /

答案 1 :(得分:0)

我正在处理同样的问题,快疯了啊哈哈,我尝试了 cp -frp 但没有奏效,所以,在执行 cp 之前,只需使用 rm 删除现有文件夹,请参阅下面有关此的更多信息:< /p>

Remove Directory Linux

<块引用>

如果目录或目录中的文件被写保护,系统将提示您确认删除。要在没有提示的情况下删除目录,请使用 -f 选项:

rm -rf dir1