install:增强版的cp命令
今天发现一个有趣的命令: 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
命令对目标文件进行精简