關註上方 浩道Linux ,回復 資料 ,即可獲取海量 L inux 、 Python 、 網路通訊、網路安全 等學習資料!
前言
大家好,這裏是 浩道Linux ,主要給大家分享 L inux 、 P ython 、 網路通訊、網路安全等 相關的IT知識平台。
在資訊科技日新月異的今天,Linux以其開源、穩定、高效的特性,逐漸成為了眾多專業人士的首選作業系統。然而,關於Linux知識的學習,卻常常陷入一個誤區——許多人認為,掌握Linux就是死記硬背各種命令和參數。這種觀念,不僅忽略了Linux學習的本質,也阻礙了Linux知識的有效套用。事實上, Linux知識不是靠背,而是要在某套用場景下懂得去用。 不信大家可以一起探討下吧!
在實際套用中,Linux知識的運用遠比單純的記憶更為重要。
1、比如大家背得ls命令是用來 列出檔或者目錄,但是平時卻很少有人結合-h和-S參數來,更便於人類辨識,並且將所列出檔 從大到小排序呈現。
[root@haodaolinux01 ~]# ls -lhS
總用量 228M
-rw-r--r--. 1 root root 228M 3月 9 03:17 haodaolinux.tar
-rw-r--r--. 1 root root 73K 4月 1 2002 cmatrix-1.2a.tar.gz
-rwxr-xr-x. 1 root root 4.1K 4月 19 04:05 show_basy.sh
drwxrwxrwx. 2 500 500 4.0K 9月 5 2022 cmatrix-1.2a
-rw-------. 1 root root 1.6K 11月 5 2021 anaconda-ks.cfg
-rwxr-xr-x. 1 root root 81 9月 8 2022 test.sh
-rw-r--r--. 1 root root 7 3月 8 23:20 haodao.txt
-rw-r--r--. 1 root root 0 9月 8 2022 =
-rwxr-xr-x. 1 root root 0 2月 24 2022 test
[root@haodaolinux01 ~]#
2、比如大家背得透過ps命令來檢視行程,但是卻很少有人知道以下這些更適用運維場景的命令。
(1)ps命令結合相關參數及管道符,使得行程按照 記憶體從大到小排列。
ps -e -o "%C : %p : %z : %a"|sort -k5 -nr
(2)ps命令檢視的 按 CPU 利用率從大到小排列的 行程 。
ps -e -o "%C : %p : %z : %a"|sort -nr
(3)ps 尋找當前系統記憶體使用量較高的行程(前20個);
ps -aux | sort -rnk 4 | head -20
(4)ps 查 找當前系統CPU使用量較高的行程(前20個);
ps -aux | sort -rnk 3 | head -20
3、大家都說Linux下一切皆檔,尋找某個檔時猶如大海撈針,顯得十分困難。但是卻忽略了find命令的這些高效用法,利用好這些命令,你尋找檔時,會顯得一切都是手到擒來!
(1)尋找當前目錄下名字為haodao.py的檔;
find . -namehaodao.py
(2)尋找當前目錄下名字以.py結尾的檔;
find . -name "*.py"
(3)尋找當前目錄下名字以.py結尾的檔,並且指定為檔型別搜尋;
find . -type f -name "*.py"
(4)尋找當前目錄下名字包含haodao的目錄;
find . -type d -name "haodao*"
(5)尋找當前目錄下檔許可權為755的對應檔;
find . -type f -perm 755
(6)尋找當前目錄下不具有755許可權的所有檔;
find . -type f ! -perm 755
(7)尋找當前目錄下具有777許可權的所有檔,並且將這些許可權全部改為755;
find . -type f -perm 777 -exec chmod 755 {} \;
(8)尋找當前目錄下檔大小為100MB~1GB的所有檔;
find . -type f -size +100M -size -1G
(9)尋找當前目錄下以.py結尾的檔,並且刪除;
find . -name "*.py" -exec rm -rf {} \;
或
find . -name "*.py" | xargs rm -rf {};
或
rm -rf $(find . -name "*.py")
以上3種快速刪除指定類別檔方法,哪一種更香更好用呢?
(10)尋找當前目錄下30天前修改過的所有檔;
find . -mtime 30
(11)尋找當前目錄下30天前存取過的所有檔;
find . -atime 30
(12)尋找當前目錄下過去1個小時內修改過的所有檔;
find . -mmin -60
(13)尋找當前目錄下過去1個小時內修改過的所有檔;
find . -amin -60
(14)尋找當前目錄下修改超過10天,但修改不到30天的所有檔;
find . -mtime +10 -mtime -30
(15)尋找當前目錄下7天前建立的,並且字尾名是以.py結尾的檔,並且進行刪除;
find . -mtime +7 -name "*.py" | xargs rm -rf {};
(16)尋找當前目錄大於1000M的檔,並將該檔移動到/root/home目錄下;
find . -size +1000M -exec mv {} /root/home ;
(17)尋找當前目錄下建立於30天前,大小大於1000M,以.py結尾的檔,並且進行刪除;
find . -name "*.py" –mtime +30 –type f –size +1000M |xargs rm –rf {};
4、大家印象中只知道cat命令可以檢視檔內容,但是卻很少知道cat命令還能這麽用的。
(1)檢視有幾個邏輯cpu, 包括cpu型號;
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
(2)檢視有幾顆cpu,每顆分別是幾核;
cat /proc/cpuinfo | grep physical | uniq -c
5、當需要大檔進行某個場景測試時,好多首先想到的就是把windows上拷貝一個大檔到Linux系統,卻不知道透過dd命令,只需簡單命令即可實作本地建立大檔。
(1) 借助dd命令生成大檔。
dd if=/dev/zero of=/root/haodaolinux/test.txt bs=1M count=1024
上述命令,在 /root/ haodaolinux目錄下 生成一個檔名為test.txt 大小為 1G 的檔。
如果大家還覺得dd命令玩得不過癮,可以看看以下這篇針對dd命令的詳解
6、大家都知道透過vi等編輯工具,可以編輯檔中任何內容。但是卻不懂利用sed命令可以快速編輯所需的特定內容。
(1)如何透過sed命令將檔test.py中的haodao全部替換成HAODAO;
sed -i "s/haodao/HAODAO/g" test.py
(2)替換haodao.py檔中的目錄;
sed -i "s:/etc/dhcp:/home:g" haodao.py
即表示將haodao.py檔中的/etc/dhcp目錄替換成/home目錄。
如果大家還想了解sed相關高效命令,可以前往以下這篇針對sed命令詳解的文章看看~
7、大家都知道tcpdump命令是用來抓包的,但是卻很少有人這樣高效抓包分析。
(1)針對網口ens33抓取不限制大小的報文,保存為檔haodao.cap;
tcpdump-iens33-s 0 -whaodao.cap
(2)針對網口ens33進行抓包,過濾出 icmp 報文並且源 IP 地址是 192.168.20.231的相關報文;
tcpdumpicmpandsrc 192.168.20.231-iens33-n
(3) 針對網口ens33進行抓包,過濾出源 IP 地址是 192.168.20.231的相關報文;
tcpdumpsrchost 192.168.20.231-iens33-n-c 5
(4)針對網口ens33進行抓包,過濾出目的 IP 地址是 192.168.20.231的相關報文;
tcpdumpdsthost 192.168.20.231-iens33-n-c 5
(5)針對網口ens33進行抓包,過濾出埠號是 8080 的相關報文;
tcpdump port 8080 -i ens33 -n -c 5
(6)針對網口ens33進行抓包,過濾出 80埠到443埠 的相關報文;
tcpdump portrange 80-433 -i ens33 -n -c 8
如果真心想研究tcpdump相關高效抓包命令,可以看看這篇針對tcpdump工具使用的詳解~
8、好多小夥伴都知道Nginx伺服器,但是卻很少有人能夠講得明白關於它的具體使用場景,如果感興趣,可以移步去看看這篇超過2萬字的Ngnix文章,透過實驗帶你了解nginx7大使用場景,根本不用背就可以掌握。
9、好多小夥伴學習Linux時,實驗環境下把防火墻相關服務一關就順利進行,但是實際運維工作環境中,防火墻使用方面相關的知識還是很重要的,所以掌握Linux下iptables和firewalld相關操作技巧是十分必要的,如果你想快速掌握,可以挪步看看以下兩篇關於防火墻知識的詳解。
10、好多運維或測試小夥伴,都了解Jenkins如何牛逼,卻很少能夠自己靜下心來做一遍實驗,跑通程式碼自動打包釋出編譯的整個流水線操作。如果你真想去學習,可以看看這篇稱為全網最強且手把手教的教程了!
11、其實Linux下有好多工具可以供我們使用解決很多問題,浩道真心推薦以下這些工具,大家可以好好去學習使用,你會發現他們是真的香!
12、大家都知道Linux運維中shell指令碼十分重要,透過shell指令碼,可以減少很多人工不必要的且重復繁雜的工作量,然而想要提升shell編程能力,光靠背是不可能會的,靠的是平時多敲敲程式碼,積累編碼程式碼能力,這個確實沒有什麽好說的。這裏推薦大家學習以下全網最經典的幾百條shell指令碼,學習請移步下篇。
13、隨著各個業務量增大,集群環境下相關運維工作也是大家平時經常接觸的,因此搞懂高可用相關知識點就顯得十分重要了,這裏推薦大家學習一波Keepalived+MySQL的高可用配置。
14、業務量大的平台,監控是繞不開的一個運維話題,做好監控,一切運維都會顯得輕松,就看你有沒有興趣將監控體系搞好了,監控做得好,日常吃雞真不是夢,這裏強烈推薦的監控系統Prometheus,大家可以參考學習一番。
15、最後再說關於k8s相關的學習,當下也是一個非常熱的知識體系,這個靠背的話只能永遠停留在理論階段,最直接最有效就是要在實驗中去使用去排錯去總結。
透過以上列舉一些知識點,真的發現光靠死記硬背是學不來的,都是靠在實際工作中去摸索去積累得出的經驗。當然,每個人學習方法不一樣,但是經驗應該都是通用的。
學習Linux,首先要理解其背後的設計理念與哲學。Linux不僅僅是一個作業系統,更是一種開放、協作的精神體現。它鼓勵使用者根據自己的需求去客製和最佳化系統,而非被固定的操作模式所束縛。因此,學習Linux,更應該是一種思維方式的轉變,而非簡單的記憶過程。
在實際套用中,Linux知識的運用遠比單純的記憶更為重要。例如,在系統維護中,我們需要根據具體的硬體配置和軟體環境,靈活選擇適當的命令和工具。在網路安全領域,Linux提供了豐富的防火墻和入侵檢測工具,但如何配置和使用這些工具,則依賴於我們對Linux安全機制的深入理解。此外,在軟體開發、雲端運算等領域,Linux都發揮著不可替代的作用。這些領域的套用,都需要我們結合具體場景,靈活運用Linux知識。
強調Linux知識的實踐套用,並不意味著我們可以忽視基礎知識的學習。相反,紮實的基礎是有效套用的前提。我們需要掌握Linux的基本命令、檔案系統結構、網路配置等基礎知識,但這些知識的掌握,應該建立在理解其原理和套用場景的基礎上。只有這樣,我們才能在遇到實際問題時,迅速找到解決方案,而不是死記硬背一堆無用的命令。
此外,隨著技術的不斷發展,Linux也在不斷更新和演進。新的功能、新的工具不斷湧現,這就要求我們保持持續學習的態度,不斷跟進Linux的最新發展。這種學習,不再是簡單的記憶,而是一種對新技術、新套用的探索和實踐。
不知道朋友們看完有什麽想法,歡迎評論區留言,大家一起討論,共同進步!
更多精彩
關註公眾號 「 浩道Linux 」
浩道Linux ,專註於 Linux系統 的相關知識、 網路通訊 、 網路安全 、 Python相關 知識以及涵蓋IT行業相關技能的學習, 理論與實戰結合,真正讓你在學習工作中真正去用到所學。同時也會分享一些面試經驗,助你找到高薪offer,讓我們一起去學習,一起去進步,一起去漲薪!期待您的加入~~~ 關註回復「資料」可 免費獲取學習資料 (含有電子書籍、視訊等)。
喜歡的話,記得 點「贊」 和 「在看」 哦