Поиск по сайту:

РЕШЕНИЕ: /bin/rm: слишком длинный список аргументов


Со временем хранилище, используемое в управляемой системе Linux, также увеличивается. В результате мы пытаемся манипулировать файлами, перемещать, искать, удалять файлы и т. д. с помощью таких команд, как mv, is, cp, rm и т. д. Давайте рассмотрим проблему «слишком длинный список аргументов» и найдем способ ее решения. легко.

Общий синтаксис этой ошибки примерно такой.

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

Что такое «слишком длинный список аргументов»?

Внутри командной строки, когда пользователь превышает максимальную длину командной строки, разрешенную после ограничения аргументов в вашей команде, возникает ошибка «Слишком длинный список аргументов».

Почему появляется эта ошибка?

Он достигает предела ARG_MAX, когда пользователь вводит слишком много аргументов в одну команду. Аргументы для функции exec могут иметь максимальную длину до ARG_MAX. Когда список аргументов слишком длинный, пользователь уведомляет его «Список аргументов слишком длинный». ошибка.

Аргумент также можно назвать аргументом командной строки. Чтобы управлять процессом командной строки, команда определяется через ввод данных пользователем. Укажите аргументы в командной строке, а затем введите аргументы в консоли или терминале.

РЕШЕНИЕ: /bin/rm: слишком длинный список аргументов

Ошибка «Список аргументов слишком длинный» не приходит, для этого пользователь может узнать, какой должна быть длина команды. Операционная система определяет длину команды. Мы можем проверить максимальное ограничение аргументов в системах Linux с помощью следующей команды.

getconf ARG_MAX

Помимо этого, существует множество решений для устранения вышеуказанной ошибки.

Воссоздайте папку после ее удаления

Предположим, есть каталог, не содержащий файлов, которые пользователи хотят сохранить. В этом случае самым быстрым и лучшим решением будет удаление и воссоздание этого каталога. Но в этом пользователь должен сначала убедиться, что в удаляемом им каталоге нет такого файла, который он хочет сохранить.

Пользователю необходимо удалить все файлы и папки из каталога. В этом случае пользователь может сделать это с помощью команды rm, то есть с помощью подстановочного знака «*». В этом случае длина нашей команды становится очень большой. Чтобы решить эту проблему, мы можем применить только один аргумент для одновременного удаления всего каталога, используя следующую команду.

rm -r /path/to/directory/

Если нам все еще нужно сохранить каталог, мы можем воссоздать его с помощью следующей команды.

mkdir

С помощью команды find удалите массовые файлы

Этот процесс относительно прост, быстр и точен. Пользователи могут искать любой файл, используя команду find и удаляя его.

find . -type f -delete

Через команду, написанную выше, мы можем найти любой файл из каталога.

Или для некоторых конкретных файлов мы используем команду следующим образом.

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

Используя цикл

Пользователи могут использовать цикл для удаления файлов внутри папки с помощью команды rm. Этот метод очень медленный, из-за чего пользователи делают его реже.

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

Приведенная выше команда удалит все файлы, присутствующие в каталоге.

Ручное разделение

Пользователи могут многократно выполнять команду, разбивая файл на более мелкие группы, каждая из которых имеет разные строки в качестве аргументов с помощью ls, wc, mv, cp, rm и т. д.

ls -lrt events1*.log | wc -l

31154
ls -lrt events2*.log | wc -l15941

В приведенном выше примере мы разделяем файлы из каталога, чтобы уменьшить команду и игнорировать ошибку.

Заключение

В этой статье мы узнали о многих методах решения проблемы «слишком длинный список аргументов*». Здесь мы обсудили все связанные с этим моменты или темы. Пожалуйста, не забудьте прочитать всю информацию, которую мы дали вам в этой статье.

Статьи по данной тематике: