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

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

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

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

  用法:install [選項]... [-T] 源文件 目標文件

  或:install [選項]... 源文件... 目錄

  或:install [選項]... -t 目錄 源文件...

  或:install [選項]... -d 目錄...

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

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

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

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

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

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

  --backup[=CONTROL] 為每個已存在的文件創(chuàng)建備份

  -b 類似--backup 但不接受參數(shù)

  -c (忽略)

  -C, --compare 比較每組源文件和目標文件,在一些情況下不修改目標文件

  -d, --directory 將所有參數(shù)視為目錄名稱;為指定的目錄創(chuàng)建所有組件

  -D 創(chuàng)建目標目錄的所有必要的父目錄,然后將源文件復(fù)制至該目錄

  -g, --group=組 自行設(shè)置所屬組,而不是進程目前的所屬組

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

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

  -p, --preserve-timestamps 修改源文件的訪問/修改時間以與目標文件保持一致

  -s, --strip 拆解符號表

  --strip-program=程序 指定拆解二進制文件的程序

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

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

  -T, --no-target-directory 將目標文件視為普通文件

  -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 永遠使用普通方式備份

  例:

  代碼如下:

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

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

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

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

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

  代碼如下:

  install - copy files and set attributes

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

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

  例如

  代碼如下:

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

  相當于

  代碼如下:

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