搜尋
首頁運維linux運維linux下複製指令是什麼

linux下複製指令是什麼

May 09, 2022 pm 04:50 PM
linux

linux下複製指令是「cp」。 cp指令主要用來複製檔案和目錄,語法“cp [選項] 原始檔目標檔”,可以將一個或多個來源檔案或目錄複製到指定檔或目錄下;同時藉助某些選項,也可以實作複製整個目錄,以及比對兩個文件的新舊而予以升級等功能。

linux下複製指令是什麼

本教學操作環境:CentOS 6系統、Dell G3電腦。

linux下複製指令是「cp」。

cp英文全名為“copy file”,中文意思是複製檔案。

cp 指令,主要用來複製檔案和目錄,可以將一個或多個來源檔案或目錄複製到指定的目的檔案或目錄;

cp 指令的基本格式如下:

cp [选项] 源文件 目标文件

選項:

  • -a:相當於-d、-p、-r 選項的集合,這幾個選項我們一一介紹;

  • -d:如果來源檔案為軟連結(對硬連結無效),則複製出的目標檔案也為軟連結;

  • -i:詢問,如果目標文件已經存在,則會詢問是否覆蓋;

  • -l:把目標文件建立為源文件的硬連結文件,而不是複製源文件;

  • -s:把目標文件建立為來源文件的軟連結文件,而不是複製來源文件;

  • ##-p:複製後目標文件保留來源檔案的屬性(包括擁有者、所屬群組、權限和時間);

  • -r:遞歸複製,用於複製目錄;

  • #-u:若目標文件比來源文件有差異,則使用該選項可以更新目標文件,此選項可用於對文件的升級和備用。

要注意的是,原始檔案可以有多個,但在這種情況下,目標檔案必須是目錄才可以。

說明:cp 指令藉由某些選項,還可以實現複製整個目錄,以及比對兩個檔案的新舊而予以升級等功能。

cp指令的使用範例:

  • 【範例1】cp 指令基本用法

cp 指令既可以複製文件,也可以複製目錄。我們先來看看如何複製文件,例如:

[root@localhost ~]# touch cangls
#建立源文件
[root@localhost ~]# cp cangls /tmp/
#把源文件不改名复制到 /tmp/ 目录下

如果需要改名複製,則命令如下:

[root@localhost ~]# cp cangls /tmp/bols
#改名复制

如果複製的目標位置已經存在同名的文件,則會提示是否覆蓋,因為cp 指令預設執行的是「cp -i」的別名,例如:

[root@localhost ~]# cp cangls /tmp/
cp:是否覆盖"/tmp/cangls"?y
#目标位置有同名文件,所以会提示是否覆盖

接下來我們看看如何複製目錄,其實複製目錄只需使用「-r」選項即可,例如:

[root@localhost ~]# mkdir movie
#建立测试目录
[root@localhost ~]# cp -r /root/movie/ /tmp/
#目录原名复制

  • 【範例2】複製軟連結文件

#如果原始檔案不是一個普通文件,而是一個軟連結文件,那麼是否可以複製軟連結的屬性呢?我們試試:

[root@localhost ~]# ln -s /root/cangls /tmp/cangls_slink
#建立一个测试软链接文件/tmp/cangls_slink
[root@localhost ~]# ll /tmp/cangls_slink
lrwxrwxrwx 1 root root 12 6 月 14 05:53 /tmp/cangls_slink -> /root/cangls
#源文件本身就是一个软链接文件
[root@localhost ~]# cp /tmp/cangls_slink /tmp/cangls_t1
#复制软链接文件,但是不加"-d"选项
[root@localhost ~]# cp -d /tmp/cangls_slink /tmp/cangls_t2
#复制软链接文件,加入"-d"选项
[root@localhost ~]# ll /tmp/cangls_t1 /tmp/cangls_t2
-rw-r--r-- 1 root root 0 6月 14 05:56 /tmp/cangls_t1
#会发现不加"-d"选项,实际复制的是软链接的源文件,而不是软链接文件
lrwxrwxrwx 1 root root 12 6 月 14 05:56/tmp/ cangls_t2-> /root/cangls
#而如果加入了"-d"选项,则会复制软链接文件

