[편집] 아래 질문을 읽으면서 시간을 낭비하지 마십시오. 알고 보니 내 동료가 바보였군요.. :)
내 서버에서 일반적인 를 사용하여 폴더와 모든 하위 폴더를 제거하려고 하는데 rm -rf dirname
자동으로 실패합니다.
kramer65@vps1:~$ ls -l
total 24
drwxrwxr-x 2 kramer65 kramer65 4096 Jul 11 22:00 backups
drwxrwxr-x 2 kramer65 kramer65 4096 Jul 17 17:37 bin
drwxrwxr-x 3 kramer65 kramer65 4096 Sep 1 11:11 cxs
kramer65@vps1:~$ rm -rf cxs/
kramer65@vps1:~$ ls
backups bin cxs
kramer65@vps1:~$ sudo rm -rf cxs/
kramer65@vps1:~$ ls
backups bin cxs
kramer65@vps1:~$ rmdir cxs/
rmdir: failed to remove ‘cxs/’: Directory not empty
또한 디렉토리의 모든 내용을 제거해 보았습니다.
kramer65@vps1:~$ cd cxs
kramer65@vps1:~/cxs$ ls
app README.md
kramer65@vps1:~/cxs$ rm -rf *
kramer65@vps1:~/cxs$ ls
app README.md
kramer65@vps1:~/cxs$ sudo rm -rf *
kramer65@vps1:~/cxs$ ls
app README.md
무엇이 잘못되었는지 알려주기만 한다면 명령이 실패해도 괜찮습니다. 내가 여기서 뭘 잘못하고 있는지 아시나요? 모든 팁을 환영합니다!
[편집] 나는 다음을 시도했습니다(또한 소용이 없었습니다):
kramer65@vps1:~$ sudo rm -vrf cxs/*
removed ‘cxs/app/static/img/face1.jpg’
removed ‘cxs/app/static/img/face2.jpg’
removed ‘cxs/app/static/img/face3.jpg’
[etc.etc.]
removed directory: ‘cxs/app’
removed ‘cxs/README.md’
kramer65@vps1:~$ ls cxs/
app README.md
kramer65@vps1:~$
[EDIT2] 동료가 rsync를 실행하여 해당 폴더에 파일을 지속적으로 다시 쓴 것으로 나타났습니다. 그래서 그것들은 제거되었지만 자동으로 다시 생성되었습니다. (여기 벽에 머리를 박고 있어요!)
답변1
다음을 시도해 보세요
rm -rf /the/full/dir
답변2
파일의 확장 속성을 확인하십시오.
lsattr -R /cxs
속성이 설정된 경우 i
변경할 수 없습니다. 즉, 삭제할 수 없습니다.
다음을 사용하여 불변 속성을 제거합니다.
chattr -i <path to file/directory>
그런 다음 다시 삭제해 보세요.
불변 속성이 설정된 파일은 삭제하려고 할 때 일반적으로 자동으로 실패하지 않고 대신 '작업이 허용되지 않습니다'라는 메시지가 표시됩니다.