日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

install命令和cp命令的区别

發(fā)布時間:2025/4/16 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 install命令和cp命令的区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

基本上,在Makefile里會用到install,其他地方會用cp命令。

它們完成同樣的任務(wù)——拷貝文件,它們之間的區(qū)別主要如下:

1、最重要的一點,如果目標(biāo)文件存在,cp會先清空文件后往里寫入新文件,而install則會先刪除掉原先的文件然后寫入新文件。這是因為往正在使用的文件中寫入內(nèi)容可能會導(dǎo)致一些問題,比如說寫入正在執(zhí)行的文件可能會失敗,比如說往已經(jīng)在持續(xù)寫入的文件句柄中寫入新文件會產(chǎn)生錯誤的文件。而使用install先刪除后寫入(會生成新的文件句柄)的方式去安裝就能避免這些問題了;

2、install命令會恰當(dāng)?shù)靥幚砦募?quán)限的問題。比如說,install -c會把目標(biāo)文件的權(quán)限設(shè)置為rwxr-xr-x;

3、install命令可以打印出更多更合適的debug信息,還會自動處理SElinux上下文的問題。

------------------------------------分割線------------------------------------

當(dāng)時在編譯LFS 6 的時候, 一直搞不懂 install 的命令 和 cp 以及和 chmod, chgrp 的區(qū)別? 

工作之后才明白一個Running 的進(jìn)程不能隨便進(jìn)行 cp , 經(jīng)常會提示? "text busy", 運維部的前輩們給的建議是采用mv 來替代 cp , 今天看起來前輩好像不知道install 這個命令啊.

現(xiàn)在就簡單介紹一下 install 命令.

install copy 文件列表且同時能夠設(shè)置文件的屬性(包括 owner, group) , 通常用在 Makefiles 中 用來copy 程序到指定的目錄.?

常見的用法有以下3中形式: 
1:? install? -d [option]? DIRECTORY [DIRECTORY...]? 支持多個. 類似 mkdir -p? 支持遞歸.?
?例如:? install -d a/b/c e/f? 結(jié)果和 mkdir -p? a/b/c? e/f 一樣.??
2: install [option]? SOURCE DEST?
?復(fù)制 SOURCE? 文件(測試不能是目錄)? 到DEST file(文件) .?
?install? a/e? c? 結(jié)果類似? 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
?復(fù)制? 多個SOURCE 文件到目的目錄.??
?install a/*? d? 其中 d 是目錄.

有用選項
?-b :自動備份.?
-m : 設(shè)置安裝文件的權(quán)限
-p :保留文件的timestamps. 也就是說文件的timestaamps 和 source 文件一樣.? 當(dāng)我們想要利用安裝文件的mtime來跟蹤文件的build時間而不是 安裝時間.?
-s : Strip the symbol tables from installed binary executables.
-S : 備份文件的后綴.?
?install? -S .bak new? old? #old 文件自動被 mv 為 old.bak.?
-v: verbose ,打印install 的文件的詳細(xì)信息.?
`-c'
? ? Ignored; for compatibility with old Unix versions of `install'.? #用來兼容舊版的unix.

-C: (大寫)?
?安裝文件, 但是如果目標(biāo)文件和源文件一樣( 判斷方法需要看看代碼確認(rèn)) 就跳過, 這樣的好處是 能夠保持一樣文件的mtime.?

總結(jié)

以上是生活随笔為你收集整理的install命令和cp命令的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。