系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux區(qū)分install和cp命令

Linux如何區(qū)分install命令和cp命令

時(shí)間:2015-02-11 16:25:02 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請(qǐng)使用手機(jī)瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20150211/38063.html 手機(jī)查看 評(píng)論

  在Linux眾多命令中,install命令和cp命令都能拷貝文件,但在用法上有些區(qū)別,不少人在使用的時(shí)候不知如何選擇,下面小編就教你如何區(qū)分install命令和cp命令。

 Linux如何區(qū)分install命令和cp命令

  它們之間的區(qū)別主要如下:

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

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

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

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

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

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

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

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

  常見的用法有以下3中形式:

  1: install -d [option] DIRECTORY [DIRECTORY.。。] 支持多個(gè)。 類似 mkdir -p 支持遞歸。

  例如: install -d a/b/c e/f 結(jié)果和 mkdir -p a/b/c e/f 一樣。

  2: install [option] SOURCE DEST

  復(fù)制 SOURCE 文件(測(cè)試不能是目錄) 到DEST file(文件) 。

  install a/e c 結(jié)果類似 cp a/e c # 注意c必須是文件。

  有用選項(xiàng) -D

  install -D x a/b/c # 效果類似 mkdir -p a/b && cp x a/b/c

  3: install [option] SOURCE [SOURCE.。。] DIRECTORY

  復(fù)制 多個(gè)SOURCE 文件到目的目錄。

  install a/* d 其中 d 是目錄。

  有用選項(xiàng)

  -b :自動(dòng)備份。

  -m : 設(shè)置安裝文件的權(quán)限

  -p :保留文件的timestamps. 也就是說文件的timestaamps 和 source 文件一樣。 當(dāng)我們想要利用安裝文件的mtime來跟蹤文件的build時(shí)間而不是 安裝時(shí)間。

  -s : Strip the symbol tables from installed binary executables.

  -S : 備份文件的后綴。

  install -S .bak new old #old 文件自動(dòng)被 mv 為 old.bak.

  -v: verbose ,打印install 的文件的詳細(xì)信息。

  `-c‘

  Ignored; for compatibility with old Unix versions of `install’。 #用來兼容舊版的unix.

  -C: (大寫)

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

  上面就是Linux install命令和cp命令的用法介紹了,其中最大的區(qū)別就是在復(fù)制目標(biāo)文件存在的時(shí)候,install可以先刪除再使用,以免拷貝失敗。

標(biāo)簽 命令

發(fā)表評(píng)論

0

沒有更多評(píng)論了

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見解

立即評(píng)論

以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

掃碼關(guān)注
掃碼關(guān)注

掃碼關(guān)注 官方交流群 軟件收錄