Вопрос о том, имеет ли порядок значение, зависит от того, начинаете ли вы параметры с минуса
$ tar -cfvz casual.tar.gz snapback.txt bucket.txt
tar: casual.tar.gz: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
$ tar cfvz casual.tar.gz snapback.txt bucket.txt
snapback.txt
bucket.txt
. Это необычное поведение задокументировано на странице руководства
Options to GNU tar can be given in three different styles.
In traditional style
...
Any command line words that remain after all options has
been processed are treated as non-optional arguments: file or archive
member names.
...
tar cfv a.tar /etc
...
In UNIX or short-option style, each option letter is prefixed with a
single dash, as in other command line utilities. If an option takes
argument, the argument follows it, either as a separate command line
word, or immediately following the option.
...
tar -cvf a.tar /etc
...
In GNU or long-option style, each option begins with two dashes and
has a meaningful name
...
tar --create --file a.tar --verbose /etc
tar
, что является сокращением от «ленточный архив» примерно до того, как были приняты текущие соглашения, поэтому он сохраняет разные режимы для совместимости.
Итак, чтобы «впитать Linux», я бы предложил несколько начальных уроков:
tar
, ps
работает по-разному в зависимости от того, есть ли минус в начале) xargs -ifoo
отличается от xargs -i foo
) Чтобы добиться желаемого поведения в обычном стиле, поместите имя выходного файла сразу после f
или -f
, например
$ tar -cvzf casual.tar.gz snapback.txt bucket.txt
snapback.txt
bucket.txt
или:
$ tar -c -f casual.tar.gz -z -v snapback.txt bucket.txt
или вы можете использовать менее распространенный, но более простой для чтения длинный стиль GNU:
$ tar --create --verbose -gzip --file casual.tar.gz snapback.txt bucket.txt
Я сделал это, и это сработало
$ nix-env -e gcc && nix-env -i clang