9 Temmuz 2020 Perşembe

tar komutu İle Sıkıştırma

Giriş
Söz dizimi şöyle
tar+seçenekler+yeni dosya ismi+hariç bırakılacak dosyalar + sıkıştırılacak dosyalar
Açıklaması şöyle.
A simple invocation of tar might be something like: tar cf foo.tar file1 file2 file3. This tells tar to create an archive in a file named foo.tar containing file1, file2 and file3. (Note that with tar, the - before the "command" arguments is optional, so you can use cf or -cf as you see fit).
-b seçeneği
Açıklaması şöyle
tar archives have a minimum size of 10240 bytes by default; see the GNU tar manual for details (but this is not GNU-specific).
Örnek
Şöyle yaparız
With GNU tar, you can reduce this by specifying either a different block size, or different block factor, or both:
Şöyle yaparız
tar -cv -b 1 -f file.tar file.txt
-c seçeneği
compress anlamına gelir.

-C seçeneği
Açıklaması şöyle. Sıkıştırmanda ö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
Örnek
Şöyle yaparız.
$ tar -zcf - -C /path/to/files . | ssh user@host "tar -zx - -C /path/to/destination"
Eğer bu seçeneği kullanmazsak dosyaları şöyle elde ederiz. Yani tüm dosya yolu gönderilir. Ancak bu seçeneği kullanırsak sadece dosya ismi gönderilir.
/path/to/files/index.html --> /path/to/destination/path/to/files/index.html
Şunu elde ederiz.
/path/to/destination/index.html
--exclude seçeneği
Örnek
İstersek bir sürü exclude dizini verebiliriz. Şöyle yaparız.
tar -cvpzf /media/username/TOSHIBA\ EXT/root_copy/root-copy.tar.gz --exclude='/mnt' 
  --exclude='/run' --exclude='/proc' --exclude='/sys' --exclude='/media' --exclude='/dev'
  --exclude='/lost+found' --exclude='/tmp' --exclude='/boot' --exclude=".*lost+found" 
  / 2> /root/tar-errors.txt
Örnek
Şöyle yaparız.
-c compress anlamına gelir.
-v verbose anlamına gelir
-p preserve permissions anlamına gelir.
-z gzip kullanılacağı anlamına gelir
-f oluşturulacak dosya ismini belirtir.

Sıkıştırılacak dosyalar için / yolu verildiği için altındaki /backup/mybackup.tar.gz dosyasını hariç bırakmak için kullanılır.
tar -cvpzf mybackup.tar.gz --exclude=/backup/mybackup.tar.gz --one-file-system /
-f seçeneği
Oluşturulacak dosyayı belirtir. Açıklaması şöyle. Dosya isminde ":" karakteri varsa uzak bilgisayar gibi algılanır. Bunu engellemek için --force-local seçeneği kullanılabilir.
-f, --file=ARCHIVE

Use archive file or device ARCHIVE. […]

An archive name that has a colon in it specifies a file or device on a remote machine. The part before the colon is taken as the machine name or IP address, and the part after it as the file or device pathname […]
--force-local seçeneği
Açıklaması şöyle
Archive file is local even if it has a colon.

-g seçeneği
Incremental tar dosyayı yaratmak içindir ancak kullanılması tavsiye edilmiyor.
Örnek
Önce şöyle yaparız.
tar -cg data.inc -f DATE-data.tar /path/to/data
Daha sonra şöyle yaparız.
tar -cg data.inc -f NEWDATE-data.tar /path/to/data
-H seçeneği
tar dosyasındaki timestamp'in saniye yerine nanosaniye olarak saklanmasını sağlar. Şöyle yaparız.
tar cfH archive.tar posix ...
-p seçeneği
 preserve permissions anlamına gelir.


-v seçeneği
Verbose anlamına gelir. Daha detaylı çıktı verir.

-z seçeneği (gzip)
gzip ile sıkıştırır veya gzip ile açar.

Hiç yorum yok:

Yorum Gönder