Linux命令大全分享

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

本篇文章扣丁學堂Linux培訓小編給大家分享一下Linux開發技能的命令,掌握好了Linux開發方面的命令就能更好的操作Linux開發,對Linux開發感興趣或者是想要學習Linux開發技能的小夥伴下面就隨小編一起來了解一下Linux的命令大全吧。

扣丁學堂Linux培訓之Linux命令大全分享

技巧1、檢查帶寬

設想:公司A有一個名為ginger的存儲服務器,並通過名為beckham的客戶端節點裝載NFS。公司A確定他們需要從ginger得到更多的帶寬,因為有大量的節點需要NFS裝載ginger的共享文件系統。

做到此操作的最常用和最便宜的方式是將兩個吉比特以太網NIC組合在一起。這是最便宜的,因為您通常會有一個額外的可用NIC和一個額外的端口。

所以採取此這個方法。不過現在的問題是:到底需要多少帶寬?

吉比特以太網理論上的限制是 128MBit/s。這個數字從何而來?看看這些計算:

1Gb = 1024Mb;1024Mb/8 = 128MB;”b” = “bits,”、”B” = “bytes”

但實際看到的是什麼呢,有什麼好的測量方法呢?我推薦一個工具 iperf。可以按照以下方法獲得 iperf:

# wget http://dast.nlanr.net/Projects/Iperf2.0/iperf-2.0.2.tar.gz

需要在 ginger 和 beckham 均可見的共享文件系統上安裝此工具,或者在兩個節點上編譯並安裝。我將在兩個節點均可見的 bob 用戶的主目錄中編譯它:

tar zxvf iperf*gz

cd iperf-2.0.2

./configure -prefix=/home/bob/perf

make

make install

在 ginger 上,運行:

# /home/bob/perf/bin/iperf -s -f M

這台機器將用作服務器並以 MBit/s為單位輸出執行速度。

在beckham節點上,運行:

# /home/bob/perf/bin/iperf -c ginger -P 4 -f M -w 256k -t 60

兩個螢幕上的結果都指示了速度是多少。在使用吉比特適配器的普通服務器上,可能會看到速度約為 112MBit/s。這是 TCP 堆棧和物理電纜中的常用帶寬。通過以端到端的方式連接兩台服務器,每台服務器使用兩個聯結的以太網卡,我獲得了約220MBit/s的帶寬。

事實上,在聯結的網路上看到的NFS約為150-160MBit/s。這仍然表示帶寬可以達到預期效果。如果看到更小的值,則應該檢查是否有問題。

最近碰到一種情況,即通過連接驅動程序連接兩個使用了不同驅動程序的NIC。這導致性能非常低,帶寬約為20MBit/s,比不連接以太網卡時的帶寬還小。

技巧2、 命令行腳本和實用程序

Linux系統管理員通過使用權威的命令行腳本會變得更高效。這包括巧妙使用循環和知道如何使用awk、grep和sed等的實用程序解析數據。通常這可以減少擊鍵次數,降低用戶出錯率。

例如,假設需要為即將安裝的Linux集群生成一個新的/etc/hosts 文件。一般的做法是在vi或文本編輯器中添加 IP 地址。不過,可以通過使用現有/etc/hosts文件並將以下內容追加到此文件來做到。在命令行上運行:

# P=1; for i in $(seq -w 200); do echo “192.168.99.$P n$i”; P=$(expr $P + 1);

done >>/etc/hosts

200個主機名(n001 到 n200)將由IP地址(192.168.99.1到192.168.99.200)來創建。手動填充這樣的文件有可能會創建重復的 IP 地址或主機名,因此這是使用內置命令行消除用戶錯誤的好例子。請注意,這是在bash shell(大多數Linux發行版的默認值)內完成的。

再舉一個例子,假設要檢查Linux集群中的各個計算節點中的記憶體大小是否一樣。通常,擁有一個發行版或類似的shell是最好的。但是為了演示,以下使用SSH。

假設SSH設置為不使用密碼驗證。然後運行:

# for num in $(seq -w 200); do ssh n$num free -tm | grep Mem | awk ‘{print $2}’;

done | sort | uniq

這樣的命令行相當簡潔。(如果在其中放入正則表達式情況會更糟)。讓我們對它進行細分,詳細討論各部分。

首先從001循環到200。使用seq命令的-w選項在前面填充0。 然後替換 num 變量,創建通過SSH連接的主機。有了目標主機後,向它發出命令。本例中是:

free -m | grep Mem | awk ‘{print $2}’

這個命令的意思是:

使用 free 命令獲取以兆字節為單位的記憶體大小。

獲取這個命令的結果,並使用grep獲取包含字符串Mem的行。

獲取那一行並使用awk輸出第二個字段,它是節點中的總記憶體。

在每個節點上執行這個操作。

在每個節點上執行命令後,200個節點的整個輸出就傳送(|d)到sort命令,以對所有記憶體值進行排序。

最後,使用uniq命令消除重復項。這個命令會導致以下情況中的一種:

如果所有節點(n001到n200)擁有相同的記憶體大小,則只顯示一個數字。這個數字就是每個操作系統看到的記憶體大小。

如果節點記憶體大小不同,將會看到幾個記憶體大小的值。

最後,如果某個節點上的SSH出現故障,則會看到一些錯誤消息。

這個命令並不是完美無缺的。如果發現與預期不同的記憶體值,您就不知道是哪一個節點出了問題,或者有多少個節點。為此需要發出另一個命令。

這個技巧提供了一種查看某些內容的快速方式,而且如果發生錯誤,您可以立刻知道。其價值在於快速檢查。

以上就是扣丁學堂linux在線學習小編給大家分享的Linux命令大全分享,希望對小夥伴們有所幫助,想要了解更多內容的小夥伴可以登錄扣丁學堂官網咨詢。想要學好linux開發小編給大家推薦口碑良好的扣丁學堂,扣丁學堂有專業老師制定的linux學習路線圖輔助學員學習,此外還有與時俱進的linux課程體系和linux系統入門學習視頻教程供學員觀看學習,想要學好linux開發技術的小夥伴快快行動吧。

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!