第一周——Linux安裝與基礎入門

1. 按系列羅列Linux的發(fā)行版,并描述不同發(fā)行版之間的聯系與區(qū)別。

如今網絡上存在眾多的Linux發(fā)行版,為了更好的判斷各種Linux發(fā)行版的異同,可以通過以下幾個方面進行分析:

  • Desktop Environments(桌面環(huán)境):即為圖形操作界面,如Ubuntu使用的GNOME desktop,Kubuntu使用的KDE。當然也有不使用桌面環(huán)境的Linux發(fā)行版。
  • Package managers(軟件包管理器):每個Linux發(fā)行版背后的人員都可以選擇他們所包括的軟件,用戶便通過軟件包管理器來選擇需要的軟件。在基于Debian的發(fā)行版(如Ubuntu和Linux Mint)上,可以通過apt依賴解析器訪問dpkg(Debian Packager 的簡寫。為 “Debian” 專門開發(fā)的套件管理系統(tǒng),方便軟件的安裝、更新及移除)。對于CentOS則是通過yum命令訪問RPM(Red-Hat Package Manager)。
  • Display servers(顯示服務器):在Linux的底層,我們會找到確定其運行方式的一系列工具,應用程序,進程和服務器。顯示服務器就是一個關鍵的例子。該軟件在計算機硬件和顯示器之間協調數據,使用戶能夠與圖形用戶界面(GUI)進行交互。從歷史上看,X.Org Server 是最常用的。但是,可以使用各種替代方法,例如Mir和在Android(使用Linux內核)上使用的SurfaceFlinger。
  • Goals and aims(目標和宗旨):目的即代表這個發(fā)行版主要的用途,是通用發(fā)行版還是某些特殊用途的發(fā)行版,為用戶實現某種要求;而宗旨即為開發(fā)和設計這個Linux發(fā)行版的目的以及意圖,如Ubuntu的高效易用原則、slackware的KISS原則、Aech Linux的輕量簡潔原則、Gentoo高度可配置性原則等。
  • Open source philosophy(開源哲學):即為此發(fā)行版的項目負責人或團隊對于開源的態(tài)度,和發(fā)行版所采用的開源策略。

Linux主要發(fā)行版的聯系與區(qū)別

Linux各分支發(fā)展歷史參考——http://futurist.se/gldt

圖片引用自陣營九宮格 - 萌娘百科 萬物皆可萌的百科全書 (moegirl.org.cn)

圖中的Linux發(fā)行版從左到右依次是

redhat:即為RedHat enterprise linux ,是紅帽公司的企業(yè)發(fā)行版Linux操作系統(tǒng),紅帽企業(yè) Linux 將提供 10 年的生命周期支持(相比而言,Fedora 只提供 2 年的支持)。通過企業(yè)發(fā)行版可以獲得補丁、更新、升級、專家技術支持,并能訪問相應的培訓和資源(需要支付一定的費用)。與之對應的是社區(qū)發(fā)行版 Fedora Linux(第七版以前為Fedora Core)。Fedora是由Fedora項目社區(qū)開發(fā)、紅帽公司贊助,目標是創(chuàng)建一套新穎、多功能并且自由(開放源代碼)的操作系統(tǒng)。Fedora是商業(yè)化的Red Hat Enterprise Linux發(fā)行版的上游源碼,Fedora大約每六個月發(fā)布新版本。Fedora對于用戶而言,是一套功能完備、更新快速的免費操作系統(tǒng);而對贊助者Red Hat公司而言,它是許多新技術的測試平臺,被認為可用的技術最終會加入到Red Hat Enterprise Linux中。

Debian:由GPL 和其他自由軟件許可協議授權的自由軟件組成的操作系統(tǒng),致力于創(chuàng)建自由操作系統(tǒng),堅守Unix和自由軟件精神。Debian系統(tǒng)目前采用Linux內核或者FreeBSD內核。Linux是一個最初由LinusTorvalds創(chuàng)建,目前由全球成千上萬的程序師共同維護的軟件。FreeBSD是一個包括內核和其它軟件的操作系統(tǒng)。系統(tǒng)的主要特點:穩(wěn)定性、更快更容易的內存管理、大多數的硬件驅動程序是 GNU/Linux 或 GNU/kFreeBSD 用戶們所寫的,而非廠商、良好的系統(tǒng)安全、安全軟件。dpkg 是Debian Packager 的簡寫,為 Debian專門開發(fā)的套件管理系統(tǒng),方便軟件的安裝、更新及移除。dpkg是Debian軟件包管理器的基礎。dpkg與RPM十分相似,同樣被用于安裝、卸載和供給.deb軟件包相關的信息,使用apt命令調用dpkg進行軟件管理

