Cara menyalin fail dan direktori di Linux [14 CP Contoh Perintah]

Cara menyalin fail dan direktori di Linux [14 CP Contoh Perintah]

Ringkas: Dalam panduan yang mudah diikuti ini, kami akan membincangkan beberapa contoh praktikal perintah CP. Selepas mengikuti panduan ini, pengguna akan dapat menyalin fail dan direktori dengan mudah di Linux menggunakan antara muka baris arahan.

Sebagai pengguna Linux, kami berinteraksi dengan fail dan direktori dari semasa ke semasa. Satu pengguna operasi biasa melaksanakan adalah menyalin fail dan direktori. Sudah tentu, kita boleh menggunakan pengurus fail grafik untuk melaksanakan operasi salinan. Walau bagaimanapun, kebanyakan pengguna Linux lebih suka menggunakan cp arahan kerana kesederhanaan dan fungsi yang kaya.

Dalam panduan mesra pemula ini, kita akan belajar mengenai cp perintah. Seperti namanya, Perintah CP digunakan untuk menyalin fail dan direktori di jalan tertentu.

Sepanjang panduan ini, kita akan memahami penggunaan Perintah CP Menggunakan contoh praktikal yang boleh digunakan setiap hari.

Oleh itu, mari kita mulakan.

Isi kandungan

1
  • Sintaks perintah CP
  • 1. Cara menyalin fail di linux
  • 2. Tunjukkan kemajuan arahan salinan
  • 3. Cara menyalin pelbagai fail ke direktori
  • 4. Cara mengelakkan menimpa fail
  • 5. Cara menimpa fail dengan pengesahan
  • 6. Menimpa fail hanya jika sumbernya lebih baru
  • 7. Cara membuat sandaran fail sebelum menimpa
  • 8. Cara memaksa salinan untuk menimpa fail
  • 9. Cara mengeluarkan fail destinasi sebelum menyalin
  • 10. Cara membuat fail pautan keras dan bukannya menyalin
  • 11. Cara membuat fail pautan lembut dan bukannya menyalin
  • 12. Cara Memelihara Atribut Fail Semasa Menyalin
  • 13. Cara Melaksanakan Operasi Salinan Recursif
  • 14. Cara menyalin pelbagai direktori

Sintaks perintah CP

Sintaks cp Perintah sama dengan arahan Linux yang lain. Pada tahap yang tinggi, ia dibahagikan kepada dua bahagian - pilihan dan hujah:

$ cp [options] $ cp [options] ..  

Dalam sintaks di atas, kurungan persegi ([]) mewakili hujah pilihan sedangkan kurungan sudut () mewakili hujah wajib.

1. Cara menyalin fail di linux

Salah satu penggunaan asas dari cp Perintah adalah untuk menyalin fail ke dalam direktori semasa. Kebanyakan pengguna masa melakukan operasi ini untuk mengambil sandaran konfigurasi penting.

Sebagai contoh, kami sering membuat salinan sandaran fail/etc/ssh/sshd_config sebelum mengemas kini konfigurasi SSH.

Untuk memahami penggunaannya, mari buat fail mudah:

$ sentuh fail-1.txt 

Seterusnya, buat salinan fail menggunakan arahan berikut:

$ cp file-1.TXT FILE-2.txt 
Salin fail di linux

2. Tunjukkan kemajuan arahan salinan

Dalam contoh sebelumnya, kami menggunakan arahan LS untuk mengesahkan sama ada operasi salinan fail berjaya atau tidak. Walau bagaimanapun, tidak masuk akal untuk menggunakan satu lagi arahan hanya untuk mengesahkan hasil arahan sebelumnya.

Dalam kes sedemikian, kita dapat mengaktifkan mod verbose menggunakan -v pilihan, yang menyediakan diagnostik untuk setiap fail yang diproses.

Mari buat salinan Fail-1.txt fail menggunakan arahan berikut:

$ cp -v file -1.TXT FILE-3.txt 
Tunjukkan output salinan

Dalam output di atas, anak panah mewakili fail yang disalin. Hujah sebelah kiri adalah fail sumber manakala hujah sebelah kanan adalah fail destinasi.

3. Cara menyalin pelbagai fail ke direktori

