[Linux] 리눅스 파일 삭제하기 (rm, find)

SAPCO·2022년 8월 30일
0

- [LINUX]

목록 보기
2/3

📍 0. 도입

리눅스 파일 삭제에는 두가지 방법이 있다. 사실더있음

📍 1.rm을 이용한 방법

📌 절대 하면 안되는것. 최상위 디렉토리의 모든것을 삭제.

명령어를 입력한 당신도 곧 삭제

rm -rf /*

📌 rm을 안전하게 이용하는법

  1. ls -l 명령어로 삭제하려는 대상 먼저 확인.
$ ls -l /tomcat9/bin
-rw-rw-r-- 1 ec2-user ec2-user  23513 Aug 29 14:20 catalina.sh
-rw-rw-r-- 1 ec2-user ec2-user   1997 Aug 29 14:20 ciphers.sh
-rw-rw-r-- 1 ec2-user ec2-user   1922 Aug 29 14:20 configtest.sh

2. command history(키보드의 위 화살표 누름)로 이전명령어 호출 후 커서 첫줄로 이동 ``` $ ls -l /tomcat9/bin ``` 3. ls -l 을 rm -rf로 치환 ``` $ rm -rf /tomcat9/bin ```

📌 rm을 사용한 다양한 삭제

  • $ rm -f

    강제삭제. 파일 지우기 전에 묻지 않음

  • $ rm -r

    재귀적 삭제. 디렉토리 삭제할 때 필요. 하위의 모든것 함께 삭제

  • $ rm -r tomcat9/

    해딩 디렉토리 삭제

  • $ rm -rf

    가장 많이 사용하는 명령어
    강제삭제 + 재귀삭제

  • $ rm -rf ./*

    현재 디렉토리 하위의 모든 것 삭제

  • $ rm -rf ./text*

    현재 디렉토리 하위에서 text가 포함된 문자를 가진 것 삭제
    ex) text1 , text2, textfile 등등

  • $ rm -rf ./*.bat

    .bat 확장자를 가진 것 삭제
    ex) version.bat, catalina.bat 등등

  • $ rm -rf ./text?

    현재 디렉토리 하위에서 text가 포함되고 뒤에 한 글자가 포함된 것 삭제
    ex) text1 , text2삭제 textfile은 삭제되지 않음.
    ?(question mark)의 개수 조절 가능.

📍 2.find를 이용한 방법

📌 find를 사용한 삭제방법

  • $ find . -name "*.bat" -delete
    $ find . -name "*.bat" -exec rm {} \;
    -exec rm {} \; 와 동일 -delete

    현재 디렉토리에서 .bat확장자 파일을 검색한 후 검색 결과로 나오는 대상을 삭제

  • $ find /tomcat9/bin -name "*.bat" -delete

    특정 디렉토리에서 .bat확장자 파일을 검색한 후 검색 결과로 나오는 대상을 삭제

  • $ find . -empty -delete

    빈 디렉토리나 파일 크키가0인 대상을 삭제

  • $ find . -size +1024k -delete

    크기가 1MB이상인 대상을 삭제

  • $  find . -ctime +7 -type f -exec rm {} \;
    $  find . -atime +7 -type f -exec rm {} \;
    $  find . -mtime +7 -type f -exec rm {} \;

    해당 속성이 7일 지난(이상)된 파일을 모두 삭제
    -ctime : 파일이 마지막으로 변경된 날짜 및 시간을 확인. 파일이 변경된경우 갱신됨
    -atime : 파일에 마지막으로 접근한 날짜와 시간
    -mtime : 파일이 마지막으로 수정된 날짜와 시간

profile
SAP CO

0개의 댓글