Linux 터미널에서 파일 및 디렉토리를 삭제하는 방법

rm 및   rmdir 리눅스, 맥 OS, 기타 유닉스 운영 체제에서 삭제 파일과 디렉토리를 명령한다. Windows 및 DOS 의 del 및   deltree 명령 과 유사합니다 . 이 명령은 매우 강력하며 몇 가지 옵션이 있습니다.

이 파일과 디렉토리를 사용하여 삭제하는 것이 중요하다 rm하고 rmdir휴지통으로 이동되지 않습니다. 컴퓨터에서 즉시 제거됩니다. 이러한 명령을 사용하여 실수로 파일을 삭제 한 경우 파일을 복원 할 수있는 유일한 방법은 백업을 사용하는 것입니다.

rm으로 파일을 제거하는 방법

가장 간단한 경우는 현재 디렉토리에서 단일 파일을 삭제하는 것입니다. 유형 rm명령, 공간, 다음 삭제할 파일의 이름을.

rm file_1.txt

파일이 현재 작업 디렉토리에 없으면 파일 위치의 경로를 제공하십시오.

rm ./path/to/the/file/file_1.txt

두 개 이상의 파일 이름을 rm. 이렇게하면 지정된 파일이 모두 삭제됩니다.

rm file_2.txt file_3.txt

와일드 카드를 사용하여 삭제할 파일 그룹을 선택할 수 있습니다. 는 *여러 문자를 나타내고는 ?단일 문자를 나타냅니다. 이 명령은 현재 작업 디렉토리에있는 모든 png 이미지 파일을 삭제합니다.

rm * .png

이 명령은 단일 문자 확장명을 가진 모든 파일을 삭제합니다. 예를 들어 File.1과 File.2는 삭제되지만 File.12는 삭제되지 않습니다.

rm *.?

파일이 쓰기 금지 된 경우 파일을 삭제하기 전에 메시지가 표시됩니다. y또는로 응답하고 n"Enter"를 눌러야합니다.

rm와일드 카드 사용 의 위험을 줄이려면 -i(대화 형) 옵션을 사용하십시오 . 이를 위해서는 각 파일의 삭제를 확인해야합니다.

rm -i * .dat

-f (강제) 옵션은 상호 작용의 반대입니다. 파일이 쓰기 금지 된 경우에도 확인 메시지가 표시되지 않습니다.

rm -f 파일 이름

rm으로 디렉토리를 제거하는 방법

빈 디렉토리를 제거하려면 -d (directory) 옵션을 사용하십시오 . 파일 이름과 마찬가지로 디렉토리 이름에 와일드 카드 ( *?)를 사용할 수 있습니다 .

rm -d 디렉토리

둘 이상의 디렉토리 이름을 제공하면 지정된 빈 디렉토리가 모두 삭제됩니다.

rm -d directory1 directory2 / path / to / directory3

비어 있지 않은 디렉토리를 삭제하려면 -r(재귀) 옵션을 사용하십시오 . 명확하게 말하면 디렉토리와 그 안에 포함 된 모든 파일 및 하위 디렉토리를 제거합니다.

rm -r 디렉토리 1 디렉토리 2 디렉토리 3

디렉토리 나 파일이 쓰기 금지 된 경우 삭제를 확인하는 메시지가 표시됩니다. 비어 있지 않은 디렉토리를 삭제하고 이러한 프롬프트를 표시하지 않으려면 -r(재귀) 및 -f(강제) 옵션을 함께 사용하십시오.

rm -rf 디렉토리

여기에서주의가 필요합니다. rm -rf명령을 잘못 입력 하면 데이터가 손실되거나 시스템 오작동이 발생할 수 있습니다. 위험하고주의가 최선의 정책입니다. 디렉토리 구조와 rm -rf명령에 의해 삭제 될 파일을 이해하려면 명령을 사용하십시오 tree.

apt-get Ubuntu 또는 다른 Debian 기반 배포를 사용 하는 경우이 패키지를 시스템에 설치하는 데 사용  합니다. 다른 Linux 배포에서는 Linux 배포의 패키지 관리 도구를 대신 사용하십시오.

sudo apt-get 설치 트리

tree명령을 실행하면 실행되는 디렉토리 아래의 디렉토리 구조 및 파일에 대한 이해하기 쉬운 다이어그램이 생성됩니다.

나무

또한 tree명령 경로를 제공 하여 파일 시스템의 다른 디렉토리에서 트리를 시작하도록 할 수 있습니다.

트리 경로 / 대상 / 디렉토리

