Cara Menyalin Direktori dan Kontennya di Linux

Gunakan perintah 'cp' untuk menyalin dan menempelkan seluruh direktori dari satu tempat ke tempat lain

Apa pun Sistem Operasi yang Anda jalankan, menyalin satu file atau folder dari satu lokasi ke lokasi lain adalah tugas paling dasar yang Anda lakukan setiap hari. Pada hari yang sibuk di tempat kerja, selama tugas proyek di sekolah, atau selama pengembangan proyek yang sedang berlangsung, menyalin file dari lokasi A ke lokasi B tidak dapat dihindari.

Menyalin file atau folder biasanya dilakukan dengan menggunakan GUI. Linux menangani kebiasaan Anda untuk bekerja di terminal dengan menyediakan utilitas baris perintah yang memungkinkan Anda untuk menyalin file atau folder dari satu lokasi ke lokasi lain. Menggunakan cp perintah dengan berbagai opsi memberi Anda kebebasan untuk menyalin file dan folder dengan berbagai cara.

Biarkan saya memandu Anda melalui artikel ini di mana Anda akan belajar tentang cp perintah dan cara menyalin direktori beserta isinya.

Pilihan tersedia dengan cp memerintah

Ini adalah opsi yang paling umum digunakan dengan cp perintah dalam konteks menyalin direktori dan semua isinya.

PilihanKeterangan
-vmode verbose (menunjukkan kemajuan)
-r/Rmenyalin direktori secara rekursif
-njangan menimpa file atau folder yang ada
-Sayaprompt sebelum menimpa

Salin direktori dari satu lokasi ke lokasi lain

Mari kita mulai dengan penggunaan paling dasar dari cp memerintah. Kami akan menggunakan perintah ini dengan opsi -R.

Menggunakan -R opsi memastikan bahwa sub-folder dan file di dalam direktori yang Anda salin, juga akan disalin.

Sintaksis:

cp -r [lokasi_sumber] [lokasi_target]

Contoh:

Saya memiliki dua direktori di dalam direktori kerja saya saat ini yang disebut 'proyek' dan 'ruang kerja'.

Dalam contoh ini, saya akan menggunakan cp -r perintah untuk menyalin direktori 'proyek' bersama dengan semua kontennya ke lokasi baru yaitu '/home/gaurav/workspace'. Ini berarti bahwa saya menyalin direktori bernama 'proyek' ke direktori bernama 'ruang kerja'.

Ini adalah isi dari direktori 'proyek'. Menggunakan ls perintah untuk menampilkan isinya.

gaurav@ubuntu:~/project$ ls -al total 288 drwxr-xr-x 6 gaurav gaurav 4096 17 Sep 18:26 . drwxr-xr-x 88 gaurav gaurav 266240 17 Sep 18:24 .. drwxr-xr-x 2 gaurav gaurav 4096 17 Sep 18:25 dem1, drwxr-xr-x 2 gaurav gaurav 4096 17 Sep 18:25 dem2 drwxr-xr -x 2 gaurav gaurav 4096 17 Sep 18:25 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17 Sep 18:25 dem4 -rw-r--r-- 1 gaurav gaurav 24 Sep 17 18:26 temp.c gaurav@ ubuntu:~/proyek$

Sekarang, menggunakan cp -r perintah kita dapat menyalin direktori 'proyek' ke lokasi yang diinginkan.

gaurav@ubuntu:~$ cp -r /home/gaurav/project /home/gaurav/workspace gaurav@ubuntu:~$

Keluaran:

gaurav@ubuntu:~/workspace$ ls -al total 408 drwxrwxr-x 4 gaurav gaurav 4096 17 Sep 18:27 . drwxr-xr-x 88 gaurav gaurav 266240 17 Sep 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 22 Mar 2018 .metadata drwxr-xr-x 6 gaurav gaurav 4096 17 Sep 18:27 project -rw-r--r -- 1 gaurav gaurav 1535 16 Sep 17:13 source.c gaurav@ubuntu:~/workspace$ 

Pada output di atas, kita dapat melihat bahwa direktori 'proyek' disalin dari lokasi asli ke lokasi baru ini '/home/gaurav/workspace'. Sekarang, mari kita buka direktori 'proyek' dan periksa apakah semua konten di dalamnya juga disalin.

gaurav@ubuntu:~$ cd ./workspace/project gaurav@ubuntu:~/workspace/project$

Catatan: saya telah menggunakan ./ di sini alih-alih memasuki jalur lengkap. Ini berarti bahwa itu adalah jalur direktori home saya dan ruang kerja terletak di direktori home atau working saya saat ini. Untuk penjelasan lebih lanjut tentang ini, Anda dapat melihat artikel ini.

Keluaran:

gaurav@ubuntu:~/workspace/project$ ls -al total 28 drwxr-xr-x 6 gaurav gaurav 4096 17 Sep 18:27 . drwxrwxr-x 4 gaurav gaurav 4096 17 Sep 18:27 .. drwxr-xr-x 2 gaurav gaurav 4096 17 Sep 18:27 dem1, drwxr-xr-x 2 gaurav gaurav 4096 17 Sep 18:27 dem2 drwxr-xr-x 2 gaurav gaurav 4096 17 Sep 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17 Sep 18:27 dem4 -rw-r--r-- 1 gaurav gaurav 24 Sep 17 18:27 temp.c gaurav@ubuntu: ~/ruang kerja/proyek$ 