slackware:Slackware 作為較古老的 Linux 發(fā)行版之一相比其他的主流發(fā)行版更希望成為具有“UNIX風格”的那一個,一直以來以簡潔、安全和穩(wěn)定所著稱。其以靈活性和穩(wěn)定性作為主要目標,但是缺少其他linux發(fā)行版本中那些為發(fā)行版定制的配置工具。在當今其他發(fā)行版都在使用 Systemd 作為啟動管理器時,Slackware 依舊使用 BSD 啟動風格,各有優(yōu)劣不做評價。它采用特殊的軟件包管理方式軟件包都是通常以 tgz(tar/gzip) 或者txz(xz)的 格式文件加上 Dialog 界面的安裝腳本進行軟件管理。你可以在安裝的任何時候跳到任何安裝步驟,而且這些腳本在安裝之后也可以很方便的使用,其有意的不處理依賴關系雖然可能會不太方便但避免了自動處理依賴時可能帶來的依賴地獄,因此增加了靈活性。與很多其他的發(fā)行版不同,它堅持 KISS(Keep It Simple Stupid)原則。最典型的表現就是不依賴圖形界面的文本化系統(tǒng)配置,傳統(tǒng)的服務管理方式和不解決依賴的包管理。

CentOS:CentOS Linux發(fā)行版是一個穩(wěn)定的,可預測的,可管理的和可復現的平臺,源于Red Hat Enterprise Linux(RHEL)依照開放源代碼(大部分是GPL開源協議 )規(guī)定釋出的源碼所編譯而成??梢园袰entOS理解為Red Hat AS系列的社區(qū)版,它完全就是對Red Hat AS進行改進后發(fā)布的。各種操作、使用和RHEL沒有區(qū)別。CentOS完全免費,不存在RED HAT AS需要序列號的問題。CentOS獨有的yum命令支持在線升級,可以即時更新系統(tǒng),不像RHEL那樣需要花錢購買支持服務。CentOS修正了許多RHEL的BUG。CentOS主要分為兩個主要版本,CentOS Linux和CentOS Stream版。Linux版每兩年發(fā)行一次,每個版本的系統(tǒng)會提供10年的安全維護支持。Stream版為滾動更新版 ,意味著沒有固定版本號,是動態(tài)更新具體的內容。雖然CentOS一直未改變其根本宗旨,但隨著CentOS加入紅帽后,CentOS的新版本發(fā)布和支持維護時間出現了一些問題。

openSUSE:是一個一般用途的基于Linux內核的GNU/Linux操作系統(tǒng),由openSUSE項目社區(qū)開發(fā)維護,openSUSE對個人來說是完全免費的,包括使用和在線更新, 但是它也在技術資金市場上得到AMD、IP Exchange、B1 Systems GmbH等公司的支持,該項目由SUSE等公司贊助。作為一個開源項目,openSUSE繼承于SUSE Linux Professional。SUSE提供基于openSUSE的企業(yè)級產品SUSE Linux Enterprise。openSUSE項目除了提供一個發(fā)行版,還包括一個Open Build Service,目的是提供一個穩(wěn)定的基礎并讓用戶通過Open Build Service得到更多新的軟件,同時有一個滾動發(fā)行的版本命為Tumbleweed。它采用的KDE5作為默認桌面環(huán)境,同時也提供GNOME桌面版本。它的軟件包管理系統(tǒng)采用RPM和自主開發(fā)的zypper,而且提供了一個管理系統(tǒng)和zypper的特色工具—YaST,這些工具頗受好評。他的用戶界面非常華麗,甚至超越Windows 7,而且性能良好。

Linux From Scratch:不屬于任何一種發(fā)行版,指從網上直接下載源碼,從頭編譯LINUX的安裝方式。按自身需求搭配出適合自己的個性化Linux。安裝LFS不能無中生有,必須有一個可以編譯軟件包的運行中的Linux系統(tǒng)。這個系統(tǒng)一般稱為宿主系統(tǒng)。

Oracle Linux:Oracle Enterprise Linux是由Oracle公司提供支持的企業(yè)級Linux發(fā)行。Oracle以Red Hat Linux做為起始,移除了Red Hat的商標,然后加入了Linux的錯誤修正。形成了Oracle Linux,Oracle Enterprise Linux與Red Hat Enterprise Linux二進制兼容,Oracle Linux與Red hat這個兄弟最大區(qū)別就是OCFS(Oracle Cluster File System)文件系統(tǒng)和基于Xen的OracleVM虛擬化技術。 Oracle Enterprise Linux目前支持x86和x86_64兩種平臺。

