鱼C论坛

 找回密码
 立即注册
查看: 380|回复: 4

转移目录和文件到指定结构

[复制链接]
发表于 2023-7-30 09:53:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
要求如图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

求大佬指点,并解决问题
WechatIMG2.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-30 09:53:52 | 显示全部楼层
根据你提供的信息,你想要将目录和文件按照指定的结构转移。对于问题12第一部分(question12_i),你已经成功地创建了所需的目录和文件。至于问题12第二部分(question12_ii),你遇到了一些困难。

要解决这个问题,你可以使用以下命令来完成目录和文件的转移:

  1. cp -r dir12/dir12_2/dir12_3 dir12/
复制代码


这个命令会将dir12/dir12_2/dir12_3目录以及其中的内容复制到dir12目录中。选项-r表示递归复制,确保连同目录中的所有子目录和文件一起复制。

希望这个解决方案对你有帮助!如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-30 09:53:53 | 显示全部楼层
对于问题12_ii,您可以使用以下命令来完成目录和文件的转移:

  1. 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 选项可以递归地复制整个目录及其内容。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-30 09:53:55 | 显示全部楼层
问题出在你在执行 cp 命令时的路径参数给错了。下面是正确的解决方法:

第一部分 - 创建目录结构:
[/code]
mkdir -p dir12/dir12_2/dir12_3
cd dir12/dir12_2/dir12_3
touch foo
[/code]
首先,使用 -p 选项可以递归地创建整个目录结构,这样就不需要单独创建每个目录。然后进入 dir12/dir12_2/dir12_3 目录,并创建一个名为 foo 的文件。

第二部分 - 转移目录和文件:
[/code]
cd ../..
mv dir12/dir12_2/dir12_3 dir12/
[/code]
返回到 dir12 的上一级目录两次,然后将 dir12/dir12_2/dir12_3 目录移动到 dir12 目录中。

现在,你应该已经成功转移了目录和文件到指定的结构。

希望这个回答能够解决你的问题!如果还有其他疑问,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-30 10:35:31 | 显示全部楼层
  1. cp -r dir12/dir12_2/dir12_3 dir12/
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-1 14:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表