기계적 인조 인간

리눅스에서 디렉토리를 제거하는 방법

Mình là gì của nhau | Lou Hoàng | Official MV 4K | Nhạc trẻ hay mới nhất

Mình là gì của nhau | Lou Hoàng | Official MV 4K | Nhạc trẻ hay mới nhất

차례:

Anonim

Linux 시스템에서 디렉토리를 제거하는 방법에는 여러 가지가 있습니다. Gnome 's Files 또는 KDE 's Dolphin과 같은 데스크탑 파일 관리자를 사용하는 경우 관리자의 그래픽 사용자 인터페이스를 사용하여 파일 및 디렉토리를 삭제할 수 있습니다. 그러나 헤드리스 서버에서 작업 중이거나 한 번에 여러 디렉토리를 제거하려는 경우 명령 행에서 디렉토리 (폴더)를 삭제하는 것이 가장 좋습니다.

rmdir , rm find 명령을 사용하여 Linux에서 디렉토리를 삭제하는 방법에 대해 설명합니다.

시작하기 전에

데스크탑 파일 관리자를 사용하여 디렉토리를 제거하면 디렉토리는 실제로 휴지통으로 이동하여 쉽게 복구 할 수 있습니다.

설명 된 명령을 사용하여 디렉토리를 삭제하면 완전히 복구 할 수 없으므로 명령 행에서 파일 또는 디렉토리를 제거 할 때 특히주의하십시오.

대부분의 Linux 파일 시스템에서 디렉토리를 삭제하려면 디렉토리 및 해당 컨텐츠에 대한 쓰기 권한이 필요합니다. 그렇지 않으면 "작업이 허용되지 않습니다"오류가 발생합니다.

공백이있는 디렉토리 이름은 백 슬래시 ( / )로 이스케이프해야합니다.

rmdir 하여 rmdir 제거

rmdir 은 빈 디렉토리를 삭제하기위한 명령 줄 유틸리티입니다. 디렉토리가 비어 있는지 여부를 확인할 필요없이 비어있는 경우에만 디렉토리를 삭제하려는 경우에 유용합니다.

rmdir 로 디렉토리를 삭제하려면 제거 할 디렉토리 이름 뒤에 명령을 입력하십시오. 예를 들어, dir1 이라는 디렉토리를 삭제하려면 다음을 입력하십시오.

rmdir dir1

디렉토리가 비어 있지 않으면 다음 오류가 발생합니다.

rmdir: failed to remove 'dir1': No such file or directory

이 경우, 삭제하기 전에 rm 명령을 사용하거나 디렉토리 내용을 수동으로 제거해야합니다.

rm 하여 디렉토리 제거

rm 은 파일과 디렉토리를 삭제하기위한 명령 줄 유틸리티입니다. rmdir 과 달리 rm 명령은 비어있는 디렉토리와 비어 있지 않은 디렉토리를 모두 삭제할 수 있습니다.

기본적으로 rm 옵션없이 사용하면 디렉토리가 제거되지 않습니다. 빈 디렉토리를 삭제하려면 -d ( --dir ) 옵션을 사용하고 비어 있지 않은 디렉토리를 삭제하고 모든 내용은 -r ( --recursive 또는 -R ) 옵션을 사용하십시오.

예를 들어 dir1 이라는 디렉토리를 모든 내용과 함께 삭제하려면 다음을 입력하십시오.

rm -r dir1

디렉토리 또는 디렉토리 내의 파일이 쓰기 방지 된 경우 삭제 확인 메시지가 표시됩니다. 프롬프트없이 디렉토리를 제거하려면 -f 옵션을 사용하십시오.

rm -rf dir1

한 번에 여러 디렉토리를 제거하려면 rm 명령과 디렉토리 이름을 공백으로 구분하여 사용하십시오. 아래 명령은 나열된 각 디렉토리와 해당 내용을 제거합니다.

rm -r dir1 dir2 dir3

