如何将文件从另一个目录复制到当前目录?

use*_*022 -3 cp

作为学校作业的一部分,我遇到了这个问题:

截屏

注意:如果上面的图片很难阅读,这里是目录树:

$ tree
.
`-- sample_dir1
    `-- sample_dir
        |-- admin
        |-- cambridge
        |   |-- cafeteria
        |   |-- library
        |   `-- security
        |       |-- annex
        |       |-- building
        |       `-- parking
        |-- faculty
        |-- history.exe
        |-- markham
        |   |-- annex
        |   |-- building1
        |   `-- parking
        |-- oxford
        |   |-- outline.doc
        |   |-- programming
        |   |   `-- report.pdf
        |   `-- security
        `-- stenton
            |-- gen_ed
            `-- lib_arts
                |-- english.txt
                `-- match.doc

15 directories, 11 files
Run Code Online (Sandbox Code Playgroud)

我尝试执行以下命令:

$ cp ../cambridge/security/parking ./parking2
Run Code Online (Sandbox Code Playgroud)

...但它不起作用。上图中的问题指出当前目录是stenton,我们需要复制名为parking(来自security目录)的文件parking2,并将新文件命名为,并将其放置在当前目录中stenton,使用相对路径名.

我究竟做错了什么?我的cp命令似乎是正确的。

phe*_*mer 8

您遇到的问题似乎与您的家庭作业计划有关。

根据您对另一个答案的评论,您尝试过:

cp ../cambridge/security/parking ./parking2
Run Code Online (Sandbox Code Playgroud)

这是一个在普通 shell 中完全有效的命令。然而,问题可能是您的测试程序不希望././parking2

当指定文件的路径时(几乎任何程序,而不仅仅是cp),如果/路径上没有前导,它就会隐式变为./. 因此,如果您将命令更改为:

cp ../cambridge/security/parking parking2
Run Code Online (Sandbox Code Playgroud)