這個範例說明,如果在複製軟連結檔案時不使用"-d" 選項,則cp 指令複製的是來源文件,而不是軟連結檔案;只加入了"- d" 選項,才會複製軟連結檔案。請大家注意,"-d" 選項對硬連結是無效的。

  • 【範例3】保留來源檔案屬性複製

#我們發現,在執行複製指令後,目標檔案的時間會變成複製命令的執行時間,而不是來源檔案的時間。例如:

[root@localhost ~]# cp /var/lib/mlocate/mlocate.db /tmp/
[root@localhost ~]# ll /var/lib/mlocate/mlocate.db
-rw-r-----1 root slocate2328027 6月 14 02:08/var/lib/mlocate/mlocate.db
#注意源文件的时间和所属组
[root@localhost ~]#ll /tmp/mlocate.db
-rw-r----- 1 root root2328027 6 月 14 06:05/tmp/mlocate.db
#由于复制命令由root用户执行,所以目标文件的所属组为了root,而且时间也变成了复制命令的执行时间

而當我們執行備份、曰志備份的時候,這些檔案的時間可能是一個重要的參數,這就需執行 "-p" 選項了。這個選項會保留來源檔案的屬性,包括擁有者、所屬群組和時間。例如:

[root@localhost ~]# cp -p /var/lib/mlocate/mlocate.db /tmp/mlocate.db_2
#使用"-p"选项
[root@localhost ~]# ll /var/lib/mlocate/mlocate.db /tmp/mlocate.db_2
-rw-r----- root slocate 2328027 6月 14 02:08 /tmp/mlocate.db_2
-rw-r----- root slocate 2328027 6月 14 02:08 /var/lib/mlocate/mlocate.db
#源文件和目标文件的所有属性都一致,包括时间

我們之前講過,"-a" 選項相當於 "-d、-p、-r" 選項,這幾個選項我們已經分別講過了。所以,當我們使用 "-a" 選項時,目標檔案和原始檔案的所有屬性都一致,包括原始檔案的擁有者,所屬群組、時間和軟連結性。使用 "-a" 選項來取代 "-d、-p、-r" 選項更方便。

  • 【範例4】 "-l" 和"-s" 選項

我們如果使用"-l" 選項,則目標文件會建立為原始檔案的硬連結;而如果使用了"-s" 選項,則目標檔案會建立為原始檔案的軟連結。

這兩個選項和"-d" 選項是不同的,"d" 選項要求原始檔案必須是軟鏈接,目標檔案才會複製為軟連結;而"-l" 和"-s " 選項的來源檔案只需是普通文件,目標文件就可以直接複製為硬連結和軟連結。例如:

[root@localhost ~]# touch bols
#建立测试文件
[root@localhost ~]# ll -i bols
262154-rw-r--r-- 1 root root 0 6月 14 06:26 bols
#源文件只是一个普通文件,而不是软链接文件
[root@localhost ~]# cp -l /root/bols /tmp/bols_h
[root@localhost ~]# cp -s /root/bols /tmp/bols_s
#使用"-l" 和"-s"选项复制
[root@localhost ~]# ll -i /tmp/bols_h /tmp/bols_s
262154-rw-r--r-- 2root root 0 6 月 14 06:26/tmp/bols_h
#目标文件 /tmp/bols_h 为源文件的硬链接文件
932113 lrwxrwxrwx 1 root root 10 6 月 14 06:27/tmp/bols_s -> /root/bols
#目标文件 /tmp/bols_s 为源文件的软链接文件

相關推薦:《

Linux影片教學

以上是linux下複製指令是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Debian系統如何安裝PHPStormDebian系統如何安裝PHPStormApr 13, 2025 am 06:03 AM

在Debian系統上安裝PHPStorm,輕鬆搞定你的PHP開發環境!以下步驟將引導您完成整個安裝過程。安裝步驟:下載PHPStorm:訪問JetBrains官網,下載PHPStorm最新版本。解壓安裝包:使用wget或curl下載後,解壓到指定目錄(例如/opt)。命令示例:wgethttps://download.jetbrains.com/phpstorm/phpstorm-2024.3.5.tar.gztar-xzfphpstorm-2024.3.5.tar.gz

如何通過FetchDebian安裝軟件如何通過FetchDebian安裝軟件Apr 13, 2025 am 06:00 AM

