2 Ocak 2020 Perşembe

tar komutu

Giriş
Farklı tar araçları, farklı seçenekler sunabiliyor.

stdin'den okumak
Komutun sonuna "-" karakterini koyarız.

Örnek
Şöyle yaparız. wget -O 'dan sonra gelen "-" karakteri ile stdout'a yazar. tar' da "-" karakter ile stdin'den okur
wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
stdout'a yazmak
Komutun sonuna "-" karakterini koyarız.
Örnek
Şöyle yaparız. Sıkıştırılan dosya stdout'a yazılır. Karşı makineye gönderilir ve stdin'inden okunarak açılır.
$ tar -zcf - -C /path/to/files . | ssh user@host "tar -zx - -C /path/to/destination"
--absolute-names seçeneği
Açıklaması şöyle.
By default, GNU tar drops a leading / on input or output, and complains about file names containing a .. component. There is an option that turns off this behavior:
--absolute-names
-P
Do not strip leading slashes from file names, and permit file names containing a .. file name component.
-b seçeneği
tar komutu ile Sıkıştırma yazısına taşıdım.

-c seçeneği

tar komutu ile Sıkıştırma yazısına taşıdım.

-C seçeneği
tar komutu ile Sıkıştırma yazısına bakabilirsiniz.

Açıklaması şöyle. Dosya açma için kullanıyorsak açmadan önce change directory yapılacak yeri belirtir.
-C, --directory=DIR
Change to DIR before performing any operations. This option is order-sensitive, i.e. it affects all options that follow.
Örnek
Şöyle yaparız.
tar -xzf file.gz -C /opt/jdk
--concatenate seçeneği
İki tane sıkıştırılmamış tar dosyasını birleştirir. Eğer dosya sıkıştırılmış ise hata verir.
Örnek
Hatayı görmek için şöyle yaparız.
$ tar --concatenate --file=cat.tar.bz2 two.tar.bz2 
tar: Cannot update compressed archives
tar: Error is not recoverable: exiting now
--exclude seçeneği
tar komutu ile Sıkıştırma yazısına taşıdım.

-f seçeneği
Kullanılacak dosya ismini belirtir.

-j seçeneği (bzip)
bzip dosyası ile çalışılacağını belirtir. bzip dosyasını açmak için şöyle yaparız
tar xjf file.tar.bz2
-H seçeneği
tar komutu ile Sıkıştırma yazısına taşıdım.

-ignore-zeros seçeneği
Bazen tar dosyalarında EOF yani tar'ın bittiğini belirten işaret yanlış yerde oluyor. Bunu aşmak için şöyle yaparız.
## Show contents of `combined.tar.bz2', bypassing the bad format
$ tar tif combined.tar.bz2
a
b
c
--lzip seçeneği (lzip)
lzip dosyalarını işlemek içindir. Şöyle yaparız.
tar -cvf --lzip /media/my-usb/result.lz /tmp/source-dir
--no-same-owner seçeneği
tar içerdiği dosyaların sahipliğini de saklar. tar dosyasını açarken bu bilgilerin kullanılmamasını sağlar.

--no-same-permissions seçeneği
tar içerdiği dosyaların sahipliğini de saklar. tar dosyasını açarken bu bilgilerin kullanılmamasını sağlar.

-p seçeneği
tar komutu ile Sıkıştırma yazısına taşıdım.

-t seçeneği
Tar dosyasının içini görmek için kullanılır.
Örnek
Elimizde şöyle bir tgaz dosyası olsun
- folder
    - subdir1
      - file1.txt
      - file2.text
    - subdir2
      - file1.txt
Şöyle yaparız.
tar -tf folder.tgz
Çıktı olarak şunu alırız
folder/
folder/subdir1/
folder/subdir1/file1.txt
folder/subdir1/file2.txt
folder/subdir2/
folder/subdir2/file1.txt
Örnek
Şöyle yaparız.
## Show contents of `one.tar.bz2'
$ tar tf one.tar.bz2
a
b
Örnek
Dosyadaki grup/kullanıcı bilgisini görmek için şöyle yaparız.
tar tvf thetarball.tgz | awk '{print $2}' | sort -u
-x seçeneği - Extract
Extract anlamına gelir. Açmak için kullanılır.
Örnek
Açıklaması şöyle. Eğer z seçeneğini sağlamazsak tar açma işleminde dosya tipini uzantıya bakarak anlar.
If you leave out -z from options tar will guess archive type by the file .ext:
Şöyle yaparız
tar -xf multiview_action.tgz
Örnek
Şöyle yaparız. zcat komutu parçalanmış dosyaları birleştirir ve açar, daha sonra tar komutuna geçer. tar komutunda -z veya -f seçeneğini kullanmaya gerek yok.
zcat multiview_action.tgz.part-* | tar -x
Örnek
Şöyle yaparız.
tar -xvf file.tar.gz
Örnek
tar içerdiği dosyaların sahipliğini de saklar. Elimizde 502 numaralı kullanıcıya ait bir dosya içeren şöyle bir tar olsun. Bu dosyayı açınca sistemde 502 numaralı kullanıcı yoksa şöyle bir çıktı alırız.
[root@rocks7 common]# ls -l
-rw-r--r-- 1 root root 4779534 May  2  2012 scalapack-2.0.2.tgz
[root@rocks7 common]# tar xf scalapack-2.0.2.tgz
[root@rocks7 common]# 
[root@rocks7 common]# ls -l
total 98576
drwxr-xr-x 10  502 games     4096 May  2  2012 scalapack-2.0.2
-rw-r--r--  1 root root   4779534 May  2  2012 scalapack-2.0.2.tgz
-v seçeneği
Verbose anlamına gelir. Daha detaylı çıktı verir.
Örnek
Açma esnasında dosyaları görmek için şöyle yapılır
tar xzvf file.tar.gz
-z seçeneği (gzip)
gzip ile sıkıştırır veya gzip ile açar.

Örnek
gzip dosyası ile çalışılacağını belirtir. gzip oluşturmak için şöyle yaparız
tar -czf file.tar.gz .
gzip dosyasını açmak için şöyle yaparız
tar -xzf file.tar.gz .

Hiç yorum yok:

Yorum Gönder