Linuxはinstallコマンドとcpコマンドの詳細を区別します
Linuxの多くのコマンドの中で、installコマンドとcpコマンドはファイルをコピーすることができますが、使い方に違いがあり、使用するときにどのように選択するか分からない人も少なくありません。以下、installコマンドとcpコマンドを区別する方法を教えてあげます。一緒に見に行きましょう。
1、最も重要な点は、ターゲットファイルが存在する場合、cpはファイルを空にしてから新しいファイルに書き込み、installは元のファイルを削除してから新しいファイルに書き込むことです。これは、使用中のファイルに内容を書き込むと、実行中のファイルを書き込むと失敗する可能性があります。たとえば、書き続けているファイルハンドルに新しいファイルを書き込むとエラーが発生するファイルなどの問題が発生する可能性があります。Installを使用して削除して書き込む(新しいファイルハンドルが生成される)方法でインストールすると、これらの問題を回避できます。
2、installコマンドはファイル権限の問題を適切に処理します。例えば、install-cはターゲットファイルの権限をrwxr-xr-xに設定します。
3、installコマンドはより適切なdebug情報を印刷し、SElinuxコンテキストの問題も自動的に処理します。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
当時LFS 6をコンパイルしていた頃は、installのコマンドとcpとchmod、chgrpの違いが分からなかった?
仕事の后でやっと1つのRunningの过程が胜手にcpを行うことができないことを理解して、いつも“text busy”をヒントにして、运维部の先辈达のあげた提案はmvを采用してcpに取って代わって、今日先辈はinstallのこの命令を知らないように见えます。
ここではinstallコマンドについて簡単に説明します。
Install copyファイルのリストで、owner,groupを含むファイルのプロパティを設定できます。通常、Makefilesで指定したディレクトリにcopyプログラムを使用するために使用されます。
一般的な使い方は以下の3つの形式があります。1: install -d [option] DIRECTORY [DIRECTORY.。。] 複数をサポートします。mkdir−pと同様に再帰をサポートする。
例えば、install−d a/b/c e/fの結果はmkdir−p a/b/c e/fと同じである。
2: install [option] SOURCE DEST
SOURCEファイル(テストはディレクトリではありません)をDEST file(ファイル)にコピーします。
install a/e cの結果はcp a/e cのようです。cはファイルでなければなりません。
使用可能なオプション-D
install-D x a/b/c#効果はmkdir-p a/b&&cp x a/b/cに似ています
3: install [option] SOURCE [SOURCE.。。] DIRECTORY
複数のSOURCEファイルを宛先ディレクトリにコピーします。
install a/*dここでdはディレクトリである。
使用可能なオプション
-b:自動バックアップ。
-m:インストールファイルの権限の設定
-p:ファイルを保持するtimestamps.つまりファイルのtimestaampsはsourceファイルと同じです。インストール時間ではなく、インストールファイルのmtimeを使用してファイルのbuild時間を追跡したい場合。
-s : Strip the symbol tables from installed binary executables.
-S:バックアップファイルの接尾辞。
install -S .bak new old#oldファイルは自動的にmvによってold.bak.
-v:verbose、installのファイルの詳細を印刷します。
`-c‘
Ignored; for compatibility with old Unix versions of `install’。 #旧版と互換性のあるunix.
-C:(大文字)
ファイルをインストールするが、ターゲットファイルがソースファイルと同じ(判断方法はコード確認を見る必要がある)場合にスキップすると、同じファイルを保持できるmtimeが得られる.
Linux installコマンドとcpコマンドの使い方を説明しましたが、最大の違いはコピー先ファイルが存在する場合、コピーに失敗しないようにinstallを削除してから使用することです。このドキュメントが皆さんの役に立つことを願っています。