archlinux:是一款基于x86-64架構的Linux發(fā)行版。系統(tǒng)主要由自由和開源軟件組成,支持社區(qū)參與。系統(tǒng)設計同樣以KISS原則(Keep it Simple, Stupid)為總體指導原則,注重代碼正確、優(yōu)雅和極簡主義,期待用戶能夠愿意去理解系統(tǒng)的操作。系統(tǒng)定制性強,系統(tǒng)滾動升級,這也就意味著用戶可操作性強但是用戶友好度低。Arch Linux系統(tǒng)安裝、刪除和更新軟件的軟件包管理器叫做pacman,它將一個簡單的二進制包格式和易用的構建系統(tǒng)結合了起來。不管軟件包是來自官方的 Arch 庫還是用戶自己創(chuàng)建,Pacman 都能方便的管理。Pacman 通過和主服務器同步軟件包列表來進行系統(tǒng)更新,這使得注重安全的系統(tǒng)管理員的維護工作成為輕而易舉的事情。這種服務器/客戶端模式可以使用一條命令就下載/安裝軟件包,同時安裝必需的依賴包。

Ubuntu:是一個以桌面應用為主的Linux操作系統(tǒng),Ubuntu基于Debian發(fā)行版和Gnome桌面環(huán)境,而從11.04版起,Ubuntu發(fā)行版放棄了Gnome桌面環(huán)境,改為Unity。Ubuntu提供了一個健壯、功能豐富的計算環(huán)境,既適合家庭使用又適用于商業(yè)環(huán)境。Ubuntu社區(qū)承諾每6個月發(fā)布一個新版本,以提供最新最強大的軟件。自Ubuntu 18.04 LTS起,Ubuntu發(fā)行版又重新開始使用GNOME3桌面環(huán)境。Ubuntu同樣使用dpkg進行包管理。除了標準Ubuntu版本之外,Ubuntu官方還有幾大主要分支,分別是Edubuntu、Kubuntu、Lubuntu、Mythbuntu、Ubuntu MATE,Ubuntu GNOME、Ubuntu Kylin、Ubuntu Studio和Xubuntu。Ubuntu除了支持傳統(tǒng)的x86架構,同時也有針對ARM系列及PowerPC系列處理器的發(fā)行版本。


2. 安裝CentOS和ubuntu操作系統(tǒng),創(chuàng)建一個自己名字的用戶名,并可以正常登錄,將主要步驟截圖。

CentOS

Ubuntu


3. 配置環(huán)境變量,實現執(zhí)行history的時候可以看到執(zhí)行命令的時間。

# 方法一
# 直接執(zhí)行,設置臨時環(huán)境變量的形式使history命令顯示歷史命令執(zhí)行日期、執(zhí)行時間、執(zhí)行的用戶
export HISTTIMEFORMAT="%F %T $(whoami) : "
# 方法2
# 將 HISTTIMEFORMAT 環(huán)境變量寫入用戶對應的shell的配置文件中,每次通過此用戶登錄便會讀取環(huán)境變量。
# CentOS為用戶下的.bash_profile
vim .bash_profile
# Ubuntu為用戶下的.profile
vim .profile
# 方法3
# 將 HISTTIMEFORMAT 環(huán)境變量寫入操作系統(tǒng)對應的配置文件中,相當于設置全局變量,所有用戶的配置均改變。
vim /etc/profile

4. 總結Linux哲學思想。

一切都是文件(包括硬件):這是一種設計理念,Linux把所有的系統(tǒng)資源均抽象為文件形式,在Linux中所有東西都可以通過文件的方式進行訪問。好處是開發(fā)者僅需要使用一套 API 和開發(fā)工具即可調取 Linux 系統(tǒng)中絕大部分的資源。不利之處在于,使用任何硬件設備都必須與根目錄下某一目錄執(zhí)行掛載操作,否則無法使用。

小型,單一用途的程序:一個程序只致力于將一件事做完做好,復雜的任務由眾多單一用途的小程序組合完成。小程序易于用戶理解與維護,減少代碼冗余。同時程序運行時消耗更少的系統(tǒng)資源,有利于與其他程序結合實現更多的功能。

