linux的scp命令怎么用
在linux中,scp命令用于Linux之間復(fù)制文件和目錄,即在一臺(tái)Linux服務(wù)器中將本地的文件上傳到一臺(tái)遠(yuǎn)端服務(wù)器,或?qū)⑦h(yuǎn)端服務(wù)器的文件下載到本地。scp是linux系統(tǒng)下基于ssh登陸進(jìn)行安全的遠(yuǎn)程文件拷貝命令。
scp命令是什么?有什么用?
scp是 secure copy的縮寫, scp是linux系統(tǒng)下基于ssh登陸進(jìn)行安全的遠(yuǎn)程文件拷貝命令。
Linux scp 命令用于 Linux 之間復(fù)制文件和目錄。
注:scp 是加密的,rcp 是不加密的,scp 是 rcp 的加強(qiáng)版。
語法
簡易寫法
參數(shù)說明:
-1: 強(qiáng)制scp命令使用協(xié)議ssh1
-2: 強(qiáng)制scp命令使用協(xié)議ssh2
-4: 強(qiáng)制scp命令只使用IPv4尋址
-6: 強(qiáng)制scp命令只使用IPv6尋址
-B: 使用批處理模式(傳輸過程中不詢問傳輸口令或短語)
-C: 允許壓縮。(將-C標(biāo)志傳遞給ssh,從而打開壓縮功能)
-p:保留原文件的修改時(shí)間,訪問時(shí)間和訪問權(quán)限。
-q: 不顯示傳輸進(jìn)度條。
-r: 遞歸復(fù)制整個(gè)目錄。
-v:詳細(xì)方式顯示輸出。scp和ssh(1)會(huì)顯示出整個(gè)過程的調(diào)試信息。這些信息用于調(diào)試連接,驗(yàn)證和配置問題。
-c cipher: 以cipher將數(shù)據(jù)傳輸進(jìn)行加密,這個(gè)選項(xiàng)將直接傳遞給ssh。
-F ssh_config: 指定一個(gè)替代的ssh配置文件,此參數(shù)直接傳遞給ssh。
-i identity_file: 從指定文件中讀取傳輸時(shí)使用的密鑰文件,此參數(shù)直接傳遞給ssh。
-l limit: 限定用戶所能使用的帶寬,以Kbit/s為單位。
-o ssh_option: 如果習(xí)慣于使用ssh_config(5)中的參數(shù)傳遞方式,
-P port:注意是大寫的P, port是指定數(shù)據(jù)傳輸用到的端口號(hào)
-S program: 指定加密傳輸時(shí)所使用的程序。此程序必須能夠理解ssh(1)的選項(xiàng)。
linux中scp命令的使用
把本地文件復(fù)制到遠(yuǎn)端主機(jī)
user@xxx:file 用冒號(hào)分隔文件
把本地文件夾復(fù)制到遠(yuǎn)端主機(jī)
-r表示遞歸
把遠(yuǎn)端文件復(fù)制到本地
指定端口
linux的grep命令用法
作為linux中最為常用的三大文本(awk,sed,grep)處理工具之一,掌握好其用法是很有必要的。
首先談一下grep命令的常用格式為:grep [選項(xiàng)] ”模式“ [文件]
grep家族總共有三個(gè):grep,egrep,fgrep。
常用選項(xiàng):
-E :開啟擴(kuò)展(Extend)的正則表達(dá)式。
-i :忽略大小寫(ignore case)。
-v :反過來(invert),只打印沒有匹配的,而匹配的反而不打印。
-n :顯示行號(hào)
-w :被匹配的文本只能是單詞,而不能是單詞中的某一部分,如文本中有l(wèi)iker,而我搜尋的只是like,就可以使用-w選項(xiàng)來避免匹配liker
-c :顯示總共有多少行被匹配到了,而不是顯示被匹配到的內(nèi)容,注意如果同時(shí)使用-cv選項(xiàng)是顯示有多少行沒有被匹配到。
-o :只顯示被模式匹配到的字符串。
--color :將匹配到的內(nèi)容以顏色高亮顯示。
-A n:顯示匹配到的字符串所在的行及其后n行,after
-B n:顯示匹配到的字符串所在的行及其前n行,before
-C n:顯示匹配到的字符串所在的行及其前后各n行,context
模式部分:
1、直接輸入要匹配的字符串,這個(gè)可以用fgrep(fast grep)代替來提高查找速度,比如我要匹配一下hello.c文件中printf的個(gè)數(shù):fgrep -c “printf” hello.c
2、使用基本正則表達(dá)式,下面談關(guān)于基本正則表達(dá)式的使用:
匹配字符:
。 :任意一個(gè)字符。
[abc] :表示匹配一個(gè)字符,這個(gè)字符必須是abc中的一個(gè)。
?。踑-zA-Z] :表示匹配一個(gè)字符,這個(gè)字符必須是a-z或A-Z這52個(gè)字母中的一個(gè)。
[^123] :匹配一個(gè)字符,這個(gè)字符是除了1、2、3以外的所有字符。
對于一些常用的字符集,系統(tǒng)做了定義:
?。跘-Za-z] 等價(jià)于 [[:alpha:]]
[0-9] 等價(jià)于 [[:digit:]]
?。跘-Za-z0-9] 等價(jià)于 [[:alnum:]]
tab,space 等空白字符 [[:space:]]
?。跘-Z] 等價(jià)于 [[:upper:]]
[a-z] 等價(jià)于 [[:lower:]]
標(biāo)點(diǎn)符號(hào) [[:punct:]]
匹配次數(shù):
\{m,n\} :匹配其前面出現(xiàn)的字符至少m次,至多n次。
\? :匹配其前面出現(xiàn)的內(nèi)容0次或1次,等價(jià)于\{0,1\}。
* :匹配其前面出現(xiàn)的內(nèi)容任意次,等價(jià)于\{0,\},所以 “.*” 表述任意字符任意次,即無論什么內(nèi)容全部匹配。
位置錨定:
^ :錨定行首
$ :錨定行尾。技巧:“^$”用于匹配空白行。
\b或\《:錨定單詞的詞首。如“\blike”不會(huì)匹配alike,但是會(huì)匹配liker
\b或\》:錨定單詞的詞尾。如“\blike\b”不會(huì)匹配alike和liker,只會(huì)匹配like
\B :與\b作用相反。
分組及引用:
\(string\) :將string作為一個(gè)整體方便后面引用
\1 :引用第1個(gè)左括號(hào)及其對應(yīng)的右括號(hào)所匹配的內(nèi)容。
\2 :引用第2個(gè)左括號(hào)及其對應(yīng)的右括號(hào)所匹配的內(nèi)容。
\n :引用第n個(gè)左括號(hào)及其對應(yīng)的右括號(hào)所匹配的內(nèi)容。
3、擴(kuò)展的(Extend)正則表達(dá)式(注意要使用擴(kuò)展的正則表達(dá)式要加-E選項(xiàng),或者直接使用egrep):
匹配字符:這部分和基本正則表達(dá)式一樣
匹配次數(shù):
* :和基本正則表達(dá)式一樣
? :基本正則表達(dá)式是\?,二這里沒有\(zhòng)。
{m,n} :相比基本正則表達(dá)式也是沒有了\。
+ :匹配其前面的字符至少一次,相當(dāng)于{1,}。
位置錨定:和基本正則表達(dá)式一樣。
分組及引用:
(string) :相比基本正則表達(dá)式也是沒有了\。
\1 :引用部分和基本正則表達(dá)式一樣。
\n :引用部分和基本正則表達(dá)式一樣。
或者:
a|b :匹配a或b,注意a是指 | 的左邊的整體,b也同理。比如 C|cat 表示的是 C或cat,而不是Cat或cat,如果要表示Cat或cat,則應(yīng)該寫為 (C|c)at 。記住(string)除了用于引用還用于分組。
注1:默認(rèn)情況下,正則表達(dá)式的匹配工作在貪婪模式下,也就是說它會(huì)盡可能長地去匹配,比如某一行有字符串 abacb,如果搜索內(nèi)容為 “a.*b” 那么會(huì)直接匹配 abacb這個(gè)串,而不會(huì)只匹配ab或acb。
注2:所有的正則字符,如 [ 、* 、( 等,若要搜索 * ,而不是想把 * 解釋為重復(fù)先前字符任意次,可以使用 \* 來轉(zhuǎn)義。
下面用一個(gè)練習(xí)來結(jié)束本次grep的學(xué)習(xí):
在網(wǎng)絡(luò)配置文件 /etc/sysconfig/network-scripts/ifcfg-ens33 中檢索出所有的 IP
1、檢索出 0-255的范圍
2、由0-255的數(shù)字組合成IP
3、簡化
評論
查看更多