Linux常用命令總結(詳細圖解演示二)
一:實用命令總結.
1. Linux下檢視公網IP.(限於自己使用的伺服器,阿里雲/華為雲等ECS).自己測試的是一臺華為雲1G1核的入門型的ECS.
curl ifconfig.me
2. Linux手動釋放記憶體.
Linux系統頻繁存取檔案,會發現實體記憶體很快會被用光當程式結束後,記憶體不會被正常釋放,會一致作為Caching.Linux系統快的一個重要原因,增加Cache,有效縮短IO時間,很多架構設計的思想都是以空間換時間的嘛.一般是不需要手動釋放記憶體的.有別於Windows系統的記憶體設計理念.
前置知識: /proc是一個虛擬檔案系統,作為和Linux核心實體通訊的一種方式.可以是通過修改/proc來修改Kernel做相應調整.
也就是說可以通過調整/proc/sys/vm/drop_caches來釋放記憶體.
檢視當前系統的記憶體使用情況和總的記憶體.看到buff/cache是非常大的.頻繁讀寫時檔案,命中率也將提高,必然減小IO時間.
實際上是看可用記憶體的,就是最後一列嘛.free小不代表記憶體不夠用.Swap也是沒有使用的.
檢視 /proc/sys/vm/drop_caches
解釋一下引數drop_caches的引數.
0:不釋放,系統的預設設定,不釋放記憶體.
1:釋放頁快取(頁面快取,頻繁進行讀寫時).
2:釋放dentries和inodes(目錄項,檔案).
3:釋放所有快取.
執行 sync(將dirty的內容寫入磁碟,防止資料丟失).
echo 1 > /proc/sys/vm/drop_caches
釋放完之後改回來,讓系統自動分配記憶體.
echo 0 > /proc/sys/vm/drop_caches(無效的引數)
Linux 核心3.0及以上是無法更改的,重啟可以改回來的.shutdown -r 1
3:Linux檢視端口占用情況.
lsof -i:埠號
4. Linux主機之間互相複製檔案/目錄.
4.1 Linux不同主機之間複製檔案.
本地即將要複製的檔案.
遠端主機複製前的根目錄狀態.
現在是本機複製一個testscp.txt檔案到hw-cloud主機的/root目錄下.
scp是基於ssh登入安全的傳輸,傳輸是加密的.不會提高系統多少負載的.針對很多小檔案也基本不影響系統的正常執行的.
本地主機執行命令如下.
scp -r local_folder [email protected]_ip:remote_folder
scp 本地檔案絕對路徑(path) 遠端主機使用者名稱@IP地址:檔案要存放的路徑(path).
可以看到由於沒有配置免密登入,需要輸入遠端主機的root密碼的.可以看到進度條了.
檢視遠端主機檔案複製結果.檔案複製成功.
加引數-r 就可以遞迴的複製目錄下面的檔案了,也就是演示了複製目錄.
下面測試一下:(準備一下本地即將要複製的測試目錄
scp -r 本次要複製到遠端主機的目錄的絕對路徑 遠端使用者@IP:存放複製來的目錄的絕對路徑.
結果檢視
遠端主機複製到本機目錄下,一樣的方式只是交換一下兩者之間的位置即可.
測試一下:
首先刪除本地目錄的那個testscp目錄,下次遠端複製過來一個目錄.
檢視結果:(上述命令在本機下執行喲)
常用的幾個引數
-q 不顯示傳輸進度條。
-r 遞迴複製整個目錄。
-P port 注意是大寫的P, port是指定資料傳輸用到的埠號 。