Android

Linux'ta dosya ve dizinler nasıl kopyalanır

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

İçindekiler:

Anonim

Dosya ve dizinleri kopyalamak, komut satırında çalışırken gerçekleştireceğiniz en yaygın görevlerden biridir. Linux'ta, en yaygın kullanılan araçlar cp ve rsync ile dosyaları kopyalamak için birkaç komut vardır.

Dosyaları kopyalarken cp komutunu ve dizinleri kopyalarken rsync komutunu kullanmak yaygın bir uygulamadır.

Dosya ve dizinleri kopyalayabilmek için, kaynak dosya üzerinde en azından okuma ve hedef dizinde yazma izninizin olması gerekir.

cp Komutu ile Dosya Kopyalama

Linux ve Unix işletim sistemlerinde, cp komutu dosya ve dizinleri kopyalamak için kullanılır.

En basit kullanım durumu, geçerli çalışma dizinindeki bir dosyayı kopyalamaktır. Örneğin, file.txt adlı bir dosyayı geçerli dizindeki file_backup.txt adlı dosyaya kopyalamak için aşağıdaki komutu çalıştırırsınız:

cp file.txt file_backup.txt

Hedef dosya varsa, üzerine yazılır. Dosyaların üzerine yazmadan önce bir onay istemi almak için -i seçeneğini kullanın.

cp -i file.txt file_backup.txt

Varsayılan olarak, bir dosyayı kopyalamak için cp komutunu kullanırken, yeni dosya komutu yerine getiren kullanıcının sahibi olacaktır. Dosya modunu, sahipliğini ve zaman damgalarını korumak için -p seçeneğini kullanın:

cp -p file.txt file_backup.txt

Yararlı olabilecek başka bir seçenek -v . Bu seçeneği kullanırken, komut yapılanları yazdırır:

cp -v file.txt file_backup.txt

'file.txt' -> 'file_backup.txt'

Dosyayı bir dizine kopyalama

Dosyayı bir dizine kopyalamak için dizinin mutlak veya göreceli yolunu belirtin. Hedef dizin atlanırsa, dosya geçerli dizine kopyalanır.

Aşağıdaki örnekte file.txt /backup dizinine kopyalıyoruz:

cp file.txt /backup

Yalnızca hedef olarak dizin adı belirtilirken, kopyalanan dosya orijinal dosyayla aynı ada sahip olacaktır.

cp file.txt /backup/new_file.txt

Yukarıdaki komut dosyayı belirtilen dizine new_file.txt olarak kopyalar.

Birden çok dosya kopyalama

Birden çok dosya ve dizini aynı anda kopyalamak için, kaynak argümanların ve dizinlerin adlarını ve ardından hedef dizini son argüman olarak belirtin:

cp file.txt dir file1.txt file2.txt dir1

Birden fazla dosya kopyalarken, hedef bir dizin olmalıdır.

Cp komutu, kalıp eşleştirmeyi kullanmanıza da olanak tanır. Örneğin, tüm .png dosyalarını geçerli .png /backup dizinine kopyalamak için şunu kullanırsınız:

cp *.png /backup

cp Komutu ile Dizin Kopyalama

Tüm dosyaları ve alt dizinleri de dahil olmak üzere bir dizini kopyalamak için -R veya -r seçeneğini kullanın. Aşağıdaki örnekte Pictures dizinini Pictures klasörüne kopyalıyoruz:

cp -R Pictures Pictures_backup

Yukarıdaki komut, hedef dizini oluşturur ve tüm dosyaları ve alt dizinleri özyinelemeli olarak kaynaktan hedef dizine kopyalar.

Hedef dizin zaten varsa, kaynak dizinin kendisi ve tüm içeriği hedef dizine kopyalanır. Hedef dosyaları değil, yalnızca dosyaları ve alt dizinleri kopyalamak için -T seçeneğini kullanın:

cp -RT Pictures Pictures_backup

Dosyaları kopyalarken kullanılan seçenekler dizin kopyalanırken de kullanılabilir. Temel fark, dizinleri kopyalarken -R seçeneğini kullanmanız gerektiğidir.

rsync Komutu ile Dosya ve Dizin Kopyalama

rsync , dosyaları ve dizinleri iki konum arasında senkronize eden hızlı ve çok yönlü bir komut satırı yardımcı programıdır. Dosyaları yerel ve uzak konumlara kopyalamak için kullanılabilir.

rsync , davranışının her yönünü kontrol eden bir dizi seçenek içerir. En kullanışlı seçenek, dizinleri özyinelemeli olarak kopyalayan, özel ve blok aygıtları aktaran, sembolik bağlantıları, değiştirme sürelerini, grup, sahiplik ve izinleri koruyan -a'dır.

Tek bir dosyayı bir konumdan diğerine kopyalamak için aşağıdaki komutu çalıştırırsınız:

rsync -a file.txt file_backup.txt

Hedef dosya varsa, rsync dosyanın üzerine yazacaktır.

Bir dizin kopyalamak için aynı komut kullanılabilir:

rsync -a /var/www/public_html/ /var/www/public_html_backup/

rsync , sonuna eğik çizgi / farklı bir şekilde biten kaynak dizinlerini tehdit eder. Kaynak dizine bir eğik çizgi eklerseniz, komut yalnızca kaynak dizinin içeriğini hedef dizine kopyalar. Sondaki eğik çizgi atlandığında, rsync kaynak dizini hedef dizinin içine kopyalar. En güvenli seçenek, her zaman hem hedefe hem de kaynağa sondaki eğik çizgiyi / eklemektir.

rsync hakkında daha fazla bilgi edinmek için aşağıdaki makalelere bakın:

Sonuç

Bu kılavuzda, cp ve rsync yardımcı programlarını kullanarak Linux ve Unix tabanlı sistemlerde dosya ve dizinlerin nasıl kopyalanacağını gösterdik.

cp rsync terminali