Linux cp命令總結

cp命令--文件複製

目錄和文件的複製命令

cp命令語法和參數:

cp [OPTION]...SOURCE...DIRECTORY

-a ALL 等價於dpR
-d
複製符號鏈接源文件時,目標文件也將創建符號鏈接執行源文件的原始文件
-p preserve 保留文件屬性,屬主,屬組,權限和時間
-r recursive 遞歸目錄下的子文件
示例:

[root@localhost ~]# ll /etc/services

-rw-r--r-- 1 root root 362031 2006-02-23 /etc/services

[root@localhost ~]# stat /etc/services

File: “/etc/services”

Size: 362031 Blocks: 728 IO Block: 4096 一般文件

Device: fd00h/64768d Inode: 2282597 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2014-11-11 11:20:33.000000000 +0800

Modify: 2006-02-23 21:09:23.000000000 +0800

Change: 2014-10-21 15:21:26.000000000 +0800

[root@localhost ~]# cp -a /etc/services /tmp/services

[root@localhost ~]# ll /tmp/services

-rw-r--r-- 1 root root 362031 2006-02-23 /tmp/services

[root@localhost ~]# stat /tmp/services

File: “/tmp/services”

Size: 362031 Blocks: 728 IO Block: 4096 一般文件

Device: fd00h/64768d Inode: 1434761 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2014-11-11 11:20:33.000000000 +0800

Modify: 2006-02-23 21:09:23.000000000 +0800

Change: 2014-11-11 11:44:39.000000000 +0800

說明:文件的所有屬性和權限都拷貝過來了,並且ctime發生了改變

擴展:源文件複製到目標目錄中提示文件已經存在,如何直接覆蓋掉目標文件?而讓系統不提示覆蓋呢?

[root@localhost ~]# cp -a /etc/services /tmp/

cp:是否覆蓋“/tmp/services”?

在腳本中是不能人工參與交互,解決方法:

[root@localhost ~]# \cp -a /etc/services /tmp/services

[root@localhost ~]# unalias cp
[root@localhost ~]# cp -a /etc/services /tmp/

[root@localhost ~]# /bin/cp -a /etc/services /tmp/services
說明:默認情況下,cp= cp -i 然而-i參數是提示覆蓋的意思

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章