rm명령은이 --one-file-system, --no-preserve-root, --preserve-root옵션을하지만, 사람들은 고급 사용자에게만 권장된다. 뭔가 잘못되면 실수로 모든 시스템 파일을 삭제할 수 있습니다. 자세한 내용은 명령의 매뉴얼 페이지를 참조하십시오.

rmdir로 디렉토리를 제거하는 방법

rmdir디렉토리를 삭제하는 데 사용할 수있는 라는 또 다른 명령 이 있습니다. 의 차이 rm와는 rmdirrmdir비어있는 수 만 삭제 디렉토리. 파일을 삭제하지 않습니다.

가장 간단한 경우는 하나의 빈 디렉토리를 삭제하는 것입니다. 와 마찬가지로 rm여러 디렉토리 이름을에 전달 rmdir하거나 디렉토리 경로를 전달할 수 있습니다 .

이름을에 전달하여 현재 디렉토리에서 단일 디렉토리를 삭제합니다 rmdir.

rmdir 디렉토리

이름 목록을에 전달하여 여러 디렉토리를 삭제하십시오   rmdir.

rmdir 디렉토리 1 디렉토리 2 디렉토리 3

해당 디렉터리의 전체 경로를 지정하여 현재 디렉터리에없는 디렉터리를 삭제합니다.

rmdir / path / to / directory

비어 있지 않은 폴더를 삭제하려고 rmdir하면 오류 메시지가 표시됩니다. 다음 예제 rmdir에서는 clients디렉토리 를 성공적으로 자동으로 삭제 하지만 projects파일이 포함되어 있으므로 디렉토리 삭제를 거부 합니다. projects그것이 그것의 파일이 훼손되지 않은만큼 디렉토리 정확히 남아 있습니다.

rmdir는 "디렉토리가 비어 있지"오류를 제공, 명령 행에 전달 된 디렉토리를 처리를 중지합니다. 네 개의 디렉토리를 삭제하도록 요청했고 첫 번째 디렉토리에 파일이있는 경우 rmdir오류 메시지가 표시되고 더 이상 아무 작업도 수행하지 않습니다. --ignore-fail-on-non-empty다른 디렉토리가 처리되도록 옵션을 사용하여 이러한 오류를 무시하도록 강제 할 수 있습니다 .

다음 예에서는 두 개의 폴더가에 전달되었으며 rmdir이는 work/reportswork/quotes입니다. --ignore-fail-on-non-empty옵션은 명령에 포함되어 있습니다. work/reports폴더에 파일이 남아있는, 그래서 rmdir그것을 삭제할 수 없습니다. 이 --ignore-fail-on-non-empty옵션은 rmdir오류를 무시하고 처리해야하는 다음 폴더 인 work/quotes. 이것은 빈 폴더이며 rmdir삭제합니다.

이것은 사용 된 명령입니다.

rmdir-비어 있지 않은 작업 / 보고서 / 작업 / 인용문에서 실패 무시

당신이 사용할 수있는  -p 디렉토리를 삭제 (부모) 옵션을 너무 부모 디렉토리를 삭제합니다. 이 트릭은 rmdir대상 디렉터리로 시작한 다음 부모로 돌아 가기 때문에 작동합니다 . 이제 해당 디렉토리가 비어 있어야하므로에서 삭제할 수 있으며 rmdir프로세스는에 제공된 경로를 단계별로 백업하는 작업을 반복합니다 rmdir.

다음 예에서 전달되는 명령은 다음과 같습니다 rmdir.

rmdir -p 작업 / 송장

요청에 따라 invoiceswork디렉토리가 모두 삭제됩니다.

Bash를 사용하든 다른 셸을 사용하든 Linux는 터미널 명령 줄에서 직접 디렉터리와 파일을 삭제할 수있는 유연하고 강력한 명령을 제공합니다. 어떤 사람들은 터미널을 중심으로 돌아가는 워크 플로우를 선호합니다. 다른 사람들은 문제에 대해 선택의 여지가 없을 수 있습니다. GUI가 설치되지 않은 서버 또는 Raspberry Pi와 같은 헤드리스 시스템의 원격 세션에서 작업 할 수 있습니다. 이러한 명령은 해당 그룹의 사람들에게 적합합니다.

그러나 선호하는 워크 플로 유형이 무엇이든 이러한 명령은 쉘 스크립트에 포함되는 데 매우 적합합니다. cron작업 에 의해 스크립트가 트리거되는 경우 원하지 않는 로그 파일 제거와 같은 일상적인 관리 작업을 자동화하는 데 도움이 될 수 있습니다. 해당 사용 사례를 조사하는 경우 이러한 명령의 기능을 기억하고 모든 것을 신중하게 테스트하고 항상 최신 백업을 유지하십시오.