리눅스 디렉토리 삭제하기

리눅스

리눅스에서 디렉토리(폴더)를 삭제할때 다음과 같은 방법으로 여러 시나리오에서 폴더를 삭제할 수 있습니다.

튜토리얼 환경 : 우분투 18.04

리눅스 디렉토리 삭제 명령어

rm

rm -r 폴더명

파일을 삭제할때도 사용하는 rm 명령어 같은 경우 -r 옵션을 붙이면 폴더 안의 파일을 포함해 삭제합니다.

pg@LOCAL:/$ rm -rf /home/pg/money
pg@LOCAL:/home/pg$ rm -rf ./money

rm 명령어 뒤의 -rf 옵션을 가장 많이 사용하며 폴더의 내용이 있어도 강제로 삭제할 수 있습니다.

옵션 뒤에 절대경로를 입력하거나, 현재 프롬프트 위치에서 상대 경로를 입력해 디렉토리를 지정하면 되며 대표적인 rm 명령어 옵션은 다음과 같습니다.

  • -r 하위 디렉토리 및 파일을 모두 삭제
  • -f 강제로 파일 또는 디렉토리를 삭제
  • -i 파일 또는 디렉토리를 삭제할 때 마다 메시지를 띄워 사용자에게 확인함
  • -d 빈 디렉토리만 삭제

rmdir

rmdir 폴더명

rm 명령어 외에도 rmdir 명령어로 폴더를 삭제할 수 있습니다.

rmdir: failed to remove ‘money’: Directory not empty

다만 rmdir 같은 경우 디렉토리 안에 파일이 있을 경우 위 메시지와 함께 삭제가 되지 않아 쓸모가 없어 보이는데, 이를 활용하면 빈 폴더를 정리할 수 있습니다.

rmdir -v *

현재 위치 하위에 있는 빈 폴더를 모두 삭제하며 -v 옵션은 메시지 출력을 비활성화 합니다.

리눅스 특정 디렉토리 삭제

단순하게 디렉토리를 지정해서 삭제할 수도 있겠지만 특정 이름이 들어간 폴더나 빈 폴더를 정리하고 싶은 경우도 있습니다.

조건 : 특정 이름

find ./ -name "bank*" -type d | xargs rm -rf

특정 이름의 디렉토리를 삭제하고 싶은 경우 find 명령어와 rm 명령어를 조합하면 됩니다.

위 예는 bank 라는 이름이 들어간 디렉토리를 찾아 삭제하는 명령어로 ./ (현재 위치) 하위의 디렉토리를 찾아 삭제하게 됩니다.

조건 : 특정 날짜

ll --time-style full-iso | awk '{print $6" "$9}' | grep 2019-01-01 | awk '{print $2}' | xargs rm -rf

특정 날짜에 생성된 디렉토리를 삭제하고 싶은 경우 디렉토리의 날짜를 출력한 다음 결과값에서 특정 날짜를 찾아 삭제하는 명령어 입니다.

위 명령어는 현재 위치한 디렉토리를 기준으로 하위의 2019-01-01에 생성된 폴더를 삭제하는 예시입니다. 만일 월 단위로 삭제하고 싶다면 2019-01 까지만 입력하면 되겠습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Fill out this field
Fill out this field
유효한 이메일 주소를 입력해주세요.

Linux 크론탭 Crontab 사용법
Linux 크론탭(Crontab) 사용법
크론탭(Crontab)은 리눅스에서 정해진 시간에 스크립트나 데몬 등을 실행하는 스케줄러(Scheduler) 기능입니다. 특정 시간, 요일에 특정한 작업을 실행해야 하거나 반복 작업을 할…
우분투 컴퓨터 이름 Hostname 변경하는 방법
우분투 컴퓨터 이름 hostname 변경하는 방법
우분투에서 터미널을 열거나 네트워크 공유를 사용해야할 때 표시되는 컴퓨터 이름은 hostname이라고 불리며 hostname을 변경하면 우분투에 표시되는 컴퓨터 이름을 지정할 수…