Linux 命令:cp

Linux cp 命令詳細教程

  • cp 是 Linux 系統中最常用的命令之一,用于復制文件或目錄
  • 它可以將源文件/目錄復制到指定的目標位置,支持批量復制、強制覆蓋、保留文件屬性等功能。下面詳細介紹其用法。
  • 資料已經分類整理好:https://pan.quark.cn/s/26d73f7dd8a7
一、基本語法
cp [選項] 源文件/目錄 目標文件/目錄
  • :可以是一個或多個文件/目錄(多個源時,目標必須是目錄)。
  • 目標:若源是文件,目標可以是文件(重命名復制)或目錄(復制到該目錄下);若源是目錄,目標必須是目錄(需配合 -r 選項)。
二、常用選項
選項功能描述
-i交互式操作,若目標文件已存在,會提示是否覆蓋(避免誤操作)
-f強制覆蓋,若目標文件已存在,直接覆蓋且不提示(慎用)
-r/-R遞歸復制目錄,用于復制文件夾及其所有子內容
-p保留源文件的屬性(如權限、所有者、修改時間等)
-v顯示復制過程(verbose,詳細輸出)
-a等同于 -dR --preserve=all,常用于備份(保留鏈接、遞歸復制、保留所有屬性)
-l不復制文件,而是創建硬鏈接(鏈接文件與源文件共享數據)
-s創建符號鏈接(軟鏈接),而非復制文件內容
三、實際操作示例
1. 復制文件到指定目錄

將文件 file.txt 復制到 docs 目錄下(若 docs 不存在,會報錯):

cp file.txt docs/
  • docs 目錄存在,file.txt 會被復制到 docs 中,文件名不變。
2. 復制文件并重命名

file.txt 復制到當前目錄,并命名為 file_copy.txt

cp file.txt file_copy.txt
  • file_copy.txt 已存在,默認會直接覆蓋(非交互式shell),建議加 -i 選項確認:
    cp -i file.txt file_copy.txt  # 提示:cp: 是否覆蓋 'file_copy.txt'? y
    
3. 復制多個文件到目錄

a.txtb.txt 復制到 backup 目錄:

cp a.txt b.txt backup/
  • 多個源文件時,目標必須是目錄,否則會報錯。
4. 復制目錄(遞歸復制)

復制目錄 dir1 及其所有子文件/子目錄到 dir2dir2 可不存在):

cp -r dir1 dir2  # 若 dir2 不存在,會創建 dir2 并復制 dir1 內容到其中# 若 dir2 存在,會將 dir1 復制到 dir2 內(即 dir2/dir1)
  • 必須加 -r-R,否則會提示“cp: 無法 stat ‘dir1’: 是一個目錄”。
5. 保留文件屬性復制

復制 data.csvarchive 目錄,并保留其權限、修改時間等屬性:

cp -p data.csv archive/
  • 可用 ls -l 對比復制前后的文件屬性。
6. 強制覆蓋文件

當目標文件存在時,無需提示直接覆蓋(慎用,可能誤刪數據):

cp -f old.txt new.txt  # 即使 new.txt 存在,也直接覆蓋
7. 創建軟鏈接/硬鏈接
  • 創建軟鏈接(類似Windows快捷方式):
    cp -s source.txt link.txt  # link.txt 指向 source.txt,刪除 source.txt 后 link.txt 失效
    
  • 創建硬鏈接(與源文件共享數據,刪除源文件不影響鏈接文件):
    cp -l source.txt hardlink.txt
    
8. 備份式復制(保留所有屬性)

復制目錄 projectbackup,保留鏈接、權限、所有者等所有屬性:

cp -a project/ backup/  # 常用于完整備份目錄
四、注意事項
  1. 復制目錄必須加 -r:若忘記加 -r,復制目錄會報錯。
  2. 目標路徑的斜杠區別
    • cp file.txt dircp file.txt dir/ 效果相同(若 dir 是目錄)。
    • 但推薦加 / 明確表示目標是目錄,避免誤操作(如 dir 是文件時,會覆蓋該文件)。
  3. 權限問題:若復制到沒有寫入權限的目錄(如 /root),會提示“權限不夠”,需用 sudo 提升權限。
  4. 避免覆蓋重要文件:優先使用 -i 選項,或通過 alias cp='cp -i' 設置別名(大多數Linux默認配置)。

