cp命令實驗

来源:http://www.cnblogs.com/Andy-zhaojianjiang/archive/2016/08/10/5755806.html
-Advertisement-
Play Games

創建條件 第一種:源文件複製,目標文件不存在 可以複製,複製的目標文件的目錄必須存在(不然會報錯),複製後文件相同,表示覆制到目錄後將文件重命名 當目標文件的目錄(/dir)不存在時,會報錯 第二種:源文件複製,目標文件存在 可以複製,當有文件名相同表明覆蓋,會提示,查看文件內容,表明確實會覆蓋原文 ...


 

創建條件

[root@localhost ~]#mkdir /source
[root@localhost ~]#mkdir /target
[root@localhost ~]#cp /etc/l*.conf /source
[root@localhost ~]#ll /source
total 20
-rw-r--r--. 1 root root   28 Aug 10 09:24 ld.so.conf
-rw-r-----. 1 root root  191 Aug 10 09:24 libaudit.conf
-rw-r--r--. 1 root root 2391 Aug 10 09:24 libuser.conf
-rw-r--r--. 1 root root   19 Aug 10 09:24 locale.conf
-rw-r--r--. 1 root root  662 Aug 10 09:24 logrotate.conf

 

第一種:源文件複製,目標文件不存在

[root@localhost ~]#cp /source/locale.conf /target/file1
[root@localhost /target]#ll
total 4
-rw-r--r--. 1 root root 19 Aug 10 10:31 file1

可以複製,複製的目標文件的目錄必須存在(不然會報錯),複製後文件相同,表示覆制到目錄後將文件重命名

當目標文件的目錄(/dir)不存在時,會報錯

[root@localhost /target]#cp /source/libaudit.conf /dir/file1
cp: cannot create regular file ‘/dir/file1’: No such file or directory

 

第二種:源文件複製,目標文件存在

[root@localhost /target]#ll
total 4
-rw-r--r--. 1 root root 19 Aug 10 09:33 file1
[root@localhost /target]#cp /source/libaudit.conf /target/file1
cp: overwrite ‘/target/file1’? y
[root@localhost /target]#ll
total 4
-rw-r--r--. 1 root root 191 Aug 10 09:39 file1
[root@localhost /target]#cat file1
# This is the configuration file for libaudit tunables.
# It is currently only used for the failure_action tunable.

# failure_action can be: log, ignore, terminate
failure_action = ignore

可以複製,當有文件名相同表明覆蓋,會提示,查看文件內容,表明確實會覆蓋原文件

 

第三種:源文件複製,目標文件存在且為目錄,

[root@localhost /target]#rm -f *
[root@localhost /target]#ll
total 0
[root@localhost /target]#mkdir file1
[root@localhost /target]#ll
total 0
drwxr-xr-x. 2 root root 6 Aug 10 09:44 file1
[root@localhost /target]#cp /source/locale.conf /target/file1
[root@localhost /target]#ll
total 0
drwxr-xr-x. 2 root root 24 Aug 10 09:46 file1
[root@localhost /target]#ll file1
total 4
-rw-r--r--. 1 root root 19 Aug 10 09:46 locale.conf

可以複製,將文件複製到同名file1目錄下麵

 

第四種:多文件複製,目標文件不存在

[root@localhost /target]#ll
total 0
[root@localhost /target]#cp /source/* /target/file1
cp: target ‘/target/file1’ is not a directory

複製錯誤,目標必須要為目錄才可以

 

第五種:多文件複製,目標文件存在

[root@localhost /target]#cp /etc/fstab /target/file1
[root@localhost /target]#ll
total 4
-rw-r--r--. 1 root root 595 Aug 10 10:04 file1
[root@localhost /target]#cp /source/* /target/file1
cp: target ‘/target/file1’ is not a directory

複製錯誤,目標必須要為目錄才可以

 

第六種:多文件複製,目標文件存在為目錄

[root@localhost /target]#ll
total 0
[root@localhost /target]#mkdir file1
[root@localhost /target]#ll
total 0
drwxr-xr-x. 2 root root 6 Aug 10 10:07 file1
[root@localhost /target]#cp /source/* /target/file1
[root@localhost /target]#ll
total 0
drwxr-xr-x. 2 root root 101 Aug 10 10:08 file1
[root@localhost /target]#ll file1
total 20
-rw-r--r--. 1 root root   28 Aug 10 10:08 ld.so.conf
-rw-r-----. 1 root root  191 Aug 10 10:08 libaudit.conf
-rw-r--r--. 1 root root 2391 Aug 10 10:08 libuser.conf
-rw-r--r--. 1 root root   19 Aug 10 10:08 locale.conf
-rw-r--r--. 1 root root  662 Aug 10 10:08 logrotate.conf

複製所有文件到目標目錄中

 

第七種:目錄複製,必須使用-r選項,遞歸複製,當目標文件不存在時(目標文件的上一級目錄必須存在)

