(Diselesaikan) -Bash /bin /mv Daftar argumen terlalu lama

(Diselesaikan) -Bash /bin /mv Daftar argumen terlalu lama

Saat bekerja dengan sejumlah besar file di Linux, tidak jarang menemukan kesalahan "/bin/mv: daftar argumen terlalu lama". Kesalahan ini terjadi saat mencoba memindahkan atau mengganti nama terlalu banyak file sekaligus, dan merupakan batasan sistem operasi yang mendasarinya. Dalam artikel ini, kita akan membahas apa yang menyebabkan kesalahan ini, dan mengeksplorasi cara untuk mengatasinya untuk melakukan operasi file skala besar secara efisien dan tanpa kesalahan. Apakah Anda seorang pemula atau pengguna Linux yang berpengalaman, artikel ini akan memberi Anda wawasan yang berharga untuk mengatasi masalah umum ini.

-bash: /bin /mv: Daftar argumen terlalu lama

Daftar argumen terlalu lama adalah masalah umum dengan pesta yang dapat terjadi ketika Anda memiliki parameter atau argumen baris perintah panjang. Anda mulai menjalankan skrip dan itu melempar kesalahan seperti "perintah tidak valid" atau "terlalu lama". Alasannya adalah bahwa shell sedang mencoba membaca melewati akhir daftar argumen Anda dan tidak ada akhir dari pipa input untuk menunggu. Variabel sistem Arg_max mendefinisikan Panjang argumen karakter maksimum Dalam perintah shell.

Solusinya

Solusi cepatnya adalah menggunakan xargs utilitas baris perintah atau temukan perintah dengan -exec… . Kedua perintah memecah perintah besar menjadi lebih kecil dan menyelesaikan pekerjaan tanpa kesalahan.

  • Solusi 1: Temukan dengan xargs
  • Untuk menyelesaikan masalah ini, Anda dapat menggunakan -print0 opsi dengan "menemukan" perintah dan -0 Opsi dengan perintah "xargs". Ini akan memungkinkan "Xargs" Untuk menangani file dengan spasi atau karakter khusus atas namanya dengan benar, dan juga memungkinkan pemrosesan sejumlah besar file tanpa menemukan kesalahan "Daftar Argumen Terlalu Panjang".

    Inilah contohnya:

    menemukan . -ketik f -name "*.txt "-print0 | xargs -0 mv -t ~/dokumen  

    Dalam contoh ini, opsi -print0 digunakan dengan perintah "temukan" untuk memisahkan file dengan karakter nol alih -alih garis baru, dan opsi -0 digunakan dengan perintah "xargs" untuk menentukan bahwa item input dipisahkan oleh null karakter. Ini memungkinkan "Xargs" untuk menangani sejumlah besar file tanpa menemukan kesalahan "Daftar Argumen Terlalu Panjang".

  • Solusi 2: Temukan dengan Exec
  • Alih -alih menggunakan XArgs, kami juga dapat menggunakan perintah -exec. Di sini temukan akan mencari file dan exec akan menjalankan perintah mv untuk setiap file satu per satu dan memindahkan file ke direktori tujuan.

    menemukan . -Nama '*.txt '-exec mv  ~/ dokumen/ \; 

    Perintah default di atas akan menavigasi secara rekursif ke sub-direktori. Untuk membatasi temuan ke direktori saat ini hanya digunakan -MaxDepth diikuti dengan angka batas untuk sub-direktori.

    menemukan . -Nama '*.txt '-maxdepth 1 -exec mv  ~/ dokumen/ \; 

Kesimpulan

Kesimpulannya, kesalahan "MV: Daftar Argumen Terlalu Panjang" adalah masalah umum saat bekerja dengan sejumlah besar file di Linux. Itu terjadi ketika jumlah file yang diteruskan sebagai argumen ke perintah "mv" melebihi batas maksimum yang diizinkan oleh sistem operasi. Untuk mengatasi masalah ini, kita dapat menggunakan perintah "temukan" dan "xargs" untuk meneruskan sejumlah besar file sebagai argumen ke perintah "mv", atau kita dapat menggunakan alat seperti "paralel" atau "GNU paralel" untuk melakukan besar -MP -Skala Operasi File secara efisien dan tanpa kesalahan.

Memahami penyebab dan solusi untuk kesalahan “/bin/mv: Daftar Argumen Terlalu Panjang” penting bagi siapa saja yang bekerja dengan sejumlah besar file di Linux, dan akan membantu Anda menghindari frustrasi dan membuang -buang waktu saat melakukan operasi file file.