Kopyalama bazı kabuk terminallerinde (yani bash) yapılırsa , bağlantının kendisi yerine cp
bir bağlantının işaret ettiği dosyayı kopyalaması açıkça söylenebilir --dereference
. Varsayılan davranışı, cp
bağlantılarını izleyerek dosyaları kopyalamaktır, ancak birçok grafik dosya tarayıcısı, bağlantıları kopyalamaya çalışmak ve genellikle çoğu özniteliği korumak için varsayılan bir davranışa sahip gibi görünmektedir.
man cp
-a, --archive
same as -dR --preserve=all
-d same as --no-dereference --preserve=links
-L, --dereference
always follow symbolic links in SOURCE
Misal
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
Aslında someLink
bir bağlantı ile gösterilir l
ilan çıkışının ilk pozisyonda bayrağı (ve 'd', bir dizini belirler).
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
Dosya içeriği içerir ve bağlantı dosyayı işaret eder, ancak dosyanın olabileceği hemen hemen her şekilde kullanılabilir. (Bağlantı dosyasının boyutunu metin dosyası boyutuna göre not edin: 32 Bayt vs 12 Bayt.)
cat someFile.txt
Some content for the test file.
cat someLink
Some content for the test file.
İlk olarak, bağlantıyı bir dizine kopyalamak. Sonra bağlantı yoluyla dosyayı dizine kopyalayın. (Aşağıda, dizin bağlantılarının dosya bağlantılarına benzer şekilde çalıştığı da gösterilmektedir.):
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
Dikkat
Bağlantılar, tam bir yolu veya göreceli bir yolu gösterecek şekilde yapılabilir. Bu örnekte, hedefin oluşturulmuş bağlantıyla aynı dizinde göreceli yolunu temel alan bir bağlantı kullanıldığı için, bağlantı yeni bir dizine kopyalandığında kopmuştur.
cat someDirLink/newCopy
cat: someDirLink/newCopy: No such file or directory
cat someDirLink/newCopy.txt
Some content for the test file.