1. 程式人生 > >linux下的install命令

linux下的install命令

介紹:

install命令的作用是安裝或升級軟體或備份資料,它的使用許可權是所有使用者。install命令和cp命令類似,都可以將檔案/目錄拷貝到指定的地點。但是,install允許你控制目標檔案的屬性。install通常用於程式的makefile,使用它來將程式拷貝到目標(安裝)目錄。

語法:

install [OPTION]… [-T] SOURCE DEST
install [OPTION]… SOURCE… DIRECTORY
install [OPTION]… -t DIRECTORY SOURCE…
install [OPTION]… -d DIRECTORY…
#如果給兩個檔名,複製第一個檔案到第二個
#如果給出了-t選項,或者如果最後一個檔案是目錄,並且沒有給出-T選項,那麼“install”將使用SOURCE的名稱將每個SOURCE檔案複製到指定的目錄
#如果給出了-d選項,install會以755的許可權建立每個目錄,而不管-m選項指定的許可權或者當前的umask,注意:目錄Setuid和Setgid ::,用於如何繼承父目錄的set-user-ID和set-group-ID位
#在前兩種格式中,會將<來源>複製到<目的地>或將多個<來源>檔案複製到已存在的<目錄>,同時設定許可權模式及所有者/所屬組。
#在第三種格式中,會建立所有指定的目錄及它們的主目錄。
#長選項必須用的引數,在使用短選項時也是必須的

選項:

–backup[=CONTROL]: 為每個已存在 的目的地檔案進行備份
-b: 類似–backup,但不接受任何引數
-c: 此選項不作處理,man文件裡寫的是ignored
-D, –compare:比較每對原始檔和目標檔案,如果目的地具有相同的內容和任何指定的所有者,組,許可權以及可能的SELinux上下文,那麼不要修改目的地
-d, –directory: 所有引數都作為目錄處理,而且會建立指定目錄的所有主目錄
-D: 建立<目的地>前的所有主目錄,然後將<來源>複製至<目的地>;在第一種格式中有用
-g, –group=組: 自行設定所屬組,而不是程序目前的所屬組
-m, –mode=模式: 自行設定許可權模式,(像chmod),而不是rwxr-xr-x
-o, –owner: 自行設定許可權所有者(只適用於超級使用者)
-p, –preserve-timestamp: 以<來源>檔案的訪問/修改時間作為相應的目的地檔案的時間屬性
-s, –strip: 用strip命令刪除symbol table,只適用於第一及第二種格式
-S, –suffix=字尾: 自定指定備份檔案的字尾
-v, –verbose: 處理每個檔案/目錄時印出名稱
-Z CONTEXT, –context=CONTEXT: 設定要用於任何建立的檔案和目錄的預設SELinux安全上下文。 如果SELinux被禁用,則列印警告並忽略該選項
–help:顯示此幫助資訊並離開
–version: 顯示版本資訊並離開

例項:

install -d [option] DIRECTORY [DIRECTORY…]
支援多個,類似mkdir -p,支援遞迴。例如:install -d /a/b/c e/f結果和mkdir -p a/b/c e/f一樣

install [option] SOURCE DEST
複製SOURCE檔案(測試不能是目錄)到DEST(檔案):

install a/e c #結果類似:cp a/e c #注意c必須是檔案
-D選項:
install -D x a/b/c #類似於mkdir -p a/b && cp x /a/b/c

複製多個SOURCE檔案到目的目錄
install a/* d #其中d是目錄