Tüm dizinleri bir yerden diğerine kopyalayıp yapıştırmak için 'cp' komutunu kullanın
Hangi İşletim Sistemini çalıştırıyor olursanız olun, bir dosya veya klasörü bir konumdan diğerine kopyalamak, günlük olarak gerçekleştirdiğiniz en temel görevdir. İş yerinde yoğun bir günde, okulda bir proje ödevi sırasında veya bir projenin devam eden geliştirmesi sırasında, dosyaları A konumundan B konumuna kopyalamak kaçınılmazdır.
Dosya veya klasörlerin kopyalanması genellikle GUI kullanılarak yapılır. Linux, dosyaları veya klasörleri bir konumdan diğerine kopyalamanıza izin veren bir komut satırı yardımcı programı sağlayarak terminalde çalışma alışkanlığınızı korur. Kullanmak cp
çeşitli seçeneklere sahip komut, size dosya ve klasörleri çeşitli şekillerde kopyalama özgürlüğü verir.
Hakkında bilgi edineceğiniz bu makalede size yol göstermeme izin verin. cp
komut ve dizinleri içerikleriyle birlikte kopyalamanın yolları.
Mevcut seçenekler cp
emretmek
ile kullanılan en yaygın seçeneklerdir. cp
bir dizini ve tüm içeriğini kopyalama bağlamında komut.
Seçenekler | Açıklama |
-v | ayrıntılı mod (ilerlemeyi gösterir) |
-r/R | dizinleri yinelemeli olarak kopyala |
-n | mevcut bir dosya veya klasörün üzerine yazmayın |
-Bence | üzerine yazmadan önce sor |
Bir dizini bir konumdan diğerine kopyalama
En temel kullanımı ile başlayalım. cp
emretmek. Bu komutu seçenekle kullanacağız. -r
.
Kullanmak -r
seçeneği, kopyaladığınız dizindeki alt klasörlerin ve dosyaların da kopyalanmasını sağlar.
Sözdizimi:
cp -r [kaynak_konum] [hedef_konum]
Örnek:
Mevcut çalışma dizinimde 'proje' ve 'çalışma alanı' adında iki dizin var.
Bu örnekte, kullanacağım cp -r
'proje' dizinini tüm içeriğiyle birlikte yeni bir konuma, yani '/home/gaurav/workspace'e kopyalama komutu. Bu basitçe, "proje" adlı dizini "çalışma alanı" adlı bir dizine kopyaladığım anlamına gelir.
Bunlar 'proje' dizininin içeriğidir. Kullanmak ls
içeriğini görüntülemek için komut.
gaurav@ubuntu:~/project$ ls -al toplam 288 drwxr-xr-x 6 gaurav gaurav 4096 17 Eylül 18:26 . drwxr-xr-x 88 gaurav gaurav 266240 17 Eyl 18:24 .. drwxr-xr-x 2 gaurav gaurav 4096 17 Eyl 18:25 dem1, drwxr-xr-x 2 gaurav gaurav 4096 17 Eyl 18:25 dem2 drwxr-xr -x 2 gaurav gaurav 4096 17 Eyl 18:25 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17 Eyl 18:25 dem4 -rw-r--r-- 1 gaurav gaurav 24 17 Eyl 18:26 temp.c gaurav@ ubuntu:~/proje$
Şimdi, kullanarak cp -r
komutuyla 'proje' dizinini istediğimiz herhangi bir yere kopyalayabiliriz.
gaurav@ubuntu:~$ cp -r /ev/gaurav/proje /ev/gaurav/çalışma alanı gaurav@ubuntu:~$
Çıktı:
gaurav@ubuntu:~/workspace$ ls -al toplam 408 drwxrwxr-x 4 gaurav gaurav 4096 17 Eylül 18:27 . drwxr-xr-x 88 gaurav gaurav 266240 17 Eylül 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 22 Mart 2018 .metadata drwxr-xr-x 6 gaurav gaurav 4096 17 Eylül 18:27 proje -rw-r--r -- 1 gaurav gaurav 1535 16 Eylül 17:13 source.c gaurav@ubuntu:~/workspace$
Yukarıdaki çıktıda, 'proje' dizininin orijinal konumundan bu yeni '/home/gaurav/workspace' konumuna kopyalandığını görebiliriz. Şimdi 'proje' dizinini açalım ve içindeki tüm içeriklerin de kopyalanıp kopyalanmadığını kontrol edelim.
gaurav@ubuntu:~$ cd ./workspace/project gaurav@ubuntu:~/workspace/project$
Not: kullandım ./
tam yolu girmek yerine burada. Bu basitçe, bunun benim ana dizin yolum olduğu ve çalışma alanının benim evimde veya mevcut çalışma dizinimde bulunduğu anlamına gelir. Bununla ilgili daha fazla açıklama için bu makaleye göz atabilirsiniz.
Çıktı:
gaurav@ubuntu:~/workspace/project$ ls -al toplam 28 drwxr-xr-x 6 gaurav gaurav 4096 17 Eylül 18:27 . drwxrwxr-x 4 gaurav gaurav 4096 17 Eyl 18:27 .. drwxr-xr-x 2 gaurav gaurav 4096 17 Eyl 18:27 dem1, drwxr-xr-x 2 gaurav gaurav 4096 17 Eyl 18:27 dem2 drwxr-xr- 2 gaurav gaurav 4096 17 Eylül 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17 Eylül 18:27 dem4 -rw-r--r-- 1 gaurav gaurav 24 17 Eylül 18:27 temp.c gaurav@ubuntu: ~/çalışma alanı/proje$
Bu çıktıdan, 'proje' dizininin tüm içeriğinin de yeni konuma taşındığı sonucuna varabiliriz.
Birden çok dizini bir konumdan diğerine kopyalama
Birden çok dizini kopyalamak için, cp
komutu yukarıda belirtildiği gibi kullanılabilir. Buradaki tek değişiklik, kopyalanacak birden çok dizinin birden çok kaynak yolunu girmeniz gerekeceği olacaktır.
Sözdizimi:
cp -r [kaynak_yol_1] [kaynak_yol_n] [hedef_yol]
Bu komutu bir örnekle kontrol edelim.
Örnek:
gaurav@ubuntu:~/workspace$ cp -r ./snap ./project /home/gaurav/tomcat
Burada, mevcut çalışma dizinimden '/home/gaurav/tomcat' adlı yeni bir konuma 'snap' ve 'project' adlı iki dizini kopyaladım.
Şimdi dizinlerin içerikleriyle birlikte yeni konuma kopyalanıp kopyalanmadığını kontrol edelim.
gaurav@ubuntu:~/tomcat$ ls -al toplam 9316 drwxrwxr-x 5 gaurav gaurav 4096 19 Eylül 12:16 . drwxr-xr-x 88 gaurav gaurav 266240 19 Eylül 12:15 .. drwxr-xr-x 6 gaurav gaurav 4096 19 Eylül 12:16 proje drwxr-xr-x 7 gaurav gaurav 4096 19 Eylül 12:16 snap
Bu dizinlerin içeriğinin de kopyalanıp kopyalanmadığını kontrol etme.
gaurav@ubuntu:~/tomcat/snap$ ls couchdb eclipse htop pycharm-community vim editörü gaurav@ubuntu:~/tomcat/snap$
gaurav@ubuntu:~/tomcat/project$ ls dem1, dem2 dem3 dem4 temp.c gaurav@ubuntu:~/tomcat/project$
kullanma cp
ayrıntılı mod ile komut
Kullanmak cp
seçeneği ile komut -v
ayrıntılı modu etkinleştirir. Bu özellik, kopyalanmakta olan terminaldeki dosyaları görüntüler. Kopyalanmakta olan Dosya veya Klasörün adı terminalinizde görüntülenir.
Sözdizimi:
cp -vr [kaynak_dizini] [hedef_konum_yolu]
Örnek:
gaurav@ubuntu:~$ cp -vr ./workspace/apache ./space
Bu örnekte, "apache" dizini yeni bir "space" klasörüne kopyalanmıştır. ben kullandım -v
ile seçenek -r
, böylece apache dizininin tüm içeriği de kopyalanır.
Çıktı:
'./workspace/apache' -> './space/apache' './workspace/apache/apache-tomcat-8.0.52.tar.gz' -> './space/apache/apache-tomcat-8.0. 52.tar.gz' gaurav@ubuntu:~$
Çıktı, kopyalanmakta olan dizini görüntüler. Aynı işlem birden fazla dosyanın kopyalanması durumunda da yapılabilir.
Kullanırken üzerine yazmaktan kaçının cp
emretmek
Bazen kullanırken cp
Birden çok dosya veya klasörü kopyalama komutu verirseniz, yeni konuma zaten kopyalanmış olan dosyaların üzerine yazabilirsiniz. Bunu önlemek için kullanılması tavsiye edilir. -Bence
seçeneği ile cp
emretmek. Bu, herhangi bir dosya veya klasörün üzerine yazmadan önce sizi uyaracaktır.
Sözdizimi:
cp -ri [kaynak_dizin_yolu] [hedef_konum_yolu]
Not: Burada, kullandığım sözdiziminde -r
seçeneği de. Bu, dizinlerin içeriğini de kopyalayacaktır. Ayrıca, dizin içindeki bu alt klasörlerin ve dosyalardan herhangi birinin üzerine yazılıp yazılmadığını kontrol edecektir.
Örnek:
gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat cp: './tomcat/snap/pycharm-community/current' üzerine yazılsın mı?
Burada 'snap' adlı bir dizini yeni bir konuma kopyalamaya çalıştım. Ancak 'snap' dizin adı yeni konumda zaten var. Bu nedenle, mevcut snap dizininin üzerine yazmadan önce terminal tarafından sorulacak.
Yazabilirsin 'Evet
' veya 'Numara
' bu istemin yanıtı olarak.
Bu durumda, kullanmazsanız -Bence
seçeneği, mevcut dizinin üzerine yeni dizin tarafından yazılacaktır.
İle dosya ve dizinlerin üzerine yazmayı atla cp
emretmek
kullanabiliriz -n
terminale doğrudan hiçbir zaman üzerine yazmamasını ve benzer dosya ve dizinleri atlamasını söyleme seçeneği cp
emretmek.
Sözdizimi:
cp -nr [kaynak_dizin_yolu] [hedef_konum_yolu]
Bu komutu kullanarak dosya ve klasörlerinizin üzerine yazılmayacağından emin olabilirsiniz.
Örnek:
gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat gaurav@ubuntu:~$
Burada, 'snap' dizini hedef konumda zaten var. Bu nedenle, kullanarak -n
seçeneği bu dizinin üzerine yazılmamasını sağlayacaktır.
farklı -Bence
seçeneği, burada üzerine yazma konusunda sorulmayacaktır.
Çözüm
Kullanmak cp
Linux'ta dizinleri ve içeriklerini kopyalama komutu kolay bir işlemdir. hakkında daha fazla bilgi edinmek için cp
diğer mevcut seçeneklerle komut, yazarak kılavuz sayfasına göz atabilirsiniz. adam cp
Linux terminalinizde.