GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana install -c berbeda dari cp

Satu perbedaan signifikan adalah cp memotong file tujuan dan mulai menyalin data dari sumber ke file tujuan.

instal, di sisi lain, menghapus file tujuan terlebih dahulu.

Ini penting karena jika file tujuan sudah digunakan, hal buruk dapat terjadi pada siapa pun yang menggunakan file tersebut jika Anda cp file baru di atasnya. misalnya menimpa executable yang sedang berjalan mungkin gagal. Memotong file data yang sedang sibuk dibaca/ditulis oleh proses yang ada dapat menyebabkan perilaku yang cukup aneh. Jika Anda menghapus file tujuan terlebih dahulu, seperti yang dilakukan penginstalan, semuanya akan berlanjut seperti biasa - file yang dihapus sebenarnya tidak dihapus sampai semua proses menutup file tersebut.


Secara teknis, perbedaan antara install -c dan cp apakah itu install menyetel izin file target ke rwxr-xr-x . cp mempertahankan izin file sumber dikurangi umask. Perilaku default ini berguna dalam situasi yang berbeda. Tentunya, dengan semua opsi yang baik cp dan install tawarkan saat ini, fungsinya telah menyatu.

Saat ini, install umumnya digunakan dalam makefile, cp di tempat lain. Perbedaan ini terkadang berguna karena beberapa sistem operasi atau sistem instalasi memungkinkan Anda menghubungkan ke install program untuk mendaftarkan paket yang diinstal. Sistem manajemen paket modern membuat jenis ini menjadi usang, tetapi beberapa orang masih menggunakannya. Selain itu, kemungkinan untuk menyetel izin file target sekaligus sangat nyaman.


install utilitas, pada dasarnya, adalah cp yang mewah . Tetapi sebagai alat yang secara khusus melakukan penginstalan, ia berisi beberapa fitur yang cp tidak. /usr/bin/install saya dari GNU coreutils tidak hanya menyalin, tetapi juga dapat mengubah izin/kepemilikan sebagai flag arg (menghemat chgrp , chown , chmod doa) opsi untuk menghapus info debug (menyimpan strip pemanggilan) dan juga beberapa mojo untuk konteks SELinux.

Itu hanya memberikan tindakan kenyamanan yang berguna untuk penginstalan perangkat lunak. Tidak ada yang mengubah hidup, semuanya berguna, dan membuat skrip Anda lebih bersih.


Linux
  1. Bagaimana Cara Cat File Dari Awk?

  2. Awk Dari Baris Yang Berbeda?

  3. Bagaimana Cara Membaca Variabel Dari File?

  1. Cara menginstal Fail2Ban di CentOS 7

  2. Bagaimana Cara Menginstal Ubuntu Dari File Iso?

  3. Cara menginstal g ++ di Ubuntu

  1. Telnet vs. SSH:Apa Bedanya SSH dengan Telnet?

  2. Cara Menginstal phpMyAdmin di CentOS 8

  3. bagaimana cp -f berbeda dari cp --remove-destination?