1

.(点)作为命令的目的地是什么意思cp

例如:

cp ~dir1/dir2/dir3/executableFile.x .

执行此操作时,它会使用正确的文件名成功复制文件,但我想知道这是 '.' 的目的地。会一直做还是有其他目的?

在我看到的参考资料中,文件前面使用点表示“隐藏”,但这与上面的命令无关。

4

2 回答 2

2

dot 代表当前目录,而 dotdot 是父目录。

于 2012-09-17T02:38:22.103 回答
0

正如 EvilTeach 的回答所说,.是当前目录,并且..是父目录。

基本上有两种使用cp命令的方法:

cp file1 file2

将复制file1file2,如果它不存在则创建file2,或者(取决于权限)如果存在则可能破坏它。

另一种方式是:

cp file1 file2 ... dir

dir现有目录在哪里。使用这种形式,您可以指定一个或多个文件,它们都将dir 以其现有名称复制到指定目录中。

(有时这可能是一个陷阱;cp foo bar根据是否存在名为 的现有目录,其行为会非常不同bar。)

正如您所提到的,名称以开头的文件(包括目录).hidden。这意味着(a)该ls命令不会列出它们(除非您使用-aor-A选项),以及(b)一个 shell 通配符,例如*or*.txt将省略它们。(如 Nautilus 之类的 GUI 目录管理器也可能会忽略它们,具体取决于您的设置。)

这适用于当前目录.和父目录..ls不会在其输出中包含.and..条目;ls -a将要。

于 2012-09-17T03:21:27.470 回答