cp命令是我日常學習中經常會遇到的一個命令,下面這篇文章主要給大家介紹了關于Linux系統利用cp命令實現強制覆蓋功能的方法,并且給大家簡單的介紹了cp命令的基礎知識,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。
創新互聯長期為1000+客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為深圳企業提供專業的成都網站制作、網站建設,深圳網站改版等技術服務。擁有10年豐富建站經驗和眾多成功案例,為您定制開發。
前言
cp命令用來將一個或多個源文件或者目錄復制到指定的目的文件或目錄。它可以將單個源文件復制成一個指定文件名的具體的文件或一個已經存在的目錄下。cp命令還支持同時復制多個文件,當一次復制多個文件時,目標文件參數必須是一個已經存在的目錄,否則將出現錯誤。
語法
cp(選項)(參數)
選項
-a:此參數的效果和同時指定"-dpR"參數相同;
-d:當復制符號連接時,把目標文件或目錄也建立為符號連接,并指向與源文件或目錄連接的原始文件或目錄;
-f:強行復制文件或目錄,不論目標文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對源文件建立硬連接,而非復制文件;
-p:保留源文件或目錄的屬性;
-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
-s:對源文件建立符號連接,而非復制文件;
-u:使用這項參數后只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件并不存在時,才復制文件;
-S:在備份文件時,用指定的后綴“SUFFIX”代替文件的默認后綴;
-b:覆蓋已存在的陪扮文件目標前將目標文件備份;
-v:詳細顯示命令執行的操作。
參數
源文件:制定源文件列表。默認情況下,cp命令不能復制目錄,如果要復制目錄,則必須使用-R選項;
目標文件:指定目標文件。當“源文件”為多個文件時,要求“目標文件”為指定的目錄。
利用cp命令實現強制覆蓋功能
我們平常在Linux中使用 cp 命令時,會發現將一個目錄中文件復制到另一個目錄具有相同文件名稱時,即使添加了 -rf 參數強制覆蓋復制時,系春棗統仍然會提示讓你一個個的手工輸入 y 確認復制,所添加的rf參數是不起作用的。
原因:
cp命令被系統設置了別名,相當于cp=‘cp -i' 。
查詢alias命令
[root@localhost sonarqube]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
通過上述輸出,可以看出,我們平時使用 cp 命令,雖然沒有添加任何參數 ,但系統默認會在我們使用 cp 命令時自動添加 -i 參數
-i, --interactive
prompt before overwrite
-i 即交互的縮寫方式,也就是在使用 cp 命令作文件覆蓋操作之前,系統會要求確認提示.這個本來是系統的一個保險措施.如果有很多文件要復制,覺得一個一個輸入y 確認麻煩的話,可以使用如下方法解決:
強制復制
建議大家使用方式一,因為取消別扒亂拆名的話很容易造成風險,萬一又忘記恢復別名,以后的復制都不會有提示信息。
有提示信息可以多一層保險嘛,是人都會有犯混的時候,給自己加一個保險,有保障呀.
我們平時在 Linux 中使用 cp 命令時,當把文件從一個目錄復制到另一個目錄,且目錄中具有同名文件時,系統會提示輸入 y 來確認是否覆蓋同名文件。
如果文件少的謹搏饑話,也無關緊要,但文件多的話,要一個一個確認簡直太累了。更要命的是,即使我們加了 -rf 參數,還是會提示。
為什么會這樣呢?
原因就是 cp 命令被系統設置了 別名 。
我們可以查看祥返一下:
也就是說,我們平時使用的 cp 命令,實際上是 cp -i 。
那 -i 參數是什么意思呢?
就是在覆蓋之前銀昌會給一個提示,這應該算是系統的一個保險措施。
那如果希望進行強制復制,不想一個一個輸入 y ,有什么辦法呢?
使用原生命令:
取消別名:
這樣再使用 cp -rf 的時候就不會提示確認了。
但需要注意的是,使用完之后記得把別名恢復。
這里更推薦大家使用辦法一,因為命令簡單,而且還不會造成忘記恢復別名而帶來的風險。
以上就是本文的全部內容,如果覺得還不錯的話,歡迎 點贊 , 轉發 和 關注 ,感謝支持。
推薦閱讀:
提示是否覆蓋,輸入y,大小寫正啟盯均可,回車表示確認覆蓋,輸入任何其他字符或直接回車都表旁掘示不確認,放棄覆蓋操作舉和
出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的copy命令一樣,功能十分強大。
語法: cp [選項] 源文件或目錄 目標文件或目錄
說明:該命令把指定的源文件復制到目標文件或把多個源文件復制到目標目錄中。
該命令的各選項含義如下:
- a 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,并遞歸地拷貝目錄,其作用等于dpR選項的組合。
- d 拷貝時保留鏈接。
- f 刪除已經存在的目標文件而不提示。
- i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是交互式拷貝。
- p 此時cp除復制源文件的內容外,還將把其修改時間和訪問權限也復制到新文件中。
- r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。
- l 不作拷貝,只是鏈接文件。
需要說明的是,為防止用戶在不經意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名已存在,用cp命令拷貝文件后,這個文件就會被新源文件覆罩耐薯蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用i選項。
mv命令
用戶可以使用mv命令來為文件或目錄改名或將文件由一個目錄移入另一個目錄中。該命令如同MSDOS下的ren和move的組合。
語法:mv [選項] 源文件或目錄 目標文件或目錄
說明:視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(物者也可以是源目錄名),它將所給的源文件或目錄重命名為給定的目標文件名。當第二個參數是已存在的目錄名稱時,源文件或目錄參數可以有多個,mv命令將各參數指定的源文件均移至目標目錄中。在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
命令中各選項的含義為:
- I 交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答y或n,這樣可以避免誤覆蓋文件。
- f 禁止交互操作。在mv操作要覆蓋某已有的目標文件時不給任何指示,指定此選項后,i選項將不再起作用。
如果所給目標文件(不是目錄)已存在,此時該文件的內容將被新文件覆蓋。為防止用戶用mv命令破壞另一個文件,使用mv命令移動文件時,最好使用i選項。
rm命令
用戶可以用rm命令刪除不需要的文件。畝橋該命令的功能為刪除一個目錄中的一個或多個文件或目錄,它也可以將某個目錄及其下的所有文件及子目錄均刪除。對于鏈接文件,只是斷開了鏈接,原文件保持不變。
rm命令的一般形式為:
rm [選項] 文件…
如果沒有使用- r選項,則rm不會刪除目錄。
該命令的各選項含義如下:
- f 忽略不存在的文件,從不給出提示。
- r 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。
- i 進行交互式刪除。
使用rm命令要小心。因為一旦文件被刪除,它是不能被恢復的。了防止這種情況的發生,可以使用i選項來逐個確認要刪除的文件。如果用戶輸入y,文件將被刪除。如果輸入任何其他東西,文件則不會刪除。
Linux目錄的創建與刪除命令
mkdir命令
功能:創建一個目錄(類似MSDOS下的md命令)。
語法:mkdir [選項] dir-name
說明:該命令創建由dir-name命名的目錄。要求創建目錄的用戶在當前目錄中(dir-name的父目錄中)具有寫權限,并且dirname不能是當前目錄中已有的目錄或 文件名稱。
命令中各選項的含義為:
- m 對新建目錄設置存取權限。也可以用chmod命令設置。
- p 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在, 加上此選項后, 系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
rmdir 命令
功能:刪除空目錄。
語法:rmdir [選項] dir-name
說明:dir-name表示目錄名。該命令從一個目錄中刪除一個或多個子目錄項。需要 特別注意的是,一個目錄被刪除之前必須是空的。rm - r dir命令可代替 rmdir,但是有危險性。刪除某目錄時也必須具有對父目錄的寫權限。
命令中各選項的含義為:
- p 遞歸刪除目錄dirname,當子目錄刪除后其父目錄為空時,也一同被刪除。如果整個路徑被刪除或者由于某種原因保留部分路徑,則系統在標準輸出上顯示相應 的信息。
cd 命令
功能:改變工作目錄。
語法:cd [directory]
說明:該命令將當前目錄改變至directory所指定的目錄。若沒有指定directory, 則回到用戶的主目錄。為了改變到指定目錄,用戶必須擁有對指定目錄的執行和讀 權限。
該命令可以使用通配符(通配符含義請參見第十章)。
pwd 命令
在Linux層次目錄結構中,用戶可以在被授權的任意目錄下利用mkdir命令創建新目錄,也可以利用cd命令從一個目錄轉換到另一個目錄。然而,沒有提示符來告知用 戶目前處于哪一個目錄中。要想知道當前所處的目錄,可以使用pwd命令,該命令顯示整個路徑名。
語法:pwd
說明:此命令顯示出當前工作目錄的絕對路徑。
ls 命令
ls是英文單詞list的簡寫,其功能為列出目錄的內容。這是用戶最常用的一個命令之一,因為用戶需要不時地查看某個目錄的內容。該命令類似于DOS下的dir命令。
語法:ls [選項] [目錄或是文件]
對于每個目錄,該命令將列出其中的所有子目錄與文件。對于每個文件,ls將輸出 其文件名以及所要求的其他信息。默認情況下,輸出條目按字母順序排序。當未給出目錄名或是文件名時,就顯示當前目錄的信息。
命令中各選項的含義如下:
- a 顯示指定目錄下所有子目錄與文件,包括隱藏文件。
- A 顯示指定目錄下所有子目錄與文件,包括隱藏文件。但不列出“.”和 “..”。
- b 對文件名中的不可顯示字符用八進制逃逸字符顯示。
- c 按文件的修改時間排序。
- C 分成多列顯示各項。
- d 如果參數是目錄,只顯示其名稱而不顯示其下的各文件。往往與l選項一起使 用,以得到目錄的詳細信息。
- f 不排序。該選項將使lts選項失效,并使aU選項有效。
- F 在目錄名后面標記“/”,可執行文件后面標記“*”,符號鏈接后面標記 “@”,管道(或FIFO)后面標記“|”,socket文件后面標記“=”。
- i 在輸出的第一列顯示文件的i節點號。
- l 以長格式來顯示文件的詳細信息。這個選項最常用。
每行列出的信息依次是: 文件類型與權限 鏈接數 文件屬主 文件屬組 文件大小 建立或最近修改的時間 名字
對于符號鏈接文件,顯示的文件名之后有“—〉”和引用文件路徑名。
對于設備文件,其“文件大小”字段顯示主、次設備號,而不是文件大小。
目錄中的總塊數顯示在長格式列表的開頭,其中包含間接塊。
- L 若指定的名稱為一個符號鏈接文件,則顯示鏈接所指向的文件。
- m 輸出按字符流格式,文件跨頁顯示,以逗號分開。
- n 輸出格式與l選項相同,只不過在輸出中文件屬主和屬組是用相應的UID號和 GID號來表示,而不是實際的名稱。
- o 與l選項相同,只是不顯示擁有者信息。
- p 在目錄后面加一個“/”。
- q 將文件名中的不可顯示字符用“?”代替。
- r 按字母逆序或最早優先的順序顯示輸出結果。
- R 遞歸式地顯示指定目錄的各個子目錄中的文件。
- s 給出每個目錄項所用的塊數,包括間接塊。
- t 顯示時按修改時間(最近優先)而不是按名字排序。若文件修改時間相同,則 按字典順序。修改時間取決于是否使用了c或u選頂。缺省的時間標記是最后一次修 改時間。
- u 顯示時按文件上次存取的時間(最近優先)而不是按名字排序。即將-t的時間 標記修改為最后一次訪問的時間。
- x 按行顯示出各排序項的信息。
用ls - l命令顯示的信息中,開頭是由10個字符構成的字符串,其中第一個字符表示文件類型,它可以是下述類型之一:
另外,團IDC網上有許多產品團購,便宜有口碑
網站題目:linux覆蓋目錄命令 linux 覆蓋
轉載源于:http://m.newbst.com/article14/ddpgcde.html
成都網站建設公司_創新互聯,為您提供品牌網站制作、網站排名、自適應網站、網站內鏈、面包屑導航、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