현재 디렉터리에 대한 소프트 링크를 만들었습니다.
$ 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
. 현재 디렉터리를 가리키므로 지정한 위치로 정확하게 이동합니다. 목적지 바로 위에 있는 경우 흥미로운 루핑 문제가 발생할 수 있습니다.