今天发现一个有趣的命令:install,这个命令看起来似乎跟安装应用有关,然而实际上它是一个增强版的文件拷贝命令。
install 命令可以让你:
- 拷贝文件
- 自动创建目标文件的目录(-D)
- 设置文件属主(-o $owner)
- 设置文件属组(-o $group)
- 设置文件权限(-m $modes)
- 备份被覆盖的文件(-b -S $suffix)
- 对比更新(-C)
- 去除目标文件中的 symbol tables(-s)
比如下面这条命令
sudo install -s -D -C -b -S .bak -o test01 -g test -m 751 * -t ~/test/v1
表示将当前目录下的所有文件拷贝到 ~/test/v1 目录下,且:
- 若目录不存在,则会自动创建 ~/test/v1 目录
- 拷贝前用当前文件与 ~/test/v1 内的文件做比较,只拷贝更新过的文件,这可以e节省拷贝时间
- 拷贝时若已经有同名文件存在,则会创建备份文件,备份文件以 .bak 为后缀
- 拷贝的文件宿主设置为 test01, 属组设置为 test, 权限设置为 751
- 拷贝的过程会使用 strip 命令对目标文件进行精简