'cp' kopya anlamına gelir. 'cp' komutu bir dosyayı veya dizini kopyalamak için kullanılır.
Cp Komutanlığına Giriş
Cp komutu dizinleri ve dosyaları kopyalamak için kullanılır. Komut, bir dosyayı diğer dosyalara, birden fazla dosyayı herhangi bir dizine kopyalamak veya tüm dizinleri diğer dizinlere kopyalamak için programa gösterilen bağımsız değişken türleriyle temsil edilen üç ana işlem modunu içerir.
Ayrıca yardımcı program, uygulanan işlemlerin ayrıntılandırılması için çeşitli komut satırı seçenek işaretlerini kabul eder. İki temel belirtim GNU cp ve POSIX cp'dir. GNU cp, POSIX sürümünde çeşitli ekstra seçenekler içerir. Ayrıca komut EFI kabuğunda da mevcuttur.
cp komutunun Çalışma Modları
Cp komutu üç ana çalışma modunu içerir. Bu modlar, çağrılmakta olan programa gösterilen bağımsız değişkenlerin sayısı ve türünden tamamlanır.
- Program, ilk dosyanın içeriğini ikinci dosyaya kopyalayabilir, program dosyalara iki yol adı argümanı içerdiğinde gerekliyse ikinci dosyayı yapabilir.
- Program, tüm kaynak dosyalarını istenen dizine kopyalayabilir, program bir veya daha fazla dosya yol adı argümanı içerdiğinde mevcut olmayan herhangi bir dosyayı hazırlayabilir ve bunları bir dizine giden yol argümanı olarak takip edebilir.
- Cp komutu, kaynak dizindeki her dosyayı istenen dizine kopyalayabilir, programın argümanları iki dizinin yol adları olduğunda gerekli tüm dizinleri veya dosyaları oluşturabilir. Bu işlem modu, özyinelemeli dizinin kopyalanmasını temsil etmek için ekstra bir seçenek bayrağına ihtiyaç duyar. Kaynak hedefe kopyalanırken, hedef dizin zaten mevcutsa, hedef mevcut değilse yeni bir dizin oluşturulur.
Cp Komutu Seçenekleri
Seçenek | Tanım |
---|---|
--arşiv, -a | -dR --preserve=all'a eşdeğerdir. |
--yalnızca özellikler | Dosyanın verilerini kopyalamaz, yalnızca nitelikleri kopyalar. |
-B | Yedekleme gibidir ancak hiçbir argümanı kabul etmez. |
--backup[=KONTROL] | Mevcut tüm hedef dosyaların yedeğini alır. |
--kopya-içerikler | Özyinelemeli olduğunda özel dosya içeriklerini kopyalar. |
-D | --no-dereference --preserve=links'e eşdeğerdir. |
--kuvvet, -f | Mevcut herhangi bir hedef dosya açılamıyorsa, onu silin ve tekrar deneyin (-n bayrağı da kullanılıyorsa bu seçenekten kaçınılır). |
--interaktif, -i | Üzerine yazmadan önce onay ister (önceki -n işaretini geçersiz kılar). |
-H | SOURCE'da komut satırı sembolik bağlantılarını takip eder. |
--bağlantı, -l | Kopyalamak yerine sabit bağlantı dosyalarını belirtir. |
--referans, -L | SOURCE'ta her zaman sembolik bağları takip eder. |
--hayır-yıkıcı, -n | Mevcut herhangi bir dosyanın üzerine yazmaz (-i bayrağını geçersiz kılar). |
--no-referans yok, -P | SOURCE'da hiçbir zaman sembolik bağları takip etmez. |
-P | --preserve=mode, zaman damgaları, sahiplik ile eşdeğerdir. |
--preserve[=ATTR_LIST] | Tanımlanan nitelikleri korur. Mümkünse ekstra özellikler: tümü, xattr, bağlantılar, bağlam. |
--no-preserve=ATTR_LIST | Açıklanan özellikleri korumaz. |
--ebeveynler | Dizinin altında tam kaynak dosya adını kullanır. |
--özyinelemeli, -r, -R | Dizinleri yinelemeli olarak kopyalar. |
--reflink[=NE ZAMAN] | CoW/klon kopyalarını kontrol eder. |
--hedefi kaldır | Açmaya çalışmadan önce mevcut tüm hedef dosyaları kaldırır (--force'un aksine). |
--sparse=NE ZAMAN | Seyrek dosyaların oluşturulmasını kontrol eder. |
--dize-sondaki-eğik çizgiler | Tüm SOURCE bağımsız değişkenlerinden sondaki eğik çizgileri kaldırır. |
--sembolik-bağlantı, -s | Kopyalamak yerine sembolik bağlantılar kurar. |
--sonek=SONEK, -S | Ortak yedekleme sonekini geçersiz kılar. |
--hedef-dizin=DİZİN, -t | Her SOURCE argümanını DIRECTORY'e kopyalar. |
--hedef-dizin yok, -T | DEST'i genel bir dosya olarak kabul eder. |
--güncelleme, -u | SOURCE dosyası hedef dosyaya göre daha yeniyse veya hedef dosya belirtilmemişse kopyalanır. |
--ayrıntılı, -v | Ne yapıldığını belirtir. |
--tek-dosya-sistemi, -x | Dosya sisteminde kalır. |
-İLE | Hedef dosyanın SELinux güvenlik içeriğini varsayılan türe ayarlar. |
--bağlam[=CTX] | -Z ile aynıdır veya CTX'ten bahsediliyorsa SMACK veya SELinux güvenlik içeriğini CTX'e ayarlar. |
--yardım | Yardım menüsünü gösterir ve çıkar. |
--versiyon | Sürüm ayrıntılarını sağlar ve çıkar. |
Seyrek SOURCE dosyaları ucuz bir buluşsal yöntemle bulunur ve ilgili DESR dosyası varsayılan olarak seyrek oluşturulur. Bu, seçtiği davranıştır. --sparse=otomatik . Tanımlayabiliriz --sparse=her zaman SOURCE dosyası yeterince uzun bir sıfır bayt sırası içeriyorsa, seyrek bir DEST dosyası oluşturmak için. Biz de başvurabiliriz --sparse=hiçbir zaman seyrek dosyaların oluşturulmasını kısıtlamak için.
Eğer --reflink[=her zaman] Bahsedildiği gibi, veri bloklarının yalnızca değiştirildiğinde kopyalandığı hafif bir kopya uygulayın. Eğer mümkün değilse veya --reflink=otomatik denildiğinde kopya başarısız olur ve standart kopyaya geri döner. Biz de başvurabiliriz --reflink=asla standart bir kopyanın uygulandığını garanti etmek için.
Bir dosyayı aynı dizine kopyalamak için sözdizimi şöyle olacaktır:
cp
Yukarıdaki anlık görüntüde, şunun bir kopyasını oluşturduk: 'belge' ve onu şu şekilde adlandırdım: 'yeni' . Durumda ise, (bizim durumumuzda 'newdocu') zaten mevcutsa, önceki dosyanın üzerine yazılacaktır.
Bir dosyayı farklı bir dizine kopyalamak için
Hedef dizinin yolundan bahsetmemiz gerekiyor.
sinema oyuncusu kajal
Aşağıdaki anlık görüntüde daha önce 'metin' dosyası yoktu. Komutu verdikten sonra; 'metin' dosya hedef dizine kopyalandı 'Masaüstü' .
Linux cp -r
Seçenek 'R' copy komutu ile bir dizini tüm içeriğiyle birlikte kaynak dizinden hedef dizine kopyalamak için kullanılabilir.
Sözdizimi:
cp -r
Örnek:
cp -r library /home/sssit/Documents
Yukarıdaki örnekte dizini kopyaladık 'kütüphane' hedef dizine /ana sayfa/sssit/Belgeler . Burada 'kütüphane' dizininin tüm içeriği, içeriği de dahil olmak üzere hedef dizine kopyalanmıştır.
Linux Birden Fazla Dosya veya Dizini Kopyalayın
Birden fazla dosya veya dizin bir hedef dizine aynı anda kopyalanabilir. Bu durumda hedefin bir dizin olması gerekir. Birden fazla dosyayı kopyalamak için kullanabilirsiniz joker karakterler (cp *.extension) aynı desene sahip.
Sözdizimi:
cp *.
Örnek:
cp *.txt /home/sssit/Documents
Yukarıdaki örnekte aynı uzantıya sahip dosyaları (dosya1, dosya2, dosya3) kopyaladık. '.txt' Belgeler dizinine.
Linux cp --yedekleme
Kopyalamak istediğiniz dosya hedef dizinde zaten mevcutsa bu komutu kullanarak mevcut dosyanızı yedekleyebilirsiniz.
Sözdizimi:
gizli uygulamalar nasıl ortaya çıkarılır
cp --backup
Örnek:
cp --backup file2.txt /home/sssit/Downloads
Yukarıda gördüğünüz gibi, 'dosya2.txt' hedef dizinde zaten mevcut. Bu nedenle, bu dosyanın bir yedeğini oluşturduk ve aynı dizine (aynı isimde) kopyaladık.
Artık 'İndirilenler' olan hedef dizinimizde aynı ada sahip iki dosya var (yani 'file2.txt').
Linux cp -i
cp '-i' seçeneği, dosyanızın üzerine yazmadan önce bir kez onaylamanıza olanak tanır.
Sözdizimi:
cp -i
Örnek:
cp -i file3.txt /home/sssit/Desktop
Gördüğünüz gibi dosyanın üzerine yazmak için izin istiyor 'dosya3.txt' çünkü bu dosya hedef dizinde zaten mevcut. Artık tuşuna basabilirsiniz Ve dosyanın üzerine yazmak ve N dosyanın üzerine yazmamak için.
Linux cp-l
Bir dosyayı kopyalamak yerine o dosyanın sabit bağlantısını oluşturmak istiyorsanız 'l' seçeneğini kullanabilirsiniz.
Not: Dosyanın sabit bağlantısını oluştururken iki dosyanın inode numarası aynı kalacaktır. Kopyalama durumunda inode numarası değişir.
Sözdizimi:
cp -l
Örnek:
cp -l file1.txt usr/
Burada dosyanın sabit bağlantısını oluşturduğumuzu unutmayın. 'dosya1.txt' içinde 'usr' . Her iki dosyanın inode numarası aynı.
Urfi Javed
Linux cp -p
cp '-p' seçeneği bir dosyanın özelliklerini ve niteliklerini korumak için kullanılır. Ayrıca istediğiniz seçili özellikleri de koruyabilirsiniz.
Sözdizimi:
cp -p
Örnek:
cp -p file2.txt usr/
Artık yukarıdaki resimdeki iki dosyayı (orijinal ve kopyalanan) eşleştirebilirsiniz, her ikisi de aynı özelliklere sahiptir.
Linux cp -u -v
Hedef dosyanın eksik olduğundan veya mevcut olmadığından emin olmak istediğinizde cp -u -v komutu kullanılır.
Sözdizimi:
cp -u -v
Örnek:
cp -u -v docc file1.txt /home/sssit/Downloads/
Yukarıdaki resimde iki dosya olduğunu görebilirsiniz. 'duş' Ve 'dosya1.txt' . Şimdi bu iki dosyayı 'İndir' dizinine kopyalamak istiyoruz. Ancak 'İndirilenler' dizininde 'file1.txt' dosyasının zaten mevcut olduğunu bilmiyoruz.
Komutun verilmesi 'cp -u -v' otomatik olarak mevcut dosyayla (dosya1.txt) ilgilenecek ve üzerine yazmayacaktır.
Bu komut büyük dosyaların kopyalanmasında kullanışlıdır.