鏈接程序,共同完成復雜的任務:對于復雜的功能Linux通過許多簡單程序的組合等方式實現,在保證簡單功能的高效性的同時,由簡單程序組成的復雜的程序也必然是高效的。

避免令人困惑的圖形界面:用戶界面比較復雜操作系統(tǒng)一旦出現問題無法快速的定位問題。而通過命令行命令行接口執(zhí)行效率更高,無論什么問題都可以通過簡潔的命令行實現排錯、修改系統(tǒng)的配置、易于以編程的方式實現自動化任務。

配置數據存儲在文件:在Linux中所有的配置文件都存放在文本文件中,無論什么配置修改都只需修改其配置文件即可。而不是類似于windows那樣將保存在注冊表中,并且windows的注冊表需要專門的二進制或十六進制的編輯器才可編輯,修改比較復雜。


5. 總結Linux常用命令使用格式,并用實例說明。例如echo、screen、date、ifconfig、export等命令。

# echo命令可以將后面跟的字符進行輸出
echo xxxx
# screen是以為會話管理器,可以實現新建會話,共享會話等
# 新建screen會話
screen –S [SESSION]
# 加入screen會話
screen –x [SESSION]
# 退出并關閉screen會話
exit
# 剝離當前screen會話
# Ctrl+a,d
# 顯示所有已經打開的screen會話
screen -ls
# 恢復某screen會話
screen -r [SESSION]
# date 顯示和設置系統(tǒng)時間
# ifconfig 用于顯示網絡信息
# export 命令用于設置或顯示環(huán)境變量

6. 描述Linux發(fā)行版的系統(tǒng)目錄名稱命名規(guī)則以及用途。

我們知道,本身 Linux 具有一個以根目錄為樹根的文件目錄結構,它們是相互獨立的。如果我們想通過 Linux 上的根目錄找到設備文件的目錄結構,就必須將這兩個文件系統(tǒng)目錄合二為一。

CentOS與Ubuntu系統(tǒng)目錄的異同

相同目錄

  • /boot:主要是存放操作系統(tǒng)的內核及在引導過程中需要使用的文件。其中包括vmlinuz(可引導的、壓縮的內核)、initrd-x.x.x.img(初始虛擬內存盤,用于臨時引導硬件直至實際內核vmlinuz能夠接管并繼續(xù)引導狀態(tài))、System.map(一個特定內核的內核符號表,記錄地址與變量或函數的映射關系)等文件。
  • /data:用戶自行掛載的分區(qū),用于存放數據。
  • /dev :目錄中包含了Linux系統(tǒng)中使用的所有外部設備。但存放的并不是外部設備的驅動程序,而是訪問這些外部設備的端口。我們可以非常方便地去訪問這些外部設備,和訪問一個文件,一個目錄沒有任何區(qū)別。
  • /etc :主要用來存放系統(tǒng)主要的配置文件。
  • /home :每個用戶都擁有一個主目錄。所有用戶的個人文件(配置、數據甚至應用程序)都放在其中。非根用戶的主目錄均存放在其中。
  • /media :是存放自動掛載硬件的目錄。(載點都是由系統(tǒng)自動建立和刪除的)
  • /mnt :是存放手動掛載的硬件的目錄。
  • /opt :用戶級的程序目錄,opt有可選的意思,這里可以用于放置第三方大型軟件(或游戲),當你不需要時,直接rm -rf掉即可。在硬盤容量不夠時,也可將/opt單獨掛載到其他磁盤上使用。
  • /proc :是一種文件系統(tǒng),在運行時訪問內核內部數據結構、改變內核設置的機制。proc文件系統(tǒng)是一個偽文件系統(tǒng),它只存在內存當中,而不占用外存空間。它以文件系統(tǒng)的方式為訪問系統(tǒng)內核數據的操作提供接口。例如系統(tǒng)內核、進程、外部設備及網絡狀態(tài)等。
  • /root :根用戶的主目錄
  • /run :是 “tmpfs”(臨時文件系統(tǒng)),這是一種存儲在內存中的臨時文件系統(tǒng),當機器關閉的時候文件系統(tǒng)自然就被清空了, /run 是各種各樣數據的家園。
  • /srv :主要用來存儲本機或本服務器提供的服務或數據。(用戶主動生產的數據、對外提供服務)
  • /sys :sysfs可以看成與proc,devfs和devpty同類別的文件系統(tǒng),該文件系統(tǒng)是虛擬的文件系統(tǒng),可以更方便對系統(tǒng)設備進行管理。它可以產生一個包含所有系統(tǒng)硬件層次視圖,與提供進程和狀態(tài)信息的proc文件系統(tǒng)十分類似。sysfs 便被掛載在 /sys 下。具體參考Linux 內核/sys 文件系統(tǒng)介紹
  • /tmp :保存在使用完畢后可隨時銷毀的緩存文件。(有可能是由系統(tǒng)或程序產生、也有可能是用戶主動放入的臨時數據、系統(tǒng)會自動清理)
  • /usr :主要存放用戶文件,/usr/local/ 主要存放用戶自行安裝的軟件存放的位置,用戶自己編譯的軟件默認會安裝到這個目錄下。/usr/sbin/ 主要存放非系統(tǒng)開機時需要的軟件/命令/腳本,/usr/share/ 主要存放幫助與說明文件,也可以放置共享文件。/usr/src 系統(tǒng)級的源碼目錄。
  • /var:系統(tǒng)產生的不可自動銷毀的緩存文件、日志記錄。(系統(tǒng)和程序運行后產生的數據、不對外提供服務、只能用戶手動清理)(包括mail、數據庫文件、日志文件)。
  • /lost+found:該目錄是使用標準的ext2/ext3檔案系統(tǒng)格式才會產生的一個目錄,目的在于當系統(tǒng)發(fā)生錯誤時,將一些遺失的片段放置在這個目錄下。