Setakat ini kami bekerja dengan satu fail dan direktori kerja semasa sahaja. Walau bagaimanapun, dalam persekitaran pengeluaran sebenar, kita perlu bekerja dengan sebilangan besar fail. Salah satu kes penggunaan biasa dalam persekitaran sedemikian adalah untuk menyalin pelbagai fail ke dalam satu direktori.

Jelas sekali, kita dapat melaksanakan arahan CP beberapa kali untuk mencapainya, tetapi itu tidak akan menjadi cara yang paling berkesan. Untuk melaksanakan operasi sedemikian dengan berkesan, kita boleh menggunakan sintaks alternatif perintah CP.

Jadi, pertama, buat direktori baru dengan namanya dir-1:

$ mkdir dir-1 

Sekarang, mari kita salin ketiga -tiga fail ke dalam dir-1 Direktori menggunakan arahan tunggal:

$ cp -v file -1.TXT FILE-2.TXT FILE-3.txt dir-1 
Salin pelbagai fail di Linux

Output di atas menunjukkan bahawa semua fail telah disalin ke dir-1 direktori. Juga, penting untuk diperhatikan bahawa, untuk menggunakan sintaks alternatif ini, direktori mesti hadir dan mesti menjadi hujah terakhir perintah itu.

4. Cara mengelakkan menimpa fail

Secara lalai, cp Perintah menggantikan fail destinasi, yang bermaksud ia akan menimpa fail jika ada di destinasi dengan nama yang sama. Walau bagaimanapun, kita boleh melumpuhkan tingkah laku lalai ini menggunakan -n pilihan.

Untuk memahami perkara ini, mari cuba menulis ganti fail yang ada:

$ cp -n -v file -1.TXT FILE-2.txt 

Dalam contoh ini, kami telah menggunakan -v pilihan untuk menggambarkan bahawa Fail-2.txt Fail belum ditimpa.

5. Cara menimpa fail dengan pengesahan

Dalam contoh terdahulu, kita melihat bagaimana untuk mengelakkan penggantian fail destinasi. Walau bagaimanapun, kadang -kadang kita mahu menulis ganti destinasi fail dengan cara yang lebih selamat.

Dalam kes sedemikian, kita boleh menggunakan -i Pilihan arahan untuk membuat operasi salinan interaktif. Pilihan ini menunjukkan mesej amaran dan menunggu pengesahan pengguna sebelum menimpa fail.

Untuk menggambarkan ini, mari kita cuba menulis ganti fail yang ada:

$ cp -i fail -1.TXT FILE-2.txt CP: Overwrite 'File-2.txt '? 

Seperti yang dapat kita lihat, arahan sedang menunggu pengesahan. Sama seperti arahan Linux yang lain, kita boleh menggunakan 'Y' untuk meneruskan atau 'n' untuk membatalkan operasi.

Tingkah laku tidak interaktif lalai ini cp Perintah tidak begitu selamat. Ada kemungkinan pengguna boleh menulis semula konfigurasi penting secara tidak sengaja. Oleh itu, beberapa pengagihan Linux menguatkuasakan tingkah laku interaktif secara lalai menggunakan perintah alias:

$ alias cp = "cp -i" 

6. Menimpa fail hanya jika sumbernya lebih baru

Dalam contoh sebelumnya, kita melihat cara menggunakan mod interaktif. Walau bagaimanapun, kadang -kadang, pengguna mungkin menimpa fail yang lebih baru secara tidak sengaja.

Untuk mengelakkan kes-kes yang rawan ralat seperti itu, kita boleh menggunakan -u pilihan, yang cuba menyalin operasi hanya jika sumbernya lebih baru daripada destinasi atau jika fail tidak hadir di destinasi.

Pertama, kemas kini timestamp fail sumber:

$ sentuhan -t 10101010 fail -1.txt $ ls -l file -1.txt 

Dalam contoh di atas, kami telah menggunakan -t pilihan arahan sentuh untuk menetapkan timestamp fail ke 10-Okt-2010.

Seterusnya, mari kita mengemas kini cap waktu fail destinasi ke masa semasa:

$ sentuh fail-2.txt 

Sekarang, mari cuba melakukan operasi salinan menggunakan -u pilihan:

$ cp -u -v file -1.TXT FILE-2.txt 

Di sini, kita dapat melihat bahawa operasi salinan belum dicuba kerana fail destinasi lebih baru daripada sumbernya.

Akhirnya, mari swap argumen sumber dan destinasi dan lakukan operasi salinan:

$ cp -u -v file -2.TXT FILE-1.txt 

Dalam output di atas, kita dapat melihat bahawa operasi salinan berjaya kerana fail sumber lebih baru daripada destinasi.

Menimpa fail hanya jika sumbernya lebih baru

7. Cara membuat sandaran fail sebelum menimpa

Kita boleh mengarahkan cp perintah untuk mengambil sandaran fail destinasi sebelum menimpa. Untuk mencapai ini kita boleh menggunakan --sandaran pilihan, yang melakukan sandaran automatik.

$ cp -backup = bernombor -v file -1.TXT FILE-2.txt 

Dalam contoh ini, kami telah menggunakan dasar sandaran bernombor. Dasar ini menggunakan nombor tambahan dalam nama fail sandaran.

Untuk memahami ini, mari kita laksanakan arahan yang sama beberapa kali dan perhatikan output:

$ cp -backup = bernombor -v file -1.TXT FILE-2.TXT $ CP -BACKUP = NOMBOR -V FILE -1.TXT FILE-2.TXT $ CP -BACKUP = NOMBOR -V FILE -1.TXT FILE-2.txt 
Fail sandaran sebelum menimpa

8. Cara memaksa salinan untuk menimpa fail

Dalam beberapa contoh sebelumnya, kami melihat cara menimpa fail dengan cara yang lebih selamat. Walau bagaimanapun, dalam beberapa kes yang jarang berlaku, keperluannya adalah untuk menimpa fail. Walau bagaimanapun, tidak ada jaminan bahawa operasi akan berjaya setiap kali.

Contohnya, operasi salinan akan gagal jika fail destinasi tidak mempunyai kebenaran tulis. Mari kita gambarkan ini dengan contoh.

Pertama, ubah keizinan fail destinasi:

$ chmod 444 file-2.txt $ ls -l file -2.txt 

Sekarang, mari cuba menimpa Fail-2.txt Fail:

$ cp file-1.TXT FILE-2.txt 

Dalam output di atas, kita dapat melihat bahawa arahan telah gagal dengan kebenaran yang ditolak.

Untuk mengatasi batasan ini, kita boleh menggunakan -f pilihan, yang memadamkan fail destinasi dan mencuba operasi salinan jika fail destinasi tidak dapat dibuka.

Sekarang, mari kita gunakan -f Pilihan untuk menulis ganti fail dengan kuat:

$ cp -f -v file -1.TXT FILE-2.txt 
Pasukan salinan untuk menimpa fail

9. Cara mengeluarkan fail destinasi sebelum menyalin

Dalam contoh sebelumnya, kami melihat bagaimana untuk mengeluarkan fail destinasi jika terdapat ralat semasa mengendalikannya. Walau bagaimanapun, kadang -kadang keperluannya adalah untuk mengeluarkan fail destinasi terlebih dahulu dan kemudian melakukan operasi salinan.

Untuk memenuhi keperluan sedemikian, kita boleh menggunakan --Keluarkan destinasi pilihan.

$ cp-remove-destination -v file-1.TXT FILE-2.txt 
Keluarkan fail destinasi sebelum menyalin

Dalam output di atas, kita dapat melihat bahawa arahan CP terlebih dahulu membuang fail destinasi dan kemudian melakukan operasi salinan.

10. Cara membuat fail pautan keras dan bukannya menyalin

Kami boleh membuat pautan keras dan bukannya membuat salinan baru fail sumber. Pilihan ini memainkan peranan penting apabila terdapat kekurangan ruang cakera.

Oleh itu, mari kita gunakan -L Pilihan untuk membuat pautan keras:

$ cp -l -v file -1.TXT FILE-4.txt 

Sekarang, mari kita periksa nombor inod kedua -dua fail untuk mengesahkan pautan keras:

$ ls -i1 fail -1.TXT FILE-4.txt 
Buat fail pautan keras dan bukannya menyalin

Dalam output di atas, nombor dalam lajur pertama mewakili nombor inode.

