
방금 시나리오를 찾았는데 (또는 리눅스를 처음 접하는 사람) 사용자가 중복된 파일이라고 생각했기 때문에 실수로 파일을 rm할 수도 있습니다. 다음 두 개의 바이너리 파일이 있다고 가정해 보겠습니다.
[xiaobai@xiaobai note]$ ls -larthi /bin/seltr2
1054051 -rwxrwxrwx. 1 root root 3.4K Oct 30 22:54 /bin/seltr2*
[xiaobai@xiaobai note]$ ls -larthi /usr/bin/seltr2
1054051 -rwxrwxrwx. 1 root root 3.4K Oct 30 22:54 /usr/bin/seltr2*
일반적으로 나는 inode를 보지 않고 오른쪽만 봅니다.-> 서명하다아니면. 따라서 /bin이 /usr/bin에 대한 심볼릭 링크인 경우 문제가 발생합니다.
[xiaobai@xiaobai note]$ ls -larthi /bin
16 lrwxrwxrwx. 1 root root 7 Nov 18 2014 /bin -> usr/bin/
따라서 사용자가 파일이 심볼릭 링크가 아니고 다르지 않다고 생각하면 사용자는 해당 파일을 rm할 수 있습니다.
[xiaobai@xiaobai note]$ sudo rm /bin/seltr2
그리고 마지막으로 /usr/bin/seltr2가 동일한 파일이라는 것을 깨닫고 구조를 요청합니다.
[xiaobai@xiaobai note]$ ls /usr/bin/seltr2
/home/xiaobai/ls: cannot access /usr/bin/seltr2: No such file or directory
그럼 간단한 방법이 있나요?ls는 상위 디렉토리가 심볼릭 링크임을 고려합니다., 예:
[xiaobai@xiaobai note]$ ls -larthi /bin/seltr2
1054051 -rwxrwxrwx. 1 root root 3.4K Oct 30 22:54 /bin/seltr2* -> /usr/bin/seltr2*
나는 항상 inode 번호를 보지는 않습니다. 이런 종류의 잠재적인 실수를 피할 수 있는 더 좋은 방법이 있습니까?
답변1
루트 권한이 없는 일반 사용자에게 동의합니다.
의견을 보내주셔서 감사합니다. 이제 질문을 이해했습니다. 이 게시물을 다시 편집했습니다.
root@host:~# ls -latr /bin/test-dir
total 8
drwxr-xr-x 3 root root 4096 Nov 4 12:01 ..
-rw-r--r-- 1 root root 0 Nov 4 12:02 testfile
drwxr-xr-x 2 root root 4096 Nov 4 12:02 .
root@host:~# ls -latr /usr/bin/test-dir-link
lrwxrwxrwx 1 root root 13 Nov 4 12:03 /usr/bin/test-dir-link -> /bin/test-dir
root@host:~# rm /usr/bin/test-dir-link
root@host:~# ls -latr /bin/test-dir
total 8
drwxr-xr-x 3 root root 4096 Nov 4 12:01 ..
-rw-r--r-- 1 root root 0 Nov 4 12:02 testfile
drwxr-xr-x 2 root root 4096 Nov 4 12:02 .
root@host:~# ls -latr /usr/bin/test-dir-link
ls: cannot access /usr/bin/test-dir-link: No such file or directory
위에서 볼 수 있듯이 "symlink"만 삭제되었지만 "target"은 삭제되지 않았습니다.
또한 파일에 오타가 있는 것 같습니다.귀하의 심볼릭 링크는 "usr/bin"을 가리키지만 "/usr/bin"이어야 합니다.
이것이 말이 되기를 바라나요?