GNU/Linux >> Belajar Linux >  >> Linux

Cara Memindahkan Banyak File di Linux

Untuk memindahkan file dari satu direktori ke direktori lain, tombol ‘mv ' perintah digunakan di Linux. Perintah ini tersedia di Linux secara default dan dapat digunakan untuk memindahkan file serta direktori.

Sintaks yang digunakan untuk perintah mv adalah:

$ mv file1 file2 /tmp

Jika kita ingin memindahkan file, katakanlah, ekstensi yang sama (Misalnya txt ) atau yang diberi nomor secara bertahap (Misalnya file_1 , file_2 , dll.), karakter pengganti dapat digunakan untuk menentukan semua file tersebut alih-alih mengetik setiap nama.

$ mv *.txt /tmp
$ mv file_* /tmp

Pada dasarnya, 'mv ' dapat memiliki sejumlah argumen, yang merupakan file atau direktori yang akan dipindahkan. Argumen terakhir adalah direktori target di mana mereka akan dipindahkan.

Masalah dengan Memindahkan Banyak File

Sistem Linux memiliki batas yang telah ditentukan pada jumlah maksimum argumen yang dapat digunakan dengan satu perintah. Batas ini bervariasi dari sistem ke sistem berdasarkan ukuran tumpukan.

Jadi, jika jumlah file yang sangat tinggi ditentukan dengan wildcard dengan 'mv ', Mis. lebih dari seratus ribu file, itu menimbulkan kesalahan:“Daftar argumen terlalu panjang ”.

Misalnya, pada gambar di bawah, folder tersebut berisi 253420 file. Jadi, ini memberikan kesalahan yang disebutkan di atas saat kami mencoba memindahkannya.

$ ls -l | wc -l
$ ls | head -1000
$ mv file_* /tmp

Solusi:Gunakan Perintah 'Temukan'

Untuk mengatasi masalah ini, kami menggunakan 'temukan ' memerintah. 'menemukan ' perintah pada dasarnya mencari file dalam direktori berdasarkan parameter yang berbeda.

Kami menjalankan 'temukan ' di direktori yang sama dengan file yang ingin kita pindahkan. Kemudian kita menggunakan '-exec' parameter ‘temukan ' yang akan memungkinkan Anda menjalankan perintah apa pun di atas output find.

Kami menjalankan 'mv ' dengan '-exec' parameter.

$ find . -name "file_*" -exec mv  {} /tmp \;

Di sini, argumen pertama, '.' ((dot) direktori saat ini) adalah direktori tempat menemukan file. Argumen “-name” dan string setelah itu menentukan ekspresi menggunakan file yang diperlukan yang dapat dicantumkan.

Kemudian kita tentukan 'mv ' perintah setelah argumen '-exec' . Tanda kurung buka '{ }' adalah tempat untuk argumen yang akan digunakan dari output find.

Anda dapat mengonfirmasi dengan menjalankan yang berikut ini dan memverifikasi bahwa file telah berhasil dipindahkan ke ‘/tmp’ .

$ ls -l /tmp | wc -l

Bacaan Terkait :Cara Menyalin Banyak File di Linux

Kesimpulan

Dalam artikel ini, kita telah melihat cara memindahkan sejumlah besar file dari satu direktori ke direktori lain, dan berhasil melewati 'Daftar argumen terlalu panjang ' kesalahan di Linux.

Jika Anda memiliki umpan balik atau pertanyaan, beri tahu kami di komentar di bawah!


Linux
  1. Cara Meningkatkan Jumlah Batas File Terbuka di Linux

  2. Cara Mengganti Nama File di Linux

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

  1. Cara Membuat Zip Banyak File di Linux

  2. Bagaimana saya bisa memindahkan file dengan xargs di Linux?

  3. Bagaimana cara memindahkan partisi di GNU/Linux?

  1. Cara memindahkan file di Linux

  2. Cara menemukan file di Linux

  3. Cara Mengekstrak File di Linux