11. Cara membuat fail pautan lembut dan bukannya menyalin

Dengan cara yang sama, kita boleh membuat pautan lembut dan bukannya membuat salinan baru menggunakan -s pilihan seperti yang ditunjukkan di bawah:

$ cp -s -v file -1.TXT FILE-5.txt 

Sekarang, mari sahkan bahawa pautan simbolik telah dibuat dengan betul:

$ ls -l fail -5.txt 
Buat pautan lembut dan bukannya menyalin

Dalam output di atas, lajur terakhir mewakili hubungan pautan simbolik.

12. Cara Memelihara Atribut Fail Semasa Menyalin

Terdapat pelbagai atribut yang berkaitan dengan fail, seperti masa aksesnya, masa pengubahsuaian, keizinan, dll. Secara lalai, atribut ini tidak dipelihara semasa menyalin fail. Untuk mengatasi tingkah laku lalai ini, kita boleh menggunakan -p pilihan.

Untuk memahami ini, pertama, mengemas kini cap waktu Fail-1.txt:

$ sentuhan -t 10101010 fail -1.txt 

Sekarang, mari buat salinan fail ini dengan memelihara semua atributnya:

$ cp -p -v file -1.TXT FILE-6.txt 

Akhirnya, sahkan cap waktu Fail-6.txt Fail:

$ ls -l fail -6.txt 
Memelihara atribut fail semasa menyalin

13. Cara Melaksanakan Operasi Salinan Recursif

Setakat ini kita melihat cara menyalin satu fail. Walau bagaimanapun, sering kali kita perlu menyalin semua fail dan sub-direktori direktori tertentu.

Dalam kes sedemikian, kita boleh menggunakan mod rekursif sama ada menggunakan -r atau -R pilihan.

Oleh itu, mari buat direktori dan tambahkan beberapa fail dan sub-direktori di bawahnya:

$ mkdir -p dir-1/dir-2 $ sentuh dir-1/file-1.TXT DIR-1/DIR-2/FILE-2.txt 

Seterusnya, sahkan struktur direktori telah dibuat dengan betul:

$ pokok dir-1 

Sekarang, mari salin direktori dir-1 secara rekursif menggunakan arahan berikut:

$ cp -r -v dir -1 dir -3 

Akhirnya, sahkan bahawa semua fail dan sub-direktori telah disalin dengan jayanya:

$ Pohon DIR-3 
Salin fail secara rekursif

14. Cara menyalin pelbagai direktori

Sama dengan fail, kita boleh menyalin pelbagai direktori rekursif menggunakan satu arahan. Walau bagaimanapun, untuk mencapai ini, direktori destinasi mesti hadir dan mesti menjadi hujah terakhir dalam arahan. Mari fahami ini dengan contoh.

Pertama, buat direktori direktori baru:

$ mkdir dir-4 

Sekarang, mari kita salin dir-1 dan Dir-3 Direktori ke dir-4 Direktori menggunakan arahan di bawah:

$ cp -r -v -v dir-1 dir-3 dir-4 

Dengan cara yang sama, kita boleh menggunakan -t pilihan arahan untuk mencapai hasil yang sama. Pilihan ini membolehkan kami menentukan direktori destinasi. Jadi kita boleh menggunakannya sebagai hujah pertama juga:

$ cp -t dir -4 -r -v dir -1 dir -3 
Salin pelbagai direktori

Dalam artikel ini, kami membincangkan cara menyalin fail dan direktori menggunakan Perintah CP. Pemula boleh merujuk kepada contoh-contoh ini dalam kehidupan sehari-hari semasa bekerja dengan sistem Linux.

Anda mungkin juga berminat:

  • Cara Menggunakan Perintah "MV" di Linux [9 Contoh Berguna]
  • Kemajuan - Tunjukkan peratusan data yang disalin untuk perintah (CP, MV, DD, TAR)
  • Pantau kemajuan data (salinan/sandaran/kompres) menggunakan arahan 'pv'
  • Perintah Salinan Lanjutan - Menunjukkan Bar Kemajuan Semasa menyalin fail/folder besar di Linux

Adakah anda tahu contoh terbaik lain dari arahan CP di Linux? Beritahu kami pandangan anda dalam komen di bawah.