솔루션:/bin/rm: 인수 목록이 너무 깁니다.

솔루션:/bin/rm: 인수 목록이 너무 깁니다.

2022-09-16 last update

5 minutes reading Linux Commands
시간이 지남에 따라 관리되는 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
위의 예에서는 디렉토리에서 파일을 분할하여 명령을 줄이고 오류를 무시합니다.

결론


이 기사에서는 "인수 목록이 너무 깁니다*. 여기에서 우리는 관련된 모든 요점이나 주제에 대해 논의했습니다. 이 기사에서 제공한 모든 정보를 읽는 것을 잊지 마십시오.