.
(点)作为命令的目的地是什么意思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
命令不会列出它们(除非您使用-a
or-A
选项),以及(b)一个 shell 通配符,例如*
or*.txt
将省略它们。(如 Nautilus 之类的 GUI 目录管理器也可能会忽略它们,具体取决于您的设置。)
这适用于当前目录.
和父目录..
。 ls
不会在其输出中包含.
and..
条目;ls -a
将要。