通過靈活組合選項,cp 命令可以滿足各種復制需求,從簡單的文件復制到復雜的目錄備份均能勝任。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/87285.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/87285.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/87285.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java分頁插件| MyBatis-Plus分頁 vs PageHelper分頁:全面對比與最佳實踐

MyBatis-Plus分頁 vs PageHelper分頁:全面對比與最佳實踐 一、分頁技術概述 在Java持久層框架中,分頁是高頻使用的功能。主流方案有: MyBatis-Plus分頁:MyBatis增強工具的內置分頁方案PageHelper分頁:獨立的MyBatis…

PROFINET轉MODBUS TCP網關在機械臂通信操作中的應用研究

在特定的汽車零部件生產工廠焊接生產線上,機械臂被應用于焊接作業,其控制體系基于Profinet協議。同時,工廠的自動化控制體系以西門子S7-1200PLC為核心,通過ModbusTCP協議實現數據交換。為實現焊接過程的自動化控制以及生產數據的實…

Mac中如何Chrome禁用更新[update chflags macos]

寫在前面 在 macOS 系統中,系統更新提示的小紅點常常讓人不勝其擾。 尤其是當你希望保持現有系統的穩定性,或因兼容性問題暫不想升級時,這個小紅點就像一個頑固的提醒。 - windowsMac版直接刪除更新程序, 有效 cd ~/Library/Google/Googl…

LoRA使用-多個LoRA

LoRA的風格分類 不用去記它有什么很特別的風格,簡單來說基礎模型就像一個全能畫手,什么都能畫,而LoRA是在某個風格中經過特訓的它的一個分身。使得它更精通該風格。 關于LoR風格分類:提示詞撰寫公式 Checkpoint&LoRA對比 訓…

牛客刷題 — 【排序】[NOIP2012] 國王的游戲(高精度結構體排序)

1.題面:傳送門 2. 思路: 相鄰的兩個大臣的先后順序只會互相影響,并不會影響其他人的金幣數。 假設前 i-1 個人左手上的數乘積為 s 。 ① 若 A 大臣排在B 大臣的前面,則: s 此時的金幣數最大值為 。 ② 若B大臣排…

grpc 和限流Sentinel

基于gRPC的微服務通信模塊技術方案書 1. 總體架構設計 #mermaid-svg-TiN9cudEfW5mCWHm {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-TiN9cudEfW5mCWHm .error-icon{fill:#552222;}#mermaid-svg-TiN9cudEfW5mCWHm…

經典灰狼算法+編碼器+雙向長短期記憶神經網絡,GWO-Transformer-BiLSTM多變量回歸預測,作者:機器學習之心!

經典灰狼算法編碼器雙向長短期記憶神經網絡,GWO-Transformer-BiLSTM多變量回歸預測,作者:機器學習之心! 目錄 經典灰狼算法編碼器雙向長短期記憶神經網絡,GWO-Transformer-BiLSTM多變量回歸預測,作者&#…

VGG Image Annotator (VIA):一款免費的數據標注軟件介紹與使用

VGG Image Annotator (VIA):一款免費的數據標注軟件介紹與使用 在計算機視覺領域,數據標注是訓練機器學習模型的基礎步驟之一,而標注工具的選擇直接影響標注的效率和準確性。眾多標注工具中,VGG Image Annotator (VIA) 是一個開源…

CSS實現百分比水柱圖

背景 在echarts沒發現有可以直接使用的展示百分比的柱形圖,只好自己封裝一個組件使用 實現思路 一、圖形拆解 要實現的組件是一個 可配置的圓柱形液柱圖組件,常用于展示比例進度,比如任務完成度、指標達成率等。把圖拆成最小單元然后拼接起來&#x…

