Dosyaların Üzerine Yazmak için 'cp' yi nasıl kullanabilirim?


10

Bir kabuk komut dosyası veya Terminal kullanarak, var olan veya olmayan dosyaların üzerine nasıl yazarım. Cp için man sayfasına baktım, üzerine yazmaya zorlamak için -f argümanını kullan. Ama hiçbir şey yapmıyor.

$ cp -f /path/to/source/file.txt /path/to/target

Veya OS X'teki yaygın yerleşik komut satırı araçlarını kullanarak dosyaların üzerine yazmak için başka bir seçenek var mı?


3
Benim için çalışıyor. Denediğinizde üzerine yazmak yerine ne yapıyor?
Gordon Davisson

2
Hedef dosyanın üzerine yazma izniniz yoksa, bu başarısız olur. Gerçekten bir hedef dosyanın üzerine yazmak istiyorsanız sudo, komutun başında kullanabilirsiniz . Ancak dikkatli kullanın!
Daniel

@Gordon Davisson: Ne yapıyor? hiçbir şey değil. Dosyaları yalnızca ben mvya da ben onları hedef dizine kopyalar rm.
rogerFernand

@Daniel Lawson: kullanmadan sudokullanabilir miyim mvveya rmkullanmadan önce dosyaları taşımak veya kaldırmak cp. Kullanmak sudo cpfark etmez.
rogerFernand

Meraklı ve meraklı.
Daniel

Yanıtlar:


14

Katılan bir takma ad yoksa cp'nin neden bu şekilde davrandığına şaşırıyorum. Ancak bu kesin durum için sağlanan bir hızlı kirli-ve-tehlikeli yarar vardır: yes. Bunu, onay istemleri veren herhangi bir komuta sürekli bir olumlama akışı akışı oluşturmak için kullanabilirsiniz (herhangi bir metin göndermek için kullanabilirsiniz, ancak varsayılan "y" dir).

yes | cp foo bar cp komutunu çalıştırır ve tüm onay istemlerini atlar.


8

Bir komut takma adından kaynaklanıyor olabilir.

cpDoğrudan aramak için/bin/cp src dest


1
Bunun neden reddedildiğinden emin değilim. Ben açıkça -f belirtmek takma adda -i geçersiz kılar izlenimi altındaydı, ama ben kontrol ve değil. Poster cp takma adı olup olmadığını öğrenmelidir (tip alias cp). Profillerindeki diğer adı değiştirebilir veya önerildiği gibi / bin / cp kullanabilirler.
octern

cpApple tarafından sağlanan varsayılanı kullanıyorum .
rogerFernand

@octern:roger$ alias cp -bash: alias: cp: not found
rogerFernand

/ Bin / cp kullanmak zorunda kaldım Neden bilmiyorum.
beingalex

1
Çok geç kalmış olabilirim ama arama motorundan gelen insanlar için komutun herhangi bir takma adı olup olmadığını görebildim type cp. Ve gerçekten de öyle.
shriek

2
rm foo/bar/destination && cp source foo/bar/destination

Önce rmhedefi ( ) kaldırırsınız , ardından başarılı ( &&) ise kopyalamanızı yaparsınız. Bir klasörü çıkartırken, eklemeyi unutmayın -riçin rm( rm -r).


1

Ben de -f ile karışıklık bir takma ad vardı, cp doğrudan / bin den çağrı ve her şey yolunda, yanlışlıkla üzerine yazma / kaldırma varsayılan olarak önleyen oldukça iyi, bu yüzden en iyi kaldırmak değil.

. # takma ad

takma ad cp = 'cp -i'

daha önce de belirtildiği gibi, -i bayrağı -f'yi aşar ve bu da aşağıdaki komutun istendiği gibi çalışmasına izin vermez.

. # / bin / cp -fauv src dst.

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.