Apakah arahan salin dalam linux

青灯夜游
青灯夜游asal
2022-05-09 16:50:0553213semak imbas

Arahan salin di bawah Linux ialah "cp". Perintah cp digunakan terutamanya untuk menyalin fail dan direktori Sintaks "cp [pilihan] fail sasaran fail" boleh menyalin satu atau lebih fail sumber atau direktori ke fail atau direktori tertentu pada masa yang sama pilihan, penyalinan juga boleh dicapai Keseluruhan direktori, serta fungsi seperti membandingkan fail lama dan baharu dan menaik tarafnya.

Apakah arahan salin dalam linux

Persekitaran pengendalian tutorial ini: sistem CentOS 6, komputer Dell G3.

Arahan salin di bawah Linux ialah "cp".

Nama bahasa Inggeris penuh cp ialah "copy file", yang bermaksud menyalin fail dalam bahasa Cina.

arahan cp digunakan terutamanya untuk menyalin fail dan direktori Ia boleh menyalin satu atau lebih fail sumber atau direktori ke fail atau direktori destinasi yang ditentukan

Format asas arahan cp adalah sebagai berikut:

cp [选项] 源文件 目标文件

Pilihan:

  • -a: Bersamaan dengan set pilihan -d, -p, dan -r Kami akan memperkenalkan pilihan ini satu oleh satu;

  • -d: Jika fail sumber adalah pautan lembut (tidak sah untuk pautan keras), fail sasaran yang disalin juga merupakan pautan lembut; 🎜>

    - i: Tanya, jika fail sasaran sudah wujud, ia akan bertanya sama ada hendak menulis ganti; fail sumber, bukannya menyalin fail sumber; >
  • -p: Salin sasaran Fail mengekalkan atribut fail sumber (termasuk pemilik, kumpulan, kebenaran dan masa); , digunakan untuk menyalin direktori;

  • -u: Jika fail sasaran berbeza daripada fail sumber, gunakan pilihan ini untuk mengemas kini fail sasaran fail tersebut.

  • Perlu diingatkan bahawa mungkin terdapat berbilang fail sumber, tetapi dalam kes ini, fail sasaran mestilah direktori.

  • Nota: Dengan pilihan tertentu, arahan cp juga boleh menyalin keseluruhan direktori, membandingkan fail lama dan baharu kedua-dua fail dan meningkatkannya.

  • Contoh penggunaan arahan cp:
  • [Contoh 1] Penggunaan asas arahan cp

Perintah cp boleh menyalin kedua-dua fail dan direktori. Mari kita lihat dahulu cara menyalin fail, contohnya:

Jika anda perlu menamakan semula salinan, arahannya adalah seperti berikut:

Jika fail dengan nama yang sama sudah wujud dalam lokasi sasaran salinan, maka Anda akan digesa sama ada untuk menulis ganti, kerana arahan cp melaksanakan alias "cp -i" secara lalai, contohnya:

Seterusnya kita akan lihat cara menyalin direktori. Sebenarnya, anda hanya perlu menggunakan "-r" untuk menyalin pilihan, contohnya:

  • [Contoh 2] Salin fail pautan lembut

Jika fail sumber bukan fail biasa, tetapi Ia adalah fail pautan lembut, jadi bolehkah atribut pautan lembut itu disalin? Mari cuba:
[root@localhost ~]# touch cangls
#建立源文件
[root@localhost ~]# cp cangls /tmp/
#把源文件不改名复制到 /tmp/ 目录下

Contoh ini menunjukkan bahawa jika pilihan "-d" tidak digunakan semasa menyalin fail pautan lembut, arahan cp menyalin fail sumber dan bukannya fail pautan lembut sahaja; Pilihan "-d" akan menyalin fail pautan lembut. Sila ambil perhatian bahawa pilihan "-d" tidak sah untuk pautan keras.
[root@localhost ~]# cp cangls /tmp/bols
#改名复制

[root@localhost ~]# cp cangls /tmp/
cp:是否覆盖"/tmp/cangls"?y
#目标位置有同名文件,所以会提示是否覆盖
[Contoh 3] Simpan atribut fail sumber dan salin

