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