답변:
../mydir이미 존재하는 경우 로 이동했습니다 ../mydir/mydir. 그렇지 않으면에 ../mydir있습니다.
이와 같은 명령에서 경로는 현재 작업 디렉토리에 상대적입니다 (경로가로 시작하지 않는 /한 절대 경로 임). 따라서 귀하의 명령은 의 형제 자매 mv를 만들 라고 지시 하지 않았으므로 작업 디렉토리의 형제 자매 를 만들라고 지시했습니다 .mydirparentdirmydir
당신이하고 싶었던 것은이 두 가지 중 하나였습니다.
# make parentdir/mydir to be a sibling of parentdir
$ mv parentdir/mydir ./
$ ls -1
parentdir
mydir
# make parentdir/mydir to be a sibling of parentdir
$ ( cd parentdir ; mv mydir ../ )
$ ls -1
parentdir
mydir
두 번째 인수가 디렉토리 cp인 scp, mv등의 명령을 실행할 때 디렉토리를으로 끝내는 것이 가장 안전 /.하므로 사용자와 명령 모두 디렉토리를 찾고 있음을 알 수 있습니다. 예를 들어, 이것을하는 대신 :
$ mv /opt/foo /temp
나는 할것이다:
$ mv /opt/foo /temp/.
오류 메시지가 나타납니다.
mv: cannot move `/opt/foo' to `/temp/.': No such file or directory
물론 나는을 입력해야하기 때문에 /tmp/.. 디렉토리의 이름을 무의식적으로 고의로 바꾸었던 첫 번째 명령을 실행했다.