упаковка всей структуры каталогов, игнорирующая определенный тип файла

упаковка всей структуры каталогов, игнорирующая определенный тип файла

Я хочу создать tarball структуры каталогов. Я знаю, что могу упаковать весь каталог, выполнив tar czvf testdirили все файлы в нем с помощью tar czvf testdir/*. Но я хочу исключить все файлы определенного расширения, которые встречаются где-либо в каталоге. Например, я хочу упаковать все файлы в той же структуре каталогов, но исключить все .pycфайлы.

Это возможно?

решение1

Да, это возможно и просто.

Как упомянул Хастур, вам нужна следующая команда:

tar --exclude='*.pyc' czvf testdir.tgz testdir

И я хочу добавить, что если у вас есть вопрос о любой команде терминала, которую вы используете в Linux (или Mac OS X, если на то пошло), лучше всего начать с официальной документации. Введите man tarи вы ее вытащите. Вы можете выполнить поиск по странице руководства (man page), набрав /searchterm(and nдля следующего совпадения), и вы можете прокручивать страницу, используя fи b, dи u, или jи kв зависимости от того, насколько вы хотите прокрутить за один шаг.

"Но в некоторых случаях документация устарела на десятилетия!" Да, это так... и инструменты, которые вы используете, тоже. Они выдержали испытание временем. На самом деле, man-страница всегда должна быть ПЕРВЫМ средством, если у вас возникли проблемы.

Ввод man tarс последующим /excludeвыполнением:

--exclude=PATTERN
       exclude files, given as a PATTERN

Связанный контент