技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁 > 教程 > 服務(wù)器類 >

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

來源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-02-01 18:35┆點(diǎn)擊:

  用法:install [選項(xiàng)]... [-T] 源文件 目標(biāo)文件

  或:install [選項(xiàng)]... 源文件... 目錄

  或:install [選項(xiàng)]... -t 目錄 源文件...

  或:install [選項(xiàng)]... -d 目錄...

  此install 將文件(通常僅是編譯后的文件)復(fù)制到您所選擇的目的位置。

  如果您希望在GNU/Linux 操作系統(tǒng)上下載并安裝一個(gè)即時(shí)可用的軟件包,

  您應(yīng)當(dāng)使用諸如yum(1) 和apt-get(1) 的軟件包管理器。

  在前三種形式中,將源文件復(fù)制到目標(biāo)文件或?qū)⒍鄠€(gè)源文件復(fù)制到一個(gè)已存在的目錄

  中同時(shí)設(shè)置其所有權(quán)和權(quán)限模式。在第四種形式中,創(chuàng)建給出目標(biāo)目錄中的所有組件。

  長選項(xiàng)必須使用的參數(shù)對于短選項(xiàng)時(shí)也是必需使用的。

  --backup[=CONTROL] 為每個(gè)已存在的文件創(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è)置所屬組,而不是進(jìn)程目前的所屬組

  -m, --mode=模式 自行設(shè)置權(quán)限模式(像chmod),而不是rwxr-xr-x

  -o, --owner=所有者 自行設(shè)置所有者(只適用于超級用戶)

  -p, --preserve-timestamps 修改源文件的訪問/修改時(shí)間以與目標(biāo)文件保持一致

  -s, --strip 拆解符號表

  --strip-program=程序 指定拆解二進(jìn)制文件的程序

  -S, --suffix=后綴 覆蓋常用備份文件后綴

  -t, --target-directory=目錄 將源文件所有參數(shù)復(fù)制到指定目錄

  -T, --no-target-directory 將目標(biāo)文件視為普通文件

  -v, --verbose 創(chuàng)建目錄時(shí)顯示其名稱

  --preserve-context 保持SELinux 的安全環(huán)境

  -Z, --context=CONTEXT 設(shè)置文件和目錄的SELinux 安全環(huán)境

  --help 顯示此幫助信息并退出

  --version 顯示版本信息并退出

  備份文件的后綴為"~",除非以--suffix 選項(xiàng)或是SIMPLE_BACKUP_SUFFIX

  環(huán)境變量指定。版本控制的方式可通過--backup 選項(xiàng)或VERSION_CONTROL 環(huán)境

  變量來選擇。以下是可用的變量值:

  none, off 不進(jìn)行備份(即使使用了--backup 選項(xiàng))

  numbered, t 備份文件加上數(shù)字進(jìn)行排序

  existing, nil 若有數(shù)字的備份文件已經(jīng)存在則使用數(shù)字,否則使用普通方式備份

  simple, never 永遠(yuǎn)使用普通方式備份

  例:

  代碼如下:

  [root@linux ~]# install test.php ar_test #將test.php拷貝到ar_test下面

< p>[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里會(huì)用到install,其他地方會(huì)用cp命令。

  它們完成同樣的任務(wù)——拷貝文件,它們之間的區(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上下文的問題。

  代碼如下:

  install - copy files and set attributes

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

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

  例如

  代碼如下:

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

  相當(dāng)于

  代碼如下:

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