GNU/Linux >> Belajar Linux >  >> Linux

16 Contoh Perintah 'cp' yang Berguna untuk Pemula Linux

Menjadi pengguna Linux, menyalin file dan direktori adalah salah satu perintah task.cp operasi sehari-hari yang paling umum digunakan untuk menyalin file dan direktori dari satu tempat lokal ke tempat lain menggunakan baris perintah. perintah cp tersedia di hampir semua sistem operasi seperti Unix dan Linux

Pada artikel ini kami akan mendemonstrasikan 16 contoh perintah cp yang berguna khusus untuk pemula linux. Berikut ini adalah sintaks dasar perintah cp,

Menyalin file ke file lain

# cp {options} source_file target_file

Salin File ke direktori atau folder lain

# cp {options} source_file   target_directory 

Salin direktori ke direktori

# cp {options} source_directory target_directory

Mari lompat ke contoh praktis perintah cp,

Contoh:1) Salin file ke direktori target

Mari kita asumsikan kita ingin menyalin file /etc/passwd ke direktori /mnt/backup untuk beberapa tujuan pencadangan, jadi jalankan perintah cp di bawah ini,

[email protected]:~# cp /etc/passwd /mnt/backup/
[email protected]:~#

Gunakan perintah di bawah ini untuk memverifikasi apakah sudah disalin atau belum.

[email protected]:~# ls -l /mnt/backup/
total 4
-rw-r--r-- 1 root root 2410 Feb  3 17:10 passwd
[email protected]:~#

Contoh:2 Menyalin banyak file sekaligus

Mari kita asumsikan kita ingin menyalin banyak (/etc/passwd, /etc/group &/etc/shadow) secara bersamaan ke direktori target (/mnt/backup)

[email protected]:~# cp /etc/passwd /etc/group /etc/shadow /mnt/backup/
[email protected]:~#

Contoh:3) Menyalin file secara interaktif (-i)

Jika Anda ingin menyalin file dari satu tempat ke tempat lain secara interaktif maka gunakan opsi “-i” pada perintah cp, opsi interaktif hanya berfungsi jika direktori tujuan sudah memiliki file yang sama, contoh di bawah ini,

[email protected]:~# cp -i /etc/passwd /mnt/backup/
cp: overwrite '/mnt/backup/passwd'? y
[email protected]:~#

Dalam perintah di atas kita harus mengetikkan 'y' secara manual untuk memungkinkan operasi penyalinan

Contoh:4) Output verbose selama perintah salin (-v)

Jika Anda ingin output verbose dari perintah cp maka gunakan opsi “-v”, contoh ditunjukkan di bawah ini

[email protected]:~# cp -v /etc/fstab  /mnt/backup/
'/etc/fstab' -> '/mnt/backup/fstab'
[email protected]:~#

Jika Anda ingin menggunakan mode interaktif dan mode verbose, gunakan opsi “-iv”

[email protected]echi:~# cp -iv /etc/fstab  /mnt/backup/
cp: overwrite '/mnt/backup/fstab'? y
'/etc/fstab' -> '/mnt/backup/fstab'
[email protected]:~#

Contoh:5) Menyalin direktori atau folder (-r atau -R)

Untuk menyalin direktori dari satu tempat ke tempat lain gunakan -r atau -R opsi dalam perintah cp. Mari kita asumsikan kita ingin menyalin direktori home pengguna linuxtechi ke “/mn/backup”,

[email protected]:~# cp -r /home/linuxtechi /mnt/backup/
[email protected]:~#

Pada perintah di atas, opsi -r akan menyalin file dan direktori secara rekursif.

Sekarang verifikasi isi direktori linuxtechi di tempat target,

[email protected]:~# ls -l /mnt/backup/linuxtechi/
total 24
drwxr-xr-x 2 root root 4096 Feb  3 17:41 data
-rw-r--r-- 1 root root    7 Feb  3 17:41 file_1.txt
-rw-r--r-- 1 root root    7 Feb  3 17:41 file_2.txt
-rw-r--r-- 1 root root    7 Feb  3 17:41 file_3.txt
-rw-r--r-- 1 root root    7 Feb  3 17:41 file_4.txt
-rw-r--r-- 1 root root    7 Feb  3 17:41 file_5txt
-rw-r--r-- 1 root root    0 Feb  3 17:41 file_5.txt
[email protected]:~#

Contoh:6) Arsipkan file dan direktori selama penyalinan (-a)

Saat menyalin direktori menggunakan perintah cp kita biasanya menggunakan opsi -r atau -R, tetapi sebagai pengganti opsi -r kita dapat menggunakan '-a' yang akan mengarsipkan file dan direktori selama penyalinan, contoh ditunjukkan di bawah ini,

