web-gelistirme-sc.com

Bir klasörün içeriğini terminal kullanarak farklı bir dizindeki başka bir klasöre nasıl kopyalayabilirim?

Bir klasörün içeriğini terminal kullanarak farklı bir dizindeki başka bir klasöre kopyalamaya çalışıyorum.

Biri bana bunu başarmak için gereken komut satırı sözdiziminin bir örneğini sunabilir mi?

722
pandisvezia

/source klasörünün içeriğini komut ile başka bir mevcut klasöre /dest kopyalayabilirsiniz.

cp -a /source/. /dest/

-a seçeneği, tüm dosya özniteliklerini koruyan ve aynı zamanda sembolik bağları koruyan geliştirilmiş özyinelemeli bir seçenektir.

Kaynak yolun sonundaki ., gizli dosyalar dahil tüm dosya ve klasörleri kopyalamaya izin veren belirli bir cp sözdizimidir.

1090
enzotib

Bir alternatif rsync

rsync -r source/ destination

Rsync'in avantajları:

  1. İlk senkronizasyondan sonra, yalnızca değişen dosyaları kopyalar.

  2. Bir ağ üzerinden, $ HOME'daki dosyalar için, özellikle yapılandırma dosyaları için uygun kullanabilirsiniz.

126
Panther

Diyelim ki ~ içinde folder1 adında bir klasör olduğunu varsayalım, içinde klasör1 içinde 1 dosya var dosya1 ve sub1 ve sub2 olarak adlandırılan 2 klasör ve her biri içinde başka dosya ve klasörlerle birlikte.

~/folder1 - ~/new_folder1 tüm içeriğini kopyalamak için kullanmalısınız

cp -r ~/folder1/. ~/new_folder1

new_folder1, daha sonra folder1 sayfasındaki tüm dosya ve klasörleri içerecektir.

cp bir terminal kullanarak kopyalama komutudur, -r bunu yinelemeli yapar (bu nedenle, geçerli dizin + mevcut içindeki diğer dizinler) ~/folder1, Origin klasörüdür, ~/new_folder1 Menşe içindeki dosyalar/klasörler için hedef klasör.

76
Bruno Pereira

Klasör kopyalama hakkında daha fazla bilgi için bu http://www.cyberciti.biz/faq/copy-folder-linux-command-line/ işaretini kontrol edin. Bu yardımcı olur umarım.

cp Command

cp, dosya ve dizinleri kopyalamak için kullanılan bir Linux komutudur. Sözdizimi aşağıdaki gibidir:

cp source destination
cp dir1 dir2
cp -option  source destination
cp -option1 -option2  source destination

Bu örnekte, /home/vivek/letters klasörünü ve tüm dosyalarını /usb/backup dizinine kopyalayın:

cp -avr /home/vivek/letters /usb/backup

Nerede,

-a: Dizin dosya modu, sahiplik, zaman damgaları, mümkünse ek özellikler gibi belirtilen özellikleri koruyun: bağlam, bağlantılar, xattr, tümü.

-v: Ne yapıldığını açıkla.

-r: Dizinleri art arda kopyalayın. Örnek

/ Tmp/conf adlı bir klasörü/tmp/backup dizinine kopyalayın:

$ cp -avr /tmp/conf/ /tmp/backup
14
Dilip Rajkumar

İki klasör varsa: (yazma izniyle)

drwxr-xr-x 4 vimal vimal  4096 Sep  9 12:17 .
drwxr-xr-x 3 root  root   4096 Aug 18 14:35 ..
drwxrwxrwx 6 vimal vimal  4096 Sep  9 12:15 DATA
drwxrwxrwx 7 vimal vimal  4096 Sep  9 12:15 PORTAL

PORTAL adlı bir klasörün içindeyseniz, başka bir klasörün tüm içeriğini kopyalamak istediğinizde aynı seviyede VERİ diyorsunuz.

[email protected]:/var/www/html/PORTAL$ cp -a ../DATA/. .

2 nokta fark etmelisin. Son nokta, kopyayı mevcut klasörde buraya yazdığını söylüyor.

ve

birini takip/DATA /. DATA klasörü içindeki tüm İÇERİKLER'in DATA klasörünün değil kopyalanacağını söylüyor.

Bu izini kaldırırsanız "."/DATA'dan /

daha sonra tüm DATA klasörü PORTAL içine kopyalanacaktır (başa çıkacağınız yerden).

2
vimal krishna

Basit bir örnek.

dir_1 dizini ve içeriğini (_files _) dizine kopyalayın dir_2 :

cp -r ./dir_1 ./dir_2
# or
cp -r ./dir_1/ ./dir_2/
# Results in: ./dir_2/dir_1/_files_

içeriğini (_files_) yalnızca dir_1 dizinine dir_2 dizinine kopyalayın :

cp -r ./dir_1/. ./dir_2
# or
cp -r ./dir_1/. ./dir_2/
# Results in: ./dir_2/_files_*

_files_, dizinde bulunan gerçek dosyalar için bir yer tutucudur.

1
Karl Morrison