您好,登錄后才能下訂單哦!
這篇文章給大家介紹Linux中install命令和cp命令的區別是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
它們之間的區別主要如下:
1、最重要的一點,如果目標文件存在,cp會先清空文件后往里寫入新文件,而install則會先刪除掉原先的文件然后寫入新文件。這是因為往正在使用的文件中寫入內容可能會導致一些問題,比如說寫入正在執行的文件可能會失敗,比如說往已經在持續寫入的文件句柄中寫入新文件會產生錯誤的文件。而使用install先刪除后寫入(會生成新的文件句柄)的方式去安裝就能避免這些問題了;
2、install命令會恰當地處理文件權限的問題。比如說,install -c會把目標文件的權限設置為rwxr-xr-x;
3、install命令可以打印出更多更合適的debug信息,還會自動處理SElinux上下文的問題。
------------------------------------分割線------------------------------------
當時在編譯LFS 6 的時候, 一直搞不懂 install 的命令 和 cp 以及和 chmod, chgrp 的區別?
工作之后才明白一個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: (大寫)
關于Linux中install命令和cp命令的區別是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。