使用相对路径?我知道绝对路径。使用复制命令?

使用相对路径?我知道绝对路径。使用复制命令?

我正在为 Linux 操作课程做一个实验。我所困惑的问题是:

以下题目仅使用cp复制文件的命令。

您当前应该位于您的lab07目录中。在此目录中创建一个名为 Ones 的子目录,并将该子目录(工作目录为) 以, , , ...lab07结尾的所有文件复制到这个新的 Ones 目录中。即复制 files 、等,但不复制 files 、等。编写完整命令,仅使用相对路径将这些文件复制到这个新目录中。/labs/data/filenames/1239file.1file.2file.11file.21

现在,我可以使用绝对路径来解决问题,命令是:

cp /labs/data/filenames/file.[1-9] /lab07/ones

那么由此来看,相对路径是什么?

我已经尝试不同的命令几个小时了,但我不知道。我明白了相对路径背后的概念,只是当我真正尝试这样做时。我搞不懂!

我们在服务器上使用 bash/shell。我正在使用Xquartz11

答案1

“相对路径”实际上应该称为“相对于当前目录的路径”,因为它就是这样。您可以将相对路径视为附加到当前目录的路径的一部分。

如果你在里面/labs/data/filenames/并且想进去dir.1的话,你可以这样做cd /labs/data/filenames/dir.1。但是,如果将这些目录粘贴到另一个目录下面,您会发现它们的开头是相同的(事实上,第一个目录完全包含在第二个目录中)。所以你可以这样做cd dir.1,因为当前工作目录 ( /labs/data/filenames/) 是隐式声明的。

绝对路径始终从目录树的根部开始,因此很容易。相对路径可以从目录树中的任何位置开始,因此如果我们想要到达任何地方,我们需要一种向上的方法。这个目的是通过特殊目录..(两个点)来实现的,该目录指的是父目录。

如果您在/labs/data/filenames/,命令cd ..将带您前往/labs/data/;命令cd ../..将带您到/labs/.cd../../../会带你去/

如果您发布的路径是正确的(它们是有效的,但您不太可能lab07直接在任何计算机上的文件系统的根目录中找到),那么,从 开始/lab07/,您必须首先上升到文件系统的根目录,然后下降到目录文件所在的位置。你可以这样做:

cd ../labs/data/filenames/

为了不给你做作业,我就放在这里了。现在您需要将上述相对路径放入cp命令中。另请注意,您/lab07/现在就在其中,因此cp可以缩短目的地路径。您的文件选择部分是正确的,不用担心。

顺便说一句,你的老师应该知道完全file.11以 结尾1。他的意思是“所有以一位数字结尾的文件”之类的。

相关内容