答案1
可以使用以下命令创建上述目录结构:
$ mkdir -p mydir/{colors,shape,animals}
$ mkdir -p mydir/colors/{basic,blended}
$ touch mydir/colors/basic/{red,blue,green}
$ touch mydir/colors/blended/{yellow,orange,pink}
$ touch mydir/shape/{circle,square,cube}
$ mkdir -p mydir/animals/{mammals,reptiles}
$ touch mydir/animals/mammals/{platypus,bat,dog}
$ touch mydir/animals/reptiles/{snakes,crocodile,lizard}
结果是这样的目录结构:
$ tree mydir/
mydir/
├── animals
│ ├── mammals
│ │ ├── bat
│ │ ├── dog
│ │ └── platypus
│ └── reptiles
│ ├── crocodile
│ ├── lizard
│ └── snakes
├── colors
│ ├── basic
│ │ ├── blue
│ │ ├── green
│ │ └── red
│ └── blended
│ ├── orange
│ ├── pink
│ └── yellow
└── shape
├── circle
├── cube
└── square
7 directories, 15 files
现在,让我们将目录更改cd
为示例中的此位置,并使用命令确认pwd
我们位于我们想要的位置:
$ cd mydir/colors/basic/
$ pwd
/root/mydir/colors/basic
现在将文件复制red
到blended
您用来..
表示您想要在层次结构中上升一个级别的目录。您可以先使用以下命令进行测试ls
:
$ ls ..
basic blended
如果我们想上升 2 级:
$ ls ../..
animals colors shape
因此,在您的情况下,您想要复制到blended
文件所在位置的上一级red
,因此类似这样的内容会列出文件所在目录blended
中的文件:basic
red
$ ls ../blended/
orange pink yellow
因此,要将文件复制red
到此位置,我们只需交换我们ls
一直使用的命令cp
并确认ls
:
$ cp red ../blended/
$ ls ../blended/
orange pink red yellow
如果我们处于顶部怎么办mydir
如果我们在不同的位置开始,请说在mydir
存在的目录中:
$ pwd
/root
$ ls -ld mydir
drwxr-xr-x 5 root root 4096 Aug 10 08:33 mydir
然后我们使用的相对位置将改为引用该位置。您需要执行以下操作来复制red
到该blended
目录。这两个命令列出了我们正在处理的各个位置的路径:
$ ls mydir/colors/basic/red
mydir/colors/basic/red
$ ls mydir/colors/blended/
orange pink yellow
这会复制文件:
$ cp mydir/colors/basic/red mydir/colors/blended/
$ ls mydir/colors/blended/
orange pink red yellow