Cara Menyalin File dan Direktori di Linux [Contoh Perintah CP]

Cara Menyalin File dan Direktori di Linux [Contoh Perintah CP]

Singkat: Dalam panduan yang mudah diikuti ini, kita akan membahas beberapa contoh praktis dari perintah CP. Setelah mengikuti panduan ini, pengguna akan dapat menyalin file dan direktori dengan mudah di Linux menggunakan antarmuka baris perintah.

Sebagai pengguna Linux, kami berinteraksi dengan file dan direktori dari waktu ke waktu. Salah satu operasi yang dilakukan pengguna umum adalah menyalin file dan direktori. Tentu saja, kita dapat menggunakan manajer file grafis untuk melakukan operasi salinan. Namun, sebagian besar pengguna Linux lebih suka menggunakan cp Perintah karena kesederhanaan dan fungsionalitasnya yang kaya.

Dalam panduan yang ramah pemula ini, kita akan belajar tentang cp memerintah. Seperti namanya, Perintah CP digunakan untuk menyalin file dan direktori di jalur tertentu.

Sepanjang panduan ini, kami akan memahami penggunaan Perintah CP Menggunakan contoh praktis yang dapat digunakan setiap hari.

Jadi mari kita mulai.

Daftar isi

1
  • Sintaks perintah CP
  • 1. Cara menyalin file di linux
  • 2. Tampilkan Salin Perintah Kemajuan
  • 3. Cara menyalin banyak file ke direktori
  • 4. Bagaimana menghindari menimpa file
  • 5. Bagaimana menimpa file dengan konfirmasi
  • 6. Menimpa file hanya jika sumbernya lebih baru
  • 7. Cara membuat cadangan sebelum menimpa
  • 8. Cara memaksa salinan untuk menimpa file
  • 9. Cara menghapus file tujuan sebelum menyalin
  • 10. Cara membuat file tautan keras alih -alih menyalin
  • 11. Cara membuat file tautan lunak alih -alih menyalin
  • 12. Cara melestarikan atribut file saat menyalin
  • 13. Cara melakukan operasi salinan secara rekursif
  • 14. Cara menyalin banyak direktori

Sintaks perintah CP

Sintaksis cp Perintah identik dengan perintah Linux lainnya. Pada tingkat tinggi, dibagi menjadi dua bagian - pilihan Dan argumen:

$ CP [Opsi] $ CP [Opsi]…  

Dalam sintaks di atas, tanda kurung persegi ([]) mewakili argumen opsional sedangkan kurung sudut () mewakili argumen wajib.

1. Cara menyalin file di linux

Salah satu penggunaan dasar dari cp Perintah adalah menyalin file ke direktori saat ini. Sebagian besar waktu pengguna melakukan operasi ini untuk mengambil cadangan konfigurasi penting.

Misalnya, kami sering membuat salinan cadangan/etc/ssh/sshd_config file sebelum memperbarui konfigurasi ssh.

Untuk memahami penggunaannya, mari kita buat file sederhana:

$ Touch File-1.txt 

Selanjutnya, buat salinan file menggunakan perintah berikut:

$ CP File-1.file txt-2.txt 
Salin file di Linux

2. Tampilkan Salin Perintah Kemajuan

Dalam contoh sebelumnya, kami menggunakan perintah LS untuk memverifikasi apakah operasi salinan file berhasil atau tidak. Namun, tidak masuk akal untuk menggunakan satu perintah lagi hanya untuk memverifikasi hasil perintah sebelumnya.

Dalam kasus seperti itu, kami dapat mengaktifkan mode verbose menggunakan -v Opsi, yang menyediakan diagnostik untuk setiap file yang diproses.

Mari kita buat salinan File-1.txt File menggunakan perintah berikut:

$ cp -v file -1.File txt-3.txt 
Tampilkan output salinan

Dalam output di atas, panah mewakili file yang sedang disalin. Argumen sisi kiri adalah file sumber sedangkan argumen sisi kanan adalah file tujuan.

3. Cara menyalin banyak file ke direktori

Sejauh ini kami bekerja dengan satu file dan direktori kerja saat ini saja. Namun, di lingkungan produksi nyata, kita harus bekerja dengan sejumlah besar file. Salah satu kasus penggunaan umum di lingkungan tersebut adalah menyalin banyak file ke dalam satu direktori tunggal.

Jelas, kita dapat menjalankan perintah CP beberapa kali untuk mencapainya, tetapi itu tidak akan menjadi cara yang paling efektif. Untuk melakukan operasi seperti itu secara efektif, kita dapat menggunakan sintaks alternatif dari perintah CP.

Jadi, pertama, buat direktori baru dengan namanya dir-1:

$ mkdir dir-1 

Sekarang, mari kita salin ketiga file ke dir-1 Direktori Menggunakan Perintah Tunggal:

$ cp -v file -1.file txt-2.File txt-3.txt dir-1 
Salin banyak file di Linux

Output di atas menunjukkan bahwa semua file telah disalin ke dir-1 direktori. Juga, penting untuk dicatat bahwa, untuk menggunakan sintaks alternatif ini, direktori harus ada dan itu harus menjadi argumen terakhir dari perintah tersebut.

4. Bagaimana menghindari menimpa file

Secara default, cp Perintah menggantikan file tujuan, yang berarti akan menimpa file jika ada di tujuan dengan nama yang sama. Namun, kita dapat menonaktifkan perilaku default ini menggunakan -N pilihan.

Untuk memahami ini, mari kita coba timpa file yang ada:

$ cp -n -v file -1.file txt-2.txt 

Dalam contoh ini, kami telah menggunakan -v opsi untuk menggambarkan bahwa File-2.txt file belum ditimpa.

5. Bagaimana menimpa file dengan konfirmasi

Dalam contoh sebelumnya, kami melihat cara menghindari penimpangan file tujuan. Namun, kadang -kadang kami ingin menimpa tujuan file dengan cara yang lebih aman.

Dalam kasus seperti itu, kita dapat menggunakan -Saya opsi perintah untuk membuat operasi salinan interaktif. Opsi ini menunjukkan pesan peringatan dan menunggu konfirmasi pengguna sebelum menimpa file.

Untuk mengilustrasikan ini, mari kita coba menimpa file yang ada:

$ cp -i file -1.file txt-2.txt CP: Timpa file-2.txt'? 

Seperti yang bisa kita lihat, perintah sedang menunggu konfirmasi. Sama seperti perintah linux lainnya, kita bisa menggunakan 'y' untuk melanjutkan atau 'N' untuk membatalkan operasi.

Perilaku non-interaktif default ini dari cp Perintah tidak terlalu aman. Ada kemungkinan bahwa pengguna dapat menimpa konfigurasi penting karena kesalahan. Oleh karena itu beberapa distribusi Linux menegakkan perilaku interaktif secara default menggunakan perintah alias:

$ alias cp = "cp -i" 

6. Menimpa file hanya jika sumbernya lebih baru

Dalam contoh sebelumnya, kami melihat cara menggunakan mode interaktif. Namun, kadang -kadang, pengguna mungkin menimpa file yang lebih baru secara tidak sengaja.

Untuk menghindari kasus rawan kesalahan seperti itu, kami dapat menggunakan -u Opsi, yang mencoba menyalin operasi hanya jika sumbernya lebih baru dari tujuan atau jika file tidak ada di tujuan.

Pertama, perbarui stempel waktu file sumber:

$ touch -t 10101010 File -1.txt $ ls -l file -1.txt 

Dalam contoh di atas, kami telah menggunakan -T Opsi Perintah Sentuh untuk mengatur cap waktu file ke 10-OCT-2010.

Selanjutnya, mari kita perbarui cap waktu file tujuan ke waktu saat ini:

$ Touch File-2.txt 

Sekarang, mari kita coba melakukan operasi salinan menggunakan -u pilihan:

$ cp -u -v file -1.file txt-2.txt 

Di sini, kita dapat melihat bahwa operasi salinan belum dicoba karena file tujuan lebih baru dari sumbernya.

Akhirnya, mari kita bertukar argumen sumber dan tujuan dan lakukan operasi salin:

$ cp -u -v file -2.file txt-1.txt 

Dalam output di atas, kita dapat mengamati bahwa operasi salin berhasil karena file sumber lebih baru dari tujuan.

Menimpa file hanya jika sumbernya lebih baru

7. Cara membuat cadangan sebelum menimpa

Kita bisa menginstruksikan cp Perintah untuk mengambil cadangan file tujuan sebelum menimpanya. Untuk mencapai ini, kita dapat menggunakan --cadangan opsi, yang melakukan cadangan otomatis.

$ cp ---backup = nomor -v file -1.file txt-2.txt 

Dalam contoh ini, kami telah menggunakan kebijakan cadangan bernomor. Kebijakan ini menggunakan nomor tambahan dalam nama file cadangan.

Untuk memahami ini, mari kita jalankan perintah yang sama beberapa kali dan amati output:

$ cp ---backup = nomor -v file -1.file txt-2.txt $ cp ---backup = nomor -v file -1 bernomor.file txt-2.txt $ cp ---backup = nomor -v file -1 bernomor.file txt-2.txt 
File cadangan sebelum menimpa

8. Cara memaksa salinan untuk menimpa file

Dalam beberapa contoh sebelumnya, kami melihat cara menimpa file dengan cara yang lebih aman. Namun, dalam beberapa kasus yang jarang, persyaratannya adalah untuk menimpa file tersebut. Namun, tidak ada jaminan bahwa operasi akan berhasil setiap saat.

Misalnya, operasi salin akan gagal jika file tujuan tidak memiliki izin tulis. Mari kita ilustrasikan ini dengan sebuah contoh.

Pertama, ubah izin file tujuan:

$ chmod 444 File-2.txt $ ls -l file -2.txt 

Sekarang, mari kita coba timpa File-2.txt mengajukan:

$ CP File-1.file txt-2.txt 

Dalam output di atas, kita dapat melihat bahwa perintah telah gagal dengan kesalahan yang ditolak kesalahan.

Untuk mengatasi batasan ini, kita dapat menggunakan -F opsi, yang menghapus file tujuan dan mencoba operasi salin jika file tujuan tidak dapat dibuka.

Sekarang, mari kita gunakan -F Opsi untuk menimpa file dengan paksa:

$ cp -f -v file -1.file txt-2.txt 
Salin paksa untuk menimpa file

9. Cara menghapus file tujuan sebelum menyalin

Pada contoh sebelumnya, kami melihat cara menghapus file tujuan jika ada kesalahan saat mengoperasikannya. Namun, terkadang persyaratannya adalah menghapus file tujuan terlebih dahulu dan kemudian melakukan operasi salin.

Untuk memenuhi persyaratan seperti itu, kami dapat menggunakan --Lepaskan destinasi pilihan.

$ cp--remove-destination -V File-1.file txt-2.txt 
Hapus file tujuan sebelum menyalin

Dalam output di atas, kita dapat melihat bahwa perintah CP terlebih dahulu menghapus file tujuan dan kemudian melakukan operasi salin.

10. Cara membuat file tautan keras alih -alih menyalin

Kami dapat membuat tautan keras alih -alih membuat salinan baru dari file sumber. Opsi ini memainkan peran penting ketika ada kelangkaan ruang disk.

Jadi, mari kita gunakan -l Opsi untuk membuat tautan keras:

$ cp -l -v file -1.File txt-4.txt 

Sekarang, mari kita periksa nomor inode kedua file untuk memverifikasi tautan keras:

$ ls -i1 file -1.File txt-4.txt 
Buat file tautan keras alih -alih menyalin

Dalam output di atas, angka di kolom pertama mewakili nomor inode.

11. Cara membuat file tautan lunak alih -alih menyalin

Dengan cara yang sama, kita dapat membuat tautan lunak alih -alih membuat salinan baru menggunakan -S opsi seperti yang ditunjukkan di bawah ini:

$ cp -s -v file -1.TXT File-5.txt 

Sekarang, mari kita verifikasi bahwa tautan simbolik telah dibuat dengan benar:

$ ls -l file -5.txt 
Buat tautan lunak alih -alih menyalin

Dalam output di atas, kolom terakhir mewakili hubungan tautan simbolik.

12. Cara melestarikan atribut file saat menyalin

Ada berbagai atribut yang terkait dengan file, seperti waktu aksesnya, waktu modifikasi, izin, dll. Secara default, atribut ini tidak dipertahankan saat menyalin file. Untuk mengesampingkan perilaku default ini, kita dapat menggunakan -P pilihan.

Untuk memahami ini, pertama, perbarui stempel waktu File-1.txt:

$ touch -t 10101010 File -1.txt 

Sekarang, mari kita buat salinan file ini dengan melestarikan semua atributnya:

$ cp -p -v file -1.File txt-6.txt 

Akhirnya, verifikasi cap waktu File-6.txt mengajukan:

$ ls -l file -6.txt 
Mempertahankan atribut file saat menyalin

13. Cara melakukan operasi salinan secara rekursif

Sejauh ini kami melihat cara menyalin satu file. Namun, sering kali kita harus menyalin semua file dan sub-direktori dari direktori tertentu.

Dalam kasus seperti itu, kita dapat menggunakan mode rekursif baik menggunakan -R atau -R pilihan.

Jadi, mari kita buat direktori dan tambahkan beberapa file dan sub-direktori di bawahnya:

$ mkdir -p dir-1/dir-2 $ touch dir-1/file-1.txt dir-1/dir-2/file-2.txt 

Selanjutnya, verifikasi struktur direktori telah dibuat dengan benar:

$ tree dir-1 

Sekarang, mari kita salin direktori dir-1 secara rekursif menggunakan perintah berikut:

$ cp -r -v dir -1 dir -3 

Akhirnya, verifikasi bahwa semua file dan sub-direktori telah berhasil disalin:

$ Tree Dir-3 
Menyalin file secara rekursif

14. Cara menyalin banyak direktori

Mirip dengan file, kami dapat menyalin beberapa direktori rekursif menggunakan satu perintah tunggal. Namun, untuk mencapai ini, direktori tujuan harus ada dan itu harus menjadi argumen terakhir dalam perintah. Mari kita pahami ini dengan sebuah contoh.

Pertama, buat direktori direktori baru:

$ MKDIR DIR-4 

Sekarang, mari kita salin dir-1 Dan Dir-3 direktori ke dalam Dir-4 Direktori menggunakan perintah di bawah ini:

$ cp -r -v dir-1 dir-3 dir-4 

Dengan cara yang sama, kita dapat menggunakan -T opsi perintah untuk mencapai hasil yang sama. Opsi ini memungkinkan kami untuk menentukan direktori tujuan. Jadi kita dapat menggunakannya sebagai argumen pertama juga:

$ cp -t dir -4 -r -v dir -1 dir -3 
Salin banyak direktori

Dalam artikel ini, kami membahas cara menyalin file dan direktori menggunakan Perintah CP. Pemula dapat merujuk pada contoh-contoh ini dalam kehidupan sehari-hari saat bekerja dengan sistem Linux.

Anda mungkin juga suka:

  • Cara menggunakan perintah "mv" di linux [9 contoh berguna]
  • Kemajuan - Tunjukkan persentase data yang disalin untuk perintah (CP, MV, DD, TAR)
  • Pantau kemajuan data (salin/cadangan/kompres) menggunakan perintah 'PV'
  • Perintah Salin Lanjutan - Menampilkan Bilah Kemajuan Saat Menyalin File/Folder Besar di Linux

Apakah Anda tahu contoh terbaik lainnya dari perintah CP di Linux? Beri tahu kami pandangan Anda di komentar di bawah.