Cp -x'in amacı (dosya sisteminde kalmak)?


25

Aynı dosya sisteminde kalmak istersem, aynı dosya sistemi için bir çıktı yolu belirleyemedim mi?

Yoksa mevcut dosya sisteminden yanlışlıkla ayrılmayı önlemek mi?


1
-x farklı bir bağlamda: unix.stackexchange.com/a/358331/30851, ancak cp için aynı: -x dosya sistemlerini geçiriyorsanız ve tam bir kopya olmasını istiyorsanız, bunları bir şekilde takmayı düşünün sen tam resim
frostschutz

1
Aynı şeyi birçok bayrak için de sorabilirsiniz, örneğin -i: "neden var olmayan bir hedefi belirtmiyorsunuz?"
JigglyNaga,

1
@JigglyNaga Ben de öyle düşünüyordum. Ancak -x belgelerde iyi ifade edilmemiştir ve çok daha az belirgindir.
aslaMind9

Yanıtlar:


59

Dosyaların kopyalandığı nerede sınırlar dan onlar kopyalanan konum değil, nerede. Özyinelemeli kopyalarla cpalt dizinlere nasıl girildiğini kontrol etmek faydalıdır . Böylece

cp -xr / blah

takılan diğer dosya sistemlerinden hiçbirini değil yalnızca kök dosya sistemini kopyalar.

Bkz belgeleri (kendi ayrım ince olmasına rağmen).cp -x


3
Oh evet, / mnt altındaki ağ paylaşımlarını kopyalamak istemeyebilirsiniz. Ayrıca ev sürücünüzün altına monte edilmiş bir uzak RCS deposu.
mckenzm

1
@mckenzm Ayrıca /mnt, bazen yalnızca bir dağıtım kuruluşu tarafından uygulanan, ancak işletim sistemi gerekliliği olmayan bir insan sözleşmesi olduğu için. Bazen /var/somewebsite/www/sessionsyük dengeleme web sunucularını uygulayabilmek için ağa bağlı ağ dosya
sistemim var

Gerçekten de, bu tür bayraklar, yanlışlıkla taktığınızı unutmuş olduğunuz büyük ağ paylaşımlarının veya çıkarılabilir ortamların kopyalanmasını önler. Ve --excludebunların her birini manuel olarak engellemek için seçenekler vermenize gerek yok . Rsync ile çok kullanışlıdır.
Lassi

3
Aynı zamanda gibi kopyalama dosya sistemlerini önler /dev, /proc, /sysgenellikle “topluca” okumak istemediğiniz vb.
Stephen Kitt

28

-xBayrak için cpbir GNU oluşumudur. Tek bir dosyayı kopyalarken, bu seçeneğin hiçbir etkisi olmaz, ancak tüm bir dosya hiyerarşisini -xkopyalarken , seçenek, orijinal kaynakla aynı dosya sisteminde bulunmayan dosyaların ve dizinlerin kopyalanmasını önler.

Örneğin, bağlama noktaları olan /usrve /usr/localkullanan bir dosya sisteminde, cp -xR /usr /some-destaltındaki hiyerarşi kopyalanmayacaktır /usr/local.

Orada bir diğer yarar olarak -x, örneğin benzer anlam ile seçeneği duve find(uygun olarak adlandırılır -xdeviçin find), ve rsync.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.