[root@localhost ~]# mkdir movie
#建立测试目录
[root@localhost ~]# cp -r /root/movie/ /tmp/
#目录原名复制
    Kami mendapati bahawa selepas melaksanakan arahan salin, masa fail sasaran akan berubah untuk menyalin Masa pelaksanaan arahan, bukan masa fail sumber. Contohnya:
  • Apabila kami melakukan sandaran dan sandaran log, masa fail ini mungkin menjadi parameter penting, jadi kami perlu melaksanakan pilihan "-p". Pilihan ini mengekalkan atribut fail sumber, termasuk pemilik, kumpulan dan masa. Contohnya:

Seperti yang kami katakan sebelum ini, pilihan "-a" adalah bersamaan dengan pilihan "-d, -p, -r" Kami telah membincangkan pilihan ini secara berasingan. Jadi, apabila kami menggunakan pilihan "-a", semua atribut fail sasaran dan fail sumber adalah konsisten, termasuk pemilik fail sumber, kumpulan, masa dan pautan lembut. Lebih mudah untuk menggunakan pilihan "-a" dan bukannya pilihan "-d, -p, -r".

[root@localhost ~]# ln -s /root/cangls /tmp/cangls_slink
#建立一个测试软链接文件/tmp/cangls_slink
[root@localhost ~]# ll /tmp/cangls_slink
lrwxrwxrwx 1 root root 12 6 月 14 05:53 /tmp/cangls_slink -> /root/cangls
#源文件本身就是一个软链接文件
[root@localhost ~]# cp /tmp/cangls_slink /tmp/cangls_t1
#复制软链接文件,但是不加"-d"选项
[root@localhost ~]# cp -d /tmp/cangls_slink /tmp/cangls_t2
#复制软链接文件,加入"-d"选项
[root@localhost ~]# ll /tmp/cangls_t1 /tmp/cangls_t2
-rw-r--r-- 1 root root 0 6月 14 05:56 /tmp/cangls_t1
#会发现不加"-d"选项,实际复制的是软链接的源文件,而不是软链接文件
lrwxrwxrwx 1 root root 12 6 月 14 05:56/tmp/ cangls_t2-> /root/cangls
#而如果加入了"-d"选项,则会复制软链接文件

[Contoh 4] Pilihan "-l" dan "-s"
  • Jika kita menggunakan pilihan "-l", sasaran fail akan dibuat sebagai pautan keras ke fail sumber jika pilihan "-s" digunakan, fail sasaran akan dibuat sebagai pautan lembut ke fail sumber.
Dua pilihan ini berbeza daripada pilihan "-d" Pilihan "d" memerlukan fail sumber mestilah pautan lembut sebelum fail sasaran akan disalin sebagai pautan lembut manakala "-l " dan "-s" Fail sumber pilihan " hanya perlu menjadi fail biasa, dan fail sasaran boleh terus disalin sebagai pautan keras atau pautan lembut. Contohnya:

[root@localhost ~]# cp /var/lib/mlocate/mlocate.db /tmp/
[root@localhost ~]# ll /var/lib/mlocate/mlocate.db
-rw-r-----1 root slocate2328027 6月 14 02:08/var/lib/mlocate/mlocate.db
#注意源文件的时间和所属组
[root@localhost ~]#ll /tmp/mlocate.db
-rw-r----- 1 root root2328027 6 月 14 06:05/tmp/mlocate.db
#由于复制命令由root用户执行,所以目标文件的所属组为了root,而且时间也变成了复制命令的执行时间
Cadangan berkaitan: "

Tutorial Video Linux

"
[root@localhost ~]# cp -p /var/lib/mlocate/mlocate.db /tmp/mlocate.db_2
#使用"-p"选项
[root@localhost ~]# ll /var/lib/mlocate/mlocate.db /tmp/mlocate.db_2
-rw-r----- root slocate 2328027 6月 14 02:08 /tmp/mlocate.db_2
-rw-r----- root slocate 2328027 6月 14 02:08 /var/lib/mlocate/mlocate.db
#源文件和目标文件的所有属性都一致,包括时间

Atas ialah kandungan terperinci Apakah arahan salin dalam linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:apa itu linux fdArtikel seterusnya:apa itu linux fd