【Linux】cp命令


用途

cp除了復制功能之外還可以建立快捷方式

 

全稱

cp的全稱為copy

 

參數

-a :相當於同時指定參數pdr

-d :若文件為鏈接文件的屬性(link file),則復制鏈接文件屬性而非檔案本身

-f :強制的意思(force),若目標檔案已經存在且無法開啟,則移除后再嘗試一次

-i :若目標文件存在,在覆蓋的時會先詢問動作的進行

-l :進行硬式連結的接檔鏈接,而非復制檔案本身

-p :連同檔案的默認屬性一起復制,而非使用默認屬性

-r :遞歸持續復制,用於目錄的復制行為

-s :復制成為符號鏈接文件,即快捷方式

-u :若destination比source舊才更新

 

案例

范例一:用root身份,將家目錄下的.bashrc復制到/tmp目下,並且修改名稱為bashrc,並且使用i參數

[root@bigdata ~]# cp .bashrc /tmp/bashrc 將家目錄下的.bashrc復制到/tmp目下,並且修改名稱為bashrc

[root@bigdata ~]# cp -i .bashrc /tmp/bashrc
cp:是否覆蓋"/tmp/bashrc"? n為不覆蓋,y為覆蓋

范例二:變換目錄到/tmp下,並將/etc/host.conf文件復制到該目錄下

復制前:

[root@bigdata tmp]# ls -l /var/log/btmp 查看文件屬性
-rw-------. 1 root utmp 768 8月   6 21:52 /var/log/btmp

復制 : 

[root@bigdata tmp]# cp /var/log/btmp . 復制文件btmp到當前目錄

復制后:

[root@bigdata tmp]# ls -l btmp 查看復制的文件屬性
-rw-------. 1 root root 768 8月   7 22:21 btmp

我們從綠色標記部分可以看出,明顯變化

添加參數復制:

[root@bigdata tmp]# cp -a /var/log/btmp .
cp:是否覆蓋"./btmp"? y

[root@bigdata tmp]# ls -l btmp
-rw-------. 1 root utmp 768 8月   6 21:52 btmp

 

范例三:復制/etc/這個目錄下的所有內容到/tmp底下

[root@bigdata tmp]# cp /etc /tmp
cp: 略過目錄"/etc"

出現這種情況就需要加參數r來進行復制

[root@bigdata tmp]# cp -r /etc /tmp 也可以使用a參數(cp -a /etc /tmp

 

范例四:建立一個連接檔(快捷方式)

[root@bigdata tmp]# cp -s bashrc bashrc_link
[root@bigdata tmp]#
ls -l bashrc*
-rw-r--r--. 1 root root 176 8月   7 22:08 bashrc
lrwxrwxrwx. 1 root root   6 8月   7 22:39 bashrc_link –> bashrc bashrc_link為快捷方式

范例五:若~/.bashrc比tmp/barshrc新才復制過來

[root@bigdata tmp]# cp -u ~/.bashrc /tmp/bashrc

 

范例六:通過復制快捷方式來查看d參數作用

[root@bigdata tmp]# cp bashrc_link bashrc_link1 一般復制,不加參數d,則復制了源文件
[root@bigdata tmp]# cp -d bashrc_link bashrc_link2 復制了快捷方式
[root@bigdata tmp]# ls -l bashrc*
-rw-r--r--. 1 root root 176 8月   7 22:08 bashrc
lrwxrwxrwx. 1 root root   6 8月   7 22:39 bashrc_link -> bashrc
-rw-r--r--. 1 root root 176 8月   7 22:47 bashrc_link1
lrwxrwxrwx. 1 root root   6 8月   7 22:47 bashrc_link2 -> bashrc

范例七:多個數據文件復制到同一個目錄

例如現在目錄tmp下存在文件1.txt,2.txt,3.txt(3個文件均為文空件)

[root@bigdata tmp]# cp /tmp/1.txt /tmp/2.txt /tmp/3.txt /usr/local/sbin/
[root@bigdata tmp]#
cd /usr/local/sbin/
[root@bigdata sbin]# ll
總用量

-rw-r--r--. 1 root root         0 8月   7 22:53 1.txt
-rw-r--r--. 1 root root         0 8月   7 22:53 2.txt
-rw-r--r--. 1 root root         0 8月   7 22:53 3.txt

我們可以看到已經成功復制文件


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM