NixOS Ruby Development - Установка всех необходимых библиотек devkit и заголовков для создания собственных расширений

Вопрос о том, имеет ли порядок значение, зависит от того, начинаете ли вы параметры с минуса

$ 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

1
11.04.2018, 16:10
1 ответ

Я сделал это, и это сработало

$ nix-env -e gcc && nix-env -i clang

0
28.01.2020, 00:37

Теги

Похожие вопросы