[root@localhost /target]#ll /target
total 0
[root@localhost /target]#cp -r /source /target/file1
[root@localhost /target]#ll
total 0
drwxr-xr-x. 2 root root 101 Aug 10 10:16 file1
[root@localhost /target]#ll file1/
total 20
-rw-r--r--. 1 root root   28 Aug 10 10:16 ld.so.conf
-rw-r-----. 1 root root  191 Aug 10 10:16 libaudit.conf
-rw-r--r--. 1 root root 2391 Aug 10 10:16 libuser.conf
-rw-r--r--. 1 root root   19 Aug 10 10:16 locale.conf
-rw-r--r--. 1 root root  662 Aug 10 10:16 logrotate.conf

可以複製,將原目錄下的所有文件複製到目標目錄中

 

第八種:目錄複製,必須使用-r選項,遞歸複製,當目標存在且為文件時

[root@localhost /target]#ll
total 4
-rw-r--r--. 1 root root 595 Aug 10 10:20 file1
[root@localhost /target]#cp -r /source /target/file1
cp: cannot overwrite non-directory ‘/target/file1’ with directory ‘/source’

複製錯誤,必須是目錄

 

第九種:目錄複製,必須使用-r選項,遞歸複製,當目標存在且為目錄時

[root@localhost /target]#rm -f *
[root@localhost /target]#ll
total 0
[root@localhost /target]#mkdir file1
[root@localhost /target]#ll
total 0
drwxr-xr-x. 2 root root 6 Aug 10 10:22 file1
[root@localhost /target]#cp -r /source /target/file1
[root@localhost /target]#ll 
total 0
drwxr-xr-x. 3 root root 19 Aug 10 10:23 file1
[root@localhost /target]#ll file1/
total 0
drwxr-xr-x. 2 root root 101 Aug 10 10:23 source
[root@localhost /target]#ll file1/source
total 20
-rw-r--r--. 1 root root   28 Aug 10 10:23 ld.so.conf
-rw-r-----. 1 root root  191 Aug 10 10:23 libaudit.conf
-rw-r--r--. 1 root root 2391 Aug 10 10:23 libuser.conf
-rw-r--r--. 1 root root   19 Aug 10 10:23 locale.conf
-rw-r--r--. 1 root root  662 Aug 10 10:23 logrotate.conf

可以複製,複製原目錄及下麵的所有內容到目標目錄下麵

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Swift - UITableView展開縮放動畫 效果 源碼 https://github.com/YouXianMing/Swift-Animations ...
  • AndroidStudio(以後都簡稱AS),作為google的親兒子,終於出了個像樣的android ide,再也不用在eclipse中又是Adt,又是這又是那的,一大堆的集成了。廢話不多說,這個系列打算用AS+WebApi寫一個自己的Oa App(AS編寫App代碼,WebApi編寫介面代碼)。 ...
  • 非對稱加密演算法 RSA 介紹 1977年,三位數學家Rivest、Shamir 和 Adleman 設計了一種演算法,可以實現非對稱加密。 演算法原理: https://zh.wikipedia.org/wiki/RSA%E5%8A%A0%E5%AF%86%E6%BC%94%E7%AE%97%E6%B3 ...
  • 前言 1、UITextField 的創建 Objective C Swift 2、UITextField 的設置 Objective C Swift 3、textField 的編輯 協議方法,需遵守協議 UITextFieldDelegate,並設置代理 Objective C Swift 4、te ...
  • 一、原因: forceclose,意為強行關閉,當前應用程式發生了衝突。 NullPointExection(空指針),IndexOutOfBoundsException(下標越界),就連Android API使用的順序錯誤也可能導致(比如setContentView()之前進行了findViewB ...
  • 屬性是封裝數據的方式(參見第6條)。 屬性只是定義實例變數及相關存取方法所用的“語法糖”,所以也應遵循同實例變數一樣的規則。 分類機制,應該將其理解為一種手段,目標在於擴展類的功能,而非封裝數據。 儘管從技術上說,分類里也可以聲明屬性,但這種做法應該儘量避免。 原因是:除了“class-contin ...
  • 在公司多人協作開發,相信好多程式員都遇到非常憂傷的問題,就是工程打不開,這樣就無從下手,好多程式怨只能再從代碼伺服器上下載一份新的代碼,今天軍哥教你幾個小技巧,讓你的bigger瞬間提升一個檔次 在公司經常遇到這種非常憂傷的問題 在公司經常遇到這種非常憂傷的問題 出現這種問題是因為多人開發中,同時修 ...
  • 虛擬機中的Linux系統克隆後,網卡配置eth0中的UUID可被克隆的系統是一樣的,這樣UUID就失去了唯一性。 我參考了該篇博客: 有時我們不小心將/etc/sysconfig/network-scripts /ifcfg-eth0(可以通過此文件進行查看UUID)刪除或者損壞,要重新編輯ifcf ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...