1. 程式人生 > >python之Linux基礎(十一)

python之Linux基礎(十一)

  1. Linux常⽤伺服器構建-ssh和scp
    <1>ssh介紹
    SSH為Secure Shell的縮寫,由 IETF 的⽹絡⼯作⼩組(Network Working Group)所制 定;SSH 為建⽴在應⽤層和傳輸層基礎上的安全協議。
    SSH是⽬前較可靠,專為遠端登入會話和其他⽹絡服務提供安全性的協議。常⽤於遠端登 錄,以及⽤戶之間進⾏資料拷⻉。
    利⽤SSH協議可以有效防⽌遠端管理過程中的資訊洩露問題。SSH最初是 UNIX 系統上的 ⼀個程式,後來⼜迅速擴充套件到其他操作平臺。SSH 在正確使⽤時可彌補⽹絡中的漏洞。 SSH 客戶端適⽤於多種平臺。⼏乎所有 UNIX 平臺—包括 HP-UX、Linux、AIX、 Solaris、Digital UNIX、Irix,以及其他平臺,都可運⾏SSH。
    使⽤SSH服務,需要安裝相應的伺服器和客戶端。客戶端和伺服器的關係:如果,A機器 想被B機器遠端控制,那麼,A機器需要安裝SSH伺服器,B機器需要安裝SSH客戶端。
    <2>安裝ssh
    A.安裝ssh伺服器
    sudo apt-get install openssh-server
    B.遠端登陸
    ssh ⽤戶名@IP
    使⽤ssh訪問,如訪問出現錯誤。可檢視是否有該⽂件 ~/.ssh/known_ssh 嘗試刪除該⽂ 件解決。
    <3>使⽤ssh連線伺服器
    SSH 告知⽤戶,這個主機不能識別,這時鍵⼊"yes",SSH 就會將相關資訊,寫⼊" ~/.ssh/know_hosts" 中,再次訪問,就不會有這些資訊了。然後輸⼊完⼝令,就可以登入到 主機了。
    python之Linux基礎(十一)

    scp
    遠端拷⻉⽂件,scp -r 的常⽤⽅法:

.使⽤該命令的前提條件要求⽬標主機已經成功安裝openssh-server
如沒有安裝使⽤ sudo apt-get install openssh-server 來安裝
2.使⽤格式:
scp -r ⽬標⽤戶名@⽬標主機IP地址:/⽬標⽂件的絕對路徑 /儲存到本機的絕對/相對路徑
舉例: scp -r [email protected]:/home/itcast/QQ_dir/ ./mytest/lisi
在後續會提示輸⼊“yes”此時,只能輸“yes”⽽不能簡單輸⼊“Y”

拷⻉單個⽂件可以不加 -r引數,拷⻉⽬錄必須要加。
本地⽂件複製到遠端:

scp FileName [email protected]:RemoteFile scp FileName RemoteHostIp:RemoteFolder scp FileName RemoteHostIp:RemoteFile

本地⽬錄複製到遠端

scp -r FolderName [email protected]:RemoteFolder scp -r FolderName RemoteHostIp:RemoteFolder

遠端⽂件複製到本地:

python之Linux基礎(十一)
scp [email protected]:RemoteFile FileName scp RemoteHostIp:RemoteFolder FileName scp RemoteHostIp:RemoteFile FileName

遠端⽬錄複製到本地:

scp -r [email protected]:RemoteFolder FolderName scp -r RemoteHostIp:RemoteFolder FolderName

編輯器vim vi簡介
vi是“Visual interface”的簡稱,它在Linux上的地位就彷彿Edit程式在DOS上⼀樣。它可以 執⾏輸出、刪除、查詢、替換、塊操作等眾多⽂本操作,⽽且⽤戶可以根據⾃⼰的需要對 其進⾏定製。Vi不是⼀個排版程式,它不象Word或WPS那樣可以對字型、格式、段落等 其他屬性進⾏編排,它只是⼀個⽂本編輯程式。 vi沒有選單,只有命令,且命令繁多。
Vi有三種基本⼯作模式:

  • 命令模式
  • ⽂本輸⼊模式
  • 末⾏模式。
    python之Linux基礎(十一)
    命令⾏模式
    任何時候,不管⽤戶處於何種模式,只要按⼀下ESC鍵,即可使Vi進⼊命令模式;我們在 shell環境(提示符為$)下輸⼊啟動Vi命令,進⼊編輯器時,也是處於該模式下。在該模式 下,⽤戶可以輸⼊各種合法的Vi命令,⽤於管理⾃⼰的⽂檔。此時從鍵盤上輸⼊的任何字 符都被當做編輯命令來解釋,若輸⼊的字元是合法的Vi命令,則Vi在接受⽤戶命令之後完 成相應的動作。但需注意的是,所輸⼊的命令並不在螢幕上顯示出來。若輸⼊的字元不是 Vi的合法命令,Vi會響鈴報警。
    ⽂本輸⼊模式

