成為進階Linux大佬的第一步
- 一、作業系統
- 1、作業系統為介面的示意圖
- 2、不同領域的主流作業系統
- 桌面作業系統
- 服務器作業系統
- 嵌入式作業系統
- 移動設備作業系統
- 3、虛擬機
- 二、作業系統的發展史
- 1、Unix
- 2、Minix
- 3、Linux
- 三、Linux版本
- 1、Linux內核版本
- 2、Linux發行版本
- 四、Linux常見命令
一、作業系統
1、作業系統為介面的示意圖
沒由安裝作業系統的計算機,被稱為 裸機,
- 如果在 裸機 上運行自己所撰寫的程式,就必須用計算機語言書寫程式,
- 如果計算機上安裝了作業系統,就可以在作業系統上安裝支持的高級語言環境,用高級語言開發程式,
2、不同領域的主流作業系統
桌面作業系統
- windows系列
用戶群體大 - macOS
適合開發人員 - Linux
應用軟體少
服務器作業系統
- Linux
- 安全、穩定、免費
- 占有率高
- Windows Server
- 付費
- 占有率低

嵌入式作業系統
- Linux
移動設備作業系統
- IOS
- Android(基于Linux)
3、虛擬機
虛擬機指通過軟體模擬的具有完整硬體功能的、運行在一個安全隔離環境中的完整計算機系統,
- 虛擬系統通過生成現有的作業系統的全新虛擬鏡像,具有真實作業系統完全一樣的功能
- 進入虛擬系統后,所有作業系統都是在這個全新的獨立的虛擬環境里面運行,可以獨立安裝進行安裝進行軟體,保存資料,擁有自己的獨立桌面,不會對真正的系統產生任何影響
- 而且能夠在現有系統與虛擬鏡像之間靈活切換的一類作業系統
二、作業系統的發展史
1、Unix
1965年之前的時候,電腦并不像現在一樣普遍,它可不是一般人能碰的起的,除非是軍事或者學院的研究機構,而且當時大型主機至多能提供30臺終端(30個鍵盤、顯示幕),連接一臺電腦,

為了解決數量不夠用的問題
- 1965年左后由貝爾實驗室加入了麻省理工學院以及通用電氣合作的計劃–該計劃要建立一套多使用者(multi-user)、多任務(multi-processor)、多層次(multi-level)的MULTICS作業系統,想讓大型主機支持300臺終端
- 1969年前后這個專案進度緩慢,資金短缺,貝爾實驗室退出了研究
- 1969年從這個專案中退出的 Ken Thompson 當時在實驗室無聊時,為了讓一臺空閑的電腦上能夠運行"星際旅行(Space Travel) "游戲,在8月份左右趁著其妻子探親的時間,用了1個月的時間,使用匯撰寫出了Unix作業系統的原型
- 1970年,美國貝爾實驗室的 Ken Thompson,以BCPL語言為基礎,設計出很簡單且很接近硬體的B語言(取BCPL的首字母) ,并且他用B語言寫了第一個UNIX作業系統
- 1971年,同樣酷愛·星際旅行(Space Travel) 的Dennis M.Ritchie為了能早點兒玩上游戲,加入了Thompson 的開發專案,合作開發UNIX,他的主要作業是改造B語言,因為B語言的跨平臺性較差
- 1972年,Dennis M.Ritchie 在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言
- 1973年初,C語言的主體完成,,Thompson 和Ritchie 迫不及待地開始用它完全重寫了現在大名鼎鼎的Unix作業系統

