-- TOC --
-a
or --archive
:这个参数包含了-r
(同-R
)和--preserve=all
,还有-d
,以archive的方式copy,文件所有的meta data都会保留,比如mtime等。
-d
,same as --no-dereference --preserve=links,保留符号链接文件。
-r
,-R
:recursive copy
-u
,--update
:copy only when the SOURCE file is newer than the destination file or when the destination file is missing。更新copy,如果大量源头的文件都没有更新过,用这个参数能提高效率。
-v
:verbose,在脚本中建议使用;
--parents
:use full source file name under DIRECTORY,带路径copy,这里有点tricky:
$ cp --parents mychar7/mychar.c a/b
$ ll a/b/mychar7
total 24
drwxr-xr-x 2 xinlin xinlin 4096 2月 11 10:48 ./
drwxr-xr-x 3 xinlin xinlin 4096 2月 11 10:48 ../
-rw-r--r-- 1 xinlin xinlin 13081 2月 11 10:48 mychar.c
下面这个带路径copy的case,应该是个错误,..
也被copy了:
$ cp --parents -v ../repos/pingscan/pingscan.py a/b
'../repos/pingscan/pingscan.py' -> 'a/b/../repos/pingscan/pingscan.py'
$ ll a
total 16
drwxr-xr-x 4 xinlin xinlin 4096 2月 11 10:48 ./
drwxrwxr-x 7 xinlin xinlin 4096 2月 11 10:47 ../
drwxr-xr-x 4 xinlin xinlin 4096 2月 11 10:49 b/
drwxr-xr-x 3 xinlin xinlin 4096 2月 11 10:48 repos/
本文链接:https://cs.pynote.net/sf/linux/shell/202208012/
-- EOF --
-- MORE --