如何在Linux中有效使用CP命令[14個示例]
簡介:在此易於遵循的指南中,我們將討論CP命令的一些實用示例。遵循本指南後,用戶將能夠使用命令行界面輕鬆地在Linux中復製文件和目錄。
作為Linux用戶,我們不時與文件和目錄進行交互。一個常見的操作用戶表演是複製文件和目錄。當然,我們可以使用圖形文件管理器執行複制操作。但是,大多數Linux用戶由於其簡單性和豐富功能而更喜歡使用CP命令。
在此初學者指南中,我們將了解CP命令。顧名思義, CP命令用於在給定路徑上複製文件和目錄。
在整個指南中,我們將使用可以每天使用的實例來理解CP命令的使用情況。
因此,讓我們開始。
目錄
CP命令語法
CP命令的語法與其他Linux命令相同。在高水平上,它分為兩個部分 -選項和參數:
$ CP [選項]<source><dest> $ CP [選項]<source-1><source-2> ...<directory> </directory></source-2></source-1></dest></source>
在上面的語法中,方括號([])
表示可選參數,而角括號()
表示強制性參數。
1。如何在Linux中復製文件
CP命令的基本用途之一是將文件複製到當前目錄中。大多數時候,用戶執行此操作以備份重要配置。
例如,在更新SSH配置之前,我們通常會創建/etc/ssh/sshd_config文件的備份副本。
要了解用法,讓我們創建一個簡單的文件:
$ touch file-1.txt
接下來,使用以下命令創建文件副本:
$ cp file-1.txt file-2.txt
2。顯示複製命令進度
在上一個示例中,我們使用LS命令來驗證文件複製操作是否成功。但是,僅使用一個命令來驗證先前命令的結果是沒有意義的。
在這種情況下,我們可以使用-v
選項啟用詳細模式,該選項為每個處理的文件提供診斷。
讓我們使用以下命令進行file-1.txt文件的副本:
$ cp -v file-1.txt file-3.txt
在上面的輸出中,箭頭表示要復制的文件。左側參數是源文件,而右側參數是目標文件。
3。如何將多個文件複製到目錄
到目前為止,我們僅使用一個文件和當前的工作目錄。但是,在實際生產環境中,我們必須使用大量文件。在這種環境中,常見用例之一是將多個文件複製到一個單一目錄中。
顯然,我們可以多次執行CP命令來實現它,但這不是最有效的方法。為了有效執行此類操作,我們可以使用CP命令的替代語法。
因此,首先,創建一個名稱dir-1的新目錄:
$ mkdir dir-1
現在,讓我們使用單個命令將所有三個文件複製到DIR-1目錄中:
$ cp -v file-1.txt file-2.txt file-3.txt dir-1
上面的輸出顯示所有文件已復製到DIR-1目錄。同樣,重要的是要注意,要使用此替代語法,目錄必須已經存在,並且必須是命令的最後一個參數。
4.如何避免覆蓋文件
默認情況下, CP命令替換了目標文件,這意味著如果文件在目的地以相同的名稱存在,則將覆蓋該文件。但是,我們可以使用-n
選項禁用此默認行為。
要理解這一點,讓我們嘗試覆蓋現有文件:
$ cp -n -v file -1.txt file -2.txt
在此示例中,我們使用-v
選項來說明File -2.txt文件尚未被覆蓋。
5。如何用確認文件覆蓋文件
在上一個示例中,我們看到瞭如何避免目標文件的覆蓋。但是,有時我們想以更安全的方式覆蓋文件目的地。
在這種情況下,我們可以使用命令的-i
選項使復制操作交互式。此選項顯示警告消息,並在覆蓋文件之前等待用戶的確認。
為了說明這一點,讓我們嘗試覆蓋現有文件:
$ cp -i file-1.txt file-2.txt <strong>CP:覆蓋'file-2.txt'?</strong>
如我們所見,命令正在等待確認。就像其他Linux命令一樣,我們可以使用'y'
繼續或'n'
中止操作。
CP命令的這種默認非交互行為不是很安全。用戶可能會錯誤地覆蓋重要的配置。因此,某些Linux發行版默認使用Alias命令強制執行交互式行為:
$別名cp ='cp -i'
6。僅當源較新時覆蓋文件
在上一個示例中,我們看到瞭如何使用交互模式。但是,有時,用戶可能會無意中覆蓋較新的文件。
為了避免使用此類錯誤的情況,我們可以使用-u
選項,該選項僅在源比目的地較新或在目標上不存在文件時嘗試複製操作。
首先,更新源文件的時間戳:
$ touch -t 10101010 file -1.txt $ ls -l file -1.txt
在上面的示例中,我們使用了touch命令的-t
選項將文件的時間戳設置為2010年10月10日。
接下來,讓我們將目標文件的時間戳更新到當前時間:
$ touch file-2.txt
現在,讓我們嘗試使用-u
選項執行複制操作:
$ cp -u -v file -1.txt file -2.txt
在這裡,我們可以看到尚未嘗試使用複制操作,因為目標文件比源更新。
最後,讓我們交換源和目的地參數並執行複制操作:
$ cp -u -v file -2.txt file -1.txt
在上面的輸出中,我們可以觀察到復制操作成功,因為源文件比目的地更新。
7.如何在覆蓋之前備份文件
我們可以指示CP命令在覆蓋目標文件之前對其進行備份。為了實現這一目標,我們可以使用--backup
選項,該選項可以執行自動備份。
$ cp -backup =編號-v文件1.txt file-2.txt
在此示例中,我們使用了編號的備份策略。此策略在備份文件名中使用增量數字。
要理解這一點,讓我們多次執行相同的命令並觀察輸出:
$ cp -backup =編號-v文件1.txt file-2.txt $ cp -backup =編號-v文件1.txt file-2.txt $ cp -backup =編號-v文件1.txt file-2.txt
8。如何強制複製到覆蓋文件
在前幾個示例中,我們看到瞭如何以更安全的方式覆蓋文件。但是,在某些極少數情況下,要求是覆蓋文件。但是,不能保證每次操作都會成功。
例如,如果目標文件沒有寫入權限,則復制操作將失敗。讓我們用一個示例來說明這一點。
首先,更改目標文件的權限:
$ CHMOD 444 file-2.txt $ LS -L file -2.txt
現在,讓我們嘗試覆蓋file-2.txt文件:
$ cp file-1.txt file-2.txt
在上面的輸出中,我們可以看到命令因拒絕錯誤而失敗。
為了克服此限制,我們可以使用-f
選項,該選項刪除目標文件並在無法打開目標文件時嘗試複製操作。
現在,讓我們使用-f
選項強制覆蓋文件:
$ cp -f -v -v file -1.txt file -2.txt
9.如何在復制之前刪除目標文件
在上一個示例中,我們看到瞭如何在操作時刪除目標文件。但是,有時要求首先刪除目標文件,然後執行複制操作。
為了滿足這樣的要求,我們可以使用--remove-destination
選項。
$ cp - remove-destination -v file-1.txt file-2.txt
在上面的輸出中,我們可以看到CP命令首先刪除目標文件,然後執行複制操作。
10。如何創建硬鏈接文件而不是複制
我們可以創建一個硬鏈接,而不是創建源文件的新副本。當磁盤空間稀缺時,此選項起著重要的作用。
因此,讓我們使用-l
選項創建一個硬鏈接:
$ cp -l -v file -1.txt文件-4.txt
現在,讓我們檢查兩個文件的Inode數字以驗證硬鏈接:
$ ls -i1 file-1.txt file-4.txt
在上面的輸出中,第一列中的數字表示Inode編號。
11.如何創建軟鏈接文件而不是複制
以類似的方式,我們可以創建一個軟鏈接,而不是使用-s
選項創建新副本,如下所示:
$ cp -s -v file -1.txt file -5.txt
現在,讓我們驗證是否正確創建了符號鏈接:
$ ls -l file -5.txt
在上面的輸出中,最後一列代表符號鏈接關係。
12.如何在復制時保留文件屬性
該文件有各種屬性,例如其訪問時間,修改時間,權限等。默認情況下,複製文件時未保留這些屬性。為了覆蓋此默認行為,我們可以使用-p
選項。
要了解這一點,首先,更新文件1.txt的時間戳:
$ touch -t 10101010 file -1.txt
現在,讓我們通過保留其所有屬性來創建此文件的副本:
$ cp -p -p -v file -1.txt file -6.txt
最後,驗證文件-6.txt文件的時間戳:
$ LS -L文件-6.txt
13。如何遞歸執行複制操作
到目前為止,我們看到瞭如何復制一個文件。但是,通常我們必須複製特定目錄的所有文件和子目錄。
在這種情況下,我們可以使用-r
或-R
選項使用遞歸模式。
因此,讓我們創建一個目錄,並在其中添加一些文件和子目錄:
$ MKDIR -P dir-1/dir-2 $ touch dir-1/file-1.txt dir-1/dir-1/file-2.txt
接下來,驗證目錄結構已正確創建:
$ tree dir-1
現在,讓我們使用以下命令遞歸複製DIR-1目錄:
$ cp -r -v dir -1 dir -3
最後,驗證所有文件和子目錄是否已成功複製:
$ Tree Dir-3
14.如何復制多個目錄
與文件類似,我們可以使用單個命令複製多個目錄遞歸。但是,要實現此目標,目標目錄必須已經存在,並且必須是命令中的最後一個參數。讓我們以一個例子理解這一點。
首先,創建一個新目錄目錄:
$ mkdir dir-4
現在,讓我們使用以下命令將DIR-1和DIR-3目錄複製到DIR-4目錄中:
$ CP -R -V DIR-1 DIR-3 DIR-4
以類似的方式,我們可以使用命令的-t
選項來達到相同的結果。此選項允許我們指定目標目錄。因此,我們也可以將其用作第一個參數:
$ CP -T DIR -4 -R -V DIR -1 DIR -3
在本文中,我們討論瞭如何使用CP命令複製文件和目錄。初學者可以在使用Linux系統時參考日常生活中的這些例子。
您知道Linux中CP命令的其他最佳示例嗎?在下面的評論中讓我們知道您的觀點。
以上是如何在Linux中有效使用CP命令[14個示例]的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

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

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

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

