導航:首頁 > 操作系統 > linuxcp不覆蓋文件

linuxcp不覆蓋文件

發布時間:2022-05-08 19:14:51

linux下如何使CP命令不提示覆蓋 rm 確認提示後刪除

我們先來看一下原因吧!
一般我們使用的命令是cp
-rf
sourcefile
targetdir或cp
-r
-f
sourcefile
targetdir,
-r的意思是遞歸復制,也就是復制文件夾及其下所有文件
-f的意思是遇到同名的文件,不提示,直接覆蓋
這是因為,系統在安裝的時候使用了別名,防止我們誤操作,覆蓋了不該覆蓋的文件。使用別名命令就可以看到具體的配置了。
[test@Server
home]#
alias
alias
cp='cp
-i'
alias
l.='ls
-d
.*
--color=tty'
alias
ll='ls
-l
--color=tty'
alias
ls='ls
--color=tty'
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」命令,
從上邊的命令我們可以知道,其他幾個命令,也使用了別名,例如ll,ls
mv,rm等。
[test@Server
home]#
vi
~/.bashrc#
.bashrc#
User
specific
aliases
and
functions
alias
rm='rm
-i'
alias
cp='cp
-i'
alias
mv='mv
-i'
#
Source
global
definitions
if
[
-f
/etc/bashrc
];
then
.
/etc/bashrcfi
只要在相應的命令前加#號,就可以注釋掉該命令了。保存退出,然後你就可以用純粹的原命令了。

㈡ linux下移動或者復制文件覆蓋相同文件夾時,文件夾裡面的每個文件都提示是否覆蓋

1、這么就用不會提示了:# \cp -rf
2、 原因:
# vi ~/.bashrc
如果你看到如下內容,以下命令都會用別名執行了,就是說自動加了 -i 參數:

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
為了讓復制和移動大量文件去覆蓋目標時,不會產生一個個的提示,命令應該這樣寫
# \cp -rf /data/xxx* /home/xxx
注意 cp 命令前加了 \ ,意思是不讓它用~/.bashrc里的別名運行,即 -i 參數
3、補充cp該命令的各選項含義如下
- a 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,並遞歸地拷貝目錄,其作用等於dpR選項的組合。
- d 拷貝時保留鏈接。
- f 刪除已經存在的目標文件而不提示。
- i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是互動式拷貝。
- p 此時cp除復制源文件的內容外,還將把其修改時間和訪問許可權也復制到新文件中。
- r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。
- l 不作拷貝,只是鏈接文件。
4、需要說明的是,為防止用戶在不經意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名是一個已存在的文件名,用cp命令拷貝文件後,這個文件就會被新拷貝的源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用i選項。

㈢ linux cp命令對於拷貝文件和文件夾有何區別

cp文件時候可以不用加參數,但是cp文件夾的時候必須加-R或-r。解決方法如下:

1、首先將文件復制到另一個目錄中:cp 文件名 目錄名。復制a.txt至test目錄中,則執行 cp a.txt /test 即可。

㈣ Linux下如何使CP命令不提示覆蓋

我們先來看一下原因吧! 一般我們使用的命令是cp -rf sourcefile targetdir或cp -r -f sourcefile targetdir, -r的意思是遞歸復制,也就是復制文件夾及其下所有文件 -f的意思是遇到同名的文件,不提示,直接覆蓋 這是因為,系統在安裝的時候使用了別名,防止我們誤操作,覆蓋了不該覆蓋的文件。使用別名命令就可以看到具體的配置了。 [test@Server home]# alias alias cp='cp -i' alias l.='ls -d .* --color=tty' alias ll='ls -l --color=tty' alias ls='ls --color=tty' 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」命令, 從上邊的命令我們可以知道,其他幾個命令,也使用了別名,例如ll,ls mv,rm等。 [test@Server home]# vi ~/.bashrc# .bashrc# User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrcfi 只要在相應的命令前加#號,就可以注釋掉該命令了。保存退出,然後你就可以用純粹的原命令了。 其實還有一種辦法可以解決這個問題,就是使用 \cp -f file dir 就可以了!

㈤ linux的cp怎麼覆蓋

cp命令是我日常學習中經常會遇到的一個命令,下面這篇文章主要給大家介紹了關於Linux系統利用cp命令實現強制覆蓋功能的方法,並且給大家簡單的介紹了cp命令的基礎知識,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。
前言
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 -r 和-R的區別是

LINUX命令的cp -r 和-R的區別為:復制不同、覆蓋不同、識別依據不同。

一、復制不同

1、cp -r:cp -r既復制當前目錄下的文件,也復制當前目錄下的文件夾。

2、-R:-R只復制當前目錄下的文件,不復制當前目錄下的文件夾。

二、覆蓋不同

1、cp -r:cp -r含文件的文件夾會覆蓋不含文件的同名文件夾,文件也會覆蓋。

2、-R:-R不會覆蓋含內容的文件夾,但是會覆蓋同名的空文件。

三、識別依據不同

1、cp -r:cp -r不以文件後綴名作為識別依據。

2、-R:-R以文件後綴名作為識別依據。

㈦ linux 命令 cp命令可以不覆蓋嗎

一般我們使用的命令是cp -rf sourcefile targetdir或cp -r -f sourcefile
targetdir,
-r的意思是遞歸復制,也就是復制文件夾及其下所有文件
-f的意思是遇到同名的文件,不提示,直接覆蓋
這是因為,系統在安裝的時候使用了別名,防止我們誤操作,覆蓋了不該覆蓋的文件。使用別名命令就可以看到具體的配置了。
[test@Server home]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
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」命令,
從上邊的命令我們可以知道,其他幾個命令,也使用了別名,例如ll,ls mv,rm等。
[test@Server home]# vi ~/.bashrc# .bashrc# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrcfi
只要在相應的命令前加#號,就可以注釋掉該命令了。保存退出,然後你就可以用純粹的原命令了。
其實還有一種辦法可以解決這個問題,就是使用 \cp -f file dir 就可以了!

