來源:什麼是跳板機html
SSH【Secure Shell】(遠程鏈接工具)鏈接原理:ssh服務是一個守護進程(demon),系統後臺監聽客戶端的鏈接,ssh服務端的進程名爲sshd,負責實時監聽客戶端的請求(IP 22端口),包括公共祕鑰等交換等信息。mysql
ssh服務端由2部分組成: openssh(提供ssh服務) openssl(提供加密的程序)linux
ssh的客戶端能夠用 XSHELL,Securecrt, Mobaxterm等工具進行鏈接redis
來源:Linux SSH命令詳解sql
SSH兩種級別的遠程登陸:shell
來源:SSH簡介及兩種遠程登錄方法數據庫
資料來源:Shell腳本:Linux Shell腳本學習指南(超詳細)api
Shell 是用戶和應用程序與內核溝通的橋樑。數組
Shell 既是一種命令語言,又是一種程序設計語言。
各位讀者請務必安裝 Linux 系統,能夠在物理機上安裝,也能夠在虛擬機上安裝,若是手頭沒有 Linux 系統,又想運行 Shell 命令,那麼我給你們推薦一個線上的運行環境:http://www.dooccn.com/shell/
來源:Shell提示符:#和$
資源:linux命令大全
Linux 打包
tar -cvzf 打包名 打包文件目錄
mv命令用來對文件或目錄從新命名,或者將文件從一個目錄移到另外一個目錄中。
source表示源文件或目錄,target表示目標文件或目錄
mv source target
Linux操做數據庫
數據庫登陸:
mysql -hlocalhost -uroot -p
-h數據庫主機
-u用戶
-p密碼
-P端口號(大寫P)
查看當前數據庫列表--顯示數據庫(show databases):
激活當前數據庫--選擇數據庫(use hivgw):
操做表:
來源:REDIS命令
REmote DIctionary Server(Redis) 是一個由Salvatore Sanfilippo寫的key-value存儲系統。
Redis 命令用於在 redis 服務上執行操做。
要在 redis 服務上執行命令須要一個 redis 客戶端。Redis 客戶端在咱們以前下載的的 redis 的安裝包中。
Redis Zrange 返回有序集中,指定區間內的成員。
下標參數 start 和 stop 都以 0 爲底,也就是說,以 0 表示有序集第一個成員,以 1 表示有序集第二個成員,以此類推。
你也可使用負數下標,以 -1 表示最後一個成員, -2 表示倒數第二個成員,以此類推。
Redis查詢、修改:
Redis數據結構
1.字符串(String)【Redis 字符串數據類型的相關命令用於管理 redis 字符串值】
設置指定key的值:
set key value
獲取指定key的值:
get key
刪除指定的鍵中的值(這個命令能夠用於全部的類型)
del key
2.列表(List)
Redis列表是簡單的字符串列表,按照插入順序排序。你能夠添加一個元素到列表的頭部(左邊)或者尾部(右邊)
將給定值推入列表的右端
rpush key value
獲取列表在指定範圍的全部值
lrange key 0 -1
獲取列表在指定範圍的單個值
lindex key index
從列表的左端彈出一個值,並返回這個值
lpop key
3.集合(set)
Redis 的 Set 是 String 類型的無序集合。集合成員是惟一的,這就意味着集合中不能出現重複的數據。
Redis 中集合是經過哈希表實現的,因此添加,刪除,查找的複雜度都是 O(1)。
將給定元素添加到集合
sadd key value
返回集合包含的因此元素
smembers key
檢查指定元素是否存在集合中
sismember key value
檢查指定元素是否存在在集合中,若是存在就移除
srem key value
4.哈希(hash)
Redis hash 是一個string類型的field和value的映射表,hash特別適合用於存儲對象。
在字符串類型中,value 只能是一個字符串。那麼在散列類型,也叫哈希類型中,value 對應的也是一個字典(關聯數組)。
在散列裏面關聯起指定的鍵值對
HSET KEY_NAME FIELD VALUE
獲取指定散列鍵的值
HGET KEY_NAME FIELD_NAME
獲取散列對全部鍵的值
hgetall key
若是給定的鍵值對存在在散列對,那麼就刪除
HDEL KEY_NAME FIELD1
5.有序集合sorted set(zset)
Redis 有序集合和集合同樣也是string類型元素的集合,且不容許重複的成員。
不一樣的是每一個元素都會關聯一個double類型的分數。redis正是經過分數來爲集合中的成員進行從小到大的排序。
有序集合的成員是惟一的,但分數(score)卻能夠重複。
將一個帶有給定分值的成員添加到有序集合裏面
zadd key scores value
根據元素在有序排列中所處的位置,從有序集合裏面獲取多個元素
zrange key 0 -1 withscores
獲取有序集合在給定分值範圍內的全部元素
zrangebyscore key scroes1 scroes2 withscores
若是指定成員存在於有序集合中,那麼移除這個成員
zrem key value
資料來源:Redis ZSet類型及操做
資料來源:Linux中vi命令詳解
1) 命令行模式command mode)
控制屏幕光標的移動,字符、字或行的刪除,移動複製某區段及進入Insert mode下,或者到 last line mode。
2) 插入模式(Insert mode)
只有在Insert mode下,才能夠作文字輸入,按「ESC」鍵可回到命令行模式。
3) 底行模式(last line mode)
將文件保存或退出vi,也能夠設置編輯環境,如尋找字符串、列出行號……等。
不過通常咱們在使用時把vi簡化成兩個模式,就是將底行模式(last line mode)也算入命令行模式command mode)。
資料來源:後端線上服務監控與報警方案
1.cURL是一個利用URL語法在命令行下工做的文件傳輸工具
a.獲取頁面內容【當咱們不加任何選項使用 curl 時,默認會發送 GET 請求來獲取連接內容到標準輸出。】
例:curl http://www.codebelief.com
b.顯示HTTP頭【若是咱們只想要顯示 HTTP 頭,而不顯示文件內容,可使用 -I 選項】
例:curl -I http://www.codebelief.com
【也能夠同時顯示 HTTP 頭和文件內容,使用 -i 選項】
例:curl -i http://www.codebelief.com
c.將連接保存到文件【咱們可使用 > 符號將輸出重定向到本地文件中。】
例:curl http://www.codebelief.com > index.html
【也能夠經過 curl 自帶的 -o/-O 選項將內容保存到文件中。】
-o(小寫的 o):結果會被保存到命令行中提供的文件名
-O(大寫的 O):URL 中的文件名會被用做保存輸出的文件名
curl -o index.html http://www.codebelief.com
curl -O http://www.codebelief.com/page/2/
注意:使用 -O 選項時,必須確保連接末尾包含文件名,不然 curl 沒法正確保存文件。若是遇到連接中無文件名的狀況,應該使用 -o 選項手動指定文件名,或使用重定向符號。
d.同時下載多個文件【可使用 -o 或 -O 選項來同時指定多個連接,按照如下格式編寫命令】
例:curl -O http://www.codebelief.com/page/2/ -O http://www.codebelief.com/page/3/
或者
curl -o page1.html http://www.codebelief.com/page/1/ -o page2.html http://www.codebelief.com/page/2/
e.使用-L跟隨連接重定向
【經過瀏覽器打開連接時,會自動跳轉到 http://www.codebelief.com。此時咱們想要 curl 作的,就是像瀏覽器同樣跟隨連接的跳轉,獲取最終的網頁內容。咱們能夠在命令中添加 -L 選項來跟隨連接重定向】
例:curl -L http://codebelief.com
這樣咱們就能獲取到通過重定向後的網頁內容了。
f.使用-A 自定義User-Agent【可使用 -A 來自定義用戶代理,例以下面的命令將假裝成安卓火狐瀏覽器對網頁進行請求】
例:curl -A 「Mozilla/5.0 (Android; Mobile; rv:35.0) Gecko/35.0 Firefox/35.0」 http://www.baidu.com
g.使用-H自定義Header
當咱們須要傳遞特定的 header 的時候,能夠仿照如下命令來寫:
例:curl -H 「Referer: www.example.com」 -H 「User-Agent: Custom-User-Agent」 http://www.baidu.com
能夠看到,當咱們使用 -H 來自定義 User-Agent 時,須要使用 「User-Agent: xxx」 的格式。
咱們可以直接在 header 中傳遞 Cookie,格式與上面的例子同樣:
curl -H 「Cookie: JSESSIONID=D0112A5063D938586B659EF8F939BE24」 http://www.example.com
另外一種方式會在下面介紹。
h.使用-c保存cookie
當咱們使用 cURL 訪問頁面的時候,默認是不會保存 Cookie 的。有些狀況下咱們但願保存 Cookie 以便下次訪問時使用。例如登錄了某個網站,咱們但願再次訪問該網站時保持登錄的狀態,這時就能夠現將登錄時的 Cookie 保存起來,下次訪問時再讀取。
-c 後面跟上要保存的文件名。
例:curl -c 「cookie-example」 http://www.example.com
i.使用-b讀取cookie
前面講到了使用 -H 來發送 Cookie 的方法,這種方式是直接將 Cookie 字符串寫在命令中。若是使用 -b 來自定義 Cookie,命令以下:
curl -b 「JSESSIONID=D0112A5063D938586B659EF8F939BE24」 http://www.example.com
若是要從文件中讀取 Cookie,-H 就無能爲力了,此時可使用 -b 來達到這一目的:
curl -b 「cookie-example」 http://www.example.com
即 -b 後面既能夠是 Cookie 字符串,也能夠是保存了 Cookie 的文件名。
j.使用-d發送POST請求
咱們以登錄網頁爲例來進行說明使用 cURL 發送 POST 請求的方法。假設有一個登陸頁面 www.example.com/login,只須要提交用戶名和密碼即可登陸。咱們可使用 cURL 來完成這一 POST 請求,-d 用於指定發送的數據,-X 用於指定發送數據的方式:
curl -d 「userName=tom&passwd=123456」 -X POST http://www.example.com/login
在使用 -d 的狀況下,若是省略 -X,則默認爲 POST 方式:
curl -d 「userName=tom&passwd=123456」 http://www.example.com/login
強制使用 GET 方式
發送數據時,不只可使用 POST 方式,也可使用 GET 方式,例如:
curl -d 「somedata」 -X GET http://www.example.com/api
或者使用 -G 選項:
curl -d 「somedata」 -G http://www.example.com/api
從文件中讀取 data
curl -d 「@data.txt」 http://www.example.com/login
帶 Cookie 登陸
固然,若是咱們再次訪問該網站,仍然會變成未登陸的狀態。咱們能夠用以前提到的方法保存 Cookie,在每次訪問網站時都帶上該 Cookie 以保持登陸狀態。
curl -c 「cookie-login」 -d 「userName=tom&passwd=123456」 http://www.example.com/login
再次訪問該網站時,使用如下命令:
curl -b 「cookie-login」 http://www.example.com/login
這樣,就能保持訪問的是登陸後的頁面了。