[email protected]:~# cp -a /home/linuxtechi /mnt/backup/
[email protected]:~# ls -l /mnt/backup/linuxtechi/
total 24
drwxr-xr-x 2 root root 4096 Feb  3 17:41 data
-rw-r--r-- 1 root root    7 Feb  3 17:39 file_1.txt
-rw-r--r-- 1 root root    7 Feb  3 17:39 file_2.txt
-rw-r--r-- 1 root root    7 Feb  3 17:39 file_3.txt
-rw-r--r-- 1 root root    7 Feb  3 17:39 file_4.txt
-rw-r--r-- 1 root root    7 Feb  3 17:40 file_5txt
-rw-r--r-- 1 root root    0 Feb  3 17:39 file_5.txt
[email protected]:~#

Contoh:7) Salin hanya jika file sumber lebih baru dari file target (-u)

Mungkin ada beberapa skenario di mana Anda ingin menyalin file hanya jika file sumber lebih baru daripada file tujuan. Ini dapat dicapai dengan mudah menggunakan “-u ” pada perintah cp.

Dalam Contoh:6 kita telah menyalin direktori home linuxtechi ke folder /mnt/backup, di folder home linuxtechi kita memiliki 5 file txt, mari kita edit beberapa di antaranya dan kemudian salin semua file txt menggunakan “cp -u”.

[email protected]:~# cd /home/linuxtechi/
[email protected]:/home/linuxtechi# echo "LinuxRocks" >> file_1.txt
[email protected]:/home/linuxtechi# echo "LinuxRocks" >> file_4.txt
[email protected]:/home/linuxtechi# cp -v -u  file_*.txt /mnt/backup/linuxtechi/
'file_1.txt' -> '/mnt/backup/linuxtechi/file_1.txt'
'file_4.txt' -> '/mnt/backup/linuxtechi/file_4.txt'
[email protected]:/home/linuxtechi#

Contoh:8) Jangan menimpa file yang ada saat menyalin (-n)

Ada beberapa skenario di mana Anda tidak ingin menimpa file tujuan yang ada saat menyalin. Ini dapat dilakukan dengan menggunakan opsi '-n' dalam perintah 'cp'

[email protected]:~# cp -i /etc/passwd /mnt/backup/
cp: overwrite '/mnt/backup/passwd'?

Seperti yang Anda lihat pada perintah di atas, itu meminta kita untuk menimpa file yang ada, jika Anda menggunakan -n maka tidak akan meminta untuk menimpa dan juga tidak akan menimpa file yang ada.

[email protected]:~# cp -n /etc/passwd /mnt/backup/
[email protected]:~#

Contoh:9) Membuat tautan simbolik menggunakan perintah cp (-s)

Mari kita asumsikan kita ingin membuat tautan simbolis dari file alih-alih menyalin menggunakan perintah cp, untuk skenario seperti itu gunakan opsi '-s' dalam perintah cp, contoh ditunjukkan di bawah ini

[email protected]:~# cp -s /home/linuxtechi/file_1.txt /mnt/backup/
[email protected]:~# cd /mnt/backup/
[email protected]:/mnt/backup# ls -l file_1.txt
lrwxrwxrwx 1 root root 27 Feb  5 18:37 file_1.txt -> /home/linuxtechi/file_1.txt
[email protected]:/mnt/backup#

Contoh:10) Membuat Hard link menggunakan perintah cp (-l)

Jika Anda ingin membuat tautan keras dari suatu file alih-alih menyalin menggunakan perintah cp, gunakan opsi '-l'. contoh ditunjukkan di bawah ini,

[email protected]:~# cp -l /home/linuxtechi/devops.txt /mnt/backup/
[email protected]:~#

Seperti yang kita ketahui dalam hard link, file sumber dan file yang ditautkan akan memiliki nomor inode yang sama, mari kita verifikasi menggunakan perintah berikut,

[email protected]:~# ls -li /mnt/backup/devops.txt
918196 -rw-r--r-- 2 root root 37 Feb  5 20:02 /mnt/backup/devops.txt
[email protected]:~# ls -li /home/linuxtechi/devops.txt
918196 -rw-r--r-- 2 root root 37 Feb  5 20:02 /home/linuxtechi/devops.txt
[email protected]:

Contoh:11) Menyalin atribut dari sumber ke tujuan (–hanya atribut)

Jika Anda hanya ingin menyalin atribut dari sumber ke tujuan menggunakan perintah cp, gunakan opsi “–hanya atribut

# cp --attributes-only /home/linuxtechi/distributions.txt  /mnt/backup/
# ls -l /home/linuxtechi/distributions.txt
-rw-r--r-- 1 root root 41 Feb  5 19:31 /home/linuxtechi/distributions.txt
# ls -l /mnt/backup/distributions.txt
-rw-r--r-- 1 root root 0 Feb  5 19:34 /mnt/backup/distributions.txt
#

Pada perintah di atas, kita telah menyalin file distribution.txt dari direktori home linuxtechi ke folder /mnt/backup, jika Anda perhatikan, hanya atribut yang disalin, dan konten dilewati. Ukuran distribution.txt di bawah folder /mn/backup adalah nol byte.

Contoh:12) Membuat cadangan file tujuan yang ada saat menyalin (–cadangan)

Perilaku default dari perintah cp adalah untuk menimpa file di tujuan jika file yang sama ada, jika Anda ingin membuat cadangan dari file tujuan yang ada selama operasi penyalinan maka gunakan '–backup ‘, contoh ditunjukkan di bawah ini,

