Windows如此普及,為什麼要學Linux
作為 IT 從業人員,越來越感受到 作業系統對我們的重要性。和網路一樣, Linux 也是 IT 行業的基礎技能。做 Web 前端的朋友也向我請教過網路基礎的學習途徑,並且最近他也在學習 Linux 。做後端程式設計的朋友就更離不開這兩個技能了,開發者需要熟練地使用 Linux 和編寫基本的 Shell 指令碼,並且在開發的過程中也要部署和除錯 Web 的服務,比如 Apache 、 Nginx 、 Tomcat 和 Web 所依賴的資料庫等等,但這些都是需要在 Linux 上操作的。雖然說容器技術的出現已經降低了開發人員配置服務的難度,但為了提升效率,深入學習 Linux 仍然是非常必要的。
我開始學習 Linux 是因為同事在堡壘機上開發的小工具,這個工具可以做到遍歷所有的骨幹網配置,從中提取所需要的資訊。當時覺得很新奇,也去請教過同事,得到的答覆也很簡單,就是透過 find 命令和 grep 等命令查詢前一天半夜備份好的骨幹路由器配置,並且支援正規表示式。他雖然說得簡單,但也激起了我很大的興趣。這些基礎命令在大學期間也學習過,趁此機會也開始了一次深入學習。
在學習 Linux 時,最重要的就是摒棄使用 Windows 時產生的一些固有觀念,第一個就是分磁碟機代號這個問題。在 Windows 電腦中,我們總會把磁碟分成 C 、 D 、 E 等磁碟機代號,並且在插入 U 盤和手機時又會出現其他磁碟機代號。但是在 Linux 中,有一個思想是“一切皆檔案”。在 Linux 裡所見到的一切都是檔案,就算 U 盤插入電腦, U 盤也是一個檔案,如果想讀取它,還需要把 U 盤掛載到一個空目錄裡才行。在 Linux 中,有一個根目錄,用“ / ”表示, Linux 系統中一切檔案都是從這個根開始的,並按照檔案系統層次化標準( FHS )採用樹形結構來存放檔案。 FHS 是一種大家約定俗成並制定出的一個標準,比如 /boot 目錄裡存放的是裝置開機所需要的核心等檔案, /dev 中存放的是以檔案形式存在的裝置與介面,比如硬碟、滑鼠等, /etc 存放的是各個服務的配置檔案,當學習各項服務的配置時少不了造訪這個目錄。 /root 目錄大家也不會陌生,這是 root 使用者的家目錄。普通使用者的家目錄是在 /home/ 下面,正常情況下每個使用者都會有自己的家目錄。 /var 目錄主要用來存放日誌檔案等。還有很多常用目錄,就不一一列舉了。說到目錄,不得不提的還有一個路徑的概念,路徑分為絕對路徑和相對路徑。絕對路徑就是以根目錄 / 開始寫起的檔案或目錄名稱,相對路徑則是相對於當前位置的寫法。從這已經看出來了 Linux 確實和 Windows 有很多不一樣的地方,這些都是在學習過程中需要注意的。
在最開始接觸 Linux 時,一定會感到特別彆扭,並且感覺操作複雜,因為我們已經用慣了 Windows 圖形介面的操作。雖然 Linux 現在有很多的發行版,並配套了很精美且實用的圖形介面,但我們重點學習的仍然是命令列作業系統。當可以熟練使用命令列時,使用效率真的不比圖形介面來得慢,尤其是在企業中使用的 Linux 伺服器,運維人員都是透過 XShell 等 ssh 工具使用命令列進行遠端管理的。其實圖形化的工具很多也是呼叫了指令碼才完成的相應工作,和命令列相比,也缺乏了靈活和可控性。命令列視窗也成為 Shell ,它用來接收並解釋我們輸入的命令,作為我們和系統核心之間的中介。其中我們最常用的是一種叫 Bash 的 Shell 。後面要學習的 Shell 程式設計,也是基於 Bash 的。
俗話說得好,興趣是最好的老師,如果能帶著問題去學習,也一定能提高學習效率。比如有人學習 Linux 是為了建站,有人是為了提高網路安全技能,有人也可能只是為了學習軟路由,讓我堅持學下去的原因也是為了避免公司的閒置伺服器不能物盡其用。有了目標才能學的更好,為了避免走彎路,選擇一個靠譜的書籍也是很有必要的, 書籍可以在網站中免費閱讀,並且有配套的軟體可以下載。
在 Linux 上可以做很多事,比如搭建屬於自己的網站,可以搭建各種服務,比如郵箱、檔案儲存系統等。並且在學習中可以瞭解底層作業系統的工作原理,比如記憶體和磁碟上的資料是如何讀取的,任務排程,驅動裝置的管理,檔案是怎樣管理的。當熟悉 Linux 後才會發現它才是真正的生產力工具。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2761102/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux是什麼系統?為什麼要學習Linux?Linux
- 為什麼要學習Linux?學習Linux有什麼好處?Linux
- 為什麼要學習Linux系統?Linux
- 為什麼學習python要掌握Linux?PythonLinux
- 為什麼要學習Linux?如何學習Linux技術?Linux
- 為什麼要學習Linux雲端計算?新手怎麼學習LinuxLinux
- 為什麼要選擇學習Linux呢?Linux發展如何?Linux
- 【Linux入門第1天】我為什麼要學習LinuxLinux
- 為什麼要學習Netty?Netty
- 為什麼要學習 RustRust
- 為什麼要學習 Julia
- 為什麼要學習 Vim?
- 為什麼要虛擬化,為什麼要容器,為什麼要Docker,為什麼要K8S?DockerK8S
- 為什麼要學Linux作業系統?linux入門基礎教程Linux作業系統
- 我為什麼要學技術
- 為什麼技術必須要學習Linux?Linux發展趨勢如何?Linux
- Python 為什麼如此設計?Python
- 為什麼要謹慎使用Linux find命令?Linux
- 為什麼要學習Python?學習Python可以做什麼?Python
- Python到底是什麼?為什麼要學Python?Python
- Python優勢是什麼?為什麼要學習?Python
- 運維為什麼要學開發?linux運維學習難不難運維Linux
- 為什麼要學資料結構?資料結構
- 我們為什麼要學豐田?
- 普通人為什麼要學python?Python
- 為什麼想成為 Geeker 的人要學習 JSJS
- 為什麼要學習Python?Python可以做什麼事情?Python
- 什麼是Spring Boot?為什麼要學習Spring Boot?Spring Boot
- 為什麼Web3如此重要?Web
- 為什麼 Dapr 如此令人興奮
- 為什麼要學習Linux雲端計算運維?原因竟是“它”!Linux運維
- 一個簡單的字串,為什麼 Redis 要設計的如此特別字串Redis
- Linux是什麼?為什麼推薦學習Linux技術?Linux
- Linux為什麼受歡迎?學習Linux有什麼用?Linux
- 為什麼 2020 還要學 Node.jsNode.js
- 為什麼要學習Go語言呢?Go
- 什麼是前端開發?為什麼要學前端開發?前端
- 初學Linux入門?學習Linux雲端計算要先學什麼?Linux