Jestem pewien, że nie jestem jedynym, który ma następujący problem: za każdym razem, gdy muszę rozpakować plik w * nix, nie pamiętam wszystkich przełączników, i w końcu googluję, co jest zaskakujące, biorąc pod uwagę, jak często muszę Zrób to.
Czy masz dobry ściągacz na kompresję? A może mnemonik dla wszystkich tych paskudnych przełączników w tar?
Robię ten artykuł wiki, abyśmy mogli tutaj stworzyć fajną ściągę.
Aha, a jeśli chodzi o strony podręcznika: czy jest jedna rzecz, dla której nie są one pomocne, chodzi o to, aby dowiedzieć się, jak rozpakować plik.
Odpowiedzi:
A może skorzystasz z powłoki z zaawansowanymi funkcjami uzupełniania (takimi jak Zsh lub świeże wersje bash), które uzupełnią opcje za Ciebie, z kompleksową pomocą? :))
Jeśli chodzi o tar: wystarczy spojrzeć na klawiaturę „qwerty”. Obok siebie znajdują się litery „zxcvf”. Potrzebujesz albo „plików tar czvf file.tar.gz” lub „tar xzvf file.tar.gz”.
źródło
z
opcja (lubj
opcja.bz2
plików) nie jest potrzebna podczas wypakowywania z nowoczesnymi wersjami tar. Automatycznie rozpakowuje plik.Podsumowanie opcji smoły
Zapraszamy wszystkich do edycji tego, aby dodać więcej ezoterycznych przełączników, ale oto podstawy:
Przykłady
Rozpakuj plik tar.gz: tar zxf tarball.tar.gz
Rozpakuj plik tar.bz2: tar jxf tarball.tar.bz2
Utwórz plik tar.gz: tar zcvf tarvall.tar.gz mój_katalog / *
źródło
Istnieje mały skrypt Perla o nazwie „unp”.
... i wyciąga wszystko. Działa z każdym skompresowanym plikiem, o ile masz odpowiednie pliki binarne. I po prostu zapominasz o składni lub jakimkolwiek badziewiu. Sprawdź repozytoria dystrybucji Linuksa. Powinno tam być (przynajmniej na Arch, Debian i Ubuntu).
źródło
Naprawdę przy częstym używaniu robię różnicę między wydobywaniem (x) danych a kompresowaniem (c) danych:
Wyciągać:
Aby skompresować:
Ponadto możesz dodać dwie funkcje również do swojego .bashrc:
Jest jeszcze jedna fajna funkcja wyodrębniania, która wykrywa rozszerzenie skompresowanego pliku i wykonuje zadanie za Ciebie:
źródło
Po prostu wpisz,
tar --help
a znajdziesz swoją ściągawkę.źródło
Jeśli masz problemy z zapamiętywaniem opcji tar, spróbuj użyć rur:
zcat file.tar.gz | tar xvf -
bzcat file.tar.bz2 | tar xvf -
Wymień
tar xv
siętar tv
po prostu zobaczyć zawartość archiwum za.Osobiście używam następujących mnemoników:
Chociaż „j” i „bzip2” wydają się nie mieć ze sobą nic wspólnego, z łatwością pamiętam ten wyjątek.
Zabawne jest też to, że Googling zastąpił „man tar”.
źródło
f
opcję: dopiero niedawno domyślna dystrybucja tar jest domyślnaf -
,f /dev/rmt0
lub podobna. W końcu smoła jest urządzeniem ARCHiver.Mężczyzna jest twoim przyjacielem.
man tar
źródło
Trzy najczęściej używane operacje :
Utwórz nowe archiwum tar.
Wyświetl zawartość archiwum.
Wyodrębnij jednego lub więcej członków z archiwum.
Pięć zaawansowanych operacji tar :
Dodaj nowe wpisy do archiwum, które już istnieje.
Dodaj nowsze kopie elementów archiwalnych na końcu archiwum, jeśli istnieją.
Dodaj jedno lub więcej istniejących archiwów na końcu innego archiwum.
Usuń elementy z archiwum (nie działa na taśmach).
Porównaj członków archiwum z odpowiednikami w systemie plików.
źródło
Zawsze piszę polecenia podczas pisania
skompresuj pełny plik zip
wypakuj pełny plik zip PLIK
źródło
Robię następujące
Aby utworzyć tar:
Aby rozpakować:
Powinny to być główne przełączniki, o które należy się martwić:
Możesz robić bardziej wymyślne rzeczy, takie jak tar i untar inline, podczas próby przenoszenia plików między katalogami, takich jak:
źródło
90% czasu po prostu używam
x: wyodrębnij
v: bądź pełny (opcjonalnie)
f: plik wejściowy (tar, gz, bzip2 itp.)
Łatwe, co? :)
Użyj Fileroller lub Ark, jeśli nie jesteś w konsoli.
źródło
Od wielu lat korzystam ze skryptu Perla
aunpack
, który jest częścią projektu atool . Więc wystarczy uruchomić:aunpack foo.{zip/tar.gz/tar.bz2}
i robi to poprawnie na podstawie rozszerzenia pliku.Inną zaletą
aunpack
jest to, że nie zanieczyszcza bieżącego katalogu dużą ilością plików. Powiedzmy, że jest 20 plikówfoo.zip
, które nie znajdują się w podkatalogu. Zamiast wyrzucać te pliki do bieżącego katalogu,aunpack
utworzyfoo
podkatalog i umieści tam wszystkie pliki.źródło
Wszystko czego potrzebujesz to
tar x
(wyciąg ze standardowego wejścia),tar c
(tar do standardowego),gzip -c
(gzip ze standardowego standardowego standardu;-1
do-9
poziomów kompresji; to samo dotyczybzip2
) igunzip -c
(gunzip standardowego standardowego standardowego standardu) - wszystko inne to rury.Aby tar i gzip:
Aby rozpakować i rozpakować
Jeśli chcesz słodkie paski postępu, użyj pv, który jest podobny do cat, ale pokazuje paski postępu:
źródło
Myślę, że łatwo jest wymyślić, czego chcesz, a nie tylko kilka liter.
Aby to zilustrować, wykorzystam przykład wyodrębnienia file.tar.gz:
Ponieważ jest to plik tar, powinieneś użyć programu tar. To są opcje:
Jest to pokazane w poniższym przykładzie:
źródło
Pamiętam, że zawsze jest to „tar XXvf”, gdzie znajdują się dwa X-y
Czasami natrafiasz na skompresowane, ale nieszeregowane pliki, w których dodajesz un do dowolnego typu kompresji. np. g un zip lub b un zip2.
Jeśli już, to zapominam 2 i czasami piszę „bzip”.
źródło
możesz także utworzyć alias. po prostu dodaj te dwa wiersze do swojego
~/.bash_aliases
pliku:następnie możesz użyć
untar foo.tar.gz
do wyodrębnienia idotar foo.bar
kompresji. możesz użyć innych aliasów, które są łatwe do zapamiętania.źródło
P rzyłącz Z ip do F nazwa pliku
e X tract Z ip z nazwą F
źródło