LXD被描述為下一代容器和虛擬機管理器,它為在容器內部或虛擬機中運行的Linux系統提供了沉浸式的。 它為有支持的Linux分佈數量提供圖像

R是一種廣泛使用的編程語言和軟件環境,旨在在數據科學中開發統計和圖形計算工具。它與S編程語言和環境非常相似,R是替代方案

Firefox瀏覽器是大多數現代Linux分佈(例如Ubuntu,Mint和Fedora)的默認瀏覽器。最初,它的性能可能令人印象深刻,但是隨著時間的流逝,您可能會注意到瀏覽器的快速和響應不佳

Clear Linux OS是人們想要最小,安全和可靠的Linux分佈的理想操作系統 - Ahem System Admins。它針對英特爾體系結構進行了優化,這意味著在AMD SYS上運行Clear Linux OS

創建自簽名SSL證書的關鍵步驟如下:1.生成私鑰,使用命令opensslgenrsa-outselfsigned.key2048生成一個2048位的RSA私鑰文件,可選參數-aes256實現密碼保護;2.創建證書請求(CSR),運行opensslreq-new-keyselfsigned.key-outselfsigned.csr並填寫相關信息,特別是“CommonName”字段;3.自簽名生成證書,通過opensslx509-req-days365-inselfsigned.csr-signk

