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

Как научиться программировать на Swift Программирование и разработка

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

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

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

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

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

Почему возникает эта ошибка?

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

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

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

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

getconf ARG_MAX

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

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

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

Читайте также:  Функция Vector Push_Back () в C++

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

rm -r /path/to/directory/

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

mkdir

Используя команду find, удалите массовые файлы

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

find . -type f -delete

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

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

find . -name ‘.txt’ -type f -delete

By using loop

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

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

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

Manual Split

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

ls -lrt events1*.log | wc -l

31154

ls -lrt events2*.log | wc -l15941

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

Заключение

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

Оцените статью
bestprogrammer.ru
Добавить комментарий