詳解 rzsz 工具:Windows 與 Linux 文件傳輸

(Linux之軟件包管理器(CentOS系統) —— yum-CSDN博客)rzsz工具之前我在這篇文章中介紹過,現在重新詳細介紹一下該工具。rzsz 是一個用于在 Windows 和 Linux 系統之間傳輸文件的工具集,通常通過終端模擬器…

網絡編程1(UDP)

網絡編程套接字(socket api) 了解了網絡的一些概念,接下來就要進行網絡中的跨主機通信,了解網絡中的一些API,這里談到的API都是針對傳輸層進行的,這是因為我們編寫的代碼是在應用層,而傳輸層就…

【電機】定點線性映射

這是一個定點數線性映射的問題,通常用于將浮點型的物理量(如速度、位置、扭矩)轉換為嵌入式系統中使用的整型數據格式,便于通過 CAN 總線或其它通信協議發送給電機控制器。 我們來逐步解析這個過程,并以“速度”為例說…

Spring Cloud 微服務(遠程調用與熔斷機制深度解析)

📌 摘要 在微服務架構中,服務之間的遠程調用是構建分布式系統的核心環節。然而,隨著服務數量的增加和網絡復雜度的提升,調用失敗、延遲高、異常等問題變得越來越頻繁。 為此,Spring Cloud 提供了強大的遠程調用組件 …

electron-vite 抽離config.js

1、將config.js 放到resources下的config目錄下 module.exports {url: http://192.168.1.17:8000,wsUrl: ws://192.168.1.17:8000, }2、在preload.js 暴露讀取API src/preload/index.js(或你的preload入口) const fs require(fs); const path require(path);function getCo…

MySQL Undo Log 深度解析:事務回滾與MVCC的核心功臣

引言 作為MySQL的“數據后悔藥”和“歷史版本檔案館”,Undo Log(回滾日志)在事務處理和并發控制中扮演著至關重要的角色。今天咱們就從底層原理出發,結合實際場景,把Undo Log的“里里外外”說個明白! 一、…

gin如何返回html

? 方法一&#xff1a;直接返回 HTML 字符串 這種方式適合簡單場景&#xff0c;比如返回一段固定的 HTML 內容。 package mainimport "github.com/gin-gonic/gin"func main() {r : gin.Default()r.GET("/html", func(c *gin.Context) {htmlContent : <…

Insulation score算法解讀

Insulation score&#xff08;IS&#xff09;&#xff0c;俗稱絕緣分數&#xff0c;用于計算識別三維基因組中的拓撲關聯結構域TAD。 首次提出是在&#xff1a; 1&#xff0c;概念 為染色體上的基因組區間分配‘絕緣評分’的方法。該評分用于衡量跨越每個區間的所有相互作用的…

電腦系統重裝有什么用?

一、解決系統軟件問題 1、修復系統崩潰與錯誤 系統出現頻繁藍屏、死機、啟動失敗或程序運行異常&#xff08;如驅動沖突、系統文件損壞&#xff09; 2、清除惡意軟件與病毒 電腦中病毒或惡意軟件難以通過殺毒軟件徹底清除 二、優化系統性能 1、清理冗余文件與設置 長時間…

js隨機生成一個顏色

在 JavaScript 中&#xff0c;隨機生成顏色有多種方式&#xff0c;以下是最常見的幾種實現方法&#xff1a; 方法1&#xff1a;生成隨機十六進制顏色&#xff08;如 #FFFFFF&#xff09; 這是最常見的方式&#xff0c;生成格式為 #RRGGBB 的顏色字符串&#xff1a; function…

運維打鐵: 服務器防火墻策略配置與管理

文章目錄 思維導圖一、防火墻基礎1. 防火墻概念2. 常見防火墻類型3. 防火墻工作原理 二、策略配置1. 規則制定原則2. 端口與服務開放Linux 系統&#xff08;以 iptables 為例&#xff09;Windows 系統&#xff08;以 Windows 防火墻為例&#xff09; 3. IP 地址過濾允許特定 IP…