파일 삭제 방법 0 = srw 권한이 있는 파일

파일 삭제 방법 0 = srw 권한이 있는 파일

다음 파일을 삭제하는 방법은 무엇입니까?

srwxrwxrwx   1 patroh root           0 Aug  8 16:11 0=

사용자는 patroh바로 나 자신이다. 명령 rm이 작동하지 않습니다. 실행할 때 오류가 발생하지 않습니다 rm 0.

이 파일을 어떻게 생성했는지 잘 모르겠습니다.

답변1

출력에서 줄 시작 부분 s에 있는 는 ls -l해당 줄을 Unix 도메인 소켓으로 식별합니다. 마지막은 추가된 표시 =자인 소켓의 유형 표시자입니다 ls -F. 따라서 파일 자체는 0.

Unix 소켓은 대부분 실제 네트워크 소켓처럼 작동하지만 파일 시스템에 이름이 있는 프로세스 간 통신의 특별한 방법으로, 공통 파일 시스템 액세스 제어를 소켓에 적용할 수 있습니다. 당신이 가지고 있는 그 "파일"이 바로 그런 이름입니다.

소켓 의사 파일은 조심스럽게 제거하기 위한 조치를 취하지 않는 한 해당 파일을 연 프로세스가 종료된 후에도 계속 머무르는(쓸모 없는) 경향이 있습니다. 하지만 다른 파일처럼 삭제할 수 있습니다. (적어도 Linux에서는 그렇습니다.) 예를 들어 ncUnix 소켓을 생성하고 rm삭제합니다.

$ nc -U -l socket &
[1] 22480
$ ls -l
total 0
srwxr-x--- 1 ilkkachu ilkkachu 0 Aug 10 00:45 socket=
$ rm socket 
$ ls -l
total 0
$ kill %1

오류가 발생 하지 않으면 rm파일을 삭제할 수 있다는 의미입니다. 물론 나중에 파일이 다시 생성되는 것을 막지는 못합니다.

관련 정보