cp要复制目录要带什么参数?谢谢!

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
jiachaorui
帖子: 187
注册时间: 2007-05-16 22:30

cp要复制目录要带什么参数?谢谢!

#1

帖子 jiachaorui » 2007-12-28 20:19

cp要复制目录要带什么参数?谢谢!
*IdeaPad Y450A TSI/T6600/PM45/1TB/GT 130M/2G DDR3/14' LED@1366X768 (2009-05)
xubuntu/Windows 7 32bit
头像
晶晶守护神
帖子: 705
注册时间: 2007-12-02 14:09

#2

帖子 晶晶守护神 » 2007-12-28 20:47

cp -r
悟以往之不鉴,知来者之可追
识迷途其未远 觉今是而昨非
头像
trigger
帖子: 1604
注册时间: 2006-10-25 18:08

#3

帖子 trigger » 2007-12-28 23:01

以后别这样一条一条问了
man cp
CP(1) CP(1)



NAME
cp - 复制文件和目录


cp [选项] 文件路径
cp [选项] 文件...目录

POSIX 选项: [-fipRr]

GNU 参数(最短形式): [-abdfilprsuvxPR] [-S SUFFIX] [-V {numbered,exist‐
ing,simple}] [--sparse=WHEN] [--help] [--version] [--]


cp 复制文件(或者目录等). 可以使用这个命令复制一个文件到一个指定的目 的
地, 或者复制任意多个文件到一个目的目录目录. 如果最后一个命令参数为一个
已经存在的目录名, cp 会将每一个源 文件复制到那个目录下(维持原文件 名).
如 果所给的参数只有两个文件名.它把前一个文件复制到后一个文件上. 如果最
后一个参数不是文件名,目录名,和给出多于两个非选项参数,是错误的.

