RM(1)

명칭
rm, unlink - 디렉토리 엔트리의 삭제

서식
rm [-dfiPRrvW] file ... unlink file

해설
rm (은)는, 명령행으로부터 지정된 비디렉토리 타입의 파일을 삭제합니다. 지정된 파일에 기입해 퍼미션이 없고, 표준 입력이 터미널이었던 경우, 삭제를 실행해도 좋은지 어떤지의 확인을 (표준 에러 출력을 사용해) 요구합니다.

옵션으로서는 이하의 것이 있습니다:

-d  디렉토리도, 다른 타입의 파일과 같게 삭제합니다. 본옵션 없이 file 로서 디렉토리를 지정했을 경우, 에러가 됩니다.

-f  파일의 퍼미션에 관, 확인하지 않고 파일의 삭제를 실시합니다. 파일이 존재하지 않는 경우에도 에러 메세지는 표시하지 않고, 종료 스테이터스 도 에러를 돌려주지 않습니다. -f 옵션 이전에 쓰여졌다 -i 옵션을 무시합니다.

-i  파일의 퍼미션이나 표준 입력이 터미널인지 어떤지에 관련되지 않고, 지정된 각 파일을 삭제하기 전에, 확인을 요구하게 됩니다. -i 옵션 이전에 쓰여졌다 -f 옵션을 무시합니다.

-P  파일을 삭제하기 전에 덧쓰기합니다. 우선 0xff 의 바이트 패턴으로, 다음에 0x00 로, 그리고 마지막에 한번 더 0xff 로 덧쓰기해, 삭제합니다.

-R  인수 file 로서 지정한 디렉토리를 재귀적으로 삭제합니다. -R 옵션은, 암묵중에 -d 옵션이 지정된 것으로 합니다. -i 옵션이 지정되어 있을 때는, 최초로 디렉토리를 삭제하는/하지 않는 것 확인이 요구되어 한층 더 안쪽의 디렉토리에 대해서도 각 디렉토리의 내용의 삭제로 옮기기 전에 확인이 요구됩니다. 확인에 대해서 삭제한다고 대답 없었던 경우에는, 그것 이하의 디렉토리는 스킵 됩니다.

-r  -R (와)과 같습니다.

-v  파일을 삭제할 경우에 장황하게 되어, 삭제할 때 파일을 표시합니다.

-W  삭제한 파일을 회복하려고 합니다. 현재 이 옵션은, 화이트 아웃 된 파일을 회복하기 위해서 마셔 사용 가능합니다.

rm (은)는, 기호 연결을 삭제할 때 링크는 삭제합니다만, 링크가 참조하고 있는 파일은 삭제하지 않습니다.

파일 “.” (와)과 “..” (을)를 삭제하려고 하면(자) 에러가 됩니다.

본유틸리티가 unlink (으)로서 불렸을 경우, 비디렉토리의 단일 인수만이 지정 가능합니다. 이 단순 모드 동작에서는, 옵션은 지정 불가이며, 건네받은 인수에 대해 unlink(2) 동작을 실행합니다.

지정한 파일을 모두 삭제했을 경우인가, -f 옵션이 지정되어 존재하는 파일이 모두 삭제되었을 경우에 0 을 돌려줍니다. 에러가 일어났을 경우는 0 보다 큰 값을 돌려줍니다.

주
rm (은)는 인수를 퍼스 하기 위해서 getopt(3) (을)를 사용합니다. getopt 는 ‘--’ 인수를 받아들입니다. 이것은 플래그 옵션의 읽기를 종료시킵니다. 그러므로, 데쉬 ‘-’ 그리고 시작되는 파일을 삭제할 수 있습니다. 예를 들면:
    $ rm -- -filename
절대 혹은 상대 참조를 이용하는 것으로 같은 효과를 얻을 수 있습니다. 예를 들면:
    rm /home/user/-filename
    rm. /-filename

관련 항목
rmdir(1), undelete(2), unlink(2), fts(3), getopt(3), symlink(7)

버그
-P 옵션에서는 파일 시스템이 고정 블록장이라고 가정됩니다. UFS 는 고정장 파일 시스템입니다만, LFS 는 그렇지는 않습니다. 게다가 통상 파일은 덧쓰기됩니다만, 그 이외의 종류의 파일은 덧쓰기되지 않습니다.

호환성
rm (은)는, -f 옵션이 존재하지 않는 파일에 대한 에러만을 마스크 하는 점이 전통적 실장과 다릅니다. -v (은)는 표준이 아니고, 스크립트중에서의 사용은 추천하지 않습니다.

또, 전통적 BSD 실장에서는 표준 에러 출력은 아니고 표준 출력에 확인이 출력되고 있었습니다.

표준
rm 명령은, p1003.2 호환입니다.

단순화 되었다 unlink 하 susv2 준거입니다.

역사
rm 명령은 AT&T UNIX (으)로부터 등장했습니다.