Menyalin file dan direktori adalah salah satu tugas paling umum yang akan Anda lakukan saat mengerjakan baris perintah. Ada beberapa perintah untuk menyalin file di Linux, dengan cp
dan rsync
menjadi alat yang paling banyak digunakan.
Ini adalah praktik umum untuk menggunakan cp
perintah untuk menyalin file dan rsync
untuk menyalin direktori.
Untuk dapat menyalin file dan direktori, Anda harus memiliki setidaknya izin baca pada file sumber dan izin menulis pada direktori tujuan.
Menyalin File dengan cp
Perintah #
Pada sistem operasi Linux dan Unix, cp
perintah digunakan untuk menyalin file dan direktori.
Kasus penggunaan yang paling sederhana adalah menyalin file di direktori kerja saat ini. Misalnya, untuk menyalin file bernama file.txt
ke file bernama file_backup.txt
di direktori saat ini, Anda akan menjalankan perintah berikut:
cp file.txt file_backup.txt
Jika file tujuan ada, itu akan ditimpa. Untuk mendapatkan konfirmasi konfirmasi sebelum menimpa file, gunakan -i
pilihan.
cp -i file.txt file_backup.txt
Secara default, saat menggunakan cp
perintah untuk menyalin file, file baru akan dimiliki oleh pengguna yang melakukan perintah. Gunakan -p
opsi untuk mempertahankan mode file, kepemilikan, dan stempel waktu:
cp -p file.txt file_backup.txt
Opsi lain yang dapat berguna adalah -v
. Saat menggunakan opsi ini, perintah akan mencetak apa yang sedang dilakukan:
cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'
Menyalin file ke direktori #
Untuk menyalin file ke direktori, tentukan jalur absolut atau relatif ke direktori. Ketika direktori tujuan dihilangkan, file akan disalin ke direktori saat ini.
Pada contoh berikut, kita menyalin file file.txt
ke /backup
direktori:
cp file.txt /backup
Saat menentukan hanya nama direktori sebagai tujuan, file yang disalin akan memiliki nama yang sama dengan file aslinya.
Jika Anda ingin menyalin file dengan nama yang berbeda, Anda perlu menentukan nama file yang diinginkan:
cp file.txt /backup/new_file.txt
Perintah di atas akan menyalin file ke direktori yang ditentukan sebagai new_file.txt
.
Salin banyak file #
Untuk menyalin beberapa file dan direktori sekaligus, tentukan nama file dan direktori sumber diikuti dengan direktori tujuan sebagai argumen terakhir:
cp file.txt dir file1.txt file2.txt dir1
Saat menyalin banyak file, tujuannya harus berupa direktori.
cp
perintah juga memungkinkan Anda untuk menggunakan pencocokan pola. Misalnya, untuk menyalin semua .png
file dari direktori saat ini ke /backup
direktori, Anda akan menggunakan:
cp *.png /backup
Menyalin Direktori dengan cp
Perintah #
Untuk menyalin direktori, termasuk semua file dan subdirektorinya, gunakan -R
atau -r
pilihan. Pada contoh berikut, kita menyalin direktori Pictures
ke Pictures_backup
:
cp -R Pictures Pictures_backup
Perintah di atas akan membuat direktori tujuan dan secara rekursif menyalin semua file dan subdirektori dari sumber ke direktori tujuan.
Jika direktori tujuan sudah ada, direktori sumber itu sendiri dan isinya akan disalin ke direktori tujuan. Untuk menyalin hanya file dan subdirektori tetapi bukan direktori target, gunakan -T
pilihan:
cp -RT Pictures Pictures_backup
Opsi yang digunakan saat menyalin file juga dapat digunakan saat menyalin direktori. Perbedaan utamanya adalah saat menyalin direktori, Anda perlu menggunakan -R
pilihan.
Menyalin File dan Direktori dengan rsync
Perintah #
rsync
adalah utilitas baris perintah yang cepat dan serbaguna yang menyinkronkan file dan direktori antara dua lokasi. Ini dapat digunakan untuk menyalin file ke lokasi lokal dan jauh.
rsync
menyertakan banyak opsi yang mengontrol setiap aspek perilakunya
Opsi yang paling berguna adalah -a
yang secara rekursif menyalin direktori, mentransfer khusus dan memblokir perangkat serta mempertahankan tautan simbolis, waktu modifikasi, grup, kepemilikan, dan izin.
Untuk menyalin satu file dari satu lokasi ke lokasi lain, Anda akan menjalankan perintah berikut:
rsync -a file.txt file_backup.txt
Jika file tujuan ada, rsync
akan menimpanya.
Perintah yang sama dapat digunakan untuk menyalin direktori:
rsync -a /var/www/public_html/ /var/www/public_html_backup/
rsync
mengancam direktori sumber yang diakhiri dengan garis miring /
berbeda. Jika Anda menambahkan garis miring pada direktori sumber, perintah hanya akan menyalin konten direktori sumber ke direktori tujuan. Ketika garis miring dihilangkan, rsync
akan menyalin direktori sumber di dalam direktori tujuan. Opsi teraman adalah selalu menyertakan garis miring /
pada tujuan dan sumber.
Untuk mempelajari lebih lanjut tentang rsync
cek artikel berikut:
- Cara Menggunakan Rsync untuk Transfer dan Sinkronisasi Data Lokal dan Jarak Jauh
- Cara Mengecualikan File dan Direktori dengan Rsync
Kesimpulan #
Kami telah menunjukkan kepada Anda cara menyalin file dan direktori di sistem berbasis Linux dan Unix, menggunakan cp
dan rsync
utilitas.
Jika Anda memiliki pertanyaan, silakan tinggalkan komentar di bawah.