/bin 전체를 ./rmlater 폴더에 복사하고 싶다고 가정해 보겠습니다.
cp -rvf /bin/ ./rmalter
내가 원하는 방식으로 작동cp -rvf /bin ./rmalter
하지만 방금 소스에 슬래시가 없으면 빈 폴더만 제공된다는 사실을 발견했습니다.- 그러나 후행 슬래시 없이 다른 소스 폴더를 시도하면
cp -rvf ./Desktop ./rmlater/
여전히 파일이 복사됩니다.
debian$ cp -rvf /bin ./rmlater/ '/bin' -> './rmlater/bin' debian$ find ./rmlater/ ./rmlater/ ./rmlater/bin debian$ rm -rvf rmlater/* removed 'rmlater/bin' debian$ cp -rvf ./Desktop ./rmlater/ './Desktop' -> './rmlater/Desktop' './Desktop/chrome_via_proxy.desktop' -> './rmlater/Desktop/chrome_via_proxy.desktop' './Desktop/chrome.desktop' -> './rmlater/Desktop/chrome.desktop' ...
그럼 무슨 일인지 말해 줄 사람 있나요?
답변1
/bin
에 대한 심볼릭 링크입니다 /usr/bin
. /bin
뒤에 슬래시가 없는 것은 심볼릭 링크 자체에 해당하고, /bin/
뒤에 슬래시가 있는 것은 대상 디렉터리에 해당합니다.
게다가 cp
반복할 때 기본적으로 심볼릭 링크를 따르지 않습니다. 그래서
cp -rvf /bin/ ./rmalter
디렉토리(및 그 내용)를 복사하지만
cp -rvf /bin ./rmalter
심볼릭 링크만 복사됩니다.