-i 옵션은 rm 에게 각 서브 디렉토리 및 파일의 삭제를 확인하는 프롬프트를 표시합니다. 디렉토리에 많은 파일이 포함되어 있으면 약간 성 가실 수 있으므로 -I 옵션을 사용하여 삭제를 진행하기 전에 한 번만 프롬프트하는 것을 고려할 수 있습니다.

rm -rI dir1

디렉토리를 제거하려면 y Enter 하고 Enter 누르 Enter .

rm: remove 1 argument recursively? y

정기적 인 확장을 사용하여 여러 디렉토리를 일치시키고 삭제할 수도 있습니다. 예를 들어, 현재 디렉토리에서 _bak 끝나는 모든 첫 번째 레벨 디렉토리를 제거하려면 다음 명령을 사용하십시오.

rm -r *_bak

디렉토리를 제거 할 때 정기적 인 확장을 사용하면 위험 할 수 있습니다. rm 명령을 실행하기 전에 삭제할 디렉토리를 볼 수 있도록 ls 명령으로 디렉토리를 먼저 나열하는 것이 좋습니다.

find 디렉토리 제거

find 는 주어진 표현식을 기반으로 파일 및 디렉토리를 검색하고 일치하는 각 파일 또는 디렉토리에 대한 조치를 수행 할 수있는 명령 행 유틸리티입니다.

가장 일반적인 시나리오는 find 명령을 사용하여 패턴을 기반으로 디렉토리를 삭제하는 것입니다. 예를 들어, 현재 작업 디렉토리에서 _cache 로 끝나는 모든 디렉토리를 삭제하려면 다음을 실행하십시오.

find. -type d -name '*_cache' -exec rm -r {} +

위의 명령을 분석해 봅시다:

  • /dir 현재 작업 디렉토리 ( . )에서 재귀 적으로 검색합니다. -type d 검색을 디렉토리로 제한합니다. -name '*_cache' 끝나는 디렉토리 만 검색 _cache 선택적 인수를 사용하여 외부 명령을 실행합니다 (이 경우 rm -r . {} + -찾은 파일을 rm 명령의 끝에 추가합니다.

모든 빈 디렉토리 제거

디렉토리 트리에서 빈 디렉토리를 모두 제거하려면 다음을 사용하십시오.

find /dir -type d -empty -delete

사용 된 옵션에 대한 설명은 다음과 같습니다.

  • /dir /dir 디렉토리에서 재귀 적으로 검색합니다. -type d 검색을 디렉토리로 제한합니다. -empty 검색을 빈 디렉토리로만 제한합니다. -delete 서브 트리에서 발견 된 모든 빈 디렉토리를 삭제합니다. -delete 는 빈 디렉토리 만 삭제할 수 있습니다.

주의해서 -delete 옵션을 사용하십시오. find 명령 행은 표현식으로 평가되며 -delete 옵션을 먼저 추가하면 명령이 지정한 시작점 아래의 모든 항목을 삭제합니다. 항상 -delete 를 마지막 옵션으로 사용하고 삭제하기 전에 -delete 옵션없이 명령을 먼저 테스트하십시오.

/ bin / rm: 인수 목록이 너무 깁니다

이 오류 메시지는 rm 명령을 사용하여 많은 수의 파일이 포함 된 디렉토리를 제거 할 때 나타납니다. 파일 수가 명령 행 인수 크기의 시스템 한계보다 크기 때문에 발생합니다.

이 문제에 대한 여러 가지 해결책이 있습니다. 예를 들어, 디렉토리로 수동으로 또는 루프를 사용하여 하위 디렉토리를 하나씩 제거 할 수 있습니다.

가장 쉬운 해결책은 먼저 find 명령을 사용하여 디렉토리 내의 모든 파일을 삭제 한 다음 디렉토리를 삭제하는 것입니다.

find /dir -type f -delete && rm -r /dir

결론

rm find 를 사용하면 다양한 기준에 따라 빠르고 효율적으로 디렉토리를 삭제할 수 있습니다.

디렉토리를 삭제하는 것은 간단하고 쉬운 프로세스이지만 중요한 데이터를 삭제하지 않도록주의해야합니다.

rm rmdir 찾기 터미널