Thông thường chúng ta hay dùng lệnh "rm" để thực hiện xóa file trong hệ thống Linux. Tuy nhiên trường hợp có quá nhiều file chúng ta sẽ gặp lỗi Argument list too long. Trong bài viết này iNET sẽ hướng dẫn các bạn cách thực hiện xóa file khi gặp lỗi trên.

1. Lỗi Argument list too long là gì?

 

Lỗi "Argument list too long" khi xóa file xảy ra khi số lượng file quá lớn hoặc độ dài của danh sách tham số vượt quá giới hạn của hệ thống.

[root@giamsat tmp]# rm -rf webhooks.*
-bash: /bin/rm: Argument list too long

2. Hướng dẫn xử lý lỗi Argument list too long

 

iNET sẽ hướng dẫn các bạn sử dụng lênh find để xóa khi số lượng file quá lớn.

Xóa tất cả các file trong thư mục:

find /duong_dan_thu_muc -type f  -exec rm -f {} \;

Xóa file với điều kiện (ví dụ các file có đuôi .txt):

find /duong_dan_thu_muc -type f -name ".txt" -exec rm -f {} \;

Ví dụ iNET sẽ thực hiện xóa các file có tiền tố là inet.com.*:

[root@giamsat tmp]# rm -rf inet.com.* ## Dùng lệnh rm bị lỗi
-bash: /bin/rm: Argument list too long

[root@giamsat tmp]# find -type f -name "inet.com.*" -exec rm -f {} \; ## Dùng lệnh find thực hiện thành công
You have mail in /var/spool/mail/root

3. Lời kết

Lỗi "Argument list too long" thường xảy ra khi chúng ta không để cơ chế xóa file log hợp lý dẫn đến server bị đầy dung lượng và gặp khó khăn trong quá trình xử lý. Vì vậy các Quản trị viên cần đặt lịch xóa file log thường xuyên để tránh server bị đầy dung lượng dẫn đến gián đoạn dịch vụ.

Chúc các bạn thực hiện thành công!