Opsi Perintah cp dan Menimpa Sekaligus Tanpa Konfirmasi | 2 Cara: yes dan Backslash

Lingkungan ujiKeluarga RHELAlmaLinux 9.8akun rootDiperiksa 2026-10-05

cp akan menanyakan apakah setiap file perlu ditimpa saat menyalin banyak file, sehingga pekerjaan terhenti. Perintah cp adalah singkatan dari Copy dan menyalin file serta direktori; artikel ini merangkum cara pakai dasar, opsi, dan 2 cara menimpa sekaligus tanpa konfirmasi.

Perintah cp menimpa file bernama sama di tujuan tanpa bertanya. Untuk mencegahnya, [alias cp='cp -i'] diatur sehingga konfirmasi ditanyakan sebelum menimpa.

✅ Cara Penggunaan Dasar

Penggunaan dasarnya adalah sebagai berikut.

cp -[opsi] <sumber: File atau direktori​> <tujuan: jalur atau File atau direktori (jalur)​>

Tulis dulu yang akan disalin, lalu tujuan atau nama baru di belakangnya.

Perintah cp
# Salin file > file 
cp file1 file2
# Salin file > ke dalam direktori
cp file1 dir1/
# Salin 2 file > ke dalam direktori
cp file1 file2 dir1/
 testuser]# cp dir1/ dir2/
cp: -r not specified; omitting directory 'dir1/'

Menyalin direktori memerlukan opsi -r atau -R, atau opsi -a.

  • -r/-R : menyalin direktori dan isinya secara rekursif
  • -a : menyalin rekursif sambil mempertahankan atribut (sudah termasuk -r)

✅ 2 cara menimpa sekaligus dengan perintah cp

Saat perintah cp dijalankan, muncul pertanyaan [overwrite] karena alias [cp -i] diatur untuk cp.

cp -a
cp: overwrite 'messages_ori'? y
~]# alias cp
alias cp='cp -i'

Jika hanya satu atau dua file tidak masalah, tetapi saat menyalin banyak file Anda harus menjawab untuk setiap file sehingga merepotkan.

Dalam kasus ini, Anda bisa menimpa tanpa konfirmasi dengan dua cara di bawah.

yes | cp -ar /home/ ./

Cara pertama adalah menambahkan [yes |] di depan, sehingga y otomatis dimasukkan untuk setiap konfirmasi dan file langsung disalin. Cara kedua adalah menambahkan backslash [\] di depan perintah, sehingga perintah cp asli dijalankan tanpa melalui alias.

\cp -ar /home/ ./

✅ Opsi perintah cp & simulator

OpsiPenjelasan
-a--archiveMenyalin sambil mempertahankan semua izin, pemilik, grup, informasi waktu, dan lainnya dari file asli[mempertahankan semua izin, pemilik, grup, informasi waktu, dan lainnya] + [-d : menyalin tautan simbolik itu sendiri] + [-R : menyalin direktori secara rekursif]
-bJika file tujuan sudah ada, file lama dicadangkan lalu disalin
-dJika sumbernya tautan simbolik, tautan itu sendiri yang disalin
-fJika file tujuan ada, file itu dihapus paksa lalu disalin
-i--interactiveMeminta konfirmasi pengguna sebelum menimpaalias cp='cp -i'
-l(huruf kecil)Menyalin dalam bentuk tautan keras
-PMenyalin tautan simbolik apa adanya tanpa mengikutinya
-pMempertahankan pemilik, grup, izin, dan informasi waktu file asli
-r, -RMenyalin direktori secara rekursif (termasuk subdirektori dan file)Opsi -r bukan standar POSIX dan bisa bermasalah saat menangani tautan simbolik atau file perangkat.
-sMenyalin dalam bentuk tautan simbolik (sumber harus ditulis dengan jalur absolut)
-uTidak menimpa jika file tujuan lebih baru atau sama
-vMenampilkan proses penyalinan (verbose)Opsi yang menampilkan pesan bahwa penyalinan selesai
-xTidak menyalin jika sistem file sumber dan tujuan berbeda.
Simulator perintah cpalias cp='cp -i'
[root@server work]#
Hanya berjalan di dalam browser dan tidak menyentuh file sungguhan. Coba ketik opsi cp yang berbeda-beda, lalu periksa hasilnya dengan ls, cat, dan diff. Tombol ↑↓ di keyboard memanggil kembali perintah yang sudah diketik, dan mengetik uknew help menampilkan perintah yang bisa dipakai.

🔲 Opsi -a: mempertahankan atribut file asli & menyalin subdirektori(&file)

Untuk menyalin sampai subdirektori sambil mempertahankan atribut file asli, opsi [-a] saja sudah cukup. Namun ada skrip atau alat otomatisasi yang secara eksplisit meminta [-r], sehingga opsi [-r] atau [-R] kadang ditambahkan juga.

 testuser]# cp -a dir1 dir2
 testuser]# ll dir*
dir1:
total 0
-rw-r--r-- 1 root root 0 Jun  8 14:11 file1
-rw-r--r-- 1 root root 0 Jun  8 14:15 file2

dir2:
total 0
-rw-r--r-- 1 root root 0 Jun  8 14:11 file1
-rw-r--r-- 1 root root 0 Jun  8 14:15 file2
 testuser]# 

[-d : menyalin tautan simbolik itu sendiri]+[-R : menyalin direktori secara rekursif]+[-⁠-preserve=all]

Item yang termasuk dalam --preserve=allPenjelasan
modeIzin file (rwx, dll.)
ownershipPemilik (user) dan grup (group)
timestampsStempel waktu seperti waktu modifikasi terakhir
linksJumlah tautan keras (mempertahankan inode yang dipakai bersama)
contextKonteks keamanan SELinux
xattrAtribut tambahan (metadata yang disimpan sebagai tambahan pada file)
allBentuk singkat yang mencakup semua item di atas sekaligus

🔲 Opsi -u: hanya menyalin file yang baru dan berubah

  • Hanya menyalin jika di jalur tujuan tidak ada file bernama sama, atau jika sumbernya lebih baru
  • Sering dipakai untuk backup atau sinkronisasi
 testuser]# cp -u file1 file2
 testuser]# ll file*
-rw-r--r-- 1 root root 0 Jun  8 14:11 file1
-rw-r--r-- 1 root root 0 Jun  8 14:30 file2
Linux

ℹ️ Pemberitahuan Afiliasi
Konten di situs ini berisi tautan afiliasi. Jika pengunjung membeli produk atau layanan melalui tautan tersebut, situs ini menerima komisi dari penjual. Harga yang dibayar pembeli(turun saat ada diskon promo ↓), tidak naik karena hal ini. Harga, diskon, dan informasi stok yang ditampilkan berlaku pada saat penulisan dan bisa berbeda dengan kondisi sebenarnya, jadi pastikan kembali di situs penjual sebelum membeli. Pemilihan dan penilaian produk dibuat berdasarkan standar kami sendiri, dan ada tidaknya komisi tidak memengaruhi urutan maupun isi penilaian.