cp和ln命令簡述

cp和軟ln命令簡述

cp

         備注:

1.       該命令可以自動判斷你所復制的是文件還是目錄

2.       當源是一個文件,目標(目的地)不存在時,則在目的地新建一個文件,并將源文件的內容填充進新的文件中(在復制之前/app目錄下并沒有mima文件;wc –l的作用是查看指定文件的行數,此處查看兩個文件的行數來大致判斷文件是否一致。)

cp和ln命令簡述

3.       當源是一個文件,目標(目的地)存在且是一個文件時,會覆蓋目的文件的內容(由于root用戶下的別名中定義了cp=cp –i,所以在不加參數的時候會提示是否覆蓋目的文件,輸入’y’即可確認覆蓋,完成復制,但是也正因如此,要注意數據丟失的風險)

  cp和ln命令簡述

4.       當源是一個文件,目標(目的地)存在但是一個目錄時,不可能實現,文件無法覆蓋文件。

  cp和ln命令簡述

5.    當源是多個文件,目的地不存在時提示錯誤,目的地不能不存在。

6.       當源是多個文件,目的地存在,但是一個文件時,提示錯誤。

7.       當源是多個文件,目的地存在且是一個目錄時,如果目錄中存在與源文件同名的文件則覆蓋;如果不存在與源文件同名的文件則新建并填充源文件中的內容;如果目的地目錄中存在與源文件同名的目錄,則不復制該源文件。

8.       當源是個目錄,目的地不存在的時候,新建一個同名的目錄,然后填充新內容。

當源是個目錄,目的地存在且為目錄時,在目的地新建與源目錄同名的內容并將源文件中的內容復制至新目錄中。

9.當源為目錄時,需使用 –r選項。

參數

1       -i 覆蓋前提示

備注:當系統登錄的用戶為root用戶時,由于在~/.bashrc文件中已經定義了別名,所以root用戶使用cp時默認情況下會出現提示信息。別名信息如下圖所示:

cp和ln命令簡述

2       -n 不覆蓋(不覆蓋沒有寫權限的文件)

3       -r -R 遞歸(通用大小寫)

4       -d 復制軟鏈接屬性(不加-d的時候會根據路徑找到源文件并復制其數據)

當復制鏈接時,系統會默認復制鏈接的原文件的內容,而不是僅僅的一個鏈接,相當于新建了一個文件,其內容與源文件的內容相同,但是改變該文件的內容并不會影響源文件以及鏈接文件的內容,當加上-d選項時才會復制鏈接本身。

cp和ln命令簡述

cp和ln命令簡述

5-p =
–perserv=mode,owner,timestamp
(復制這三個屬性)

6-a 包含-dr
–perserv=all
(包含-d –r –p 的作用)

7-f 當覆蓋時,如目的文件缺少寫權限時,強制刪除目的文件,并新建再填充內容(刪除并新建,之后的目的文件的權限以及所屬人所屬組都會改變)。當有-n時,無效

Df  –i可以查看inode的使用數量以及剩余數量

軟鏈接

命令:ln -s

(注意路徑)

備注

1.當原文件內容發生變化時,鏈接文件的內容也會和原文件一樣發生同樣的改變,同樣的,如果改變鏈接文件中內容也相當于改變原文件中的內容,原文件也會相應的發生改變,如下圖中的命令行所示。

cp和ln命令簡述

2.當復制鏈接時,系統會默認復制鏈接的原文件的內容,而不是僅僅的一個鏈接,相當于新建了一個文件,其內容與源文件的內容相同,但是改變該文件的內容并不會影響源文件以及鏈接文件的內容,當加上-d選項時才會復制鏈接本身,示例如下圖所示:

cp和ln命令簡述

cp和ln命令簡述

3.當將原文件刪除或者修改原文件的路徑時,鏈接文件會失效,由此可見,軟鏈接記錄的僅僅是一個原文件的路徑。當按照記錄的路徑找不到有效文件時,鏈接文件同樣失效。如果重新創建一個和原來的文件相同名字的文件,則鏈接文件繼續有效,但此時鏈接文件中的內容已經不再是原來第一個原文件的內容,而是與現在重建的文件的內容保持一致。示例如下圖:

cp和ln命令簡述

4.當使用相對路徑創建鏈接時,需要站在鏈接的角度出發,從鏈接的當前目錄出發,一步步找到被鏈接的目錄。示例如下圖所示:

cp和ln命令簡述

5.當創建新鏈接時會產生新的inode

cp和ln命令簡述

 

原創文章,作者:poetic snow,如若轉載,請注明出處:http://www.www58058.com/85024

(0)
poetic snowpoetic snow
上一篇 2017-08-19 16:42
下一篇 2017-08-19 17:50

相關推薦

  • Linux系統基礎(二)

    一、Linux文件管理命令及其常用方法 1、cd(切換目錄)這個命令應該是Linux中用的最頻繁的一個命令之一了,因為我們經常需要進行目錄的切換。在詳解這個命令之前,首先得補充一個重要的知識,就是我們常用的一些比較特殊的目錄: .        代表當前目錄 .. &n…

    Linux干貨 2016-09-24
  • 馬哥教育網絡班21期+第2周課程練習

    一:在Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例。     在Linux中,文件管理類命令主要有cp,mv,rm三個     其中cp命令的使用格式如下:           …

    Linux干貨 2016-07-16
  • 學習宣言

    我是喻成,我參加了馬幫第22期的linux運維網絡班,于2016年8月開始跟隨馬哥學習linux, 我的學習宣言是:要享受學習的每一刻,我思故我在。

    Linux干貨 2016-08-15
  • 馬哥教育網絡班21期+第19周課程練習

    1、描述Tomcat的架構; Tomcat組件,分為4類: 頂層類組件:包括<Server>元素和<Service>元素,它們位于整個配置文件的頂層; 連接器類組件:為<Connector>元素,代表介于客戶端與服務器端之間的通信接口,負責將客戶端的請求發送給服務器端,并將服務器的響應結果返回給客戶端; 容器類組件:代表處…

    Linux干貨 2016-12-05
  • yum使用和源碼編譯進程

    yum 是通過分析RPM的標頭數據,根據各軟件的依賴關系制作出有依賴關系時的解決方案,然后自動處理軟件的依賴性問題,以解決軟件安裝或升級的問題。  yum使用方法: yum [options] [command] [packages …] install package .. 通過yum安裝軟件包 update package .. 更新軟件包 u…

    Linux干貨 2016-08-24
  • kickstart 的使用!

    簡介 1.什么是kickstart KickStart是一種無人職守安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工干預填寫的各種參數,并生成一個名為ks.cfg的文件;在其后的安裝過程中(不只局限于生成KickStart安裝文件的機器)當出現要求填寫參數的情況時,安裝程序會首先去查找KickStart生成的文件,當找到合適的參數時,…

    Linux干貨 2016-11-03
欧美性久久久久