目錄
install命令
which命令
install命令
作用:它是用于安裝或復制文件到指定位置,并且可以同時設置文件的權限、所有者和所屬組等屬性。它通常用于腳本中,用于自動化安裝程序或配置文件的部署。
基本用法:
install [選項] 源文件 目標文件
install [選項] 源文件... 目標目錄
常用選項:
- -d或--directory:創建目錄,而不是復制文件。如果目錄已存在,不會報錯。
- -m或--mode=模式:設置文件的權限(如0755)。
- -o或--owner=所有者:設置文件的所有者。
- -g或--group=組:設置文件的所屬組。
- -t或--target-directory=目錄:指定目標目錄。
- -b或--backup:如果目標文件已存在,創建備份文件(默認備份方式為簡單備份)。
- -S或--suffix=后綴:指定備份文件的后綴(與-b選項一起使用)。
- -p或--preserve-timestamps:保留源文件的時間戳。
- -C或--compare:在安裝前比較源文件和目標文件,如果內容相同則不覆蓋。
- -v或--verbose:顯示詳細信息。
例子:
下面是Makefile中比較常用的三種語句。
#將 sourcefile 復制到 /path/to/destination,并設置文件權限為 0755
install -m 0755 sourcefile /path/to/destination#創建目錄 /path/to/newdir,如果目錄已存在,不會報錯
install -d /path/to/newdir#復制文件并保留時間戳
install -p sourcefile /path/to/destination
which命令
作用:用于查找并顯示可執行文件(命令)的完整路徑。
基本用法:
which [選項] 命令名
常用選項:
- 無參數:直接查找并顯示指定命令的路徑。
- -a:顯示所有匹配的路徑。默認情況下,which只顯示第一個匹配的路徑。
- -s:靜默模式,不輸出任何內容,只返回狀態碼(成功返回 0,失敗返回非 0)。
- -q:安靜模式,僅輸出匹配的路徑數量。
- -u:顯示別名或函數的定義(如果命令是別名或函數)。
- -m:顯示所有匹配的路徑,包括別名和函數。
- -p:顯示路徑,但不檢查文件是否存在。
- -i:忽略大小寫。
注意事項:
- 環境變量PATH:
-
- which命令依賴于環境變量PATH來查找命令。如果某個命令不在PATH中,which將無法找到它。
- 可以通過echo $PATH查看當前的PATH環境變量。
- 別名和函數:
-
- 如果某個命令是別名或函數,which可以通過-u或-m選項顯示其定義。