install 命令用法詳解


install 命令用法詳解

http://man.linuxde.net/install

 

install命令的作用是安裝或升級軟件或備份數據,它的使用權限是所有用戶。install命令和cp命令類似,都可以將文件/目錄拷貝到指定的地點

但是,install允許你控制目標文件的屬性

install通常用於程序的makefile,使用它來將程序拷貝到目標(安裝)目錄  make install



語法

install [OPTION]... [-T] SOURCE DEST
install [OPTION]... SOURCE... DIRECTORY
install [OPTION]... -t DIRECTORY SOURCE...
install [OPTION]... -d DIRECTORY...



在前兩種格式中,會將<來源>復制至<目的地>或將多個<來源>文件復制至已存在的<目錄>,同時設定權限模式及所有者/所屬組。

在第三種格式中,會創建所有指定的目錄及它們的主目錄。

長選項必須用的參數在使用短選項時也是必須的。


選項

--backup[=CONTROL]:為每個已存在的目的地文件進行備份。
-b:類似 --backup,但不接受任何參數。
-c:(此選項不作處理)。
-d,--directory:所有參數都作為目錄處理,而且會創建指定目錄的所有主目錄。
-D:創建<目的地>前的所有主目錄,然后將<來源>復制至 <目的地>;在第一種使用格式中有用。
-g,--group=組:自行設定所屬組,而不是進程目前的所屬組。
-m,--mode=模式:自行設定權限模式 (像chmod),而不是rwxr-xr-x。
-o,--owner=所有者:自行設定所有者 (只適用於超級用戶)。
-p,--preserve-timestamps:以<來源>文件的訪問/修改時間作為相應的目的地文件的時間屬性。
-s,--strip:用strip命令刪除symbol table,只適用於第一及第二種使用格式。
-S,--suffix=后綴:自行指定備份文件的<后綴>-v,--verbose:處理每個文件/目錄時印出名稱。
--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 file(文件):


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

install [option] SOURCE [SOURCE...] DIRECTORY

 

復制多個SOURCE文件到目的目錄:
install a/* d 其中d是目錄。

 

 


另一個實例

#!/bin/sh

# by yangkun - -

passwd=`date +%s|sha256sum|head -c 16`
yum install -y vsftpd db4-utils
echo -e "ftpuser\n$passwd" > /etc/vsftpd/vuser
db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.db

cat > /etc/pam.d/vsftpd.vu << 'EOF'
auth required     /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
EOF

sed -i 's/anonymous_enable=YES/anonymous_enable=NO/g' /etc/vsftpd/vsftpd.conf
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/g' /etc/vsftpd/vsftpd.conf
sed -i 's/pam_service_name=vsftpd/pam_service_name=vsftpd.vu/g' /etc/vsftpd/vsftpd.conf

cat >> /etc/vsftpd/vsftpd.conf << 'EOF'
guest_enable=YES
guest_username=www
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vconf
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
EOF

install -m755 -o www -g www -d /etc/vsftpd/vconf
##判斷www用戶的家目錄是否創建,如果不創建的話,ftp賬號無法登陸
if [ ! -d /home/www ];then
    install -m755 -o www -g www -d /home/www/
fi

cat > /etc/vsftpd/vconf/ftpuser << 'EOF'
local_root=/data/www
local_umask=022
idle_session_timeout=600
data_connection_timeout=120
EOF

service vsftpd start
echo -e "The FTP username is ftpuser\nThe FTP password is $passwd"

 

install -m755 -o www -g www -d /etc/vsftpd/vconf

設置權限為755  ,屬主和屬組都是www  ,創建 /etc/vsftpd/vconf

 

 

 

 

 

f


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM