Sorun
cp -HVeya ile dosyaları kopyalarken cp -Laynı 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 -Hve cp -L? Beklenen davranış bu mu?
Çözmek için girişimim :
man cpiki 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:
-HBir 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, --dereferenceOnlardan fotokopi çekerken sembolik bağlantıları izleyin. Bu seçenek ilecpsembolik 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 cpve 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.