㈧ Linux cp命令,怎麼跳過相同的文件

1、使用cp命令的-n參數即可跳過相同的文件 。

2、cp命令使用詳解:
1)、用法:cp [選項]... [-T] 源文件 目標文件

或:cp [選項]... 源文件... 目錄
或:cp [選項]... -t 目錄 源文件...
將源文件復制至目標文件,或將多個源文件復制至目標目錄。

2)、長選項必須使用的參數對於短選項時也是必需使用的。
-a, --archive 等於-dR --preserve=all
--backup[=CONTROL 為每個已存在的目標文件創建備份
-b 類似--backup 但不接受參數
---contents 在遞歸處理是復制特殊文件內容
-d 等於--no-dereference --preserve=links
-f, --force 如果目標文件無法打開則將其移除並重試(當 -n 選項
存在時則不需再選此項)
-i, --interactive 覆蓋前詢問(使前面的 -n 選項失效)
-H 跟隨源文件中的命令行符號鏈接
-l, --link 鏈接文件而不復制
-L, --dereference 總是跟隨符號鏈接
-n, --no-clobber 不要覆蓋已存在的文件(使前面的 -i 選項失效)
-P, --no-dereference 不跟隨源文件中的符號鏈接
-p 等於--preserve=模式,所有權,時間戳
--preserve[=屬性列表 保持指定的屬性(默認:模式,所有權,時間戳),如果
可能保持附加屬性:環境、鏈接、xattr 等
-c same as --preserve=context
--sno-preserve=屬性列表 不保留指定的文件屬性
--parents 復制前在目標目錄創建來源文件路徑中的所有目錄
-R, -r, --recursive 遞歸復制目錄及其子目錄內的所有內容
--reflink[=WHEN] 控制克隆/CoW 副本。請查看下面的內如。
--remove-destination 嘗試打開目標文件前先刪除已存在的目的地
文件 (相對於 --force 選項)
--sparse=WHEN 控制創建稀疏文件的方式
--strip-trailing-slashes 刪除參數中所有源文件/目錄末端的斜杠
-s, --symbolic-link 只創建符號鏈接而不復制文件
-S, --suffix=後綴 自行指定備份文件的後綴
-t, --target-directory=目錄 將所有參數指定的源文件/目錄
復制至目標目錄
-T, --no-target-directory 將目標目錄視作普通文件
-u, --update only when the SOURCE file is newer
than the destination file or when the
destination file is missing
-v, --verbose explain what is being done
-x, --one-file-system stay on this file system
-Z, --context=CONTEXT set security context of to CONTEXT
--help 顯示此幫助信息並退出
--version 顯示版本信息並退出

3)、默認情況下,源文件的稀疏性僅僅通過簡單的方法判斷,對應的目標文件目標文件也
被為稀疏。這是因為默認情況下使用了--sparse=auto 參數。如果明確使用
--sparse=always 參數則不論源文件是否包含足夠長的0 序列也將目標文件創文
建為稀疏件。
使用--sparse=never 參數禁止創建稀疏文件。

4)、當指定了--reflink[=always] 參數時執行輕量化的復制,即只在數據塊被修改的
情況下才復制。如果復制失敗或者同時指定了--reflink=auto,則返回標准復制模式。

5)、備份文件的後綴為"~",除非以--suffix 選項或是SIMPLE_BACKUP_SUFFIX
環境變數指定。版本控制的方式可通過--backup 選項或VERSION_CONTROL 環境
變數來選擇。以下是可用的變數值:

none, off 不進行備份(即使使用了--backup 選項)
numbered, t 備份文件加上數字進行排序
existing, nil 若有數字的備份文件已經存在則使用數字,否則使用普通方式備份
simple, never 永遠使用普通方式備份

6)、有一個特別情況:如果同時指定--force 和--backup 選項,而源文件和目標文件
是同一個已存在的一般文件的話,cp 會將源文件備份。

㈨ linux cp命令,怎麼跳過相同的文件

使用cp命令的-n參數。

㈩ linuxcp命令如何使用

用於復制文件或目錄。
常用參數:
-f force:強行復制文件或目錄,不管文件或目錄是否存在;
-d:復制時保留文件鏈接;
-i -interactive:覆蓋文件之前先詢問用戶;
-r:遞歸處理,將指定目錄下的文件與子目錄一並處理,若源文件或目錄的新蓋不屬於目錄或符號鏈接,則一律視為普通文件處理。

閱讀全文

與linuxcp不覆蓋文件相關的資料

熱點內容
android默認啟動器 瀏覽:138
電腦上電子書如何傳到安卓手機上 瀏覽:755
美國科技招聘程序員 瀏覽:811
網頁轉pdf工具 瀏覽:638
rust怎麼載入不了伺服器 瀏覽:539
科普編程人的東西 瀏覽:471
為什麼無法驗證伺服器 瀏覽:365
壓縮報告不要面面俱到 瀏覽:860
php是哪國貨幣 瀏覽:859
什麼是合理解壓 瀏覽:155
javaoracle建表 瀏覽:924
延時的宏命令 瀏覽:56
視覺中國程序員 瀏覽:875
程序員性生活為什麼這么短 瀏覽:443
linux命令date 瀏覽:108
lync2013伺服器地址 瀏覽:786
無犯罪記錄從哪個app查 瀏覽:671
伺服器的私有ip是干什麼用的 瀏覽:846
c程序員面試秘笈pdf 瀏覽:843
java創建線程池 瀏覽:753