Если вы имеете в виду голый текст -
в конце tar
команды, это характерно для многих команд, которые хотят использовать файл.
Это позволяет вам указать стандартный ввод или вывод, а не фактический имя файла.
Так обстоит дело с вашим первым и третьим примером. Например, cdrecord
команда принимает стандартный ввод (поток образа ISO, созданный с помощью mkisofs
) и записывает его непосредственно в /dev/dvdrw
.
С помощью cd
команды каждый раз, когда вы меняете каталог, он сохраняет каталог, из которого вы пришли. Если вы сделаете это cd
со специальным -
«именем каталога», он будет использовать этот запомненный каталог вместо реального. Используя это, вы можете легко переключаться между двумя каталогами довольно быстро.
Другие команды могут рассматриваться -
как другое специальное значение.
-
для веток git, т.е. вы можете вернуться к своей предыдущей ветке с помощьюgit checkout -
-
, вы можете найти ее объяснение на странице руководства.Это не волшебство. Некоторые команды интерпретируются
-
как пользователь, желающий читать из стандартного ввода или писать в стандартный вывод; в оболочке нет ничего особенного.источник
cd -
;bash(1)
обрабатывает,cd -
как если бы вы писалиcd $OLDPWD
.cd
- встроенная команда оболочки - сама интерпретирует тире. Никакой "магии" :-)Перенаправление с или на
stdin
илиstdout
.См. Http://tldp.org/LDP/abs/html/special-chars.html#DASHREF2
источник
<
,>
,|
и т.д.).-
означает именно то, что каждая команда хочет означать. Существует несколько общих соглашений, и вы видели примеры большинства из них в других ответах, но ни одно из них не является универсальным на 100%.Что
-
касается оболочки, то в этом персонаже нет ничего волшебного (за исключением того, что сама оболочка и некоторые из ее встроенных команд, таких какcd
иecho
, используют его обычными способами). Некоторые символы, например\
,'
и"
, являются «волшебными», имея особое значение, где бы они ни появлялись. Это «метасимволы оболочки».-
это не так.Чтобы узнать, как используется данная команда
-
, прочтите документацию по этой команде .источник
Магия в условности. На протяжении тысячелетий люди использовали знак «-», чтобы отличать параметры от аргументов, и использовали знак «-» в имени файла для обозначения либо stdin, либо stdout, в зависимости от ситуации. Не стоит недооценивать силу условностей!
источник
Это означает использование стандартного входного потока программы.
В случае с
cd
, это означает другое: перейти в предыдущий рабочий каталог.источник