shell覆蓋文件夾
⑴ 用xshell 查看linux 目錄 文件夾被遮蓋,是什麼原因造成的
我猜你這可能是有執行權的文件夾 用滑鼠選中一下或者換個背景顏色就能看到了。。。
⑵ 怎樣使用一條shell命令把文件夾下的文件名中的部分字元替換掉
ed -i '/aaa/{:a;n;s/123/xyz/g;/eee/!ba}' yourfile
先匹配aaa,匹配到後執行大括弧里的語句。
n 讀取下一行
s/123/xyz/g 將123替換為xyz,全局替換,同一行中出現幾次替換幾次
:a 設定跳轉標簽a
/eee/!ba 若當前行匹配不上eee,則跳轉到標簽a處繼續執行,構成一個循環。若匹配到eee,則退出循環,sed重新對讀入的每行匹配aaa。
由於sed沒有加-n靜默選項,所以默認對每行數據處理後都列印。
⑶ 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選項。
⑷ shell 復制指定文件到指定目錄,復制的時候判斷是否重名,重名則覆蓋,不重名直接復制進去
復制D盤abc文件夾下所有文件到E盤backup文件夾,如果源文件較新則覆蓋。
x D:\abc\*.* E:\backup /s /h /d /c /y
⑸ Linux的shell編程中如何將一段字元串寫入到某個文件中並覆蓋文件的一部分內容
兩種思路,
第一種,你打開文件,找到匹配的行,改掉,重寫個文件,刪除原來的。改這個文件為一樣的名字。
第二種,以需要改寫的文本,把原來的文件分成兩個部分,要改寫的部分空出,然後重定向合並到一個文件里。
例如, file.txt 分為 a.txt b.txt 現在
1 a.txt>file.txt
2 變行 >>file .txt
3 b.txt >>file.txt
⑹ shell如何復制整個目錄,就是把整個目錄以及這個目錄下所有的東西移動到其他文件夾中
1、打開Powershell工具;
⑺ 想編寫一個shell腳本,把一個文件夾文件復制到另一個文件夾,如遇同名文件可先備份原文件
沒問題, 能幫忙開發一個出來啊
能否看看wo 的網名呢?幫忙搞定一下啊
⑻ Shell腳本問題:如何批量把同在一個文件夾下的所有文件覆蓋到另一個文件夾下
那哥們回答的不對,如果a文件夾下有子文件夾也會一起移動,這種情況要使用find命令
一條命令就能解決,你也可以寫個腳本,然後計劃任務定期跑一下。
例:我想把/root/test下的所有文件覆蓋到/opt下
find /root/test -type f -exec cp -rf {} /opt ;
意思是查找/root/test下所有文件(-type f),然後用cp命令給覆蓋過去
⑼ shell 復制文件,如果重復,兩個都要,不覆蓋,怎麼處理
#沒有命令可以直接實現,下面我給了的範例:
#假如是把文件filename拷貝到/tmp目錄,如果文件存在,則在原文件名後面增加一個後綴(.數字)
if[!-ffilename]
then
#文件不存在,直接拷貝
cp$filename/tmp
else
#後綴編號
_l_no=1
#新的文件名
new_filename="$filename.$_l_no"
while[-f$new_filename]#判斷新文件名是否存在,如果存在,則後綴遞增,再嘗試
do
#後綴編號遞增
((_l_no+=1))
#新的文件名
new_filename="$filename.$_l_no"
done
#拷貝
cp$new_filename/tmp
fi
希望能夠幫助到你,謝謝!
⑽ shell 一個文件夾里的東西到另一個文件夾中
cp -rp /home/d001 /home/Documents
復制/home下d001到/home下Documents
-r 是遍歷目錄,即復制整個目錄
-p 是保留原有屬性