Почему «tar -exclude» не использует несколько опций?

Глядя на man-страницу для tar, говорится, что --exclude=PATTERN будет « исключать файлы, данные как PATTERN ». Я не уверен, что PATTERN объясняется более подробно в другом месте, но почему пользователь должен предоставить отдельную опцию --exclude для каждого каталога или файла? Например,

 tar cvzf backup.tar.gz / --exclude=/home,/sys,/proc 

в отличие от

 tar cvzf backup.tar.gz / --exclude=/home --exclude=/proc --exclude=/sys 

  • По соглашению, куда пакеты идут, чтобы установить на другие машины?
  • Как отлаживать / проверять файл `--exclude-from` для` tar`?
  • wget загружает tar.gz файл как html?
  • Распаковка с помощью tar: - слишком жадничать: как исключить только файл на уровне корневого уровня?
  • Как подключить передачу файла scp / ssh (pull) через tar (удаленный -> локальный перенос, инициированный с локальной машины)
  • Убирать все PDF-файлы в каталоге, сохраняя структуру каталогов
  • Тар большие файлы в разных каталогах
  • debootstrap завершается частично через "stdin: не в сжатом формате"
  • One Solution collect form web for “Почему «tar -exclude» не использует несколько опций?”

    См. 6.4 Исключение некоторых файлов в руководстве. Помимо принятия нескольких опций --exclude , GNU tar имеет этот параметр для нескольких шаблонов:

    -X , --exclude-from FILE
    исключить шаблоны, перечисленные в FILE

    В руководстве объясняется, что шаблоны являются групповыми символами оболочки.

    Что касается того, почему это делается так: давнее соглашение использует одно значение из параметра командной строки, которое принимает значение. Если бы каждая программа придумала разные способы анализа синтаксических команд, было бы больше работать.

    Linux и Unix - лучшая ОС в мире.