Menyalin file dan direktori adalah salah satu tugas paling umum yang akan Anda lakukan ketika bekerja pada baris perintah. Di Linux, ada beberapa perintah untuk menyalin file, perintah cp dan rsync adalah cara yang paling populer.

para user sering menggunakan perintah cp ketika menyalin file dan perintah rsync saat menyalin direktori.

Sebelum mulai

Untuk dapat menyalin file dan direktori, Anda harus memiliki setidaknya izin read (baca) pada file sumber dan izin write (tulis) pada direktori tujuan.

Menyalin File dengan Perintah cp

Perintah cp adalah utilitas baris perintah untuk menyalin file dan direktori pada sistem Linux dari satu lokasi ke lokasi lain di mesin yang sama.

Kasus penggunaan yang paling sederhana adalah menyalin file di direktori kerja saat ini. Misalnya, untuk menyalin file bernama file.txt di direktori saat ini sebagai file_backup.txt, jalankan perintah berikut:

cp file.txt file_backup.txt

Jika file tujuan ada, maka file dengan nama dan ekstensi yang sama akan ditimpa. Untuk meminta konfirmasi, gunakan opsi -i.

cp -i file.txt file_backup.txt

Saat menggunakan perintah cp untuk menyalin file, file baru akan dimiliki oleh pengguna yang melakukan perintah. Gunakan opsi -p untuk mempertahankan mode file, kepemilikan, dan timestamps:

cp -p file.txt file_backup.txt

Opsi lain yang bisa 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'

Salin File ke Direktori Lain

Untuk menyalin file ke direktori lain, Anda perlu menentukan jalur absolut atau relatif ke direktori tujuan. Pada contoh berikut ini, kami menyalin file file.txt ke direktori /backup:

cp file.txt /backup

Saat menentukan hanya nama direktori sebagai tujuan, file yang disalin akan memiliki nama yang sama dengan file asli.

Jika Anda ingin menyalin file dengan nama yang berbeda, Anda perlu menentukan nama file yang diinginkan:

cp file.txt /backup/file_baru.txt

Perintah di atas akan menyalin file ke direktori yang ditentukan sebagai file_baru.txt.

Salin beberapa file

Dimungkinkan juga untuk menyalin beberapa file sekaligus dengan menentukan nama-nama file yang diikuti oleh direktori tujuan:

cp file.txt file1.txt file2.txt directory

Saat menyalin beberapa file, tujuan harus berupa direktori.

Perintah cp juga memungkinkan Anda untuk menggunakan pencocokan pola. Misalnya, untuk menyalin semua file png dari direktori saat ini ke direktori /backup yang akan Anda gunakan:

cp *.png /backup

Cara Menyalin Direktori di Linux dengan Perintah cp

Untuk menyalin direktori, termasuk semua file dan subdirektori, gunakan opsi -R. Pada contoh berikut ini kita menyalin direktori ~/Pictures ke direktori ~/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.

Opsi yang digunakan saat menyalin file dapat juga digunakan saat menyalin direktori. Perbedaan utama adalah bahwa ketika menyalin direktori Anda perlu menggunakan opsi -R.

Cara Menyalin File dan Direktori di Linux dengan Perintah rsync

Rsync adalah utilitas baris perintah yang cepat dan serbaguna.  Rsync menyinkronkan file dan direktori antara dua lokasi. Rsync dapat digunakan untuk menyalin file baik ke lokasi lokal ataupun lokasi jauh.

Rsync menyediakan sejumlah opsi yang mengontrol setiap aspek perilakunya. Opsi yang paling banyak digunakan adalah -a yang akan menyalin direktori secara rekursif, mentransfer perangkat khusus dan memblokir, mempertahankan symbolic links, waktu modifikasi, grup, kepemilikan, dan izin file.

Untuk menyalin satu file dari satu ke lokasi lain Anda dapat menggunakan perintah berikut:

rsync -a file.txt file_backup.txt

Jika file tujuan ada, rsync akan menimpanya.

Anda dapat menggunakan perintah yang sama seperti di atas untuk menyalin direktori dengan rsync:

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

Perlu diperhatikan bahwa Rsync menganggap garis miring / pada akhiran sumber dengan konsep berbeda. Jika Anda menambahkan garis miring pada direktori sumber, ia hanya akan menyalin konten yang ada di direktori ke direktori tujuan. Ketika garis miring dihilangkan, rsync akan menyalin direktori sumber ke dalam direktori tujuan.

Untuk mempelajari lebih lanjut tentang rsync, periksa panduan berikut:

Kesimpulan

Dalam panduan ini, kami telah belajar cara menyalin file dan direktori di sistem berbasis Linux dan Unix menggunakan utilitas cp dan rsync.