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!