linux實(shí)用命令之如何移動(dòng)文件夾及文件下所有文件 格式:mv [選項(xiàng)(option)] 源文件或目錄 目標(biāo)文件或目錄使用命令:mv webdata /bin/usr/可以延伸一下:mv /usr/lib/* /zone 是將 /usr/lib/下所有的東西移到/zone/中。 mv /usr/lib/*.txt /zone 是將lib下以txt結(jié)尾的所有文件移到/zone中。 其他類型,以此類推。具體說明如下:1.作用 mv命令來為文件或目錄改名或?qū)⑽募梢粋€(gè)目錄移入另一個(gè)目錄中。該命令等同于DOS系統(tǒng)下的ren和move命令的組合。它的使用權(quán)限是所有用戶。 2.格式 mv [options] 源文件或目錄 目標(biāo)文件或目錄 3.[options]主要參數(shù)(幾個(gè)重要的參數(shù)) -i:交互方式操作。如果mv操作將導(dǎo)致對已存在的目標(biāo)文件的覆蓋,此時(shí)系統(tǒng)詢問是否重寫,要求用戶回答”y”或”n”,這樣可以避免誤覆蓋文件。 -f:禁止交互操作。mv操作要覆蓋某個(gè)已有的目標(biāo)文件時(shí)不給任何指示,指定此參數(shù)后i參數(shù)將不再起作用。- r 指示mv將參數(shù)中列出的全部目錄和子目錄均遞歸地移動(dòng)。 4.第二個(gè)參數(shù) 當(dāng)?shù)诙€(gè)參數(shù)類型是文件時(shí),mv命令完成文件重命名,它將所給的源文件或目錄重命名為給定的目標(biāo)文件名。 當(dāng)?shù)诙€(gè)參數(shù)是已存在的目錄名稱時(shí),
創(chuàng)新互聯(lián)公司專注于房山企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站制作。房山網(wǎng)站建設(shè)公司,為房山等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
linux強(qiáng)制復(fù)制文件并覆蓋的方法
1、這么就用不會(huì)提示了:# \cp -rf
2、 原因:
# vi ~/.bashrc
如果你看到如下內(nèi)容,以下命令都會(huì)用別名執(zhí)行了,就是說自動(dòng)加了 -i 參數(shù):
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
為了讓復(fù)制和移動(dòng)大量文件去覆蓋目標(biāo)時(shí),不會(huì)產(chǎn)生一個(gè)個(gè)的提示,命令應(yīng)該這樣寫
# \cp -rf /data/xxx* ?/home/xxx ?
注意 cp 命令前加了 \ ,意思是不讓它用~/.bashrc里的別名運(yùn)行,即 -i 參數(shù)
3、補(bǔ)充cp該命令的各選項(xiàng)含義如下
- a 該選項(xiàng)通常在拷貝目錄時(shí)使用。它保留鏈接、文件屬性,并遞歸地拷貝目錄,其作用等于dpR選項(xiàng)的組合。
- d 拷貝時(shí)保留鏈接。
- f 刪除已經(jīng)存在的目標(biāo)文件而不提示。
- i 和f選項(xiàng)相反,在覆蓋目標(biāo)文件之前將給出提示要求用戶確認(rèn)。回答y時(shí)目標(biāo)文件將被覆蓋,是交互式拷貝。
- p 此時(shí)cp除復(fù)制源文件的內(nèi)容外,還將把其修改時(shí)間和訪問權(quán)限也復(fù)制到新文件中。
- r 若給出的源文件是一目錄文件,此時(shí)cp將遞歸復(fù)制該目錄下所有的子目錄和文件。此時(shí)目標(biāo)文件必須為一個(gè)目錄名。
- l 不作拷貝,只是鏈接文件。
4、需要說明的是,為防止用戶在不經(jīng)意的情況下用cp命令破壞另一個(gè)文件,如用戶指定的目標(biāo)文件名是一個(gè)已存在的文件名,用cp命令拷貝文件后,這個(gè)文件就會(huì)被新拷貝的源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時(shí),最好使用i選項(xiàng)。
問題:
cp覆蓋時(shí),無論加什么參數(shù)-f之類的還是提示是否覆蓋,當(dāng)文件比較少的時(shí)候還可以按Y確認(rèn),當(dāng)很多文件的時(shí)候就不好說了。用下面的方法可以解決覆蓋提示的問題。
例如:把zongguofeng目錄下的文件復(fù)制到linuxzgf目錄
cp:是否覆蓋“l(fā)inuxzgf/1.txt”?
執(zhí)行上面的命令時(shí),linuxzgf文件夾中存在的每個(gè)文件都會(huì)提示是否覆蓋;
cp:是否覆蓋“l(fā)inuxzgf/1.txt”?
加了-f了,依然有此提示。
服務(wù)器上查找后發(fā)現(xiàn)在默認(rèn)的系統(tǒng)中是加了別名如下:
可以看到當(dāng)執(zhí)行cp的時(shí)候,其實(shí)執(zhí)行的是cp -i參數(shù)。
解決辦法:
方法一:修改bashrc文件禁用掉cp的alias
在alias cp='cp -i'前加上"#"注釋,重新登錄即可實(shí)現(xiàn)復(fù)制不提示。
方法二:直接輸入命令即可實(shí)現(xiàn)
提示是否覆蓋,輸入y,大小寫均可,回車表示確認(rèn)覆蓋,輸入任何其他字符或直接回車都表示不確認(rèn),放棄覆蓋操作
Linux下cp覆蓋時(shí),無論加什么參數(shù)-f之類的還是提示是否覆蓋,當(dāng)沒有打包的情況下直接復(fù)制:
把test目錄下的文件復(fù)制到test1目錄;
cp
–r
test/*
test1
執(zhí)行上面的命令時(shí),test1存在的每個(gè)文件都會(huì)提示是否覆蓋;
cp
–rf
test/*
test1
執(zhí)行上面的命令時(shí),test1存在的每個(gè)文件都不再會(huì)提示;
這是我們希望的理想狀態(tài),但是有時(shí)加了-f了,還會(huì)有提示.
因?yàn)榉?wù)器會(huì)默認(rèn)增加別名
alias
cp='cp
-i',當(dāng)你執(zhí)行cp時(shí),其實(shí)執(zhí)行的是cp
–i。
alias下就可以看出來了。
#
alias
alias
cp='cp
-i'
用下面可以解決
#
vi
~/.bashrc
在alias
cp='cp
-i'前加上"#"注釋掉這行,:wq!保存推出,然后重新登陸就可以了。
下次在使用cp
-rf
就可以直接覆蓋已經(jīng)存在了文件了。
當(dāng)然你不想改變別名的話可以轉(zhuǎn)義掉,\cp
-rf即可。