使用cp命令的-n參數。
❷ linux命令語句找出2個文檔相同的內容並輸入到一個文件里怎麼寫
comm /path/to/file1/ /path/to/file2 > NewFile /path/to/file1 第一個文件/path/to/file2 第二個文件NewFile 寫的文件
❸ 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選項。
❹ linux下N個文件夾 裡面有同一個文件 這些相同文件怎麼一下全部替換成另一個文件。
樓主,你好!
首先你要有一個思路,N個文件夾下有同一個文件,那麼第一個問題就是找到這個同名文件
比如同名文件名為.txt
find / -name .txt
這樣就查找出你所說的同名文件了
第二個問題就是替換了
比如同名文件名為.txt 需要替換為myself.txt
find / -name .txt | xargs cp -a myself.txt {} \; 這個命令解決不了問題,為什麼呢?
這樣查找替換的話,結果,只是將需要替換的文件內容修改了,文件名卻沒有改變
還是做一個小程序吧
#!/bin/bash
file_path=`find . -name a.txt |awk 'NF-=1' FS="/" OFS="/"`
for i in $file_path
do
cd $i/
rm -f a.txt
cp -R ../b.txt .
done
簡單解決~
❺ linux 刪除不同文件夾內相同的文件
用下面的命令可以解決:
$ find A -name "c.txt " |xargs rm {} \;
解釋: 用find 查看A目錄下的名字為c.txt文件 然後用管道和xargs刪除查找出來的文件
❻ linux scp命令 相同文件
我看了下scp的man手冊頁,發現沒有參數支持跳過相同文件,sorry
你用scp應該是在不同機子上復制,不過你可以通過scp先拷貝到目標主機另外
一個目錄,然後通過/bin/cp命令拷貝到到最終的目標目錄,因為cp在系統中
使用了別名,所以你要使用/bin/cp而不是cp,原因是別名中含了-i參數,遇到
相同文件總是會提示,如果使用/bin/cp就不會了提示了。然後可使用-u參數,遇到
相同的時,源文件比目標文件新才會更新,你為了相同文件不提示直接跳過,只要保
證目標目錄所有文件最新就可以了。例如
現在時間是2013-03-25 14:04
目標目錄所有文件時間更新:
find dstdir -exec touch -t 201303251404 {} \;
/bin/cp -avpu srcdir/* dstdir
當然,如果已經把文件拷貝到相同伺服器了,還可以使用shell腳本,更可靠,不過腳本相對復雜些了。