1. 程式人生 > >Linux常用命令總結(詳細圖解演示二)

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是指定資料傳輸用到的埠號 。