tar Komutu
Linux dünyasında arşivler ve sıkıştırılmış dosyalar pek çok farklı amaçla kullanılmaktadır. Bu yazıda, tar
komutu örneklerini inceleyeceğiz. tar
kullanarak; "gzip", "bzip2" ve "xz" ile "tarball'lar" oluşturacağız.
tar Komutu Örnekleri
Kılavuz sayfasında belirtildiği gibi; "GNU tar", birçok dosyayı birlikte tek bir teyp veya disk arşivine kaydeder ve arşivden tek tek dosyaları geri yükleyebilir. tar
, "Tape Archive (Teyp Arşivi)" anlamına gelir. Bir tar dosyasını sıkıştırarak tar.gz
uzantılı dosyalar elde edebilirsiniz. Bu tür sıkıştırılmış arşiv dosyaları "tarball" olarak bilinir.
tar Komutu ile Arşiv Oluşturmak
Önce birkaç dosya oluşturalım. I/O yönlendirmesi ile bir text dosyası ve dd
komutu ile bir data dosyası oluşturalım:
[root@gnuadmin ~]# cat /var/log/lastlog > last.log
[root@gnuadmin ~]# journalctl > system_logs
[root@gnuadmin ~]# dd if=/dev/urandom of=data_file bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 3,47781 s, 30,2 MB/s
[root@gnuadmin ~]# ls -lh
total 101M
-rw-r--r--. 1 root root 100M Jan 13 22:55 data_file
-rw-r--r--. 1 root root 286K Jan 13 22:52 last.log
-rw-r--r--. 1 root root 70K Jan 13 22:51 system_logs
Şimdi de bu dosyaları bir "tar arşivive" ekleyelim:
[root@gnuadmin ~]# tar -cf my_archive.tar last.log data_file system_logs
[root@gnuadmin ~]# tar -cvf my_verbose.tar last.log data_file system_logs
last.log
data_file
system_logs
tar
komutunun "-c" opsiyonu, "create" anlamına gelir. "-f" ise, oluşturacağınız arşivin adını belirtmenizi sağlar. Komutun devamında yer alan argümanlar ise, arşive eklenecek dosyaları belirtmektedir. Eğer arşivin oluşturulması sırasında, işlenen dosyaları tek tek görmek isterseniz "-v" ile "verbose" edebilirsiniz.
tar Arşivindeki Dosyaları Listelemek
tar -tvf
komutu ile, tar arşivindeki dosyaları listeleyebilirsiniz:
[root@gnuadmin ~]# tar -tvf my_archive.tar
-rw-r--r-- root/root 292000 2022-01-13 22:52 last.log
-rw-r--r-- root/root 104857600 2022-01-13 22:55 data_file
-rw-r--r-- root/root 70933 2022-01-13 22:51 system_logs
tar Arşivinden Dosya Çıkarma
tar -xf
komutu ile, tar arşivindeki dosyaları çıkarabilirsiniz:
[root@gnuadmin ~]# ls -l
total 205520
-rw-r--r--. 1 root root 105226240 Jan 13 22:58 my_archive.tar
-rw-r--r--. 1 root root 105226240 Jan 13 22:58 my_verbose.tar
[root@gnuadmin ~]# tar -xf my_archive.tar
[root@gnuadmin ~]# ls -l
total 308280
-rw-r--r--. 1 root root 104857600 Jan 13 22:55 data_file
-rw-r--r--. 1 root root 292000 Jan 13 22:52 last.log
-rw-r--r--. 1 root root 105226240 Jan 13 22:58 my_archive.tar
-rw-r--r--. 1 root root 105226240 Jan 13 22:58 my_verbose.tar
-rw-r--r--. 1 root root 70933 Jan 13 22:51 system_logs
tarball Oluşturmak
tar arşivlerinizi sıkıştırarak "tarball" oluşturabilirsiniz.
gzip Algoritması ile
Sıkıştırmada "gzip" algoritmasını kullanmak isterseniz, "-z" opsiyonunu kullanabilirsiniz:
bzip2 Algoritması ile
Sıkıştırmada "bzip2" algoritmasını kullanmak isterseniz, "-j" opsiyonunu kullanabilirsiniz:
Not: Eğer "tar (child): bzip2: Cannot exec: No such file or directory" hatası alırsanız, sisteminize "bzip2" paketini kurmanız gerekmektedir.
xz Algoritması ile
Sıkıştırmada "xz" algoritmasını kullanmak isterseniz, "-J" opsiyonunu kullanabilirsiniz: