linux基本命令——cp
阿新 • • 發佈:2017-12-22
bsp body blog linux 目錄 linux基本命令 用戶家目錄 歸檔 dmi
cp(選項)(參數) 復制
當復制多個源文件時,目標必須是個目錄。
cp命令默認使用會帶上-i選項,當目標已有文件時,會詢問用戶是否覆蓋掉,可以用\cp來取消-i選項
-a:將文件的所有屬性都一並復制,用於歸檔文件。,以後還有歸檔壓縮的命令
-d:當復制符號連接時,把目標文件或目錄也建立為符號連接,並指向與源文件或目錄連接的原始文件或目錄;
-f:強行復制文件或目錄,如果目標文件或目錄都存在直接覆蓋
[root@bogon admin]# cp -f a/c b/ cp: overwrite `b/c‘? y 強制復制也會提示詢問用戶是否覆蓋,可以用[root@bogon admin]# \cp -f a/c b/ [root@bogon admin]#
-i:如果目標文件或目標目錄都存在,詢問用戶是否覆蓋
[root@bogon admin]# cp -i a/c b/ cp: overwrite `b/c‘? y 這也是cp命令默認的方式 [root@bogon admin]# alias cp alias cp=‘cp -i‘
-l:對源文件建立硬連接,復制源文件的innode號,而非復制文件;
[root@bogon admin]# cp /a a [root@bogon admin]# cp -l /a aa [root@bogon admin]# ls -li /a a aa 加上-i顯示出文件的inode號 139923 -rwxr-xr-x. 1 root root 0 Dec 22 01:45 a 這個是直接復制過來的文件 12090 -rwxrwxrwx. 2 root root 0 Dec 22 00:55 /a 這貨是源文件 12090 -rwxrwxrwx. 2 root root 0 Dec 22 00:55 aa 這個是通過cp -l復制過來的文件
-P:保留源文件或目錄的屬性;
[root@bogon admin]# cp aa / [root@bogon admin]# ls -l aa /aa -rwxrwxrwx. 1 admin admin 0 Dec 22 00:55 aa -rwxr-xr-x. 1 root root 0 Dec 22 01:13 /aa 以root用戶為例,當我復制admin用戶家目錄下的aa文件到根目錄下時,文件的屬主和屬組變成了root。 [root@bogon admin]# cp -p aa / cp: overwrite `/aa‘? y [root@bogon admin]# ls -l aa /aa -rwxrwxrwx. 1 admin admin 0 Dec 22 00:55 aa -rwxrwxrwx. 1 admin admin 0 Dec 22 00:55 /aa 當加上-p選項後,復制完成後的文件屬主和屬組沒有發生變化,還是原來的admin
這個-p貌似對原文件屬主屬組為root的無效???
-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一並復制;
[root@bogon admin]# cp -rv b c `b‘ -> `c/b‘ `b/c‘ -> `c/b/c‘ `b/c/d‘ -> `c/b/c/d‘ `b/c/d/e‘ -> `c/b/c/d/e‘
-s:對源文件建立符號連接,而非復制文件;
[root@bogon admin]# cp -s /a aa [root@bogon admin]# ls -l aa lrwxrwxrwx. 1 root root 2 Dec 22 01:32 aa -> /a
-b:覆蓋已存在的文件目標前將目標文件備份;
[root@bogon admin]# cp -bv /a a cp: overwrite `a‘? y `/a‘ -> `a‘ (backup: `a~‘) [root@bogon admin]# ls -l a* -rwxr-xr-x. 1 root root 0 Dec 22 01:42 a -rwxrwxrwx. 2 root root 0 Dec 22 00:55 a~
-v:顯示操作過程
上面都已經顯示過了
linux基本命令——cp