GNU/Linux >> Belajar Linux >  >> Linux

Perintah cp di Linux:7 Contoh Praktis

Salah satu perintah yang harus Anda ketahui di Linux adalah cp. Perintah ini sering disebut perintah salin di Linux dan sebenarnya kependekan dari copy dan melakukan persis seperti namanya:menyalin.

cp digunakan untuk menyalin file dari satu lokasi ke lokasi lain. cp juga dapat digunakan untuk menyalin seluruh direktori ke lokasi baru. Anda juga dapat menggunakannya untuk menyalin banyak file dan direktori.

7 Contoh penggunaan perintah cp di Linux

Mari kita lihat bagaimana Anda dapat menggunakan perintah cp untuk berbagai tujuan:

1. Cara menyalin file

Contoh paling sederhana adalah menyalin file. Untuk melakukannya, Anda hanya perlu menentukan file sumber dan direktori atau file tujuan.

cp source_file target_directory/target_file

Pada contoh di atas, jika target_fille tidak ada di target_directory, maka akan dibuat target_file.

Namun, jika file_baru sudah ada, itu akan menimpanya tanpa bertanya. Artinya isi dari file target yang ada akan diganti dengan isi dari file sumber.

Saya akan menunjukkan cara menangani penimpaan file nanti dalam tutorial ini.

Perhatikan :Secara default, perintah cp menimpa jika file target sudah ada. Perilaku ini dapat diubah dengan opsi -n atau -i, yang akan dijelaskan nanti.

2. Cara menyalin banyak file

Jika Anda ingin menyalin banyak file sekaligus ke lokasi baru, Anda dapat melakukannya dengan cara berikut:

cp file1 file2 file3 fileN target_directory

Ini akan menyalin semua file yang ditentukan ke direktori target. Jika direktori target memiliki file yang cocok dengan nama file sumber, itu akan ditimpa.

3. Berbagai cara untuk menangani penimpaan saat menyalin file

Anda mungkin tidak akan selalu ingin file target yang ada ditimpa dan itu benar-benar logis.

Untuk mencegah menimpa file yang ada, Anda dapat menggunakan opsi -n. Dengan cara ini, cp tidak akan menimpa file yang ada.

cp -n source_file target_directory

Tapi mungkin Anda ingin menimpa beberapa file. Anda dapat menggunakan opsi interaktif -i dan ini akan menanyakan apakah Anda ingin menimpa file yang ada.

cp -i source_file target_directory
cp: overwrite 'target_directory/source_file'?

Anda dapat memasukkan y untuk menimpa file yang ada atau n untuk tidak menimpanya.

Ada juga opsi untuk membuat cadangan otomatis. Jika Anda menggunakan opsi -b dengan perintah cp, itu akan menimpa file yang ada tetapi sebelum itu, itu akan membuat cadangan dari file yang ditimpa.

cp -b file.txt target_dir/file.txt
ls target_dir
file.txt file.txt~

Pencadangan file diakhiri dengan ~.

Anda juga dapat menggunakan opsi pembaruan -u ketika berhadapan dengan penimpaan. Dengan opsi -u, file sumber hanya akan disalin ke lokasi baru jika file sumber lebih baru dari file yang ada atau jika tidak ada di direktori target.

Untuk meringkas:

  • -i :Konfirmasi sebelum menimpa
  • -n :Tidak ada penimpaan
  • -b :Menimpa dengan cadangan
  • -u :Timpa jika file target sudah lama atau tidak ada

4. Cara menyalin direktori di Linux

Anda juga dapat menggunakan perintah cp untuk menyalin direktori di Linux termasuk semua file dan sub-direktorinya. Anda harus menggunakan opsi -r di sini yang merupakan singkatan dari rekursif.

cp -r source_dir target_dir

Ini akan menyalin seluruh source_dir ke target_dir. Sekarang source_dir akan menjadi subdirektori dari target_dir.

ls target_dir
source_dir

5. Cara menyalin hanya konten direktori, bukan direktori itu sendiri

Pada contoh sebelumnya, Anda menyalin seluruh direktori ke lokasi baru.

Tetapi jika Anda hanya ingin menyalin konten direktori sumber ke direktori target, Anda harus menambahkan /. di akhir direktori sumber. Ini akan menunjukkan bahwa Anda hanya ingin menyalin konten direktori sumber.

Mari kita lihat dengan sebuah contoh:

ls source_dir
source_file_1 source_file2

Sekarang salin konten direktori sumber:

cp -r source_dir/. target_dir

Jika Anda memeriksa konten direktori target sekarang, Anda akan melihat bahwa hanya konten direktori sumber yang telah disalin.

ls target_dir
source_file_1 source_file2

6. Cara menyalin banyak direktori

Anda juga dapat menyalin beberapa direktori sekaligus dengan perintah cp di Linux.

Cukup gunakan dengan cara yang sama seperti yang Anda lakukan untuk satu direktori.

cp -r source_dir1 source_dir2 source_dir3 target_dir

Itu selalu argumen terakhir dalam perintah yang diambil sebagai direktori target.

Jika Anda hanya ingin menyalin konten dari beberapa direktori sekaligus, Anda juga dapat melakukannya:

cp -r source_dir1/. source_dir2/. source_dir3/. target_dir

Bahkan, Anda dapat menggabungkan direktori, konten, dan file sekaligus.

cp -r source_dir1 source_dir2/. source_file target_dir
Kiat :Anda dapat menggunakan mode verbose dengan opsi -v untuk melihat file apa yang sedang disalin.

7. Cara mempertahankan atribut saat menyalin

Saat Anda menyalin file ke lokasi baru, atributnya seperti izin file dan stempel waktu file akan berubah.

Jika Anda ingin mempertahankan atribut file asli, Anda dapat menyalin file dengan opsi -p.

Mari kita lihat dengan sebuah contoh.

ls -l /etc/services 

-rw-r--r-- 1 root root 19183 Dec 26  2016 /etc/services

Jika saya mencoba menyalin file ini secara normal, atributnya akan berubah:

cp /etc/services .
ls -l services 
-rwxrwxrwx 1 abhishek abhishek 19183 Nov 25 20:45 service

Tetapi jika saya menggunakan opsi p, file yang disalin akan mempertahankan mode, kepemilikan, dan stempel waktu.

cp -p /etc/services .
ls -l services 
-rw-r--r-- 1 abhishek abhishek 19183 Dec 26 2016 services

Seperti yang Anda lihat, Anda mempertahankan mode akses dan stempel waktu pf file sumber dengan opsi -p.

Tapi tunggu! Apakah itu tidak seharusnya menjaga kepemilikan file sumber juga? Tapi di sini pemilik (root) file sumber telah diubah menjadi abhishek.

Ini karena hanya root yang memiliki izin untuk mengubah kepemilikan file yang dimiliki oleh root. Jika Anda menggunakan opsi -p dengan file yang tidak dimiliki oleh root, itu akan mempertahankan kepemilikannya. Atau, Anda dapat menjalankan perintah dengan sudo untuk mempertahankan kepemilikan file yang dimiliki oleh root.

Anda juga dapat menentukan atribut yang ingin Anda pertahankan. Tapi kemudian Anda harus menggunakan opsi –preserve.

cp --preserve=timestamp /etc/services .
ls -l services 
-rw-r--r-- 1 abhishek abhishek 19183 Dec 26  2016 services

Seperti yang Anda lihat pada output di atas, itu hanya mempertahankan stempel waktu dari file sumber.

Anda dapat menjelajahi lebih lanjut perintah cp dengan menelusuri halaman manualnya. Contoh yang ditampilkan di sini adalah contoh paling umum yang akan Anda gunakan sebagai pengguna Linux, sysadmin, atau pengembang perangkat lunak.

Jika Anda menyukai tutorial ini, silakan bagikan artikel ini ke media sosial dan berbagai forum.


Linux
  1. 10 Contoh Perintah Linux nm Praktis

  2. 8 Contoh Perintah Linux TR

  3. Contoh Perintah rm di Linux

  1. Perintah Shutdown Linux:5 Contoh Praktis

  2. 5 Contoh Praktis Perintah dd di Linux

  3. Contoh Perintah ps di Linux

  1. Perintah cp Linux

  2. 7 Contoh Perintah Linux df

  3. sa Contoh Perintah di Linux