目录
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选项显示其定义。