Unix cp命令destination =。 (点)?

时间:2012-09-17 02:36:46

标签: unix copy

.(点)作为cp命令的目的地意味着什么?

例如:

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

执行此操作时,它会使用正确的文件名成功复制文件,但我想知道这是“。”的目的地。会永远做或有其他目的吗?

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

2 个答案:

答案 0 :(得分:1)

dot表示当前目录 而dotdot是父目录。

答案 1 :(得分:0)

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

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

cp file1 file2

会将file1复制到file2,如果不存在,则创建file2或(如果有权限)可能会创建cp file1 file2 ... dir

另一种方式是:

dir

其中dir是现有目录。使用此表单,您可以指定一个或多个文件,并将 all 复制到指定目录cp foo bar 中,并使用现有名称

(这可能是一个陷阱; bar的行为会有很大不同,具体取决于是否存在名为.的现有目录。)

如您所述,名称以ls开头的文件(包括目录)隐藏。这意味着(a)-a命令不会列出它们(除非您使用-A*选项),以及(b)shell通配符,例如{{ 1}}或*.txt将省略它们。 (Nautilus等GUI目录管理器也可能会忽略它们,具体取决于您的设置。)

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