일부 쉘 터미널 (예 : bash)에서 복사가 수행 되면 링크 자체 대신 cp
링크가 가리키는 파일을 복사하도록 명시 적으로 지시 할 수 있습니다 --dereference
. 기본 동작은 cp
링크를 따라 파일을 복사하는 것이지만, 대부분의 그래픽 파일 브라우저는 링크를 복사하려고 시도하고 일반적으로 대부분의 속성을 유지하는 기본 동작을하는 것 같습니다.
man cp
-a, --archive
same as -dR --preserve=all
-d same as --no-dereference --preserve=links
-L, --dereference
always follow symbolic links in SOURCE
예
touch SomeFile.txt
echo "some content" > someFile.txt
ln -s -T someFile.txt someLink
echo "Some content for the test file." > someLink
mkdir someDirectory
ln -s -T someDirectory someDirLink
someLink
링크 인 사실 l
은 리스팅 출력의 첫 번째 위치에 플래그로 표시됩니다 (그리고`d '는 디렉토리를 지정합니다).
ls -l
drwxrwxr-x. 2 user group 4096 Aug 17 17:17 someDirectory
lrwxrwxrwx. 1 user group 13 Aug 17 17:17 someDirLink -> someDirectory
-rw-rw-r--. 1 user group 32 Aug 17 17:01 someFile.txt
lrwxrwxrwx. 1 user group 12 Aug 17 17:12 someLink -> someFile.txt
파일은 내용을 포함하고 링크는 파일을 가리 키지 만 파일과 거의 같은 방식으로 사용할 수 있습니다. (링크 파일 크기와 텍스트 파일 크기 비교 : 32 바이트 vs 12 바이트)
cat someFile.txt
Some content for the test file.
cat someLink
Some content for the test file.
먼저, 링크를 디렉토리로 복사하십시오. 그런 다음 링크를 통해 파일을 디렉토리에 복사하십시오. (아래는 디렉토리 링크가 파일 링크와 유사한 방식으로 작동 함을 보여줍니다.) :
cp -a someLink someDirLink/newCopy
cp -L someLink someDirectory/newCopy.txt
ll -l someDirLink/
lrwxrwxrwx. 1 user group 12 Aug 17 17:12 newCopy -> someFile.txt
-rw-rw-r--. 1 user group 32 Aug 17 17:36 newCopy.txt
주의
전체 경로 또는 상대 경로를 가리 키도록 링크를 만들 수 있습니다. 이 예에서는 작성중인 링크와 동일한 디렉토리에있는 대상의 상대 경로를 기반으로하는 링크를 사용 했으므로 링크가 새 디렉토리로 복사 될 때 링크가 끊어졌습니다.
cat someDirLink/newCopy
cat: someDirLink/newCopy: No such file or directory
cat someDirLink/newCopy.txt
Some content for the test file.