현재 디렉터리에 대한 소프트 링크를 만들었습니다.
$ ln -s "$PWD" math
그런 다음 다른 디렉토리로 옮기고 싶었습니다.
$ mv math/ ~/dirlinks/maths/
그때 나는 그래야 한다는 것을 깨달았다.
$ mv math ~/dirlinks/maths/
그래서 프로세스가 완료되기 전에 Ctrl-C를 눌러 프로세스를 취소했습니다.
math
아래에 dir이 있는 것을 발견했는데 , 아래의 파일 도 아래에 나타나는 것을 보니 아래의 파일이 에 복사된 ~/dirlinks/maths/
것 같습니다 . 하지만 그렇지 않기 때문에 이해가 되지 않습니다 . 내가 달렸을 때 무슨 일이 일어났나요 ?.
~/dirlinks/maths/math
~/dirlinks/maths/math
.
mv
cp
mv math/ ~/dirlinks/maths/
감사해요.
답변1
첫 번째 명령이 수행한 작업을 살펴보겠습니다. math
현재 디렉터리의 절대 경로를 가리키는 기호 링크를 현재 디렉터리에 생성했습니다. 조금 더 자세히 살펴보겠습니다.
user@host:/free$ ls -al /free
total 4
drwxrwxrwt 2 root root 40 Oct 14 10:29 .
drwxr-xr-x 24 root root 4096 Oct 1 22:28 ..
user@host:/free$ ln -vs /free math
‘math’ -> ‘/free’
user@host:/free$ ls -al /free
total 4
drwxrwxrwt 2 root root 60 Oct 14 10:29 .
drwxr-xr-x 24 root root 4096 Oct 1 22:28 ..
lrwxrwxrwx 1 user users 5 Oct 14 10:29 math -> /free
이제 일부 파일을 추가 $PWD
하고 이동을 수행하면 다음과 같습니다.
user@host:/free$ touch a b
user@host:/free$ mv -vi math/ /tmp/Q
‘math/’ -> ‘/tmp/Q’
‘math/math’ -> ‘/tmp/Q/math’
‘math/b’ -> ‘/tmp/Q/b’
‘math/a’ -> ‘/tmp/Q/a’
removed ‘math/math’
removed ‘math/b’
removed ‘math/a’
mv: cannot remove ‘math/’: No such file or directory
math
기본적으로 가 가리키는 전체 디렉토리를 대상으로 이동합니다 . 현재 디렉터리를 가리키므로 지시한 위치로 완전히 이동됩니다. 목적지 바로 위 어딘가에 있었다면 흥미로운 루핑 문제가 발생할 수 있었습니다.