Provided by: manpages-zh_1.5-1_all bug

NAME

       cp - 複製檔案和目錄

`覽
       cp [] |
       cp [] ...甍

       POSIX 選項: [-fipRr]

       GNU     參數(最短形式):     [-abdfilprsuvxPR]     [-S    SUFFIX]    [-V
       {numbered,existing,simple}] [--sparse=WHEN] [--help] [--version] [--]

yz
       cp 複製檔案(或者目錄等).   可以使用這茤R令複製一蚗仵蚳鴗@茷定的目的地,
       或者複製任意多蚗仵蚳鴗@茈堛漸媬目錄.          如果最後一茤R令參數為一-
       茪w經存在的目錄名,  cp  會將每一虓    複製到那茈媬下(維持嚓犰W).
       如果所給的參數只有兩蚗犰W.它把前一蚗仵袙s到後一蚗仵蚺W.   如果最後一-
       荌捊ㄛO檔名,目錄名,和給出多於兩茷D選項參數,是 錯誤的.

       (因而:如果/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.)                     所創建的檔案和/或目錄的模式和-
       鴝l的檔案的模式是一樣的,                           然後用使用者umask-
       蚹(除非使用了-p選項),(但在遞歸方式  複製目錄時,新建目錄會臨時地獲得他-
       怐熙戽袧狾﹒red,連同
       S_IRWXU(0700),以便進程能夠讀、寫、查找這些新建的目錄.  複製檔案到其自-
       時它什麼事情都不做(除了可能會生成一條錯誤訊息以外).         當複製到一-
       茞{存的不同檔案時,系統調用函數
       `open(path,O_WRONLY|O_TRUNC)'打開目的檔案.當複製到一虓s檔案時,系
       統調用函數`open(path,O_WRONLY|O_CREAT,mode)'創建該檔案.如果這操
       作失敗,該檔案存在,和給出了-f選項,                                    cp
       試圖先刪除該現存檔案,如果刪除成功則把它當做一虓s檔案處理.

POSIX項
       POSIX 識別四茈b選項:

       -f     如果需n,刪除已存在的目的檔案.(如前所z.)

       -i     提示是否覆蓋現有普通目標檔案。
              (在標準出錯上顯示問題,從標準輸入讀取答案.只有明確確認了才複製檔案.)

       -p     保留嚓仵蛌漫狾釭怴B組、權(包括  setuid  和  setgid 位), 上次-
              蚹黈伅〝M上次訪問時間。如果製作所有者或組信息的副本時出錯,   則
              setuid          和         setgid         位被清空。         (-
              n不然源檔案和副本的上次訪問時間顯然是不同的,
              因為複製操作就是對源檔案的訪問.)

       -R     遞歸複製目錄,如果對象不是普通檔案或目錄那麼做相應正
              確處理,(因此,一      FIFO或者特殊檔案在複製後仍然是一       
              FIFO型或者相應特殊檔案。)

       -r     遞歸複製目錄,如果對象不是普通檔案或目錄那麼做一些未
              聲明處理.(因此,我怳像\並鼓勵用    -r     選項做     -R     的
              同義詞.不過那些愚蠢的特征,像那些在    GNU    版本的    cp   出
              現的(見下文)也可以用.)

GNU`
       通常,讀寫檔案的方式都是一樣的.例外情況見下悸     --sparse     選項.
       預設情況下,`cp'並不複製目錄(參見下文       -r       選項說明).       cp
       通常不會複製檔案到自,但有以下例外:  如果參數  --force   --backup  一起給出,並且與    並且指向一荋雲q檔案,  cp 將生成一-
       茬鷩仵,不是普通的就是編了號的,就像通
       常的方法那樣聲明.在你僅僅想對已有的檔案進行備份,     而又不想蚹鴷扛漁-
       圊雃野.

GNU項
       -a, --archive
              複製時,盡可能保持檔案的結構和屬性.(但不保持目錄      結構)等同於
              -dpR-d, --no-dereference
              複製符號鏈接作為符號鏈接而不是複製它指向的檔案,
              並且保護在副本中嚓仵蚺孜〞熊w鏈接.

       -f, --force
              刪除存在的目標檔案。 (較:嚄隊撖吨U悸熙﹞嚏^

       -i, --interactive
              無論是否覆蓋現存檔案都作提示。

       -l, --link
              製作硬鏈接代替非目錄拷貝。

       -p, --preserve
              保持鴝l檔案的所有者,組,許可,和時間表屬性。

       -P, --parents
              一荓袟b和指定的源檔名構成目的檔案。 最後送給 cp  的參數必須是一-
              茪w存在的目錄的名字。例如, 下掖o茤R令:
              cp --parents a/b/c existing_dir
              複製檔案   `a/b/c'   到  texisting_dir(現有的目錄)/a/b/c',建立任
              何缺少的中間目錄。

       -r     遞歸地複製目錄,複製任何非目錄和非符號鏈接(那是,
              FIFOs和特別檔案)好像他怓O常規的檔案一樣看待.這 意味著嘗試讀出每-
              虓蝗仵蛌獐,和把它寫到目的地                     上.因而,用這-
              蚇龠,cp'可能徹底地終止,當不確定地                         讀一-
              笎IFO或者/dev/tty時,(這是一荅妘.它意味著
              如果你不知道在這棵樹(目錄)中有什麼n複製的時,
              你不得不避開-r並使用-R打開一茈憚儐熙]備檔案,
              比如說一台掃描儀,會有未知的效果發生在硬體上)

       -R, --recursive
              遞歸地複製目錄,保留非目錄(參見上悸 -r ).

       --sparse=WHEN
              一茧}疏file'包容`holes'-佔用0字節,它不佔用任何  物理塊;系統把他-
              怬@為0調用read'來讀.由於許多二進
              制檔案包容許多連續的0字節,這樣能保存相當的磁碟空
              間並且加快速度.省缺情況下,                                    cp
              通過自然的啟發方式發現在源檔案裏holes並且使相關  的輸出檔案稀疏.

              WHEN 鈰鰿O下惜云漱@荂G

              auto   預設的行為:如果輸入檔案是稀疏的,輸出檔案也是稀疏的.

              always 總是使輸出檔案稀疏.當輸入檔案所在的檔案系統不支
                     持稀疏檔案的時唌A這是有用的,但是輸出檔案所在的
                     檔案系統需n(支持稀疏檔案).

              never  從不使輸出檔案稀疏.如果你找到一蚖愯此選項的應
                     用程式,讓我怐器D.

       -s, --symbolic-link
              生成符號鏈接代替非目錄拷貝.所有的源檔名必須是
              絕對的(由`/'開始),除非目的檔案是在當前目錄.這選
              項僅僅在系統不支持符號鏈接時引起一蚇欞~消息.

       -u, --update
              如果存在的目的地有相同的,或者更新的蚹黈伅,不  複製非目錄(檔案).

       -v, --verbose
              在複製前印出檔名.

       -x, --one-file-system
              跳過來自不同檔案系統的子目錄.

GNU項
       GNU     版本程式像     cp,     mv,     ln,     installpatch
       會在覆蓋,改變,或者破壞(檔案)前生成一茬鷩仵.  那蚗仵蚰-b選項給出.他-
       怐漸-V選項命名.一般 情況下備份檔名是源檔名加上延伸檔名,這茤策钀犰W由-S
       指定.

       -b, --backup
              生成關於覆蓋和刪除的備份.

       -S SUFFIX, --suffix=SUFFIX
              加入     SUFFIX(W)     到每茬鷩仵.     如果不指定,使用
              SIMPLE_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控制備份
       檔案命名.與上悸煽yz一樣.

A到
       POSIX 1003.2

`N
       這份          cp          的描z和FILEUTils-4.0中找到的是一樣的;另外的版
       本也許有些微的差別.蚰罹M新增郵到aeb@cwi.nl.        報告缺陷到fileutils-
       bugs@gnu.ai.mit.edu.

[]
       Surran <email>

[]
       2000/10/19

mlinuxan:
       http://cmpp.linuxforum.net