GNU/Linux >> Belajar Linux >  >> Linux

Perbedaan antara cp -r dan cp -R (perintah salin)

Sedangkan -R adalah posix yang terdefinisi dengan baik, -r tidak portabel!

Di Linux, dalam implementasi GNU dan BusyBox dari cp , -r dan -R setara.

Di sisi lain, seperti yang dapat Anda baca di halaman manual POSIX dari cp , -r perilaku ditentukan implementasi .

    * If  neither  the  -R  nor  -r  options were specified, cp shall take
      actions based on the type and contents of the file referenced by the
      symbolic link, and not by the symbolic link itself.

    * If the -R option was specified:

       * If  none  of  the  options  -H,  -L, nor -P were specified, it is
         unspecified which of -H, -L, or -P will be used as a default.

       * If the -H option was specified, cp shall take  actions based on
         the type and contents of the file referenced by any symbolic link
         specified as a source_file operand.

       * If the -L option was specified, cp shall take  actions based  on
         the type and contents of the file referenced by any symbolic link
         specified as a source_file operand or any symbolic links encoun-
         tered during traversal of a file hierarchy.

       * If  the  -P option was specified, cp shall copy any symbolic link
         specified as a source_file operand and any symbolic links encoun-
         tered  during traversal of a file hierarchy, and shall not follow
         any symbolic links.

    * If the -r option was  specified,  the  behavior  is implementation-
      defined.

Huruf kecil -r adalah opsi yang lebih lama, diperkenalkan di 4.1BSD, yang hanya akan menyalin semua non-direktori sebagai file. Artinya, jika menemukan perangkat atau FIFO, itu akan membukanya, membaca isinya, dan membuat file di tempat tujuan dengan isinya.

Huruf besar -R adalah opsi standar (diperkenalkan ke BSD di 4.4BSD, meskipun versi sebelumnya memilikinya sebagai sinonim untuk -r ) yang akan, saat menemukan perangkat, FIFO, atau file khusus lainnya, membuat file khusus yang setara di tempat tujuan.

Banyak implementasi masih mempertahankan perbedaan ini, tetapi beberapa (termasuk versi GNU khas Linux) hanya menyediakan -R semantik, dengan -r sebagai sinonim.


Perbedaannya adalah yang satu menggunakan huruf kecil "R" dan yang lainnya menggunakan huruf kapital "R". Di luar itu, tidak ada perbedaan. Hal yang sama jika Anda menggunakan --recursive opsi panjang.


Linux
  1. Perbedaan antara $HOME dan '~' (tilde)?

  2. Perbedaan antara '{}' dan {} dalam perintah find?

  3. perbedaan salin konten folder antara /. dan /* di linux

  1. Perbedaan Antara ' Dan ” Di Command Line (bash)??

  2. Perbedaan Antara Eot dan Eof?

  3. Perbedaan Antara [0-9], [[:digit:]] Dan D?

  1. Perbedaan Antara Snat dan Masquerade?

  2. Apa perbedaan antara perintah locate dan find di Linux?

  3. perbedaan antara cgroup dan namespace