您有時會與家人,朋友或同事共享Linux桌面?如果是這樣,您可能需要隱藏一些個人文件和文件夾。挑戰是弄清楚如何在Linux系統上隱藏這些文件。在本指南中,我們將瀏覽

在Windows上解壓.zip文件可右鍵選擇“全部提取”,而.tar.gz文件需借助7-Zip或WinRAR等工具;在macOS和Linux上,.zip文件可雙擊或使用unzip命令解壓,.tar.gz文件可用tar命令或直接雙擊解壓。具體步驟為:1.Windows處理.zip文件:右鍵→“全部提取”;2.Windows處理.tar.gz文件:安裝第三方工具→右鍵解壓;3.macOS/Linux處理.zip文件:雙擊或運行unzipfilename.zip;4.macOS/Linux處理.tar

Linux系統中的日誌通常存儲在/var/log目錄中,該目錄包含多種關鍵日誌文件,如syslog或messages(記錄系統日誌)、auth.log(記錄認證事件)、kern.log(記錄內核消息)、dpkg.log或yum.log(記錄軟件包操作)、boot.log(記錄啟動信息);可通過cat、tail-f或journalctl等命令查看日誌內容;應用日誌也常位於/var/log下的子目錄,如Apache的apache2或httpd目錄、MySQL的日誌文件等;同時需注意日誌權限通常需要s
