Bir klasörü başka bir konuma kopyalamak için bir komuttan bahsetmenizi isteseydim, hemen hemen herkes cp.
Şimdi, size, ek olarak, bu klasörün 1 dosya dışında tüm içeriğini kopyalamanız gerektiğini söylersem, birçoğu düşünürdü ve diğerleri rsync, sonra parametre ile –Dışla X dosyasını veya klasörünü hariç tutabilir ve kopyalayamazsınız. Ama ... cp'nin bunu yapmanıza da izin verdiğini biliyor muydunuz? ... O_O … Evet arkadaşlar, cp kendi "dışlama" hehe vardır.
Örneğin, klasörümüz var isos kapsamak: ubuntu.iso, debian.iso y arlinux.iso :
Ve diğer klasöre kopyalamak istediğimiz oluyor (dağıtımlar-deb, boş olan) dosya debian.iso y ubuntu.isoyani archlinux.iso hariç tümü
Bunun için bir dosyayı ve ardından başka bir dosyayı manuel olarak kopyalayabilirdik, ancak sistemin bize sunduğu seçenekleri kullanmak çok daha akıllıca, değil mi? … 😀… örneğin, bunu sadece yapmak için:
cp isos/!(archlinux.iso) distros-deb/
Ve bu, isos dizininde bulunan HER ŞEYİ distros-deb'e kopyalamak için yeterlidir, archlinux.iso hariç her şeyi 😉
Ama sadece bu 3 dosyaya sahip olmadığımızı, aynı zamanda fedora.iso ve chakra.iso'ya sahip olduğumuzu varsayalım ... ve aynısını yapmak istiyoruz, fedora.iso ve chakra.iso kopyalarından da çıkarılsın, hadi nasıl yapılacağını görün:
cp isos/!(archlinux.iso|fedora.iso|chakra.iso) distros-deb/
Gördüğünüz gibi, birkaç dosya veya klasör hariç tutulabilir, bunları yalnızca bir boru ile ayırıyoruz (|) ve sorun çözüldü 😀
Bununla cp'nin her şey için rsync'den daha iyi olduğu anlamına gelmiyorum ... ama her ikisi de mükemmel araçlar, örneğin ... parametreyi biliyor muydunuz? -u de cp? ... hehe, elbette değil 😉
Ekleyecek başka bir şey yok ... bu ilginç bir ipucu değil mi? 😀
selamlar
Ben bu yöntemi bilmiyordum, hep yeni bir şeyler öğreniyorsun.
Mükemmel ipucu, teşekkürler.
teşekkürler
Bahşiş çok iyi, bilmiyordum! Sadece Arch ve Fedora kullanıcılarına iso'larının hehe'lerini neden hariç tuttuğunuzu açıklamak kalır.
JAJAJAJAJAJA Arch ve Fedora ISO'larını koymadım çünkü örnek sadece Deb dağıtımlarını kopyalamaya çalıştı… HAHAHAHAHA.
Burada birkaç noktaya değinmemiz gerekiyor. Birincisi, bu yalnızca bash'ın extglob seçeneği etkinleştirilmişse çalışır. Değilse, şu komutla etkinleştirilir:
shopt -s extglob
Her zaman etkinleştirilmesi için .bashrc'ye konulabilir.
Diğer nokta ise bu numara cp komutunun bir seçeneği değil, ama bash seviyesinde çalışıyor. Bu, herhangi bir komutla kullanılabileceği anlamına gelir. Sadece cp ile değil. Testi yazarak yapabilirsiniz:
echo Dosyaları: isos /! (archlinux.iso | fedora.iso | chakra.iso)
Aksi takdirde çok faydalı bir numaradır. -U seçeneğiyle birlikte, zaman zaman yararlı bulduğum cp.
Elbette, bu normal bir ifade
Aslında genişletilmiş bir kalıptır. Normal ifade başka bir şeydir, ama ona benziyor. 🙂
Evet, cp'deki -u gerçekten ilginç. Büyük bir rsync hayranı olduğumu kabul ediyorum ... ama bilmiyorum, zayıf cp hahaha'ya bir bağlılığım var.
Shopt'u etkinleştirme hakkında bilmiyordum, bunun otomatik olarak çalıştığını varsaydım, bahşiş için teşekkürler.
Ve evet, bunun Bash ile cp'den daha fazla ilgisi olduğundan şüpheleniyordum, ancak henüz bir rm veya kedi veya benzeri bir şey yapmayı denemedim :)
Yorum için teşekkürler, gerçekten yapıyorum 😀
Benim üzerime düşeni yapmak bir zevk. 🙂
Aslında, her zaman normal ifadeyi öğrenmekle ilgilenmişimdir ... Heyecanlanıyor ve bununla ilgili yeni başlayanlar için bir gönderi yapıyor musunuz? 😀
LOL !! Zaten bana sahipsin. 🙂 Yorum yapmadan ne kadar mutlu olduğum için… 🙂
Gerçek şu ki, beni arıyor. 🙂 Ama yine de biraz düşünmem gerekiyor. Açıklaması zor görünüyor.
hahahahaha hiçbir şey merak etmeyin, hala ahahahaha öğrendiğinizi söyleyip duruyorsunuz, önemli olan paylaşmaktır 😀
Çok iyi bir ipucu Yeni bir şey öğrenmeden asla yatağa gitmeyeceksiniz.
Kesinlikle ve en iyisi de paylaşımlara bıraktığınız yorumlarla çok şey öğreniyorum, her gün garip şeyler öğrenmeyi seviyorum HAHAHA.
İyi numara. Onu tanımıyordum 🙂
Bir zevk mi?
Ama isos koyduğunuzda debian.iso ubuntu.iso /! (Vb.) Koymak mı istiyorsunuz? Hayır
Gerçekten de çok ilginç bir ipucu olduğu ortaya çıktı. Sadece makalenin kendisi nedeniyle değil, aynı zamanda yorumların katma değeri nedeniyle de.
Güzel <º Linux topluluğu
Yardımınızın bana hiçbir faydası olmadı, bir örnek vermelisiniz ki öğrenciler muhteşem tekniğinizi daha iyi anlayabilsin.
Zaman ayırdığınız için teşekkürler, bu sayfayı her zaman kalbimde hatırlayacağım
dizinleri atladığınızı söylüyorsunuz, ancak örneklerde yalnızca dosyaları atlıyorsunuz, belirli bir dizini nasıl atlayacağınızı biliyor musunuz? Saygılarımızla.