Linux中cp命令的使用詳解
cp
命令是 Linux 中一個(gè)重要的命令,你可能經(jīng)常會(huì)用到它。
正如名稱所示, cp
代表 復(fù)制copy,它被用于 在 Linux 命令行中復(fù)制文件和目錄。
這是一個(gè)相對(duì)簡(jiǎn)單的命令,只有幾個(gè)選項(xiàng),但你仍有必要深入了解它。
在展示 cp
命令的實(shí)際示例之前,我更建議你先熟悉絕對(duì)路徑和相對(duì)路徑的概念,將文件從一個(gè)位置復(fù)制到另一個(gè)位置時(shí),你需要用到它們。
Linux 中的絕對(duì)路徑和相對(duì)路徑的不同之處
復(fù)制單個(gè)文件
cp
命令最簡(jiǎn)單和最常見的用途是復(fù)制文件,只需指定源文件和要“粘貼”文件的目標(biāo)目錄即可。
cp 源文件 目標(biāo)目錄
將單個(gè)文件從源目錄復(fù)制到目標(biāo)目錄。
在復(fù)制文件的同時(shí)重命名它
你將文件復(fù)制到另一個(gè)位置時(shí)可以同時(shí)進(jìn)行 重命名。這有點(diǎn)類似于文本編輯器中的“另存為”選項(xiàng)。
為此,你必須在路徑中給出新的文件名。
cp 源文件 目標(biāo)目錄/新文件名
在復(fù)制文件的同時(shí)重命名
復(fù)制多個(gè)文件
你還可以將多個(gè)文件復(fù)制到另一個(gè)位置。
cp 文件1 文件2 文件3 目標(biāo)目錄
復(fù)制多個(gè)文件時(shí),將目標(biāo)目錄放在最后
在這種情況下,你無法重命名文件。
你還可以使用通配符擴(kuò)展,將特定后綴的文件復(fù)制到另一個(gè)位置:
cp *.txt 目標(biāo)目錄
使用通配符擴(kuò)展復(fù)制多個(gè)文件,比如所有 .txt 后綴的文件
復(fù)制文件時(shí)避免覆蓋現(xiàn)有文件
如果你將 file1.txt
復(fù)制到一個(gè)已經(jīng)存在名為 file1.txt
文件的目錄中,它會(huì)將原有的文件覆蓋掉。
如果你不希望這樣, cp
命令還提供了幾個(gè)選項(xiàng)來處理文件覆蓋的情況。
首先是使用選項(xiàng) -i
的交互模式。在交互模式下,它會(huì)詢問是否確認(rèn)或放棄覆蓋目標(biāo)文件。
cp -i 源文件 目標(biāo)目錄
cp:覆蓋 '目標(biāo)目錄/源文件' ?
按 Y
覆蓋文件,按 N
跳過復(fù)制該文件。
覆蓋,但以交互方式詢問(內(nèi)容將被覆蓋)
覆蓋,但以交互方式詢問(內(nèi)容不會(huì)被覆蓋)
選項(xiàng) -n
代表完全取消覆蓋。使用此選項(xiàng)時(shí)目標(biāo)文件不會(huì)被覆蓋。
cp -n 源文件 目標(biāo)目錄
取消覆蓋(目錄內(nèi)文件的內(nèi)容未更改)
還有一個(gè)選項(xiàng) -b
,在目標(biāo)目錄的文件將被覆蓋時(shí)自動(dòng)為其創(chuàng)建備份。我猜這里 b
代表 備份backup。
cp -b 源文件 目標(biāo)目錄
覆蓋文件,但在備份文件后附加了“~”。
最后,還有一個(gè)“更新update”選項(xiàng) -u
,如果目標(biāo)文件比源文件舊,或者目標(biāo)文件不存在,就會(huì)被覆蓋掉。
cp -u 源文件 目標(biāo)目錄
新文件會(huì)覆蓋舊文件
復(fù)制目錄(文件夾)
cp 命令也用來在 Linux 命令行中復(fù)制目錄。
在復(fù)制目錄時(shí),你需要使用遞歸選項(xiàng) -r
。
cp -r 源目錄 目標(biāo)目錄
在 Linux 中使用 cp 命令復(fù)制整個(gè)目錄
你還可以將多個(gè)目錄復(fù)制到另一個(gè)位置:
cp -r 目錄1 目錄2 目錄3 目標(biāo)目錄
使用 cp 命令復(fù)制多個(gè)目錄
在復(fù)制時(shí)保留屬性
當(dāng)你將文件復(fù)制到另一個(gè)位置時(shí),它的 時(shí)間戳、文件權(quán)限 甚至所有權(quán)都會(huì)發(fā)生變化。
這是正常的行為。但在某些情況下,你可能希望在復(fù)制文件時(shí)保留其原始屬性。
要保留屬性,請(qǐng)使用選項(xiàng) -p
:
cp -p 源文件 目標(biāo)目錄
到此這篇關(guān)于Linux中cp命令的使用詳解的文章就介紹到這了,更多相關(guān)Linux cp命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
shell腳本學(xué)習(xí)指南[六](Arnold Robbins & Nelson H
這篇文章主要介紹了shell腳本學(xué)習(xí)指南[六](Arnold Robbins & Nelson H.F. Beebe著),需要的朋友可以參考下2014-02-02linux中文件的三種time(atime,mtime,ctime)的用法
linux下文件有3個(gè)時(shí)間的,分別是atime,mtime,ctime,有些小伙伴對(duì)這3個(gè)時(shí)間還是比較迷茫和困惑的,所以小編為大家整理了下,希望對(duì)大家有所幫助2023-08-08完美解決ntp的錯(cuò)誤問題no server suitable for synchronization fo
下面小編就為大家?guī)硪黄昝澜鉀Qntp的錯(cuò)誤問題no server suitable for synchronization fo。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03shell批量創(chuàng)建文件并重新命名的實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于shell批量創(chuàng)建文件并重新命名的相關(guān)資料,文中還介紹了批量刪除文件以及文件更名的多種方法,每種方法都給出了詳細(xì)實(shí)例代碼,需要的朋友可以參考下2021-07-07shell字符串截取報(bào)錯(cuò):Bad substitution的解決
這篇文章主要介紹了shell字符串截取報(bào)錯(cuò):Bad substitution的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10shell中循環(huán)調(diào)用hive sql 腳本的方法
今天小編就為大家分享一篇shell中循環(huán)調(diào)用hive sql 腳本的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06shell備份文件、重命名文件、刪除指定文件的3個(gè)腳本分享
這篇文章主要介紹了shell備份文件、重命名文件、刪除指定文件的3個(gè)腳本分享,是學(xué)習(xí)shell時(shí)的練習(xí)腳本,shell新手朋友可以參考下哦2014-07-07