To pytanie ma już odpowiedź tutaj:
- tar - wyklucz niektóre pliki 1 odpowiedź
Chcę utworzyć archiwum o strukturze katalogów. Wiem, że mogę spakować cały katalog, wykonując tar czvf testdir
lub wszystkie zawarte w nim pliki tar czvf testdir/*
. Chcę jednak wykluczyć wszystkie pliki określonego rozszerzenia, które występują w dowolnym miejscu katalogu. Na przykład chcę spakować wszystkie pliki w tej samej strukturze katalogów, ale pomiń wszystkie .pyc
pliki.
czy to możliwe?
tar --exclude='*.pyc' czvf myFile.tgz testdir/*
?Odpowiedzi:
Tak, jest to możliwe i proste.
Jak wspomniano Hastur, pożądanym poleceniem jest:
tar --exclude='*.pyc' czvf testdir.tgz testdir
I chcę dodać, że jeśli masz pytanie dotyczące dowolnego polecenia terminala, którego używasz w systemie Linux (lub Mac OS X), najlepiej zacząć od oficjalnej dokumentacji. Wpisz,
man tar
a podciągniesz. Można przeglądać strony man (strona obsługi), wpisując/searchterm
(an
w następnym meczu) i można przewijać strony za pomocąf
ab
,d
au
, aj
, ak
w zależności od tego ile chcesz, aby przewinąć w jednym kroku.„Ale w niektórych przypadkach dokumentacja ma kilkadziesiąt lat!” Tak, to jest ... podobnie jak narzędzia, których używasz. Wytrzymali próbę czasu. Naprawdę, strona man powinna zawsze być PIERWSZYM rozwiązaniem, jeśli masz problemy.
Wpisanie,
man tar
a następnie wynik/exclude
:źródło
man <command>