我正在 Arch Linux 中修复一个软件包,但我仍然无法正确理解该install
命令是如何工作的。
我查了一下man
,很模糊。
我的问题是: 如何使用 复制文件夹install
?无法理解-D
和-d
标志是如何工作的。
是install
执行此操作的正确工具还是我应该坚持使用mkdir
and cp
?
答案1
从man install
:
-d, --directory
treat all arguments as directory names; create all components of the specified directories
-D
create all leading components of DEST except the last, then copy SOURCE to DEST
示范:
install -d
旗帜 :$ install -d foo bar $ ls -l drwxr-xr-x 2 root root 6 Sep 8 15:55 foo drwxr-xr-x 2 root root 6 Sep 8 15:55 bar
看到它创建了两个名为foo
& 的目录bar
install -D
旗帜 :$ touch test{1..3} $ ls -l -rw-r--r-- 1 root root 0 Sep 8 16:11 test1 -rw-r--r-- 1 root root 0 Sep 8 16:11 test2 -rw-r--r-- 1 root root 0 Sep 8 16:11 test3 $ install -D test1 test2 test3 bar $ ls -l bar/ -rw-r--r-- 1 root root 0 Sep 8 16:11 test1 -rw-r--r-- 1 root root 0 Sep 8 16:11 test2 -rw-r--r-- 1 root root 0 Sep 8 16:11 test3
它将文件复制test1..3
到目录bar
结论
我不认为install
支持复制整个目录树;它通常用于文件。您可能需要使用cp
或rsync
。