C語言
- 在把UNIX移植到其他型別的計算機上使用時,C語言強大的移植性(Portability)在此顯現
- 機器語言和匯編語言都不具有移植性,為x86開發的程式,不可能在Alpha、SPARC和ARM等機器上運行
- 而c語言程式則可以使用在任意架構的處理器上,只要那種架構的處理器具有對應的C語言編譯器和庫,然后格C源代碼編譯、連接成目標二進制檔案之后即可運行
2、Minix
- 因為AT&T (通用電氣) 的政策改變,在Version 7 Unix 推出之后,發布新的使用條款,將UNIX源代碼私有化,在大學中不再能使用UNIX源代碼
- Andrew S.Tanenbaum (塔能鮑姆)教授為了能在課堂上教授學生作業系統運作的細節,決定在不使用任何AT&T的源代碼前提下,自行開發與UNIX兼容的作業系統,以避免著作權上的爭議以小型UNIX (mini-UNIX)之意,格它稱為MINIX
3、Linux
- 1991年林納斯(Linus)就讀于赫爾辛基大學期間,對Unix產生濃厚興趣,嘗試著在Minix上做一些開發作業
- 因為Minix只是教學使用,因此功能并不強,林納斯經常要用他的終端仿真器(Terminal Emulator)去訪問大學主機上的新聞組和郵件,為了方便讀寫和下載檔案,他自己撰寫了磁盤驅動程式和檔案系統,這些在后來成為了Linux第一個內核的雛形,當時,他年僅21歲!
- 林納斯利用GNU的bash當做開發環境, qcc當做編譯工具,撰寫了Linux內核,一開始Linux并不能兼容Unix
- 即Unix上跑的應用程式不能在Linux上跑,即應用程式與內核之間的介面不一致
- 一開始Linux只適用于386,后來經過全世界的網友的幫助,最終能夠兼容多種硬體

三、Linux版本
1、Linux內核版本
- 內核(kernel)是系統的心臟,是運行程式和管理像磁盤和列印機等硬體設備的核心程式,它提供了一個在視設備與應用程式間的抽象層
- Linux內核版本又分為穩定版和開發版,兩種版本是相互關聯,相互回圈
- 穩定版:具有工業級強度,可以廣泛地應用和部署,新的穩定版相對于較舊的只是修正一些bug或加入一些新的驅動程式
- 開發版:由于要試驗各種解決方案,所以變化很快
- 內核原始碼網址: http//www.kernel.org.
2、Linux發行版本
- Linux發行版(也被叫做GNU/Linux發行版)通常包含了包括桌面環境、辦公套件、媒體播放器、資料庫等應用軟體
- 常見的發行版本如下
- Ubuntu
- Redhat
- Fedora
- opensUSE
- Linux Mint
- Debian
- Manjaro
- Mageia
- Centos
- Arch
四、Linux常見命令
[root@localhost ~]#
其中,root代表當前是管理員身份登錄,lacalhost是當前主機名稱,# 表示為管理員登錄,$ 表示為普通用戶登錄,
- 切換用戶
su 用戶名 #切換后所在目錄不變
su - 用戶名 #切換后所在目錄變成用戶家目錄
- 查看當前主機的完整名稱
hostname
- 臨時設定主機名
hostname 主機名
- 永久設定主機名
hostnamectl set-hostname 主機名
或
vi /etc/hostname(設定完后需重啟系統才生效)
按i鍵先洗掉舊主機名,再輸入新主機名(只有第一行有效)
按ESC鍵,再按SHIFT + “:” 組合鍵,輸入 wq ,再按回車鍵退出
- 查看當前系統版本資訊
cat /etc/redhat-release
或
cat /etc/*release
- 查看當前內核版本
uname -r
- 臨時修改網卡IP
ifconfig ens33 192.168.80.3/24
或
ifconfig ens33 192.168.80.3 netmask 255.255.255.0
- 永久修改網卡IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet #設定網卡型別,“Ethernet”表示以太網
DEVICE=ens33 #設定網卡的名稱
ONBOOT=yes #設定網卡是否在 Linux 作業系統啟動時激活
BOOTPROTO=static #設定網卡的配置方式,“static”表示使用靜態IP地址,“dhcp”時表示動態獲取地址
IPADDR=192.168.80.3 #設定網卡的 IP 地址
NETMASK=255.255.255.0 #設定網卡的子網掩碼
GATEWAY=192.168.80.2 #設定網卡的默認網關地址
DNS1=192.168.80.2 #設定DNS服務器的 IP 地址
- 重啟網卡
systemctl restart network #重啟所有的網卡
ifdown ens33 ; ifup ens33
ifdown ens33 #關閉某個網卡
ifup ens33 #啟動某個網卡
ifconfig ens33 down #臨時禁用某個網卡
ifconfig ens33 up #重新激活某個網卡(不會更新IP地址)
- 查看網卡地址
ifconfig
或
ip a
- 測驗網路連接
ping
traceroute (靜態跟蹤)
mtr (動態跟蹤)
- 重啟系統
reboot
init 6
shutdown -r now
- 關機
poweroff
shutdown -h now
init 0
- 給命令列提示字符加顏色
PS1="\[\e[1;35m\][\u@\h \W]\\$\[\e[0m\]"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/249839.html
標籤:其他
