Linux Commands

SOLUTION: /bin/rm: argument list too long

Over time the storage used in a managed Linux system also increases. As a result, we try to manipulate files, move, search, delete files, etc., with commands like mv, is, cp, rm, etc. Let’s address the “Argument list too long” problem and find a way to resolve it easily.

The common syntax of this error is something like this.

bash: /usr/bin/rm: Argument list too long

What is an ” argument list too long”?

Inside the command line, When the user exceeds the maximum command-line length allowed after a limit for the arguments in your command, the error that occurs is “Argument list too long.”

Why does this error come?

It hits the ARG_MAX limit when the user enters too many arguments in a single command. Arguments for the exec function may be up to the ARG_MAX maximum length. When an argument list is too long, the user has notified with the “Argument list is too long.” error.

An argument can also be called a command-line argument. To control the command line process, the command is defined through the input given by the user. Specify the arguments in the command line and then enter the arguments in the console or terminal.

SOLUTION: /bin/rm: argument list too long

The “Argument list too long” error does not come, for that the user can find out what the length of the command should be. The operating system determines the length of the command. We can check the maximum arguments limit on Linux systems through the following command.

getconf ARG_MAX

Apart from this, there are many solutions to solve the above error.

Recreate the folder after removing it

Suppose there is a directory that does not contain files that users want to keep. In that case, the fastest and best solution is to delete and recreate that directory. But in this, the user must first make sure that there is no such file in the directory he is deleting which he wants to keep.

A user needs to remove all the files and folders from a directory. In that case, the user can do so by rm command, i.e., wildcard ‘*.’ In this condition, the length of our command becomes very large. To solve this, we can apply just one argument to remove the entire directory simultaneously using the following command.

rm -r /path/to/directory/

If we still have to keep the directory, we can recreate it with the following command.


By using the find command delete mass files

This process is relatively easy, fast, or accurate. Users can search for any file by using the find command and deleting it.

find . -type f -delete

Through the command written above, we can find any file from the directory.

Or, for some specific files, we use the command as follows.

find . -name '.txt' -type f -delete

By using loop

Users can use a loop to delete files inside the folder using the rm command. This method is very slow, due to which it is done less by the users.

for i in * ; do rm ${i} ; done

The above command will delete all the files present in the directory.

Manual Split

Users can execute the command repeatedly by splitting the file into smaller bunches, each with different strings as arguments via ls, wc, mv, cp, rm, etc.

ls -lrt events1*.log | wc -l

ls -lrt events2*.log | wc -l15941

In the above example, we divide the files from a directory to decrease the command and ignore the error.


In this article, we learned the many methods to solve the “argument list too long*. Here we discussed all the related points or topics related to it. Please don’t forget to read through all the information we have given you in this article.

About the author

Prateek Jangid

A passionate Linux user for personal and professional reasons, always exploring what is new in the world of Linux and sharing with my readers.