Sorun
cp -H
Veya ile dosyaları kopyalarken cp -L
aynı sonuçları alıyorum:
$ ls -l fileA
fileA -> fileB
$ cp fileA somewhere/ -H
$ ls -l somewhere/
fileA # fileA is a copy of fileB, only renamed, with same properties!
Bu cevap , her iki seçeneği de birlikte kullanılan UNLESS olarak açıklar -R
. Benim için değil. Sabitlenmiş dosyalar, kaynak olarak gösterdikleri dosyaların kopyaları olarak yeniden adlandırıldıkça soft.
Soru :
Doğru kullanımı nedir cp -H
ve cp -L
? Beklenen davranış bu mu?
Çözmek için girişimim :
man cp
iki seçenek için oldukça aynı söyler, ama info cp
'ın ifadeler daha da benim için kafa karıştırıcı hale getirir. Belki birileri bunu biraz çözmeme yardım edebilir:
-H
Bir komut satırı argümanı sembolik bir bağ belirtirse, sembolik bağın yerine işaret ettiği dosyayı kopyalayın . Bununla birlikte, özyinelemeli geçiş yoluyla karşılaşılan sembolik bağın (doğasını koruyarak) kopyalayın .
Bu bana bir çelişki gibi geliyor: Sanırım “ sembolik bir bağın doğası « bir yerlere işaret ediyor…
-L, --dereference
Onlardan fotokopi çekerken sembolik bağlantıları izleyin. Bu seçenek ilecp
sembolik bir bağlantı oluşturamazsınız. Örneğin, kaynak ağacındaki bir sembolik bağlantı (normal dosyaya), hedef ağacındaki normal bir dosyaya kopyalanacaktır.
Bir bağlantının normal bir dosya olmadığını biliyorum, ama… İtiraf ediyorum, buradaki açıklama ile fazla uğraşıyorum.
info cp
ve bu seçenekle ilgili kelime seçiminin gerçekte ne anlama geldiğini anlamak için çok çalıştım . ve bu ilanla ilgili. info cp
info cp
, ara-R
. Diyor ki,Copy directories recursively.
fakat dizin olmayanlar ile test yapıyorsunuz. Aradaki fark, kopyaladığınız dizinlerin içinde olanlar, komut satırı argümanları değil.