.(点)作为命令的目的地是什么意思cp?
例如:
cp ~dir1/dir2/dir3/executableFile.x .
执行此操作时,它会使用正确的文件名成功复制文件,但我想知道这是 '.' 的目的地。会一直做还是有其他目的?
在我看到的参考资料中,文件前面使用点表示“隐藏”,但这与上面的命令无关。
.(点)作为命令的目的地是什么意思cp?
例如:
cp ~dir1/dir2/dir3/executableFile.x .
执行此操作时,它会使用正确的文件名成功复制文件,但我想知道这是 '.' 的目的地。会一直做还是有其他目的?
在我看到的参考资料中,文件前面使用点表示“隐藏”,但这与上面的命令无关。
dot 代表当前目录,而 dotdot 是父目录。
正如 EvilTeach 的回答所说,.是当前目录,并且..是父目录。
基本上有两种使用cp命令的方法:
cp file1 file2
将复制file1到file2,如果它不存在则创建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将要。