[리눅스] SSH를 통해 파일과 폴더 삭제하기

Last Updated: 2024년 04월 15일 | , | 댓글 남기기

웹호스팅을 이용하는 경우 FTP/SFTP를 통해 서버에서 파일이나 디렉터리를 삭제할 수 있습니다. 경우에 따라 SSH를 통해 파일과 폴더를 삭제해야 상황이 발생할 수 있습니다.

FTP/SFTP vs. SSH 접속

대다수의 웹호스팅에서 FTP 접속을 허용하지만, SSH 접속을 허용하는 웹호스팅은 제한적입니다. 일반 웹호스팅(공유호스팅)에서는 보통 SSH 접속을 허용하지 않습니다. 국내 웹호스팅 중에서 카페24에서 일반 호스팅에서도 SSH 접속을 허용합니다. 권한이 제한되어 있지만, 상황에 따라 요긴하게 활용할 수 있습니다.

Vultr, AWS 등 서버를 이용하는 경우에는 SSH 접속이 가능합니다. 이 워드프레스 블로그가 호스팅되고 있는 클라우드웨이즈(Cloudways)에서도 SSH 접속을 허용합니다. 자세한 방법은 "클라우드웨이즈 SSH 접속 방법"을 참고해보세요.

보통은 FTP/SFTP를 통해 파일/폴더를 삭제하면 되지만, 파일 개수가 너무 많아서 삭제에 오랜 시간이 걸리는 경우에는 SSH를 사용하면 빠르게 파일과 폴더들을 삭제할 수 있습니다. 또한, 파일을 업로드/다운로드할 때에도 파일 개수가 너무 많고 용량이 너무 큰 경우 FTP를 통해 업로드/다운로드하려면 시간이 제법 소요될 수 있습니다. 이 상황에서도 SSH에 접속하여 파일/폴더를 압축하거나 압축 해제하는 방법으로 빠르게 파일들을 전송할 수 있습니다.

SSH를 통해 파일과 폴더 삭제하기

SSH를 사용하여 파일이나 풀더를 삭제하려면 -rm 명령을 실행할 수 있습니다.

다음과 같은 명령 한 줄로 파일 또는 폴더를 삭제할 수 있습니다.

rm filename.php

여러 개의 파일을 삭제하려는 경우:

rm filename1.php filename2.php filename3.php

* 와일드카드를 사용하는 것이 허용됩니다.

rm myFile*.txt

이 명령을 실행하면 'myFile'로 시작하고 '.txt'로 끝나는 모든 파일(예: myFile001.txt, myFile002.txt ...)이 삭제됩니다.

폴더 전체와 폴더 내의 콘텐츠(파일과 하위 폴더)를 모두 삭제하려는 경우:

rm -r foldername/
  • -r 옵션을 사용하면 해당 디렉토리와 콘텐츠를 재귀적으로 삭제합니다. 즉, 지정된 디렉토리(foldername/)뿐만 아니라 모든 하위 디렉토리와 파일도 삭제됩니다.

해당 디렉터리 내의 모든 파일과 하위 폴더를 삭제하려는 경우 (해당 폴더 자체는 삭제되지 않음):

rm -r *

파일 삭제 명령을 실행하면, . 파일이나 디렉토리가 쓰기 보호되어 있는 경우 파일을 정말로 삭제할 것인지 묻는 프롬프트가 표시될 수 있습니다. 퍼미션에 상관 없이 확인 없이 강제로 삭제하고 싶은 경우에는 -f 옵션을 사용할 수 있습니다.

rm -rf foldername/

해당 폴더 내에의 모든 파일과 하위 폴더(및 내용)을 확인 없이 모두 삭제하려는 경우 (해당 디렉터리 자체는 제외):

rm -rf *

파일이나 폴더를 삭제할 경우, 복구하지 못하는 경우도 있을 수 있으므로 백업을 한 후에 진행하시기 바랍니다.

참고


댓글 남기기

Leave a Comment