쉘 단축키를 통해 실수로 디렉토리를 그 자체로 옮겼는데 지금은 사라진 것 같습니다. 다음은 터미널에서 직접 잘라서 붙여넣은 시퀀스입니다.
$ chmod a+x load_test_set.sh ~/bin
$ mv !$ ~/bin
mv ~/bin ~/bin
$ ls ~/bin
ls: cannot access /home/jimk/bin: No such file or directory
(chmod의 뒤에 오는 "~/bin"은 의도하지 않은 것이며 문제를 망칠 때까지 눈에 띄지 않았습니다). CentOS Linux 버전 7.8.2003의 tcsh에서 이 작업을 수행했습니다.
이 디렉토리는 영원히 손실됩니까? 파일 시스템의 공간이 손실되고 있습니까? 디렉터리 및/또는 파일 시스템 공간을 복구할 수 있습니까?
일부 댓글에 대한 답변:
"sudo find / -type l -name bin | less"를 실행하고 다음을 얻습니다.
/var/lib/docker/overlay2/882ace003168e1efea1a6f4c6575e101b625af233a25e9b9fb4cec724bb82ce9/diff/bin /var/lib/docker/overlay2/882ace003168e1efea1a6f4c6575e101b625af233a2 5e 9b9fb4cec724bb82ce9/diff/usr/lib/debug/bin /usr/lib/debug/bin /usr/share/gdb / 자동 로드 /bin/bin
그리고 이들 중 어느 것도 "bin" 하위 디렉터리를 갖고 있지 않습니다.
그리고 그렇습니다. 디렉토리를 자체로 옮기려고 할 때 오류가 발생할 것으로 예상했습니다. 그러나 오류가 발생하면 잘라내어 붙여넣는 작업은 실제 시퀀스에서 수행됩니다. 그래서 실제로 일어났고 오류가 발생하지 않았습니다. (실수로 추가되었기 때문에 VMWare에 대한 언급이 제거되었습니다.)
답변1
~/bin
디렉터리인 경우 다음과 같은 오류가 발생합니다.
mv: cannot move '/home/jimk/bin' to a subdirectory of itself, '/home/jimk/bin/bin'
이제는 ~/bin
사라졌으므로 디렉토리가 아닌 심볼릭 링크인 것으로 의심됩니다. 따라서 심볼릭 링크가 ~/bin
가리키는 디렉토리로 이동하게 됩니다 .
내가 옳다면 그 디렉토리가 어디에 있는지 알아내면 됩니다. 예를 들어 다음 명령을 사용하십시오.
find ~ -type l -name bin
(자신의 디렉토리에 없으면 로 변경 find ~
)find /
반면에 ~/bin
디렉터리라고 100% 확신했는데 갑자기 사라진다면 이는 정상이 아니며 기본 파일 시스템을 fscking하는 것이 좋습니다.