把一個文件復制到多個文件夾里只需要直接在路徑上添加不同目錄即可。
舉例:
在root目錄下1.txt文件,復制到/home/abc /home/bcd /home/cde這三個目錄中
命令如下如下:
cp /rooot/1.txt /home/abc /home/bcd /home/cde
簡單說下linux下批量復制並重命名的另種方法。
for循環:
命令行打入(F為變數名,可任意)
for F in *.txt ; do cp $F
${F%.txt}_1.txt;done
其中${F%.txt}_1.txt的意思是把F中得.txt去掉後加上_1.txt
想要每步驟都顯示出來,在cp後面加上-vf
如果這么寫,就是批量改後綴,把txt改成ini後綴
for F in *.txt ; do mv $F ${F%.txt}.ini ;done
想要每步驟都顯示出來,在mv後面加上-vf
擴展思維,一般排序都是首字元,所以想在文件名前面添加字元kk可以這么寫
for F in *.txt ; do cp -vf $F (kk可為任意字元)kk$F ;done
linux下批量復制文件到多個文件夾
mkdir建以1,2,3,4,5個文件夾名
把所有ini後綴的文件拷貝到12345文件夾得集合F中,命令如下
for F in 1 2 3 4 5 ;do cp *.ini $F ;done
想要每步驟都顯示出來,在cp後面加上-vf
for F in 1 2 3 4 5;do cp -vf *.ini $F ;done
注意事項,所有命令如果遇到重名,會把以前得文件替換掉,慎重!慎重!
批量復制文件並改成有順序的文件名
寫shell腳本
i=0
F=a
while [ $i -le 10 ]
do
cp -vf 00.ts $F$i.ts
let i+=1
done
其中00.ts為源文件,批量復制10個
⑵ linux鏂囦歡澶瑰嶅埗鍒板彟涓涓鏂囦歡linux鏂囦歡澶.澶嶅埗
linux鎬庝箞澶嶅埗鏂囦歡鍒板氫釜鏂囦歡澶逛笅錛
cp鍛戒護灝嗘枃浠跺嶅埗鍒扮洰褰曟枃浠跺す銆傚傛灉闇瑕佸嶅埗涓涓鏂囦歡鍒板氫釜鏂囦歡澶逛笅錛屽彲浠ヤ嬌鐢ㄥ氭潯cp璇鍙ワ紝鎴栬呬嬌鐢╯hell鑴氭湰銆傜敤娉曠ず渚嬶細澶嶅埗abc.txt鍒癮bcdef鐩褰曚笅$cpabc.txtab$cpabc.txtcd$cpabc.txtef鑴氭湰鏂瑰紡錛氬嶅埗abc.txt鍒癮bcdef鐩褰曚笅dirs=(abcdef)fordirin${dirs}docpabc.txt$(dir)donecp鍛戒護璇存槑cp鍛戒護鐢ㄦ潵灝嗕竴涓鎴栧氫釜婧愭枃浠舵垨鑰呯洰褰曞嶅埗鍒版寚瀹氱殑鐩鐨勬枃浠舵垨鐩褰曘
瀹冨彲浠ュ皢鍗曚釜婧愭枃浠跺嶅埗鎴愪竴涓鎸囧畾鏂囦歡鍚嶇殑鍏蜂綋鐨勬枃浠舵垨涓涓宸茬粡瀛樺湪鐨勭洰褰曚笅銆
cp鍛戒護榪樻敮鎸佸悓鏃跺嶅埗澶氫釜鏂囦歡錛屽綋涓嬈″嶅埗澶氫釜鏂囦歡鏃訛紝鐩鏍囨枃浠跺弬鏁板繀欏繪槸涓涓宸茬粡瀛樺湪鐨勭洰褰曪紝鍚﹀垯灝嗗嚭鐜伴敊璇銆傝娉昪p(閫夐」)(鍙傛暟)閫夐」-a錛氭ゅ弬鏁扮殑鏁堟灉鍜屽悓鏃舵寚瀹-dpR鍙傛暟鐩稿悓錛
-d錛氬綋澶嶅埗絎﹀彿榪炴帴鏃訛紝鎶婄洰鏍囨枃浠舵垨鐩褰曚篃寤虹珛涓虹﹀彿榪炴帴錛屽苟鎸囧悜涓庢簮鏂囦歡鎴栫洰褰曡繛鎺ョ殑鍘熷嬫枃浠舵垨鐩褰曪紱
-f錛氬己琛屽嶅埗鏂囦歡鎴栫洰褰曪紝涓嶈虹洰鏍囨枃浠舵垨鐩褰曟槸鍚﹀凡瀛樺湪錛
-i錛氳嗙洊鏃㈡湁鏂囦歡涔嬪墠鍏堣㈤棶鐢ㄦ埛錛
-l錛氬規簮鏂囦歡寤虹珛紜榪炴帴錛岃岄潪澶嶅埗鏂囦歡錛
-p錛氫繚鐣欐簮鏂囦歡鎴栫洰褰曠殑灞炴э紱
-R/r錛氶掑綊澶勭悊錛屽皢鎸囧畾鐩褰曚笅鐨勬墍鏈夋枃浠朵笌瀛愮洰褰曚竴騫跺勭悊錛
-s錛氬規簮鏂囦歡寤虹珛絎﹀彿榪炴帴錛岃岄潪澶嶅埗鏂囦歡錛
-u錛氫嬌鐢ㄨ繖欏瑰弬鏁板悗鍙浼氬湪婧愭枃浠剁殑鏇存敼鏃墮棿杈冪洰鏍囨枃浠舵洿鏂版椂鎴栨槸鍚嶇О鐩鎬簰瀵瑰簲鐨勭洰鏍囨枃浠跺苟涓嶅瓨鍦ㄦ椂錛屾墠澶嶅埗鏂囦歡錛
-S錛氬湪澶囦喚鏂囦歡鏃訛紝鐢ㄦ寚瀹氱殑鍚庣紑鈥淪UFFIX鈥濅唬鏇挎枃浠剁殑榛樿ゅ悗緙錛
-b錛氳嗙洊宸插瓨鍦ㄧ殑鏂囦歡鐩鏍囧墠灝嗙洰鏍囨枃浠跺囦喚錛
-v錛氳︾粏鏄劇ず鍛戒護鎵ц岀殑鎿嶄綔銆傚弬鏁版簮鏂囦歡錛氬埗瀹氭簮鏂囦歡鍒楄〃銆傞粯璁ゆ儏鍐典笅錛宑p鍛戒護涓嶈兘澶嶅埗鐩褰曪紝濡傛灉瑕佸嶅埗鐩褰曪紝鍒欏繀欏諱嬌鐢-R閫夐」錛
鐩鏍囨枃浠訛細鎸囧畾鐩鏍囨枃浠躲
褰撯滄簮鏂囦歡鈥濅負澶氫釜鏂囦歡鏃訛紝瑕佹眰鈥滅洰鏍囨枃浠垛濅負鎸囧畾鐨勭洰褰曘
⑶ LINUX下shell 如何將文件夾下的所有txt文件輸出到一個txt文件下去
假設當前目錄下有兩個.txt文件,分別為1.txt和2.txt,我們希望將這兩個文件的內容合並到一個新的3.txt文件中。為此,可以使用以下bash腳本來實現:
#!/bin/bash
echo "開始復制文件..."
find . -name "*.txt" | xargs cat > 3.txt
echo "復制完成!"
這個腳本的作用是首先查找當前目錄下所有擴展名為.txt的文件,然後將這些文件的內容通過管道傳遞給cat命令,最終將所有文件的內容合並到3.txt文件中。
需要注意的是,find命令在查找文件時,需要加上引號,防止因文件名中含有空格或其他特殊字元而導致查找失敗。同時,在將文件內容合並到目標文件時,使用管道和xargs命令是必要的。
例如,我們假設當前目錄下存在如下文件:
1.txt 內容為 "Hello, World!"
2.txt 內容為 "Hello, Linux!"
執行上述腳本後,3.txt文件的內容將會是:
Hello, World!
Hello, Linux!
這樣,我們就成功地將兩個.txt文件的內容合並到了一個文件中。
⑷ Linux中SCP拷貝壓縮文件,拷貝出多個文件。只想拷一個文件,怎麼解
1、你得先進那個存放文件的目錄,然後執行scp -P22 -rp 你要傳的文件 root@另一台伺服器ip地址:/要拷貝到另一台的目錄。比如這樣,我要傳的文件在/usr下,然後想傳到另一台/tmp下。我就就要執行如下命令
cd /usr
scp -P22 -rp backup.tgz.bz2 [email protected]:/tmp/
2、或者先改名你要傳的文件mv backup.tgz.bz2 backup.tgz.bz2.1然後再拷過去,接著再改回來。記住不要傳到對端相同一個文件夾下,不然就覆蓋了