내 디렉토리는“mv parentdir / mydir ../mydir”다음에 어디로 갔습니까?


1

하위 디렉토리를 한 수준 위로 이동하여 부모의 형제가 될 것이라고 생각했습니다. 그러나 이제는 완전히 보이지 않습니다. 사라 졌습니까?

내가 사용한 명령은 다음과 같습니다.

mv parentdir/mydir ../mydir

답변:


2

나는 그것을 알아. ..로 시작하도록 이름을 변경하기 만하면 "ls"명령에 숨겨졌습니다.


아 .... 그래서 실수로 "mv parentdir / mydir ../mydir"이 아닌 "mv parentdir / mydir ..mydir"을 실행했습니다 (점 뒤에 슬래시 없음). 잘 찾아라! 질문을 업데이트 해 주셔서 감사합니다.
pbr

0

../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

0

두 번째 인수가 디렉토리 cpscp, mv등의 명령을 실행할 때 디렉토리를으로 끝내는 것이 가장 안전 /.하므로 사용자와 명령 모두 디렉토리를 찾고 있음을 알 수 있습니다. 예를 들어, 이것을하는 대신 :

$ mv /opt/foo /temp

나는 할것이다:

$ mv /opt/foo /temp/.

오류 메시지가 나타납니다.

mv: cannot move `/opt/foo' to `/temp/.': No such file or directory

물론 나는을 입력해야하기 때문에 /tmp/.. 디렉토리의 이름을 무의식적으로 고의로 바꾸었던 첫 번째 명령을 실행했다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.