转移目录和文件到指定结构
要求如图1我的回答:
question12_i: cd dir12
mkdir dir12_2
cd dir12_2
mkdir dir12_3
cd dir12_3
touch foo
已正常运行,但是question12_ii做不出来,我的操作如下
dir12/dir12_2/dir12_3/ $ cp ./dir12_3/ dir12/
cp: cannot stat './dir12_3/': No such file or directory
dir12/dir12_2/dir12_3/ $ cp dir12_3/ dir12/
cp: cannot stat 'dir12_3/': No such file or directory
dir12/dir12_2/dir12_3/ $ cp dir12_3 dir12/
cp: cannot stat 'dir12_3': No such file or directory
求大佬指点,并解决问题 根据你提供的信息,你想要将目录和文件按照指定的结构转移。对于问题12第一部分(question12_i),你已经成功地创建了所需的目录和文件。至于问题12第二部分(question12_ii),你遇到了一些困难。
要解决这个问题,你可以使用以下命令来完成目录和文件的转移:
cp -r dir12/dir12_2/dir12_3 dir12/
这个命令会将dir12/dir12_2/dir12_3目录以及其中的内容复制到dir12目录中。选项-r表示递归复制,确保连同目录中的所有子目录和文件一起复制。
希望这个解决方案对你有帮助!如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案 对于问题12_ii,您可以使用以下命令来完成目录和文件的转移:
cp -r dir12/dir12_2/dir12_3 dir12/
这将会递归地复制dir12_3目录及其所有内容到dir12目录中。
现在,让我为您解释一下为什么您之前的尝试没有成功:
1. 第一个尝试: cp ./dir12_3/ dir12/
这个命令中,您使用了相对路径来复制 dir12_3/ 目录到 dir12/ 中。但是当前工作目录是 dir12/dir12_2/dir12_3/ ,所以使用 ./dir12_3/ 会在当前工作目录下寻找该目录,而实际上应该在上一级目录下寻找。
2. 第二个尝试: cp dir12_3/ dir12/
这个命令中,您依然使用了相对路径,但是同样出现了路径问题。当前工作目录是 dir12/dir12_2/dir12_3/ ,所以使用 dir12_3/ 会在当前工作目录下寻找该目录,而实际上应该在上一级目录下寻找。
3. 第三个尝试: cp dir12_3 dir12/
这个命令中,您使用了 dir12_3 作为目录的名称进行复制,但是该目录在当前工作目录下并不存在,因此复制失败。
在问题12_ii中,您需要使用绝对路径或相对于上一级目录的相对路径来执行复制操作。使用 -r 选项可以递归地复制整个目录及其内容。 问题出在你在执行 cp 命令时的路径参数给错了。下面是正确的解决方法:
第一部分 - 创建目录结构:
mkdir -p dir12/dir12_2/dir12_3
cd dir12/dir12_2/dir12_3
touch foo
首先,使用 -p 选项可以递归地创建整个目录结构,这样就不需要单独创建每个目录。然后进入 dir12/dir12_2/dir12_3 目录,并创建一个名为 foo 的文件。
第二部分 - 转移目录和文件:
cd ../..
mv dir12/dir12_2/dir12_3 dir12/
返回到 dir12 的上一级目录两次,然后将 dir12/dir12_2/dir12_3 目录移动到 dir12 目录中。
现在,你应该已经成功转移了目录和文件到指定的结构。
希望这个回答能够解决你的问题!如果还有其他疑问,请随时提问。
球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
cp -r dir12/dir12_2/dir12_3 dir12/
页:
[1]