먼저 아래와 같이 sudo를 붙여서 root 권한으로 삭제를 해보시기 바랍니다. $ sudo rm -rf [디렉토리명] 그래도 안되시면 혹시 해당 디렉토리 안의 파일을 열고있는 프로그램이 있는지 확인해봐야 할 것 같은데요 먼저 아래와 같이 먼.. Show 먼저 아래와 같이 sudo를 붙여서 root 권한으로 삭제를 해보시기 바랍니다.
그래도 안되시면 혹시 해당 디렉토리 안의 파일을 열고있는 프로그램이 있는지 확인해봐야 할 것 같은데요 먼저 아래와 같이 먼저 lsof 명령을 이용하여 해당 디렉토리 안에 있는 파일을 사용중인 프로그램이 있는지 확인합니다.
위 명령을 실행했을 때 아래와 같은 식으로 결과가 나올 수 있습니다.
위 결과를 보면 Sublime Text 프로그램이 디렉토리 안의 숨겨진 파일을 열고 있는 것을 확인할 수 있습니다. 그리고 프로세스 ID가 1388인 것을 확인할 수 있습니다. 이 프로세스를 아래와 같이 kill 명령으로 죽입니다.
이런 식으로 파일을 열고 있는 프로세스를 모두 죽이고 나서 다시 디렉토리를 삭제해 보시기 바랍니다. 위와 같이 해보시고 그래도 안되시면 댓글 남겨 주시기 바랍니다. Linux 시스템에서 디렉터리를 제거하는 방법에는 여러 가지가 있습니다. Gnome's Files 또는 KDE Dolphin과 같은 데스크톱 파일 관리자를 사용하는 경우 관리자의 그래픽 사용자 인터페이스를 사용하여 파일 및 디렉터리를 삭제할 수 있습니다. 그러나 헤드리스 서버에서 작업 중이거나 여러 디렉토리를 한 번에 제거하려면 명령줄에서 디렉토리(폴더)를 삭제하는 것이 가장 좋습니다. rmdir, rm 및 find 명령을 사용하여 Linux에서 디렉토리를 삭제하는 방법에 대해 설명합니다. Linux : Directory 삭제 ,제거 방법, 예제, 명령어시작하기 전데스크탑 파일 관리자를 사용하여 디렉토리를 제거할 때 디렉토리는 실제로 휴지통으로 이동되고 쉽게 복구할 수 있습니다. 설명된 명령을 사용하여 디렉토리를 삭제하면 완전히 복구할 수 없으므로 명령줄에서 파일 또는 디렉토리를 제거할 때 각별히 주의하십시오. 대부분의 Linux 파일 시스템에서 디렉토리를 삭제하려면 디렉토리와 해당 내용에 대한 쓰기 권한이 필요합니다. 그렇지 않으면 "작업이 허용되지 않음" 오류가 발생합니다. 공백이 있는 디렉토리 이름은 백슬래시(/)를 사용하여 이스케이프해야 합니다. rmdir이(가) 있는 디렉토리를 제거rmdir는 빈 디렉토리를 삭제하기 위한 명령줄 유틸리티입니다. 디렉토리가 비어 있는지 확인할 필요 없이 디렉토리가 비어 있는 경우에만 삭제하려는 경우에 유용합니다. rmdir가 있는 디렉토리를 삭제하려면 명령과 제거할 디렉토리 이름을 차례로 입력합니다. 예를 들어 dir1 디렉터리를 삭제하려면 다음을 입력합니다. 디렉토리가 비어 있지 않으면 다음 오류가 발생합니다.
이 경우 rm 명령을 사용하거나 디렉터리 내용을 수동으로 제거해야 삭제할 수 있습니다. rm을 사용하여 디렉토리를 제거rm은 파일 및 디렉토리를 삭제하기 위한 명령줄 유틸리티입니다. rmdir와 달리 rm 명령은 비어 있는 디렉토리와 비어 있지 않은 디렉토리를 모두 삭제할 수 있습니다. 기본적으로 rm 옵션 없이 사용할 경우 디렉터리는 제거되지 않습니다. 빈 디렉토리를 삭제하려면 -d(--dir) 옵션을 사용하고 비어 있지 않은 디렉토리를 삭제하며 모든 내용은 -r(--recursive 또는 -R) 옵션을 사용합니다. 예를 들어, 모든 내용과 함께 dir1이라는 디렉토리를 삭제하려면 다음을 입력합니다.
디렉토리 또는 디렉토리 내의 파일이 쓰기 금지되어 있는 경우 삭제를 확인하라는 메시지가 표시됩니다. 메시지를 표시하지 않고 디렉토리를 제거하려면 -f 옵션을 사용합니다.
여러 디렉토리를 한 번에 제거하려면 rm 명령과 함께 공백으로 구분된 디렉토리 이름을 호출합니다. 아래 명령은 나열된 각 디렉토리와 해당 내용을 제거합니다.
-i 옵션은 rm에게 각 하위 디렉토리와 파일의 삭제를 확인하라는 메시지를 표시합니다. 디렉터리에 파일이 많이 포함되어 있으면 약간 성가실 수 있으므로 삭제를 진행하기 전에 한 번만 표시할 메시지를 -I 옵션을 사용하는 것을 고려해 볼 수 있습니다.
디렉토리를 제거하려면 y를 입력하고 Enter 키를 누릅니다.
정기적인 확장을 사용하여 여러 디렉터리를 일치시키고 삭제할 수도 있습니다. 예를 들어, _bak으로 끝나는 현재 디렉토리의 첫 번째 수준 디렉토리를 모두 제거하려면 다음 명령을 사용합니다.
디렉터리를 제거할 때 일반 확장을 사용하면 위험할 수 있습니다. rm 명령을 실행하기 전에 삭제할 디렉토리를 볼 수 있도록 먼저 ls 명령과 함께 디렉토리를 나열하는 것이 좋습니다. 찾기를 사용하여 디렉토리를 제거find는 지정된 식에 따라 파일 및 디렉토리를 검색하고 일치하는 각 파일 또는 디렉토리에 대해 작업을 수행할 수 있는 명령줄 유틸리티입니다. 가장 일반적인 시나리오는 패턴에 따라 find 명령을 사용하여 디렉토리를 삭제하는 것입니다. 예를 들어, 현재 작업 디렉토리에서 _cache로 끝나는 모든 디렉토리를 삭제하려면 다음을 실행합니다.
위의 명령을 분석하겠습니다. /temp - 현재 작업 디렉토리(.)에서 재귀적으로 검색합니다. -type d - 검색을 디렉토리로 제한합니다. -name '*_cache' - _cache로 끝나는 디렉토리만 검색합니다. -exec - 선택적 인수를 사용하여 외부 명령을 실행합니다(이 경우 rm -r). {} + - rm 명령 끝에 찾은 파일을 추가합니다. 모든 빈 디렉터리를 제거디렉토리 트리의 모든 빈 디렉토리를 제거하려면 다음을 실행합니다.
다음은 사용된 옵션에 대한 설명입니다. /temp - /temp 디렉토리에서 재귀적으로 검색합니다. -type d - 검색을 디렉토리로 제한합니다. -empty - 빈 디렉터리로만 검색을 제한합니다. -delete - 하위 트리에서 찾은 모든 빈 디렉토리를 삭제합니다. -delete는 빈 디렉토리만 삭제할 수 있습니다. -delete 옵션을 매우 주의하여 사용하십시오. 찾기 명령줄이 식으로 평가되며, -delete 옵션을 먼저 추가하면 지정한 시작점 아래의 모든 항목이 삭제됩니다. -delete 옵션 없이 항상 명령을 먼저 테스트하고 -delete를 마지막 옵션으로 사용합니다. /bin/rm: Argument list too long이 오류 메시지는 rm 명령을 사용하여 엄청난 수의 파일이 포함된 디렉터리를 제거할 때 나타납니다. 이 문제는 파일 수가 명령줄 인수의 크기에 대한 시스템 제한보다 크기 때문에 발생합니다. 이 문제에 대한 몇 가지 다른 해결책이 있습니다. 예를 들어 디렉토리에 수동으로 CD를 작성하거나 루프를 사용하여 하위 디렉토리를 하나씩 제거할 수 있습니다. 가장 쉬운 해결책은 먼저 find 명령을 사용하여 디렉토리 내의 모든 파일을 삭제한 후 디렉토리를 삭제하는 것입니다.
rmandfind를 사용하면 서로 다른 기준에 따라 디렉토리를 빠르고 효율적으로 삭제할 수 있습니다. 디렉터리 삭제는 간단하고 쉬운 프로세스이지만 중요한 데이터를 삭제하지 않도록 주의해야 합니다. |