Tar’em all, czyli jak w prosty sposób rozpakowywać pliki w Linuksie
Każdy, kto korzysta z linuksa wie, że istnieje wiele formatów plików spakowanych (zdaje się, że wiedzą to także użytkownicy Windows 😉 ). Nie wiem jak inni, ale ja często zastanawiałem się jakie przełączniki używać to konkretniej „wersji” plików .tar. Oczywiście można za każdym razem zaglądać do manuala polecenia „tar” lub innego „rozpakowywacza”, ale przecież jest to strata czau i w końcu to też się nudzi. Jak zwykle, moje lenistwo wzięło górę, więc postanowiłem sobie zautomatyzować proces wyodrębniania plików z dowolnego achiwum. 😉
Nic nie może się równać z radością z napisania (działającego) skryptu, który ułatwia codzienne wykonywanie czynności. Mnogość rozszerzeń archiwów linuksowych wymusiła zgłębienie się w opcje rozpakowywania najpopularniejszych znanych mi archiwów i wyłuskanie z nich tego, co było mi potrzebne do ułatwienia sobie codziennego życia.
W skrypcie znalazły się więc polecenia do obsługi również archiwów .zip .gzip .rar .7z. Całość prezentuje się zaś następująco:
extract () { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xvjf $1 && cd $(basename "$1" .tar.bz2) ;; *.tar.gz) tar xvzf $1 && cd $(basename "$1" .tar.gz) ;; *.tar.xz) tar Jxvf $1 && cd $(basename "$1" .tar.xz) ;; *.bz2) bunzip2 $1 && cd $(basename "$1" /bz2) ;; *.rar) unrar x $1 && cd $(basename "$1" .rar) ;; *.gz) gunzip $1 && cd $(basename "$1" .gz) ;; *.tar) tar xvf $1 && cd $(basename "$1" .tar) ;; *.tbz2) tar xvjf $1 && cd $(basename "$1" .tbz2) ;; *.tgz) tar xvzf $1 && cd $(basename "$1" .tgz) ;; *.zip) unzip $1 && cd $(basename "$1" .zip) ;; *.Z) uncompress $1 && cd $(basename "$1" .Z) ;; *.7z) 7z x $1 && cd $(basename "$1" .7z) ;; *) echo "don't know how to extract '$1'..." ;; esac else echo "'$1' is not a valid file!" fi }
Dla maksymalnego uproszczenia swojego życia wystarczy wkleić powyższy kod do pliku .bashrc w Waszym katalogu domowym.
Od tego momentu zamiast pisać całe polecenie (pamiętając o odpowiednich przełącznikach, dla odpowiednich plików):
tar xvzf nazwa_pliku.tar.gz
Wystarczy wykonać następujące polecenie:
extract nazwa_pliku
Prawda, że tak jest wygodniej? Chyba nawet bardziej elegancko 😉
Jeśli znacie jakieś inne rozszerzenia i komendy do rozpakowywania spakowanych archiwów w linuksie, dajcie znać i śmiało modyfikujcie sobie powyższą komendę – gdy jej stosowanie wejdzie Wam w krew, życie stanie się o wiele prostsze 😉 Jeśli interesują Was inne Liunksowe zagadnienia, zachęcam do komentowania.
Witam.
W jaki sposób roztarować skryptem 2500 plików z rozszerzeniem .tgz
pętla ;]
jak otworzyć plik z rozszerzeniem .ksi
catem 🙂
You can clearly
I have linux on a stick truncated version
I do not know Linux, but it needs to extract the archive with the extension .KSI
KSI file extension is associated with the Alloy Blending System (ABS) application developed by Keystone Systems that was acquired by Tube City. The .ksi file contains data used by ABS. KSI file is stored in simple text format and it is viewable in the text editor.
KSI jest to archiwum w tym jest zapisane oprogramowanie do Keyboardu, są tam style brzmienia itd. potrzebuje programu który by wypakował tak jak np. Winrar.
Dowiedziałem się że linuxie otwiera sie to bez problemu jako archiwum, ale mam linuxa wersje testową na Pendrive więc może nie ma wszystkich funkcje ?