복원이 자체 디렉터리로 이동되었습니다.

복원이 자체 디렉터리로 이동되었습니다.

쉘 단축키를 통해 실수로 디렉토리를 그 자체로 옮겼는데 지금은 사라진 것 같습니다. 다음은 터미널에서 직접 잘라서 붙여넣은 시퀀스입니다.

$ 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하는 것이 좋습니다.

관련 정보