① linux中怎麼復制文件夾裡面內容到另一個文件夾。包括隱藏文件。
還有就是如果不想把文件夾裡面的「.」「..」兩個復制過去,怎麼辦。
我暈..這個不是文件,而是本級目錄標示和上級目錄標示..在任意的目錄里都有的..
另外,cp -rt /home /aaa是將所有文件全復制的,包含隱藏文件也可以.其中-t參數是拷貝所有源的參數到目標文件(但是其實不要這個也沒多大區別).
正則表達式其實和批量處理差不多,就是一次處理所有滿足參數設定的表達式.不會的話,也可以通過bash來進行這樣的操作.
你現在的問題已經不是你原來題目的意思了.
你原來的題目是:比如/home 和/aaa 把/home下的文件包括隱藏文件,復制到/aaa
那麼我的做法並沒有問題.
然而你現在的問題非常針對這個文件夾的特點.由於/home目錄夾下的一般性質都是一些隱藏類型的.bash之類的配置文件,但是如果你是想復制這個文件夾的內容,那根本不需要這么麻煩.
你的做法之所以不對是因為 .* 這個只能說明這里有.開頭的所有字母.但是..這條也默認正確了.我認為,首先就要確定至少有2個字元,這個以一來, .[^.]* 這樣就能表示了(當然我只是提出這個概念,因為我不太清楚怎麼是非點的具體指令,但是這個意思應該是沒有錯,就是說,以.開頭的,[^.]表示1個字元,而且是非.的字元(當然這條的寫法是錯的,我只是說這個概念),*表示有0個或者0個以上的任意字元串.如果照這條做法來說,以.和..這兩個是肯定不符合要求的,這樣的話,所有的隱藏文件都符合要求了.只不過,注釋化的這個點使用`.`還是'.',我不太清楚,平常用少.
② linux 怎麼樣復制文件夾內所有文件到另一個文件夾
一般情況下可以使用cp命令來對文件夾進行復制
cp的參數中有個-r和-R可以遞歸地將文件夾內部所有的文件復制到另一個文件夾內
使用方法
cp -r 要復制的文件夾 復制到哪個文件夾
如果只復制該文件夾內所有的文件而不復制該文件夾內內的文件夾的話
則可以寫一個腳本或者程序來完成
一個簡的shell腳本如下
#!/bin/bash
function()
{
cd"$1"
foriin`ls-a`
do
if["$i"=="."]||["$i"==".."]
then
continue
fi
if[-d"$i"]
then
"$i""$2"
else
cp"$i""$2"
fi
done
cd..
}
"$1""$2"
exit0
第二個參數使用絕對路徑
③ linux如何復制文件夾下所有文件但不復制子目錄
直接使用cp命令即可,cp加-R參數才會復制子目錄,不加此參數時只復制文件,使用:cp 源目錄/* 目標目錄 格式命令可實現復制文件夾下所有文件但不復制子目錄目的。
cp命令說明:
cp命令用來將一個或多個源文件或者目錄復制到指定的目的文件或目錄。它可以將單個源文件復製成一個指定文件名的具體的文件或一個已經存在的目錄下。cp命令還支持同時復制多個文件,當一次復制多個文件時,目標文件參數必須是一個已經存在的目錄,否則將出現錯誤。
語法
cp(選項)(參數)
選項
-a:此參數的效果和同時指定"-dpR"參數相同;
-d:當復制符號連接時,把目標文件或目錄也建立為符號連接,並指向與源文件或目錄連接的原始文件或目錄;
-f:強行復制文件或目錄,不論目標文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對源文件建立硬連接,而非復制文件;
-p:保留源文件或目錄的屬性;
-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一並處理;
-s:對源文件建立符號連接,而非復制文件;
-u:使用這項參數後只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件並不存在時,才復制文件;
-S:在備份文件時,用指定的後綴「SUFFIX」代替文件的默認後綴;
-b:覆蓋已存在的文件目標前將目標文件備份;
-v:詳細顯示命令執行的操作。
參數
源文件:制定源文件列表。默認情況下,cp命令不能復制目錄,如果要復制目錄,則必須使用-R選項;
目標文件:指定目標文件。當「源文件」為多個文件時,要求「目標文件」為指定的目錄。
示例:
cp aaa/* /bbb
復制目錄aaa下所有文件到/bbb目錄下
④ Linux/Unix中如何在復制一個目錄時排除其中
可以用rsync命令來實現了,看下面的例子:
如果要排除/home/data目錄下面的a、b、c、三個目錄,同時拷貝其它所有目錄,執行以下命令
rsync -av --exclude data/a --exclude data/b --exclude data/c data /bak
注意:--exclude後面的路徑不能為絕對路徑,必須為相對路徑才可以,否則出錯。
註解:
rsync命令是一個遠程數據同步工具,可通過LAN/WAN快速同步多台主機間的文件。-a參數表示archive模式,-v表示詳細鏈模式輸出,-z表示傳輸文件時使用壓縮傳輸的模式。
⑤ 復制的時候如何剔除文件夾內的某個文件夾
1、首先登錄進linux系統,右鍵單擊選擇Open In Terminal選項
2、接下來我們在打開的終端命令行,首先回用pwd命令查看答當前目錄,然後運用cp命令進行文件的復制,如下圖所示,注意復制後的文件名稱被修改了
3、回到桌面,我們可以看到已經有2個文件了,並且復制的文件名稱也已改變
4、最後我們還可以通過cp命令直接復制文件夾到另一個文件夾,linux文件夾就可以排除某個文件了。
⑥ linux文件夾內文件復制,如何排除某個文件
1、首先連接linux伺服器,然後cd切換到需要打包的目錄中,這里新建了幾個測試文件來演示如內何使用容tar打包。
⑦ linux下如何復制粘貼文件夾
我寫詳細一點
復制
文件名1
文件名2
粘貼?
dos下沒有粘貼吧?在dos下的其他文字編輯軟體中可能有
刪除
del
文件名
文件名要寫全例如
readem.txt
別忘了「.txt「要寫上。
建文件夾
md
文件夾
刪除文件夾
rd
文件夾1
文件夾2
⑧ linux系統如何拷貝目錄下的所有文件(包含隱藏文件)
示例:假設要把/home/usera下面的所有文件包括隱藏文件 拷貝到/mnt/temp目錄下
操作:cp -R /home/usera/. /mnt/temp
說明:注意使用「.」符號,它代表的是當前目錄。不要使用通配符*。
⑨ linux如何復制文件夾
CP命令
格式: CP [選項] 源文件或目錄 目的文件或目錄
選項說明:-b 同名,備分原來的文件
-f 強制覆蓋同名文件
-r 按遞歸方式保留原目錄結構復制文件
cp -r /tmp/a /root/a
記得有空格。更多相關linux的學習資料,請參考《Linux就該這么學》。
⑩ linux文件夾內文件復制,如何排除某個文件呢
譬如/abc/ 目錄下有幾百個類似summary1003.dat ,summary1004.dat 這樣的文件,如何拷貝部分文件到另一個目錄下呢》
假設有一個文件夾叫a,a下麵包含若干文件,還有一個b文件夾,此時我想羅列出所有a文件夾下的所有文件,而需要排除b文件夾下的文件。我現在是這么做的。
find ./a -type f | grep -v 'b'
但是我想find應該支持一種更有加的方式。