Назначение команды Unix cp = . (точка)?
Что делает .
(точка) означает как пункт назначения команды cp
?
Например:
cp ~dir1/dir2/dir3/executableFile.x .
Когда это выполняется он копирует файл успешно с правильным именем файла, но мне интересно, это то, что назначение '.- всегда подойдет или есть другая цель?
В справочном материале, который я видел, точки используются перед файлами, чтобы указать "скрыто", но это не имеет никакого отношения к команде выше.
Ответы - Назначение команды Unix cp = . (точка)? / Unix cp command destination = . (dot)?



17.09.2012 07:21:27
Как гласит ответ EvilTeach,.
это текущий каталог, а ..
это родительский каталог.
Существует в основном два способа использования команды cp
:
cp file1 file2
будет копировать file1
в file2
, создавая file2
, если он не существует или (в зависимости от разрешений), возможно, забивая его, если он существует.
Другой путь-это:
cp file1 file2 ... dir
где dir
-существующий каталог. В этой форме можно указать один или несколько файлов, и все они будут скопированы в указанный каталог dir
с существующими именами .
(Иногда это может быть ловушкой; cp foo bar
ведет себя очень по-разному в зависимости от того, существует ли существующий каталог с именем bar
.)
Как вы уже упоминали, файлы (включая каталоги), имена .
скрыты . Это означает, что (а) команда ls
не будет перечислять их (если вы не используете параметр-a
или-A
), и (Б) подстановочный знак оболочки, такой как *
или *.txt
опустит их. (Менеджеры каталогов GUI, такие как Nautilus, могут также опустить их, в зависимости от ваших настроек.)
Это относится и к текущему каталогу .
и родительский каталог ..
. ls
не будет включать в .
и ..
записи в его выводе; ls -a
завещание.