Debian系統軟件安裝,最便捷的方法莫過於使用APT包管理器。以下步驟將指導您如何高效地使用APT:更新軟件包信息:首先,更新本地軟件包列表,確保獲取最新的軟件信息和可用更新。執行以下命令:sudoaptupdate搜索目標軟件:使用aptsearch命令查找所需軟件。例如,要查找文本編輯器,輸入:aptsearcheditor系統會返回所有匹配的軟件包。安裝軟件:找到目標軟件包後,使用aptinstall命令進行安裝。例如,安裝Nginx網絡服務器:s

Linux的心臟:5個核心組件Linux的心臟:5個核心組件Apr 13, 2025 am 12:15 AM

Linux的5個核心組件分別是內核、Shell、文件系統、系統庫和系統工具。 1.內核管理硬件資源並為應用程序提供服務。 2.Shell作為用戶與系統的接口,解釋並執行命令。 3.文件系統負責數據的存儲和組織。 4.系統庫提供預編譯函數供應用程序調用。 5.系統工具用於系統管理和維護。這些組件協同工作,賦予Linux強大的功能和靈活性。

如何檢查Debian OpenSSL配置如何檢查Debian OpenSSL配置Apr 12, 2025 pm 11:57 PM

本文介紹幾種檢查Debian系統OpenSSL配置的方法,助您快速掌握系統安全狀態。一、確認OpenSSL版本首先,驗證OpenSSL是否已安裝及版本信息。在終端輸入以下命令:opensslversion若未安裝,系統將提示錯誤。二、查看配置文件OpenSSL主配置文件通常位於/etc/ssl/openssl.cnf。您可以使用文本編輯器(例如nano)查看:sudonano/etc/ssl/openssl.cnf此文件包含密鑰、證書路徑及加密算法等重要配置信息。三、利用ope

Debian上Hadoop開發環境如何搭建Debian上Hadoop開發環境如何搭建Apr 12, 2025 pm 11:54 PM

本指南詳細介紹如何在Debian系統上搭建Hadoop開發環境。一、安裝Java開發套件(JDK)首先,安裝OpenJDK:sudoaptupdatesudoaptinstallopenjdk-11-jdk-y配置JAVA_HOME環境變量:sudonano/etc/environment在文件末尾添加(根據實際JDK版本調整路徑):JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"保存並退出,然後執行:source/etc

Debian上Hadoop資源管理怎麼做Debian上Hadoop資源管理怎麼做Apr 12, 2025 pm 11:51 PM

在Debian系統上有效管理Hadoop資源,需要遵循以下步驟:Hadoop部署:首先,在Debian系統上完成Hadoop的安裝與配置。這包括下載Hadoop發行包、解壓、設置環境變量等必要操作。集群配置:安裝完成後,對Hadoop集群進行配置,涵蓋HDFS(Hadoop分佈式文件系統)和YARN(YetAnotherResourceNegotiator)的設置。需要修改核心配置文件,例如:core-site.xml、hdfs-site.xml、mapred-site.x

Debian Tomcat日誌安全設置有哪些Debian Tomcat日誌安全設置有哪些Apr 12, 2025 pm 11:48 PM

提升DebianTomcat日誌安全性,需關注以下關鍵策略:一、權限控制與文件管理:日誌文件權限:默認日誌文件權限(640)限制了訪問,建議修改catalina.sh腳本中的UMASK值(例如,從0027改為0022),或在log4j2配置文件中直接設置filePermissions,以確保合適的讀寫權限。日誌文件位置:Tomcat日誌通常位於/opt/tomcat/logs(或類似路徑),需定期檢查該目錄的權限設置。二、日誌輪轉與格式:日誌輪轉:配置server.xml

如何解讀Tomcat日誌中的警告如何解讀Tomcat日誌中的警告Apr 12, 2025 pm 11:45 PM

Tomcat服務器日誌中的警告信息提示潛在問題,可能影響應用性能或穩定性。有效解讀這些警告信息需要關注以下幾個關鍵點:警告內容:仔細研讀警告信息,明確問題類型、成因及可能的解決方法。警告信息通常會提供詳細描述。日誌級別:Tomcat日誌包含不同級別信息,例如INFO、WARN、ERROR等。 “WARN”級別的警告提示非致命性問題,但需要關注。時間戳:記錄警告發生的時間,以便追溯問題出現的時間點,分析其與特定事件或操作的關係。上下文信息:查看警告信息前後日誌內容,獲取

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用