GNU/Linux >> Belajar Linux >  >> Linux

Temukan file dan tar (dengan spasi)

Mungkin ada cara lain untuk mencapai apa yang Anda inginkan. Pada dasarnya,

  1. Gunakan temukan perintah untuk menampilkan jalur ke file apa pun yang Anda cari. Alihkan stdout ke nama file yang Anda pilih.
  2. Kemudian tar dengan opsi -T yang memungkinkan untuk mengambil daftar lokasi file (yang baru saja Anda buat dengan find!)

    find . -name "*.whatever" > yourListOfFiles
    tar -cvf yourfile.tar -T yourListOfFiles
    

Gunakan ini:

find . -type f -print0 | tar -czvf backup.tar.gz --null -T -

Itu akan:

  • menangani file dengan spasi, baris baru, tanda hubung di depan, dan kelucuan lainnya
  • menangani file dalam jumlah tak terbatas
  • tidak akan berulang kali menimpa backup.tar.gz Anda seperti menggunakan tar -c dengan xargs akan dilakukan ketika Anda memiliki banyak file

Lihat juga:

  • Manual tar GNU
  • Bagaimana cara membuat tar dari stdin?, cari null

Linux
  1. Cara Menemukan File Dengan Izin SUID dan SGID di Linux

  2. Gunakan grep untuk menemukan konten dalam file dan memindahkannya jika cocok

  3. Temukan dan salin file

  1. Temukan file dan direktori di Linux dengan perintah find

  2. Ulangi daftar file dengan spasi

  3. Menghapus file dengan rm menggunakan find dan xargs

  1. Cara Menemukan file besar linux dengan perintah find dan du

  2. temukan dan hapus file dengan ruang menggunakan perintah find di Linux

  3. Temukan banyak file dan ganti namanya di Linux