藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 系統管理


    

藍森林 http://www.lslnet.com 2006年8月18日 15:18


在linux下面怎麼拷貝一個目錄,使得裡面的文件屬性保持原樣

例如要拷貝a目錄,a目錄裡面有a1,a2文件,他們的modify時間是pm1.00
我想拷貝到b目錄,使得a1,a2文件的modify時間不給改變

謝謝

這個問題在精華區關於cp或者ln命令時好像有確切的方法吧,具體方法偶也記不清了,可以查查看:)

-p


[biosedit@debian:12:28:02~#1]%cp --help
用法:cp [選項]... 來源 目的地
  或:cp [選項]... 來源... 目錄
  或:cp [選項]... --target-directory=目錄 來源...
將<來源>文件複製至<目的地>,或將多個<文件>複製至<目錄>。

長選項必須用的參數在使用短選項時也是必須的。
  -a, --archive                等於 -dpR
      --backup[=CONTROL]       為每個已存在的目的地文件創建備份文件
  -b                           類似 --backup,但不接受任何參數
      --copy-contents          當使用遞歸模式時複製特殊文件的內容
  -d                           等於 --no-dereference --preserve=link
      --no-dereference         不會找出符號鏈接指示的真正目的地
  -f, --force                  如果無法打開已存在的文件,會刪除該文件並再
                                 嘗試打開
  -i, --interactive            覆蓋文件前需要確認
  -H                           使用命令列中的符號鏈接指示的真正目的地
  -l, --link                   鏈接而非複製文件
  -L, --dereference            一定先找出符號鏈接指示的真正目的地
  -p                           等於 --preserve=mode,ownership,timestamps
      --preserve[=ATTR_LIST]   若可能,保留指定的文件屬性
                                 (默認值為:mode,ownership,timestamps)
                                 額外的屬性有:links、all
      --sno-preserve=ATTR_LIST  不保留指定的文件屬性
      --parents                複製前先在<目錄>創建來源文件路徑中的所有目錄
  -P                           等於『--no-dereference』
  -R, -r, --recursive          複製目錄及目錄內的所有項目
      --remove-destination     嘗試打開目的地文件前先刪除已存在的目的地
                               文件 (與 --force 選項作對比)
      --reply={yes,no,query}   指定如何處理已存在的目的地文件
      --sparse=WHEN            控制創建 sparse 文件的方式
      --strip-trailing-slashes 刪除參數中所有<來源>文件/目錄末端的斜槓
  -s, --symbolic-link          只創建符號鏈接而不是複製文件
  -S, --suffix=後綴            自行指定備份文件的<後綴>
      --target-directory=目錄  將所有參數指定的<來源>文件/目錄複製至<目錄>
  -u, --update                 只在<來源>文件比目的地文件新,或目的地文件
                                 不存在時才進行複製
  -v, --verbose                詳細顯示進行的步驟
  -x, --one-file-system        不會跨越文件系統進行操作
      --help     顯示此幫助信息並離開
      --version  顯示版本信息並離開

默認使用模式中,<來源>文件是否 sparse 文件會由一種粗略的方式決定,而且相應
的<目的地>文件也會是 sparse 文件。此方式等於使用 --sparse=auto 選項。指定
--sparse=always 則只要<來源>文件含有足夠長的 0 字節都會產生 sparse 的


或者可先把目錄 tar 起來, 再 unzip 它到其他目錄.

cp -p

:mrgreen::mrgreen::mrgreen::(
flood:wink:

謝謝大家發言。
要是用cp命令的話,如果裡面有一個ln -s aa bb的話,
上面link的時間是會被改變的。最好能用find cpio的

加一個 l 參數是好了,
可是還是比較想要 find  ....  cpio ....的。

使用 tar 也可以的



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com