在命令模式下輸⼊插⼊命令i、附加命令a 、開啟命令o、修改命令c、取代命令r或替換命 令s都可以進⼊⽂本輸⼊模式。在該模式下,⽤戶輸⼊的任何字元都被Vi當做⽂件內容保 存起來,並將其顯示在螢幕上。在⽂本輸⼊過程中,若想回到命令模式下,按鍵ESC即 可。
末⾏模式
末⾏模式也稱ex轉義模式。在命令模式下,⽤戶按“:”鍵即可進⼊末⾏模式下,此時Vi會在 顯示窗⼝的最後⼀⾏(通常也是螢幕的最後⼀⾏)顯示⼀個“:”作為末⾏模式的提示符,等待 ⽤戶輸⼊命令。多數⽂件管理命令都是在此模式下執⾏的(如把編輯緩衝區的內容寫到⽂ 件中等)。末⾏命令執⾏完後,Vi⾃動回到命令模式。例如:
:sp newfile
則分出⼀個窗⼝編輯newfile⽂件。如果要從命令模式轉換到編輯模式,可以鍵⼊命令a或 者i;如果需要從⽂本模式返回,則按Esc鍵即可。在命令模式下輸⼊“:”即可切換到末⾏模 式,然後輸⼊命令。
vim基礎操作
vim是從 vi 發展出來的⼀個⽂本編輯器 。程式碼補完、編譯及錯誤跳轉等⽅便程式設計的功能特 別豐富
進⼊插⼊模式:

i: 插⼊游標前⼀個字元 
I: 插⼊⾏⾸ 
a: 插⼊游標後⼀個字元 
A: 插⼊⾏未 
o: 向下新開⼀⾏,插⼊⾏⾸ 
O: 向上新開⼀⾏,插⼊⾏⾸

進⼊命令模式:
ESC:從插⼊模式或末⾏模式進⼊命令模式

移動游標:

h: 左移 
j: 下移 
k: 上移 
l: 右移
M: 游標移動到中間⾏ 
L: 游標移動到螢幕最後⼀⾏⾏⾸ 
G: 移動到指定⾏,⾏號 -G
w: 向後⼀次移動⼀個字 
b: 向前⼀次移動⼀個字
{: 按段移動,上移 
}: 按段移動,下移
Ctr-d: 向下翻半屏 
Ctr-u: 向上翻半屏
Ctr-f: 向下翻⼀屏 
Ctr-b: 向上翻⼀屏
gg: 游標移動⽂件開頭 
G: 游標移動到⽂件末尾

刪除命令:

x: 刪除游標後⼀個字元,相當於 Del 
X: 刪除游標前⼀個字元,相當於 Backspace
dd: 刪除游標所在⾏,n dd 刪除指定的⾏數 D: 刪除游標後本⾏所有內容,包含游標所在字元 
d0: 刪除游標前本⾏所有內容,不包含游標所在字元
dw: 刪除游標開始位置的字,包含游標所在字元

撤銷命令:

u: ⼀步⼀步撤銷
Ctr-r: 反撤銷

重複命令:
.: 重複上⼀次操作的命令
⽂本⾏移動:

>: ⽂本⾏右移 
<<: ⽂本⾏左移
複製貼上:
yy: 複製當前⾏,n yy 複製 n ⾏ 
p: 在游標所在位置向下新開闢⼀⾏,貼上
可視模式:
v: 按字元移動,選中⽂本 
V: 按⾏移動,選中⽂本可視模式可以配合 d, y, >>, << 實現對⽂本塊的刪除,複製,左右移動
替換操作:
r: 替換當前字元 
R: 替換當前⾏游標後的字元
查詢命令:
/: str查詢 n: 下⼀個 N:上⼀個

替換命令:
把abc全部替換成123
末⾏模式下,將當前⽂件中的所有abc替換成123 :%s/abc/123/g
末⾏模式下,將第⼀⾏⾄第10⾏之間的abc替換成123 :1, 10s/abc/123/g
vim⾥執⾏ shell 下命令:
末⾏模式⾥輸⼊!,後⾯跟命令