iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 22
2
Modern Web

菜鳥後端工程師的第一門課系列 第 22

[Day22] Linux 介紹與基礎指令

2022 Medium 新版傳送門

Linux 介紹與基礎指令

linux
Linux 是一種非常重要的作業系統,也是目前開發者最常使用的作業系統,
相同等級的作業系統則像是 Window, MacOs 等等...
Linux 是一種 Unix 生態系的作業系統,MacOS 也是屬於同樣生態系,
因此兩個作業系統許多操作方式和邏輯非常雷同,
Window 則是自成一格,因此操作方式較為不同。

為什麼 Linux 那麼重要呢? 
因為這個作業系統具有『自由軟體』與『開放原始碼』兩個特性,
因此 Linux 的設定彈性非常大,非常適合開發者做各項調整嘗試,
許多專門給開發者使用的軟體工具,
也是在 Linux 有較高的適應性。
許多大型網站的主機,都是使用 Linux 作業系統去管理。
再來有許多最新的功能也是在 Linux 上有最早的支援開發,
因此好作業系統,不學嗎?

最後一點,Linux有一個很重要的特性,則是常常會有所謂“無GUI 介面”,
許多網站為了節省成本,就使用非常低效能的伺服器,
事實也是因為,只需要那麼低也可以跑得起來。
但是仍有操作執行指令的的需求,因此很多狀況是『只能透過』指令來操作作業系統,
不像是我們有右鍵可以按,有軟體可以執行,
因為這麼低效能的機器,是執行不了需要圖形化介面的作業系統的!

Linux OS 類別

Linux 的生態性因為開放緣故,
因此有許多不同的組織、公司,針對 Linux 做出不同的客製化發行版,
而較知名,目前許多商用 web 伺服器選用的發行版有以下三個:
Ubuntu、CentOs、Debian,
筆者會幫大家整理,比較這三個發行版的差異。

Ubuntu

ubuntu

Ubuntu 是個非常適合新手入門 Linux OS 的發行版,
它操作指令簡易、更新快速、並且免費被使用,
並且有提供 “ apt-get ” 這個方便的套件管理軟體,
讓開發者能輕鬆設定不同語言的開發方式。
另外 Ubuntu 的教學資源非常龐大,
遇到問題,網路上都有許多的資源提供解方。
許多公司一開始的 Web 伺服器都是先使用 Ubuntu 管理。

但也因為更新快速的緣故,Ubuntu 的系統不算太穩定,
另外由於讓新手使用者能快速學會,
包裝好了許多功能與設定,因此彈性較其他 Linux 發行版差了些。

CentOs

https://secure.gravatar.com/avatar/11177a887aefcbb1ef9dbeadd8579074.jpg?s=512&r=g&d=mm
CentOs 相較 Ubuntu ,是個非常穩定的 Linux 發行版,
它是從 Red Hat Enterprise Linux (RHEL) 延伸出的發行版,
而 RHEL 本身就是付費的企業用 Linux,
因此他的更新速度較慢,因為他要確保系統本身的穩定度。
穩定度是大型商用網站考慮很重要的參數,
因此許多網站在流量成長,需要升級伺服器的時候,
會換選用 CentOs 來作為他們機器的作業系統,尤其在 CentOs 也是免費的情況下。
最後,CentOs 也支援 Cpanel 這個可以說是作業系統的圖形化操作軟體,
方便非工程師人員設定 CentOs。

但也因為這個商用需求,面對科技新玩具的對應速度也慢了些,
另外對應的技術團隊支援也較差,
而對應 apt-get 的套件管理工具功能性也稍弱一點。

Debian

http://www.debian.org.tw/images/jessie.jpg
Debian 其實是非常早誕生的 Linux 發行版,
像 Ubuntu 也是基於 Debian 延伸設計出的發行版,
他的特性也是非常穩定的一個 Linux 發行版,
最近 Google 也把旗下一些服務伺服器的作業系統,換成了 Debian,
並且在目前為止,世界前一千萬的網站,已經有 31.9% 使用 Debian ,
Debian 上也有非常多的套件工具可以使用,因此使用的趨勢日漸成長。

不過 Debian 最讓人詬病的,就是他較為複雜的操作方式,
對於新手來說,學習的曲線稍微高了些。
另外他的網路學習資源,相對 Ubuntu 也較少,更新的速度也沒那麼快速。

Linux 基礎指令

今天會先講幾個最簡單,Mac Oc 也通用的 Linux 指令,
希望讀者能快速理解 Linux 的使用。
Linux 的指令需要透過 “Terminal ”這個軟體執行,

ls

ls 是用來陳列某目錄下所有檔案的指令

$ ls

https://ithelp.ithome.com.tw/upload/images/20181105/20107758jeGsr6rv1x.png

ls -lh 可以看到更清楚的檔案資料

$ ls -lh

https://ithelp.ithome.com.tw/upload/images/20181105/20107758u7ibo7LVyA.png

cd

cd 是用來從當前的目錄移動到另一個目錄,
因為有些指令或套件的安裝,要在特定的目錄下執行。

$ cd 你的資料夾名稱

https://ithelp.ithome.com.tw/upload/images/20181105/20107758e4FQfMQWMq.png

cd .. 和 cd 後不加任何字的寫法,是回上一層的意思,
不過區別在於,一個往上一層,一個回到根目錄

$ cd 

https://ithelp.ithome.com.tw/upload/images/20181105/20107758JfEE2MYq7m.png

$ cd ..

https://ithelp.ithome.com.tw/upload/images/20181105/20107758KlChKI5r7w.png

mkdir

mkdir 是透過用來建立資料夾的指令,
不然沒有右鍵就無法建立資料夾是很愚蠢的事情 XDD

$ mkdir 要建立的資料夾名稱

https://ithelp.ithome.com.tw/upload/images/20181105/20107758eNOV4PAH7J.png

touch

最後是建立檔案的指令,
同樣是在無右鍵環境,解救蒼生的存在。

$ touch 要建立的檔案名稱 

https://ithelp.ithome.com.tw/upload/images/20181105/20107758sGZTiX3sbm.png

如果有任何問題,或是指證文中的錯誤,歡迎寄信給我或留言在下面喔~


上一篇
[Day21] Route 路由
下一篇
[Day23] Linux 進階指令
系列文
菜鳥後端工程師的第一門課30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言