Ubuntu 16.04: "~/*"를 대상으로 하는 "mv"를 잘못 실행하고 결과를 이해할 수 없습니다.

Ubuntu 16.04: "~/*"를 대상으로 하는 "mv"를 잘못 실행하고 결과를 이해할 수 없습니다.

/etc/apt/sources.list.dMongoDB를 3.4에서 3.6으로 업그레이드하려고 할 때 이 디렉토리에 들어갔습니다 . 거기에서 mongodb-org-3.4.listmongodb-org-3.4.list.save파일을 내 홈 디렉토리로 이동 하고 싶습니다 .

나는 먼저 하나를 실행했습니다 mv mongodb-org-3.4 ~/*. 어떤 이유로 와일드카드를 명령 끝으로 옮겼습니다. 알림을 본 후 다시 입력하고 끝에 와일드카드 문자를 추가하여 mv: cannot stat 'mongodb-org-3.4': No such file or directory문제를 "수정"했습니다 . mv mongodb-org-3.4* ~/*나는 sudo를 사용하지 않고 루트도 아닙니다.

mv mongodb-org-3.4* ~/*내가 받은 응답으로

mv: cannot remove 'mongodb-org-3.4.list': Permission denied
mv: cannot remove 'mongodb-org-3.4.list.save': Permission denied
mv: inter-device move failed: '/home/user/atlassian' to '/home/user/windows-storage/atlassian'; unable to remove target: Directory not empty
mv: inter-device move failed: '/home/user/data' to '/home/user/windows-storage/data'; unable to remove target: Directory not empty
mv: cannot create symbolic link '/home/user/windows-storage/dockervolumes/sharemanager': Read-only file system

그런 다음 해당 디렉토리로 가서 /home/user/windows-storagels'd를 해보니 내 홈 디렉토리가 모두 이 설치 디렉토리에 복사(???)되었을 수도 있습니다.

내가 뭔가를 손상시켰나요? 아니면 홈 디렉터리를 이 설치 디렉터리에만 "복사"합니까?

mv명령은 왜 이렇게 작동합니까 cp?

글쎄, 파일이 이동되었지만 모두 이동된 것은 ​​아닙니다. 왜냐하면 Ctrl완료 하는 데 비정상적으로 오랜 시간이 걸렸기\ 때문입니다 .

답변1

별표는 쉘에 의해 확장되었으므로 결과 명령은 다음과 같습니다.

mv mongodb-org-3.4.list mongodb-org-3.4.list.save ... ~/atlassian ~/... ~/data ... ~/windows-storage

(게시한 오류를 기반으로 함) 따라서 mv나열된 모든 파일과 디렉터리를 다음으로 이동하도록 지시했습니다 ~/windows-storage. 홈 디렉터리의 내용은 복사되지 않고 이동되었습니다.

복원하려면 모든 내용을 검토 ~/windows-storage하고 해당 콘텐츠를 다시 이동해야 합니다(참고 *).

관련 정보