(因而:如果/b已经存在,那么’cp -r /a /b’会复制/a到/b而成 为/b/a. 而 复
制/a/x 到/b 而成为/b/a/x.但如果/b事先不存在,它会把/a复制为/b 而复制/a/x
到/b而成为/b/a/x.但如果/b事先不存在,它会把/a复制 为/b 而 把/a/x 复 制
为/b/x.) 所创建的文件和/或目录的模式和原始的文件的模式是一样的,然后用
用户umask值修改(除非使用了-p选项),(但在递归方式复制目录时,新建目录会 临
时 地获得他们的最终模式Ored,连同 S_IRWXU(0700),以便进程能够读、写、查找
这些新建的目录. 复制文件到其自身时它什么事情都不做(除了可能会生成一 条
错 误 信 息 以 外). 当 复 制 到 一 个 现 存的不同文件时,系统调用函数
‘open(path,O_WRONLY|O_TRUNC)’打开目的文件.当复制到一个新文件时,系统调用
函 数‘open(path,O_WRONLY|O_CREAT,mode)’创建该文件.如果这操作失败,该文件
存在,和给出了-f选项, cp 试图先删除该现存文件,如果删除成功则把它当做一个
新文件处理.

POSIX 选
POSIX 识别四个半选项:

-f 如果需要,删除已存在的目的文件.(如前所述.)

-i 提示是否覆盖现有普通目标文件。 (在标准出错上显示问题,从标准输入
读取答案.只有明确确认了才复制文件.)

-p 保留原文件的所有者、组、权限(包括 setuid 和 setgid 位),上次修
改 时 间 和 上次访问时间。如果制作所有者或组信息的副本时出错,则
setuid 和 setgid 位被清空。(要不然源文件和副本的上次访问时间 显
然是不同的,因为复制操作就是对源文件的访问.)

-R 递归复制目录,如果对象不是普通文件或目录那么做相应正确处理,(因
此,一个 FIFO或者特殊文件在复制后仍然是一个 FIFO型或者相应特殊文
件。)

-r 递归复制目录,如果对象不是普通文件或目录那么做一些未声明处理.(
因此,我们允许并鼓励用 -r 选项做 -R 的同义词.不过那些愚蠢的特征
,象那些在 GNU 版本的 cp 出现的(见下文)也可以用.)

GNU 细
通 常,读写文件的方式都是一样的.例外情况见下面的 --sparse 选项.缺省情
况下,‘cp’并不复制目录(参见下文 -r 选项说明). cp 通常不会复制文件 到 自
身,但有以下例外:如果参数 --force --backup 与 源文件一起给出,并且与 目
的文件并且指向一个普通文件, cp 将生成一个备份文件,不是普通的就是编了号
的, 就象通常的方法那样声明.在你仅仅想对已有的文件进行备份, 而又不想修改
它的时候很有用.

GNU 选
-a, --archive
复制时,尽可能保持文件的结构和属性.(但不保持目录结构)等同于 -dpR


-d, --no-dereference
复制符号链接作为符号链接而不是复制它指向的文件, 并且保护在副本中
原文件之间的硬链接.

-f, --force
删除存在的目标文件。(较:原译文缺下面的部分)

-i, --interactive
无论是否覆盖现存文件都作提示。

-l, --link
制作硬链接代替非目录拷贝。

-p, --preserve
保持原始文件的所有者,组,许可,和时间表属性。

-P, --parents
一个斜杠和指定的源文件名构成目的文件。最后送给 cp 的参数必须是一
个已存在的目录的名字。例如, 下面这个命令:
cp --parents a/b/c existing_dir
复 制文件 ‘a/b/c’ 到 texisting_dir(现有的目录)/a/b/c’,建立任何缺
少的中间目录。

-r 递归地复制目录,复制任何非目录和非符号链接(那是, FIFOs和特别文件)
好象他们是常规的文件一样看待.这意味着尝试读出每个源文件的数据,和
把它写到目的地上.因而,用这个选项,cp’可能彻底地终止,当不确定地 读
一 个FIFO或者/dev/tty时,(这是一个缺陷.它意味着如果你不知道在这棵
树(目录)中有什么要复制的时候, 你不得不避开-r并使用-R打开一个未知
的设备文件, 比如说一台扫描仪,会有未知的效果发生在硬件上)

-R, --recursive
递归地复制目录,保留非目录(参见上面的 -r ).

--sparse=WHEN
一个稀疏file’包容‘holes’-占用0字节,它不占用任何物理块;系统把他们
作为0调用read’来读.由于许多二进制文件包容许多连续的0字节,这样 能
保存相当的磁盘空间并且加快速度.省缺情况下, cp 通过自然的启发方式
发现在源文件里holes并且使相关的输出文件稀疏.

WHEN 值能够是下面中的一个:

auto 默认的行为:如果输入文件是稀疏的,输出文件也是稀疏的.

always 总是使输出文件稀疏.当输入文件所在的文件系统不支持稀疏文件
的 时候,这是有用的,但是输出文件所在的文件系统需要(支持稀
疏文件).

never 从不使输出文件稀疏.如果你找到一个需要此选项的应用程序, 让
我们知道.

-s, --symbolic-link
生 成 符 号链接代替非目录拷贝.所有的源文件名必须是绝对的(由‘/’开
始),除非目的文件是在当前目录.这选项仅仅在系统不支持符号链接时 引
起一个错误消息.

-u, --update
如 果存在的目的地有相同的,或者更新的修改时间,不复制非目录(文件).

-v, --verbose
在复制前印出文件名.

-x, --one-file-system
跳过来自不同文件系统的子目录.

GNU 备
GNU 版本程序象 cp, mv, ln, install 和 patch 会在覆盖,改变,或者破 坏( 文
件) 前生成一个备份文件. 那个文件由-b选项给出.他们的由-V选项命名.一般情
况下备份文件名是源文件名加上后缀,这个后缀由-S 指定.

-b, --backup
生成关于覆盖和删除的备份.

-S SUFFIX, --suffix=SUFFIX
加入 SUFFIX(后缀) 到每个备份文件. 如 果 不 指 定, 使 用 SIM‐
PLE_BACKUP_SUFFIX 环境变量的值.如果连 SIMPLE_BACKUP_SUFFIX 都没
有设置,省缺是‘~’.

-V METHOD, --version-control=METHOD
指定如何命名备份文件. METHOD 能 够 是 ‘numbered’ (or ‘t’),
‘existing’ (or ‘nil’), or ‘never’ (or ‘simple’). 如果不指定,使
用 VERSION_CONTROL 环境变量的值.如果 VERSION_CONTROL 也没有设置,
省缺备份文件类型是 ‘existing’.

这 选项相应Emacs 变量 ‘version-control’. 有效的 METHODs 是(接受
唯一的缩写):

t, numbered
总是产生编号的备份。

nil, existing
Make numbered backups of files that already have them,
simple backups of the others.

never, simple
总作简单的备份.

GNU 标
--help 印出用法并退出.

--version
印出版本信息并退出.

-- 结束选项列表.


变 量LANG,LC_ALL,LC_COLLATE,LC_CTYPE和LC_MESSAGES有通常意义. 对于GNU版
本,变量SIMPLE_BACKUP_SUFFIX和VERSION_CONTROL控制备份文件命名.与上面的描
述一样.


POSIX 1003.2


这 份 cp 的描述和FILEUTils-4.0中找到的是一样的;另外的版本也许有些微的差
别.修正和新增邮到aeb@cwi.nl. 报告缺陷 到fileutils-bugs@gnu.ai.mit.edu.


[中
Surran <email>

[中
2000/10/19


http://cmpp.linuxforum.net



GNU fileutils 3.16 August 1998 CP(1)
leisure
帖子: 141
注册时间: 2008-05-03 16:43
联系:

Re: cp要复制目录要带什么参数?谢谢!

#4

帖子 leisure » 2009-05-12 14:11

ls好烦!
头像
tenzu
论坛版主
帖子: 36924
注册时间: 2008-11-21 20:26

Re: cp要复制目录要带什么参数?谢谢!

#5

帖子 tenzu » 2009-05-12 14:15

3楼扼杀了N多人的回帖机会
头像
小普林斯
帖子: 707
注册时间: 2009-04-14 13:18

Re: cp要复制目录要带什么参数?谢谢!

#6

帖子 小普林斯 » 2009-05-12 14:41

其实就简单地用 cp --help 就已经够大多数初学者使用了~
回复