[email protected]:~# cp --backup=simple -v /home/linuxtechi/distributions.txt /mnt/backup/distributions.txt
'/home/linuxtechi/distributions.txt' -> '/mnt/backup/distributions.txt' (backup: '/mnt/backup/distributions.txt~')
[email protected]:~#

Jika Anda perhatikan, cadangan telah dibuat dan simbol tilde ditambahkan di akhir file. opsi cadangan menerima parameter berikut

  • tidak ada, nonaktif – jangan pernah membuat cadangan
  • diberi nomor, t – buat cadangan bernomor
  • sudah ada, nihil – diberi nomor jika ada cadangan bernomor, sebaliknya sederhana
  • sederhana, tidak pernah – selalu buat cadangan sederhana

Contoh:13) Pertahankan mode, kepemilikan, dan stempel waktu saat menyalin (-p)

Jika Anda ingin mempertahankan atribut file seperti mode, kepemilikan, dan stempel waktu saat menyalin, gunakan opsi -p dalam perintah cp, contoh ditunjukkan di bawah ini,

[email protected]:~# cd /home/linuxtechi/
[email protected]:/home/linuxtechi# cp -p devops.txt /mnt/backup/
[email protected]:/home/linuxtechi# ls -l devops.txt
-rw-r--r-- 1 root root 37 Feb  5 20:02 devops.txt
[email protected]:/home/linuxtechi# ls -l /mnt/backup/devops.txt
-rw-r--r-- 1 root root 37 Feb  5 20:02 /mnt/backup/devops.txt
[email protected]:/home/linuxtechi#

Contoh:14) Jangan ikuti tautan simbolik di Sumber saat menyalin (-P)

Jika Anda tidak ingin mengikuti tautan simbolik sumber saat menyalin, gunakan opsi -P dalam perintah cp, contoh ditunjukkan di bawah ini

[email protected]:~# cd /home/linuxtechi/
[email protected]:/home/linuxtechi# ls -l /opt/nix-release.txt
lrwxrwxrwx 1 root root 14 Feb  9 12:28 /opt/nix-release.txt -> os-release.txt
[email protected]:/home/linuxtechi#
[email protected]:/home/linuxtechi# cp -P os-release.txt /mnt/backup/
[email protected]:/home/linuxtechi# ls -l /mnt/backup/os-release.txt
-rw-r--r-- 1 root root 35 Feb  9 12:29 /mnt/backup/os-release.txt
[email protected]:/home/linuxtechi#

Catatan: Perilaku default dari perintah cp adalah mengikuti tautan simbolik di sumber saat menyalin.

Contoh:15) Salin file dan direktori secara paksa menggunakan opsi -f

Mungkin ada beberapa skenario di mana file tujuan yang ada tidak dapat dibuka dan dihapus. Dan jika Anda memiliki file sehat yang dapat disalin sebagai pengganti file tujuan yang ada, gunakan perintah cp bersama dengan opsi -f

[email protected]:/home/linuxtechi# cp -f distributions.txt  /mnt/backup/
[email protected]:/home/linuxtechi#

Contoh:16) Salin file sparse menggunakan opsi sparse di perintah cp

Jarang adalah file biasa yang berisi urutan panjang nol byte yang tidak menggunakan blok disk fisik apa pun. Salah satu keuntungan dari file sparse adalah tidak memakan banyak ruang disk dan operasi membaca pada file tersebut akan cukup cepat.

Mari kita asumsikan kita memiliki gambar cloud yang jarang bernama "ubuntu-cloud.img"

[email protected]:/home/linuxtechi# du -sh ubuntu-cloud.img
12M     ubuntu-cloud.img
[email protected]:/home/linuxtechi# cp --sparse=always ubuntu-cloud.img /mnt/backup/
[email protected]:/home/linuxtechi# du -sh /mnt/backup/ubuntu-cloud.img
0       /mnt/backup/ubuntu-cloud.img
[email protected]:/home/linuxtechi#

Opsi yang berbeda dapat digunakan saat menggunakan parameter sparse dalam perintah cp,

  • jarang=otomatis
  • jarang-selalu
  • jarang=tidak pernah

Itu saja dari artikel ini, semoga membantu Anda untuk memahami perintah cp dengan lebih efektif. Silakan bagikan umpan balik dan komentar Anda


Linux
  1. 10 Contoh Perintah 'rm' untuk Pemula Linux

  2. Tutorial perintah cd Linux untuk pemula (8 Contoh)

  3. Perintah killall Linux untuk Pemula (8 Contoh)

  1. 10 Contoh Perintah ncat (nc) yang berguna untuk Sistem Linux

  2. 10 Contoh Perintah Linux Cat untuk Pemula

  3. Tutorial perintah comm Linux untuk pemula (5 contoh)

  1. Tutorial Perintah Linux df untuk Pemula (8 Contoh)

  2. Perintah dir Linux untuk pemula (10 contoh)

  3. Perintah Csplit Linux Dijelaskan untuk Pemula (6 Contoh)