佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 詳解Linux系統(tǒng)中的install命令的用法

詳解Linux系統(tǒng)中的install命令的用法

熱門標(biāo)簽:服務(wù)器配置 電話機器人搭建 家政服務(wù)網(wǎng)絡(luò) 百度競價點擊價格的計算公式 解決方案 外呼系統(tǒng) 硅谷的囚徒呼叫中心 美團

用法:install [選項]... [-T] 源文件 目標(biāo)文件
 或:install [選項]... 源文件... 目錄
 或:install [選項]... -t 目錄 源文件...
 或:install [選項]... -d 目錄...

此install 將文件(通常僅是編譯后的文件)復(fù)制到您所選擇的目的位置。
如果您希望在GNU/Linux 操作系統(tǒng)上下載并安裝一個即時可用的軟件包,
您應(yīng)當(dāng)使用諸如yum(1) 和apt-get(1) 的軟件包管理器。

在前三種形式中,將源文件復(fù)制到目標(biāo)文件或?qū)⒍鄠€源文件復(fù)制到一個已存在的目錄
中同時設(shè)置其所有權(quán)和權(quán)限模式。在第四種形式中,創(chuàng)建給出目標(biāo)目錄中的所有組件。

長選項必須使用的參數(shù)對于短選項時也是必需使用的。
      --backup[=CONTROL]        為每個已存在的文件創(chuàng)建備份
  -b                    類似--backup 但不接受參數(shù)
  -c                    (忽略)
  -C, --compare         比較每組源文件和目標(biāo)文件,在一些情況下不修改目標(biāo)文件
  -d, --directory       將所有參數(shù)視為目錄名稱;為指定的目錄創(chuàng)建所有組件
  -D                    創(chuàng)建目標(biāo)目錄的所有必要的父目錄,然后將源文件復(fù)制至該目錄
  -g, --group=組        自行設(shè)置所屬組,而不是進程目前的所屬組
  -m, --mode=模式       自行設(shè)置權(quán)限模式(像chmod),而不是rwxr-xr-x
  -o, --owner=所有者    自行設(shè)置所有者(只適用于超級用戶)
  -p, --preserve-timestamps     修改源文件的訪問/修改時間以與目標(biāo)文件保持一致
  -s, --strip                   拆解符號表
      --strip-program=程序      指定拆解二進制文件的程序
  -S, --suffix=后綴             覆蓋常用備份文件后綴
  -t, --target-directory=目錄   將源文件所有參數(shù)復(fù)制到指定目錄
  -T, --no-target-directory     將目標(biāo)文件視為普通文件
  -v, --verbose                 創(chuàng)建目錄時顯示其名稱
      --preserve-context        保持SELinux 的安全環(huán)境
  -Z, --context=CONTEXT         設(shè)置文件和目錄的SELinux 安全環(huán)境
      --help            顯示此幫助信息并退出
      --version         顯示版本信息并退出

備份文件的后綴為"~",除非以--suffix 選項或是SIMPLE_BACKUP_SUFFIX
環(huán)境變量指定。版本控制的方式可通過--backup 選項或VERSION_CONTROL 環(huán)境
變量來選擇。以下是可用的變量值:

  none, off       不進行備份(即使使用了--backup 選項)
  numbered, t     備份文件加上數(shù)字進行排序
  existing, nil   若有數(shù)字的備份文件已經(jīng)存在則使用數(shù)字,否則使用普通方式備份
  simple, never   永遠(yuǎn)使用普通方式備份

例:


復(fù)制代碼
代碼如下:

[root@linux ~]# install test.php ar_test #將test.php拷貝到ar_test下面
[root@linux ~]# install -d hao #創(chuàng)建目錄
[root@linux ~]# install -t hao utf8 test.php #將utf8 test.php cp到hao目錄下面


linux中install命令和cp命令的區(qū)別
基本上,在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上下文的問題。

復(fù)制代碼
代碼如下:

install - copy files and set attributes

install 在做拷貝的同時,設(shè)置attributes.

因此Makefile 中盡量使用install 命令。

例如

復(fù)制代碼
代碼如下:

@install -d a>/usr/bin/a> -p -D -m 0755 targets /usr/bin

 
相當(dāng)于


復(fù)制代碼
代碼如下:

@mkdir -p /usr/bin targets /usr/bin 755 /usr/bin/targets /usr/bin/tagets


更新文件時間戳

 
install 命令好強大啊。

另外@前綴的意思是不在控制臺輸出結(jié)果。

標(biāo)簽:烏蘭察布 邢臺 南昌 防城港 北海 撫州 臨沂 韶關(guān)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解Linux系統(tǒng)中的install命令的用法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    资阳市| 玉田县| 通渭县| 苏尼特左旗| 米林县| 深泽县| 宁晋县| 鄂尔多斯市| 梅河口市| 通州区| 云安县| 咸宁市| 绥中县| 临颍县| 客服| 丹东市| 卢氏县| 大姚县| 巴林左旗| 福贡县| 洮南市| 广昌县| 凤山县| 安宁市| 聂拉木县| 台东县| 剑川县| 定西市| 读书| 柳江县| 平湖市| 庄河市| 合山市| 武城县| 博野县| 屏边| 青川县| 富裕县| 河南省| 玉门市| 临漳县|