linux複製指定目錄下的所有文件到另外一個目錄中,linux cp 文件夾

解壓war包    jar -xvf   xxxx.warlinux

 

linux複製指定目錄下的所有文件到另外一個目錄中
複製指定目錄下的所有文件到另外一個目錄中
文件及目錄的複製是常常要用到的。linux下進行復制的命令爲cp。
假設複製源目錄 爲 dir1 ,目標目錄爲dir2。怎樣才能將dir1下全部文件複製到dir2下了
若是dir2目錄不存在,則能夠直接使用
cp -r dir1 dir2
便可。
若是dir2目錄已存在,則須要使用
cp -r dir1/. dir2
若是這時使用cp -r dir1 dir2,則也會將dir1目錄複製到dir2中,明顯不符合要求。
ps:dir一、dir2改爲對應的目錄路徑便可。tomcat

cp -r /home/www/xxx/statics/. /home/www/statics
若是存在文件須要先刪除
rm -rf /home/www/statics/*
不然會一個個文件提示你確認,使用cp -rf 也同樣提示svn

--------------------------------------測試

linux下cp整個文件夾的文件到另外一個文件夾
cp -ri A/B/* A1/B1/ 回車
若複製過程當中詢問是否覆蓋,輸入y按回車,若不想看到提示直接覆蓋使用-rf
另外若A A1不在同一目錄下,最好填絕對路徑,就是/xxx/xxx/A/B/* /xxx/A1/B1/server

實例:遞歸

cp -ri /home/server/tomcat/* /home/server/test/get

cp: target `/home/server/test/' is not a directory
須要先建立目標文件夾
mkdir /home/server/testtest

--------------------------------------
copy命令的功能是將給出的文件或目錄拷貝到另外一文件或目錄中,同MSDOS下的copy命令同樣,功能十分強大。
語法: cp [選項] 源文件或目錄 目標文件或目錄
說明:該命令把指定的源文件複製到目標文件或把多個源文件複製到目標目錄中。
該命令的各選項含義以下:
- a 該選項一般在拷貝目錄時使用。它保留連接、文件屬性,並遞歸地拷貝目錄,其做用等於dpR選項的組合。
- d 拷貝時保留連接。
- f 刪除已經存在的目標文件而不提示。
- i 和f選項相反,在覆蓋目標文件以前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是交互式拷貝。
- p 此時cp除複製源文件的內容外,還將把其修改時間和訪問權限也複製到新文件中。
- r 若給出的源文件是一目錄文件,此時cp將遞歸複製該目錄下全部的子目錄和文件。此時目標文件必須爲一個目錄名。
- l 不做拷貝,只是連接文件。打包

須要說明的是,爲防止用戶在不經意的狀況下用cp命令破壞另外一個文件,如用戶指定的目標文件名已存在,用cp命令拷貝文件後,這個文件就會被新源文件覆蓋,所以,建議用戶在使用cp命令拷貝文件時,最好使用i選項。
例1
複製指定目錄下的所有文件到另外一個目錄中
文件及目錄的複製是常常要用到的。linux下進行復制的命令爲cp。
假設複製源目錄 爲 dir1 ,目標目錄爲dir2。怎樣才能將dir1下全部文件複製到dir2下了
若是dir2目錄不存在,則能夠直接使用
cp -r dir1 dir2
便可。
若是dir2目錄已存在,則須要使用
cp -r dir1/. dir2
若是這時使用cp -r dir1 dir2,則也會將dir1目錄複製到dir2中,明顯不符合要求。
ps:dir一、dir2改爲對應的目錄路徑便可。
例2
複製指定文件到指定文件夾
首先創建一個用於測試的目錄,用'tree'命令查看
可見,目錄中主要包含用於測試的*.txt文件和用於充當炮灰的*。tes文件
目標是保持當前的目錄結構,只把txt文件複製出來

方法一:當不須要的文件類型較爲單一時,能夠經過徹底複製而後刪除指定類型的文件完成
Step1 使用命令 cp -r test/ test2 將測試目錄test下全部內容徹底複製到test2

Step2 組合使用find及xargs,將*.tes文件刪除
xargs是給命令傳遞參數的一個過濾器,能夠將前一個命令產生的輸出做爲後一個命令的參數
命令find test2/ -name '*.tes' |xargs rm -rf, 即將find產生的輸出(test2目錄下的全部tes文件),做爲rm的參數,從而徹底刪除
適用場景舉例:把項目文件備份,要去除其中的.svn文件,能夠採用這種方式

方法二:須要的文件爲單一類型,帶目錄結構複製
這種狀況下可使用tar命令將指定類型的文件打包,而後解包,一樣須要組合使用find和xargs

Step1 創建目錄test3
mkdir test3

Step2 將指定類型文件帶目錄結構打包
find test/ -name '*.txt' |xargs tar czf test3.tgz

Step3 解包到目錄test3
tar zxvf test3.tgz -C test3權限

相關文章
相關標籤/搜索