不同目錄

  • /bin :在Ubuntu中,/bin 是存放系統(tǒng)必備的二進制執(zhí)行文件,而 /usr/bin 主要用于存放軟件倉庫提供的二進制執(zhí)行文件,CentOS中的則將二者合二為一,統(tǒng)一存放。
  • /lib :在Ubuntu中, /lib 庫文件目錄 ,包含了系統(tǒng)必備的庫文件,而 /usr/lib 主要用于存放軟件倉庫提供的庫文件,CentOS中的則將二者合二為一,統(tǒng)一存放。
  • /lib64 :/lib64 與 /lib 存放文件一樣,除了架構級別的差異。
  • /sbin :在Ubuntu中, /sbin 是存放根用戶才能訪問系統(tǒng)必備的二進制執(zhí)行文件, /usr/sbin 主要用于存放根用戶才能訪問由系軟件倉庫提供的的二進制執(zhí)行文件,CentOS中的則將二者合二為一,統(tǒng)一存放。
  • /snap :snap是一種全新的軟件包管理方式,它類似一個容器擁有一個應用程序所有的文件和庫,各個應用程序之間完全獨立。snap軟件包一般安裝在/snap目錄下。

參考文檔:

Linux發(fā)行版之間有什么區(qū)別?_GREYWALL-CSDN博客_linux發(fā)行版區(qū)別

Linux簡介和各發(fā)行版介紹 - fengMisaka - 博客園 (cnblogs.com)

linux運行run文件_探索 Linux 上的 /run_Macro kuo的博客-CSDN博客

Linux 內核/sys 文件系統(tǒng)介紹_嵌入精靈-CSDN博客_linux的sys

Linux下的/bin、/sbin、/usr/bin、/usr/sbin目錄的區(qū)別_wuli13141516的博客-CSDN博客

linux基礎知識-文件系統(tǒng)與磁盤分區(qū)_Data Scientist-CSDN博客

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Linux 基礎入門 1、描述計算機的組成及其功能。 計算機的組成包括硬件和軟件,硬件包括CPU(運算器、控制器)...
    面朝大海春暖花開_8121閱讀 309評論 1 0
  • 1、按系列羅列Linux的發(fā)行版,并描述不同發(fā)行版之間的聯系與區(qū)別。 參考資料:1)http://baike.ba...
    Near閱讀 810評論 0 2
  • 1、描述計算機的組成及其功能。 計算機的組成分為兩大部分:硬件系統(tǒng)和軟件系統(tǒng) 一:硬件系統(tǒng)主要組成的五大部分: 控...
    偏愛Liunx的蚊子閱讀 572評論 0 0
  • 一、計算機誕生與發(fā)展 計算機概念:是一種能夠接受和存儲信息,并按照存儲在其他內部的程序對數據進行自動、高速地處理,...
    50bed3e80e33閱讀 684評論 1 1
  • 16宿命:用概率思維提高你的勝算 以前的我是風險厭惡者,不喜歡去冒險,但是人生放棄了冒險,也就放棄了無數的可能。 ...
    yichen大刀閱讀 7,881評論 0 4

友情鏈接更多精彩內容