bat复制文件到指定目录同名_scp复制文件时排除指定文件
請關(guān)注本頭條號,每天堅持更新原創(chuàng)干貨技術(shù)文章。
如需學習視頻,請在微信搜索公眾號“智傳網(wǎng)優(yōu)”直接開始自助視頻學習
1. 前言
本文主要講解如何在scp復制文件時排除指定文件。
舉例:
我需要將所有*.c文件從名為hostA的電腦復制到hostB,包括所有目錄。我使用以下scp命令,但不知道如何排除特定的文件(如*.out):
如何告訴scp命令在Linux/Unix復制文件時排除指定的文件或目錄呢?
可以使用scp命令在網(wǎng)絡(luò)上的主機之間安全地復制文件。它使用ssh進行數(shù)據(jù)傳輸和身份驗證。典型的scp命令語法如下:
scp file1 user@host:/path/to/test/scp -r /path/to/source/ user@host:/path/to/test/scp [options] /dir/to/source/ user@host:/dir/to/test/2. scp復制文件時排除指定文件
scp復制文件時排除指定文件
我不認為您可以在使用scp命令復制文件時可以過濾或排除文件。但是,有一個很好的解決方案可以排除文件并使用ssh安全地復制它。本教程解釋如何在使用scp遞歸復制目錄時過濾或排除指定文件。
如何使用rsync命令排除文件
它的語法是:
解釋一下上面的命令:
-a : 遞歸到目錄,即復制所有文件和子目錄。此外,打開存檔模式和所有其他選項 (-rlptgoD)
-v : 詳細輸出
-e ssh : 使用ssh作為遠程shell,以便對所有內(nèi)容進行加密
--exclude='.out' : 排除匹配模式的文件,例如。out或*.c等等.
rsync命令的例子
在本例中,從~/virt/目錄遞歸復制所有文件,但排除所有*.新文件:
從~/virt/目錄遞歸復制所有文件,但排除指定文件
如果在遠程服務(wù)器上沒有找到Rsync,則Rsync命令將失敗。在這種情況下,嘗試下面的scp命令,它在當前目錄中使用bash shell模式匹配(它不會與-r選項一起工作):
ls輸出結(jié)果:
access.log-20190218 access.log-20190727 logip.new
復制當前目錄中除.new文件外的所有內(nèi)容:
shopt -s extglobscp !(*.new) root@centos7:/tmp/輸出結(jié)果:
access.log-20190218 100% 4262 1.3MB/s 00:00
access.log-20190727 100% 836MB 32.7MB/s 00:25
3. 理解extglob shell選項來排除使用scp和rsync的文件
如果使用shopt命令(build tin)啟用extglob bash shell選項,Linux系統(tǒng)可以識別幾個擴展的模式匹配操作符,如下所示:
OperatorsDescription?(pattern-list)匹配給定模式的零次或一次出現(xiàn)*(pattern-list)匹配給定模式的零次或多次出現(xiàn)+(pattern-list)匹配給定模式的一個或多個匹配項@(pattern-list)匹配給定的模式之一!(pattern-list)匹配除給定模式之一之外的任何內(nèi)容
使用scp命令復制文件時怎么才能排除指定文件?
4. 總結(jié)
本教程向您展示了如何在Linux或類unix操作系統(tǒng)下的網(wǎng)絡(luò)上的主機之間使用scp或者rsync命令復制文件時排除指定的文件。有關(guān)更多信息,請參閱以下手冊頁:
man 1 rsyncman bashman 1 scp 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的bat复制文件到指定目录同名_scp复制文件时排除指定文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金叉成功率_一个非常强烈的买卖信号:三金
- 下一篇: sql server如何输出排序序号_G