常用的Linux命令和技巧 ,正向反向端口轉發(工作中總結)

1 端口轉發

ssh -L{PC端口號}:localhost:{數據庫端端口號} root@{服務器IP地址}

工作中遇到如下需求,

服務器1  服務器2  windows開發機

服務器1和服務器2互相之間不能直接訪問,但是windows可以訪問服務器1和服務器2

如果我們需要從服務器1訪問服務器2,我們需要建立端口轉發,將windows作爲中介,數據流大致是這樣的:

服務器1=>windows機=>服務器2

在windows下輸入:

ssh -L{PC端口號}:localhost:{服務器2端口號} root@{服務器2IP地址}

ssh -L 6483:localhost:8380 Remote2

將本地6483綁定到服務器2的8380

ssh -R{服務器1端口號}:localhost:{PC端口號} root@{服務器1IP地址}

ssh -R 6482:localhost:6483 Remote1

將服務器1的6482綁定到本地的6483

這樣 服務器1就可以和服務器2通訊

服務器1:

nc 127.0.0.1 6482

服務器2:

nc -l 8380

可以嘗試從服務器1給服務器2發送信息

-L : 所謂“正向代理”就是在本地啓動端口,把本地端口數據轉發到遠端。

-R : 所謂“反向代理”就是讓遠端啓動端口,把遠端端口數據轉發到本地。

2 在Linux控制終端 到達行首和行位

Crtl+a    Crtl+e

3 ll 命令

鍵入ll 而不是 ls -al

4 執行以前執行的命令

假如要查找執行過的上一個包含/tmp 的命令, 可以按 Ctrl+r,並且鍵入/tmp

假如要顯示所有執行過的包含/tmp的命令, 可以使用正則表達式 history | grep "/tmp"

5 yes命令

如果想對一個命令中的所有問題都回答yes, 可以使用yes命令。例如:

yes | yum install curl  這個命令會對yum安裝過程中所有的問題都回答yes。

如果想回答no 鍵入: yes no | yum install curl

6 查找是誰佔用了你的端口

netstat -tulpn | grep 8080

你可以執行下面的命令來找到更多的信息:

ps aux | grep 33413

7 實時讀取日誌文件

下面命令將只顯示指定日誌文件中包含ERROR字符的新行

tail -f /var/log/my.log | grep ERROR

8 進程排序

下面的命令是按照CPU的使用率排序,顯示最高的3個進程:

ps aux --sort=-pcpu | head -n 4

下面的命令是按照內存的使用率排序,顯示最高的3個進程:

ps aux --sort=-rss | head -n 4

9 每隔XX秒執行一次命令

watch -n 1 date

每隔一秒打印一次date命令的輸出

10 安靜模式

很多標準命令都有安靜模式,在創建bash腳本的時候非常有用,大多數情況,只需要在命令後面添加一個 -q 或者 -s 詳細信息可以看 --help 或者man 輸出的內容。

輸出不可避免,但是也必須忽略輸出,可以將輸出定向到/dev/null

./my.sh > /dev/null

 

發佈了23 篇原創文章 · 獲贊 37 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章