Мое взятие на конвенциях имени файла Unix/Linux:
Файловые системы Unix/Linux по сути не поддерживают понятие расширения. Понятие расширения файла полностью существует как что-то поддерживаемое утилитами такой как cp
, ls
, или оболочка Вы используете. Я полагаю, что это - этот путь на NTFS также, но я мог быть неправым.
Исполняемые файлы, включая сценарии оболочки, обычно никогда не имеют типа расширения. Сценарии будут иметь hashbang строку (т.е. #!/bin/bash
) это определяет, какая программа должна интерпретировать его.
/etc
окончание в tab
также супер важный, такой как fstab
, mtab
, inittab
..d
добавляется к именам каталогов, особенно в /etc
, но это не широко распространено (ОБНОВЛЕНИЕ: https://serverfault.com/questions/240181/what-does-the-suffix-d-mean-in-linux)rc
широко используется для сценариев конфигурации или файлов, любое предварительное ожидание (например, rc.local
) или добавление суффикса (.vimrc
).htm
в конце файлов HTML на Unix/Linux использовать .html
.Makefile
в исходных пакетах. Только сделайте это для материала как README
.~
используется для идентификации файла резервной копии или каталога, как в important_stuff~
, или /etc~
. Много оболочек развернут одинокое ~
кому: $HOME
. lib
. Исключение zlib
и вероятно немногие другие.in.
, такой как in.tftpd
.vmlinuz
средства архивировали, но я никогда не видел никакой другой файл, названный этим путем. -f
опция говорит tar
то, что следующим аргументом является имя файла архива или стандартный вывод, если это -
.
Довольно простой. Если Вы опускаете -f
параметр, вывод передается stdout:
gammy@denice:/tmp/demo$ tar -c a b c
a0000644000175000017500000000000011435437117010223 0ustar gammygammyb0000644000175000017500000000000011435437117010224 0ustar gammygammyc0000644000175000017500000000000011435437117010225 0ustar gammygammygammy@denice:/tmp/demo$ ls
a b c
gammy@denice:/tmp/demo$
... какая путаница!
-f
- параметр (когда Вы заключили в кавычки) ожидает имя файла (и дополнительно имя хоста), следовательно первый аргумент после того, как это будет выходное имя файла:
gammy@denice:/tmp/demo$ tar -cf output.tar a b c
gammy@denice:/tmp/demo$ ls
a b c output.tar
gammy@denice:/tmp/demo$
/dev/rmt0
или что-то вроде этого).
– Cristian Ciupitu
27.08.2010, 21:42
Это позволяет Вам указать файл или устройство, с которым Вы собираетесь быть работой. Или создание, обновление или извлечение вещей от него в зависимости от других предоставленных флагов. Например:
# Create a tar file with the contents of somepath/
tar -cvf filename.tar somepath/
# Extract the tar file.
tar -xvf filename.tar