
Kalau kamu baru mulai belajar Linux, dua command yang wajib kamu kuasai sejak dini adalah cp dan mv. Keduanya adalah perintah dasar yang digunakan hampir setiap hari oleh para developer, sysadmin, hingga pengguna Linux biasa.
Tanpa memahami cp dan mv, kamu akan kesulitan mengelola file dan direktori di lingkungan terminal. Bayangkan harus memindahkan ratusan file sekaligus, membuat backup otomatis, atau merapikan struktur folder proyek, semua itu bisa diselesaikan hanya dengan dua command ini.
Apa itu Command cp di Linux?
cp adalah singkatan dari copy. Command ini digunakan untuk menyalin file atau direktori dari satu lokasi ke lokasi lain di sistem Linux. File asli tetap ada di lokasi semula setelah proses penyalinan selesai.
Command cp sudah tersedia secara default di hampir semua distribusi Linux, sehingga kamu tidak perlu menginstal paket tambahan untuk menggunakannya.
Beberapa fungsi utama dari command cp antara lain:
- Menyalin satu atau lebih file ke direktori tujuan
- Menduplikasi file sebagai cadangan (backup)
- Menyalin seluruh isi folder beserta subdirektorinya
- Mempertahankan atribut file seperti permission dan timestamp
Syntax Lengkap Command cp
Struktur dasar penggunaan command cp adalah sebagai berikut:
cp [opsi] sumber tujuan
- sumber: file atau direktori yang ingin disalin
- tujuan: lokasi tempat file hasil salinan akan disimpan
Berikut opsi-opsi penting yang sering digunakan bersama command cp:
- -r atau -R menyalin direktori secara rekursif beserta seluruh isinya
- -i meminta konfirmasi sebelum menimpa file yang sudah ada di tujuan
- -v menampilkan proses penyalinan secara verbose (detail) di terminal
- -u hanya menyalin file jika sumber lebih baru dari file di tujuan
- -p mempertahankan atribut file seperti timestamp, permission, dan ownership
Contoh Syntax cp Beserta Penjelasan
Menyalin satu file:
cp dokumen.txt /home/user/backup/
Perintah ini menyalin file dokumen.txt ke folder /home/user/backup/.
Menyalin dengan konfirmasi:
cp -i laporan.pdf /home/user/dokumen/
Jika file laporan.pdf sudah ada di tujuan, terminal akan menanyakan konfirmasi sebelum menimpa.
Menyalin dan tampilkan prosesnya:
cp -v foto.jpg /media/usb/
Terminal akan menampilkan informasi seperti 'foto.jpg' -> '/media/usb/foto.jpg' saat proses berjalan.
Menyalin sambil mempertahankan atribut:
cp -p config.conf /etc/backup/
File hasil salinan akan memiliki timestamp dan permission yang sama persis dengan file aslinya.
Use Case Command cp
Copy File ke Direktori Lain. Ini adalah use case paling umum. Misalnya kamu ingin memindahkan file konfigurasi ke folder backup:
cp nginx.conf /etc/nginx/backup/nginx.conf
Copy Banyak File Sekaligus. Kamu bisa menyalin beberapa file sekaligus dalam satu perintah dengan menyebutkan semua nama file sebelum direktori tujuan:
cp file1.txt file2.txt file3.txt /home/user/arsip/
Atau gunakan wildcard untuk menyalin semua file dengan ekstensi tertentu:
cp *.jpg /home/user/foto/
Copy Folder Beserta Isinya (Recursive). Untuk menyalin sebuah folder beserta semua file dan subdirektori di dalamnya, kamu wajib menggunakan flag -r:
cp -r /var/www/html /home/user/backup-html/
Tanpa flag -r, command cp tidak akan bisa menyalin direktori dan akan menampilkan pesan error.
Backup File dengan cp. Salah satu use case yang sangat berguna adalah membuat backup cepat sebelum mengedit file penting:
cp -p wp-config.php wp-config.php.bak
Dengan flag -p, file backup akan memiliki timestamp yang sama dengan file asli sehingga mudah diidentifikasi.
Apa itu Command mv di Linux?
mv adalah singkatan dari move. Command ini digunakan untuk memindahkan file atau direktori dari satu lokasi ke lokasi lain. Berbeda dengan cp, setelah proses pemindahan selesai, file asli tidak lagi ada di lokasi semula.
Selain memindahkan file, mv juga sering digunakan untuk mengganti nama (rename) file atau direktori di Linux.
Dua fungsi utama command mv adalah:
- Memindahkan file/direktori, file dipindah dari lokasi A ke lokasi B, dan lokasi A menjadi kosong
- Rename file/direktori, mengubah nama file tanpa berpindah lokasi, yang secara teknis tetap menggunakan mekanisme "pindah" di sistem file Linux
Syntax Lengkap Command mv
Struktur dasar penggunaan command mv adalah:
mv [opsi] sumber tujuan
- sumber: file atau direktori yang ingin dipindahkan atau diganti namanya
- tujuan: lokasi baru atau nama baru dari file tersebut
Berikut opsi-opsi penting yang sering digunakan bersama command mv:
- -i meminta konfirmasi sebelum menimpa file yang sudah ada di tujuan
- -v menampilkan proses pemindahan secara verbose di terminal
- -u hanya memindahkan file jika sumber lebih baru dari file di tujuan
- -n tidak menimpa file yang sudah ada di tujuan sama sekali
Contoh Syntax mv Beserta Penjelasan
Memindahkan file ke direktori lain:
mv laporan.pdf /home/user/dokumen/
File laporan.pdf akan hilang dari direktori saat ini dan muncul di /home/user/dokumen/.
Rename file:
mv nama-lama.txt nama-baru.txt
File nama-lama.txt berubah nama menjadi nama-baru.txt di direktori yang sama.
Memindahkan dengan konfirmasi:
mv -i data.csv /var/backup/
Jika data.csv sudah ada di tujuan, terminal akan menampilkan konfirmasi sebelum menimpa.
Memindahkan tanpa menimpa:
mv -n foto.png /media/drive/
Jika foto.png sudah ada di /media/drive/, command ini tidak akan melakukan apa-apa dan file di tujuan tetap aman.
Use Case Command mv
Memindahkan File ke Direktori Lain. Use case paling dasar memindahkan file hasil download ke folder yang sesuai:
mv ~/Downloads/aplikasi.deb ~/Software/
Rename File dengan mv. Di Linux, tidak ada command khusus untuk rename. Kamu cukup gunakan mv dengan nama baru sebagai tujuan:
mv laporan-draft.docx laporan-final.docx
Kamu juga bisa rename sebuah folder dengan cara yang sama:
mv project-lama project-baru
Memindahkan Banyak File Sekaligus. Sama seperti cp, kamu bisa memindahkan banyak file sekaligus menggunakan wildcard:
mv *.log /var/log/arsip/
Atau sebutkan file satu per satu:
mv index.html style.css script.js /var/www/html/
Menggabungkan Isi Folder. Kamu bisa memindahkan semua isi dari satu folder ke folder lain:
mv /home/user/folder-lama/* /home/user/folder-baru/
Perlu diperhatikan, jika ada file dengan nama yang sama di folder tujuan, file tersebut akan ditimpa secara default. Gunakan flag -i jika ingin mendapatkan konfirmasi terlebih dahulu.
Kapan Harus Menggunakan cp dan mv
Memahami perbedaan mendasar antara cp dan mv sangat penting agar kamu tidak salah menggunakannya.
cp menyalin file, artinya file asli tetap ada setelah perintah dijalankan. Ini berguna ketika kamu ingin menduplikasi file, membuat backup, atau mendistribusikan file yang sama ke beberapa lokasi sekaligus. Proses cp membutuhkan ruang disk tambahan karena menciptakan duplikat baru.
Sementara itu, mv memindahkan file secara permanen dari lokasi asal ke lokasi tujuan. File asli tidak lagi ada setelah perintah selesai. Karena mv hanya memperbarui informasi lokasi di sistem file (bukan menyalin data secara fisik, selama masih dalam satu partisi), prosesnya jauh lebih cepat dibanding cp untuk file berukuran besar.
Yang perlu diperhatikan, mv antar partisi yang berbeda akan tetap menyalin data secara fisik lalu menghapus sumber aslinya, sehingga waktunya bisa mirip dengan cp.
- Gunakan cp jika kamu ingin mempertahankan file asli di lokasinya, misalnya saat membuat backup atau mendistribusikan file ke banyak tempat
- Gunakan mv jika kamu ingin memindahkan atau mengganti nama file tanpa perlu menyimpan salinan di lokasi asal
- Selalu gunakan flag -i jika kamu tidak yakin apakah ada file dengan nama yang sama di direktori tujuan, baik untuk cp maupun mv
- Jangan lupa flag -r saat menggunakan cp untuk menyalin direktori, tanpa flag ini, perintah akan gagal
- Biasakan menggunakan flag -v saat memindahkan atau menyalin banyak file agar kamu bisa memantau prosesnya secara real-time
Command cp dan mv adalah dua perintah fundamental yang harus kamu kuasai sebagai pengguna Linux. Keduanya sederhana namun sangat powerful ketika dikombinasikan dengan berbagai flag dan wildcard yang tersedia.
Jadi, gunakan cp ketika kamu ingin menduplikasi atau mem-backup file, dan gunakan mv ketika kamu ingin memindahkan atau mengganti nama file. Selalu tambahkan flag -i untuk keamanan, terutama saat bekerja dengan file-file penting yang tidak boleh tertimpa secara tidak sengaja.
Sekarang saatnya kamu praktikkan langsung di terminal Linux. Mulai dari use case paling sederhana, lalu coba kombinasikan berbagai flag untuk memahami cara kerjanya secara mendalam. Semakin sering kamu menggunakannya, semakin cepat dan efisien workflow kamu di Linux.