Dari output ini, kita dapat menyimpulkan bahwa semua isi direktori 'proyek' juga dipindahkan ke lokasi baru.

Menyalin banyak direktori dari satu lokasi ke lokasi lain

Untuk menyalin beberapa direktori, cp perintah dapat digunakan dengan cara yang sama seperti yang disebutkan di atas. Satu-satunya perubahan di sini adalah Anda harus memasukkan beberapa jalur sumber dari beberapa direktori yang akan disalin.

Sintaksis:

cp -r [source_path_1] [source_path_n] [destination_path]

Mari kita periksa perintah ini dengan sebuah contoh.

Contoh:

gaurav@ubuntu:~/workspace$ cp -r ./snap ./project /home/gaurav/Tomcat

Di sini, saya telah menyalin dua direktori 'snap' dan 'project' dari direktori kerja saya saat ini ke lokasi baru '/home/gaurav/tomcat'.

Sekarang mari kita periksa apakah direktori disalin dengan kontennya ke lokasi baru.

gaurav@ubuntu:~/Tomcat$ ls -al total 9316 drwxrwxr-x 5 gaurav gaurav 4096 19 Sep 12:16 . drwxr-xr-x 88 gaurav gaurav 266240 19 Sep 12:15 .. drwxr-xr-x 6 gaurav gaurav 4096 19 Sep 12:16 proyek drwxr-xr-x 7 gaurav gaurav 4096 19 Sep 12:16 snap

Memeriksa apakah konten direktori ini juga disalin.

gaurav@ubuntu:~/Tomcat/snap$ ls couchdb Eclipse htop pycharm-community vim-editor gaurav@ubuntu:~/Tomcat/snap$ 
gaurav@ubuntu:~/Tomcat/project$ ls dem1, dem2 dem3 dem4 temp.c gaurav@ubuntu:~/Tomcat/project$

Menggunakan cp perintah dengan mode verbose

Menggunakan cp perintah dengan opsi -v mengaktifkan mode verbose. Fitur ini menampilkan file pada terminal yang sedang disalin. Nama File atau Folder yang sedang disalin akan ditampilkan di terminal Anda.

Sintaksis:

cp -vr [direktori_sumber] [jalur_lokasi_target]

Contoh:

gaurav@ubuntu:~$ cp -vr ./workspace/Apache ./space

Dalam contoh ini, direktori 'apache' disalin ke folder baru 'spasi'. Saya telah menggunakan -v pilihan dengan -R, sehingga semua isi direktori Apache juga akan disalin.

Keluaran:

'./workspace/apache' -> './space/apache' './workspace/apache/apache-tomcat-8.0.52.tar.gz' -> './space/apache/apache-tomcat-8.0. 52.tar.gz' gaurav@ubuntu:~$

Output menampilkan direktori yang sedang disalin. Proses yang sama dapat dilakukan jika menyalin banyak file.

Hindari menimpa saat menggunakan cp memerintah

Terkadang saat menggunakan cp perintah untuk menyalin banyak file atau folder, Anda mungkin akan menimpa file yang sudah disalin ke lokasi baru. Untuk menghindari hal ini disarankan untuk menggunakan -Saya pilihan dengan cp memerintah. Ini akan meminta Anda sebelum menimpa file atau folder apa pun.

Sintaksis:

cp -ri [jalur_direktori_sumber] [jalur_lokasi_target]

Catatan: Di sini, dalam sintaks yang saya gunakan -R pilihan juga. Ini akan menyalin konten direktori juga. Ini juga akan, memeriksa apakah salah satu dari sub-folder dan file di dalam direktori ini sedang ditimpa.

Contoh:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./Tomcat cp: menimpa './Tomcat/snap/pycharm-community/current'?

Di sini, saya mencoba menyalin direktori bernama 'snap' ke lokasi baru. Tapi nama direktori 'snap' sudah ada di lokasi baru. Oleh karena itu, saya akan diminta oleh terminal sebelum menimpa direktori snap yang ada.

Anda dapat mengetik 'Ya' atau 'Tidak' sebagai tanggapan atas permintaan ini.

Dalam kasus, jika Anda tidak menggunakan -Saya pilihan, direktori yang ada akan ditimpa oleh direktori baru.

Lewati penimpaan file dan direktori dengan cp memerintah

Kita bisa menggunakan -n opsi untuk langsung menginstruksikan terminal untuk tidak pernah menimpa dan hanya melewatkan file dan direktori yang sama saat menggunakan cp memerintah.

Sintaksis:

cp -nr [jalur_direktori_sumber] [jalur_lokasi_target]

Dengan menggunakan perintah ini, Anda dapat yakin bahwa file dan folder Anda tidak akan ditimpa.

Contoh:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./Tomcat gaurav@ubuntu:~$

Di sini, direktori 'snap' sudah ada di lokasi target. Oleh karena itu, menggunakan -n opsi akan memastikan untuk tidak menimpa direktori ini.

Tidak seperti -Saya opsi, di sini Anda tidak akan diminta tentang penimpaan.

Kesimpulan

Menggunakan cp perintah untuk menyalin direktori dan kontennya di Linux adalah proses yang mudah. Untuk mempelajari lebih lanjut tentang cp perintah dengan opsi lain yang tersedia, Anda dapat memeriksa halaman manual dengan mengetik pria cp di terminal Linux Anda.