Find komutu bu çıktıyı verir:
[root @ localhost /] # var var / log / -iname anaconda. * var / log / anaconda.log var / log / anaconda.xlog var / log / anaconda.yum.log var / log / anaconda.syslog var / log / anaconda.program.log var / log / anaconda.storage.log
Tar ile birleştirdikten sonra bu çıktı gösteriliyor:
[root @ localhost /] # var var / log / -iname anaconda. * -exec tar -cvf file.tar {} \; var / log / anaconda.log var / log / anaconda.xlog var / log / anaconda.yum.log var / log / anaconda.syslog var / log / anaconda.program.log var / log / anaconda.storage.log
Ancak tar dosyasını listelerken sadece bir dosya gösteriliyor.
[root @ localhost /] # tar -tvf dosyası.tar -rw ------- root / root 208454 2012-02-27 12:01 var / log / anaconda.storage.log
Neyi yanlış yapıyorum burada?
Xargs ile bu çıktıyı alıyorum:
[root @ localhost /] # bulmak var / log / -iname anaconda. * | xargs tar -cvf dosyası1.tar
İkinci soru
Var önünde / önünde yazarken , find /var/log
neden bu mesaage tarını verdiğini belirtir : Başlıca `/ 'yi üye adlarından çıkarmak
[root @ localhost /] # find / var / log / -iname anaconda. * -exec tar -cvf file.tar {} \; tar: Başlıca `/ 'yi üye adlarından çıkarma /var/log/anaconda.log tar: Başlıca `/ 'yi üye adlarından çıkarma /var/log/anaconda.xlog tar: Başlıca `/ 'yi üye adlarından çıkarma /var/log/anaconda.yum.log tar: Başlıca `/ 'yi üye adlarından çıkarma /var/log/anaconda.syslog tar: Başlıca `/ 'yi üye adlarından çıkarma /var/log/anaconda.program.log tar: Başlıca `/ 'yi üye adlarından çıkarma /var/log/anaconda.storage.log
Basit bir biçimde, takip eden ikisi arasındaki fark nedir?
find var/log
ve find /var/log
{} +
Bunun yerine kullanırsanız {} \;
buluntu sonuçlarını tek bir argüman olarak gruplandırırsınız
find
komutla ileri giderken , arama terimini alıntılamalısınız. Bazen olmadan çalışır ama her zaman değil.