linux基礎知識

第一周基礎知識作業

序:

第一次寫博客,就先嘮叨下,嘻嘻。本人之前是做機房運維工作的,大專畢業,專業學的是法律,之后轉行進的網絡培訓班,開始了IT生涯,其實計算機基礎是相當薄弱的,呵呵。機房運維工作就是搬機器,布網線,調設備,裝系統,能遠程連上,剩下的事情就不用你管了,當下云計算的盛行,傳統IDC勢必要被淘汰的,也怪自己的主觀意識沒有加強,以至于浪費了七八年的大好青春、最佳學習時間和機會。偶然的機會看到了馬哥,幡然醒悟,好像找到了以后奮斗的路,別人說30歲左右的工作基本上就決定了你今后的路,也是自己本身就對Linux感興趣,故決定一掃眼前陰霾,一條道走到黑,哈哈。也希望各位大大、大神們多多指教,共同學習,共同分享。生生不息,學習不止。

正文:

1、? 描述計算機的組成及其功能。

計算機有五大部件組成,也叫馮諾依曼體系,雖然我不認識他,呵呵。其中包括CPU(存儲器和控制器),內存(調取指令數據并存儲排列),硬盤(存儲數據媒介),I/O設備(輸入輸出信息,與用戶進行交互的設備)。下面以圖為例簡單說明下各部件的功能。(沒有計算機理論基礎,如有不對的地方請大神們多多指教,日后必惡補之。)

CPU

CPU與內存組成了計算機的系統管理體系,程序是由指令和進程組成的,進程是有生命周期的二進制運行程序,CPU可以理解為是指令的集合,調用指令并進行運算,控制其各個進程的順序排列和運行進退,其指令暫存于內存中,程序數據又都存儲在硬盤中。故用戶通過I設備(IN,如鍵盤,鼠標等)根據需求操作,CPU得知到后(這里有個操作系統的概念,稍后再做解釋),控制相關指令進行運算,并將其結果通過O設備(OUT,如顯示器,打印機等)反映給用戶,即完成計算機運行。

這里有個操作系統的概念,我也簡單講下,不對的地方,請多指教,多重復幾遍,以免自己以后忘了,呵呵。

OS

操作系統是由kernel組成的,其作用有驅動管理,文件管理,安全管理,進程管理,網絡管理等,是用戶與硬件達成交互的渠道,其在kernel之上要運行程序需有syscall(系統調用,也是存在于kernel之中)來完成,但由于各個OS的版本及架構的CPU不同,又在kernel中完成了libcall(庫調用)以便各程序在不同的OS中能夠運行,與用戶完成完美交互,也方便了程序員的開發,libcall之上就是我們所看到的程序。這里還有個概念就是機器語言,匯編語言,編譯,編譯器等,稍后再做解釋。

 

2、? 按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。

Linux系統是遵循GPL(GNU General Public License)規則的,即開源軟件(軟件源代碼),可自由編寫,修改,并發布,但也要遵循GPL規則。有些公司及社區在Linux內核的基礎上將一些服務與工具寫入到內核中并發行,當然也是遵循GPL規則的,但是服務出了問題,社區版由黑客大大們進行維護修改,這是免費的,但不穩定,發行版則是由發行商進行有償服務,保證其系統的穩定性。也分有個人版和企業版之說。

目前主流的Linux發行版大致分為三大公司的產品,Debian,Slackware,RedHat。Debian旗下有Ubuntu,Knopix,Slackware旗下有S.u.S.E,S.u.S.E下又有Opensuse,RedHat旗下有Fedora,CentOS,基本上歐洲大陸用的比較多的是Debian和S.u.S.E的版本,美國和中國用的RedHat較多,當然還有Gentoo,ArchLinux等上百種Linux系統。版本發行有版本號,X.Y.Z,X代表主版本號,Y代表次版本號,Z代表修訂版本號,其為奇數是修訂版,為偶數是穩定版。

 

3、? 描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述。

Linux的哲學思想大分有四:

其一、一切皆文件,即把系統上的所有資源幾乎統統以文件的形式進行表示,包括硬件設備,外聯設備,鏈接設備等,都是已文件的形式保存,用戶可進行訪問與查詢,修改其配置文件,達到需求。

其二、Linux由眾多功能單一的程序組成,且每個程序只做一件事,并做好。這就大大劃分了系統上的管理,用戶可修改配置文件來更改自己對程序的需求,也可據源代碼做二次開發,各程序間互不影響。

其三、盡量避免與用戶交互,編寫程序達到自動化任務。Linux提供了很好的API(Application Programe Interface)接口,可在其環境下(shell環境,也是一個庫調用,分有bash,csh,zsh,tcsh,ksh等),根據用戶的需求進行腳本編寫,或程序開發,以完成自動化任務,節約成本,方便管理。

其四、使用文本文件保存配置信息。用戶修改程序或服務參數,可參考其配置文件進行,而文件是以文本形式進行存儲,這就提高了方便性,最主要的是靈活性,用戶可修改配置文件之后以保存,在下次啟動服務之后自動加載文件以到達需求目的。

 

4、? 說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例來闡述。

Linux系統與用戶進行交互提供了兩種界面,GUI和CLI,GUI包括GNmoe,KDC圖形界面,CLI包括shell,bash,csh,Tcsh等環境,其命令行方式為[user@host ~]#($):COMMAND OPTIONS ARGUMENTS,user表示當前登錄用戶,@分隔符,host表示登錄主機,~表示當前目錄,或工作目錄,#表示管理用戶登錄,具有管理權限,$表示普通用戶登錄,不具有管理類權限,COMMAND命令,OPTIONS可選項,以表示命令的詳細選擇內容,ARGUMENTS參數,表示命令的作用對象。下面以man命令(命令的幫忙查看命令)查看使用方式介紹命令的使用。(CentOS 7)

ifconfig 查看網絡接口信息,ip addr list與其有相同的結果,常用選項為-a,表示查看所有網絡端口信息

if1

if2

在此信息欄中可查看所有端口的IP地址,掩碼,廣播地址,MAC地址,IPV6信息,上下行流量,速率等信息。

 

echo 顯示其文本內容,后有‘強引用’,“弱引用”,`反引用`之分,是對內容進行顯示,后也可跟選項,如echo – n顯示不換行,echo -e讓轉義符(\)生效,\n換行,\t制表,\v縱向制表,后面也可跟選項表示顏色,以圖作說明。

echo1

echo也可用于顯示變量值,$SHELL環境變量是什么,$PATH命令查找的路徑是什么等。

 

tty startx 這是與終端有關的命令,Linux提供了很好的交互界面,當然要有終端實現連接,終端有虛擬終端(/dev/tty,虛擬終端6個端口號,1到6),物理終端(/dev/console),串行終端(/dev/ttyS),偽終端(/dev/pty),其終端在系統中以文件形式表示,startx是由命令行終端轉為圖形終端的命令,可跟&轉為后臺運行。

tty1tty2tty3

我用的是XSHELL,第一個窗口為偽終端1,第二個窗口為偽終端2,第三個窗口為虛擬機的終端,系統上的虛擬終端,圖形界面的就不做展示了,呵呵。

 

export 用于顯示當前SHELL環境下變量的值,一般存在交叉編譯鏈的時候需要更改變量環境,這時候用export查看當前環境下的變量。

export

太多就不全部截屏了。

 

pwd 顯示當前工作目錄,即用戶都有自己的家目錄,不同的用戶登錄,所顯示的pwd是不一樣的,用圖展示。

pwd1

pwd2

pwd的使用可讓用戶清楚自己當下的工作目錄,方便路徑的查找或其他的修改操作。

 

history 歷史查詢命令,這個命令也是我們經常用的,后可跟-c表示清空歷史列表,history查詢的結果一般存儲在.bash_history的歷史文件中,用戶當前登錄執行的命令不會即刻存到文件中,需下次啟動后,或用選項執行,如history -r,表示把命令文件讀取到列表中,可先清空再執行這個命令做實驗,history -w,表示把歷史列表中的命令追加到歷史文件中,這個操作大家可以實驗下,先把歷史文件清空,history -d,表示從列表中刪除指定命令。history也由環境變量值,來定制其功能,HISTSIZE(歷史命令保存的最大條數),HISTFILE(持久保持的歷史文件),HISTFILESIZE(歷史文件保存的最大條數),HISTCONTROL(歷史命令執行的控制結果,ignoredups,忽略重復命令,ignorespace,忽略以空白字符開頭的命令,ignoreboth,以上兩者同時生效),也有快捷符號來執行上一條命令,當然也可按鍵盤的上下鍵,如若編寫腳本,這個很省事,?。绦猩弦粭l命令,!#,#表示命令列表中的命令序號,執行第幾條命令,如圖。

hist1

hist2

shutdown poweroff reboot halt 這些是與系統開關機有關的命令,shutdown后可跟選項,不跟表示1分鐘后關機,-c表示取消,-P等于poweroff,-H等于halt,停止也是關機,-r,reboot表示重啟,-k,表示不關機只發送消息,這里還有個wall也很好玩,加上文本內容,其他終端能看到發送的內容,不過我還是比較喜歡init命令控制,init 0是關機,6是重啟,3是字符界面,5是圖形界面,后期講INIT進程的時候再做說明。

shut1shut2shut3

 

date hwclock clock cal 是與時間有關的命令,cal顯示日歷形式,也可顯示單月,整年,如cal 05 2018,date顯示及設置系統時間,后可跟-s 設備系統時間,也可單獨顯示某一個項,date +%F日期,%T時間,%Y年,%m月,%d日,%D時間,格式不一樣,%H小時,%M分鐘,%S秒,date -u顯示UTC時間,clock用法與hwclock一樣,顯示和設置硬件時間,即CMOS上的BIOS時間,hwclock –set –date=””,修改硬件時間,hwclock -w表示systohc,從系統同步到硬件,以系統時間為準,hwclock -s表示hctosys,從硬件同步到系統,以硬件時間為準,如圖。

date1

 

5、? 如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。

Linux系統上的命令分為內部命令和外部命令,可用type和which查看命令的類型,內部命令幫助信息查看即help COMMAND,外部命令可用COMMAND –help,也可用man COMMAND來查看,info命令是在線文檔查看,也可登錄redhat官方網站查看文檔,也有其程序的說明文檔,也可google。man命令很強大,共有8個章節之分說明命令的使用,可用whatis COMMAND來查看命令所在章節。八大章節,有用戶命令說明,系統調用,C庫調用,設備文件及特殊文件,文件格式(即配置文件格式),游戲幫助使用說明,雜項,守護進程及管理工具。

man1man2

 

6、? 請羅列Linux發行版的基礎目錄名稱命名法則及功用規定。

Linux系統存儲文件有文件系統管理,即/(根目錄)下的子目錄,層級管理,下面用圖一一說明。

根1

/bin,/sbin,存儲命令的目錄文件,有鏈接到/usr/bin,/usr/sbin,bin下是用戶可操作的基礎命令的程序文件,sbin是供管理命令使用的程序文件,/boot系統加載必須用到各靜態文件,/dev 系統下的設備文件存放,/etc 系統的各配置文件的存放,/home普通用戶的家目錄,/lib,/lib64 鏈接到/usr/lib,/usr/lib64,為系統啟動或者根文件系統上的程序文件啟動提供共享庫,或內核啟動提供共享模塊,/media,/mnt為外聯設備提供掛載點,掛載目錄,/opt 為第三方軟件提供安裝位置目錄,/proc,/sys兩個偽文件系統,基于內核的虛擬文件系統,用于為內核及進程存儲相關信息,將內核參數虛擬為映射路徑,在以后的系統調優上能用的到,配置設備參數,/root 管理員的家目錄,/srv 當前主機為服務提供的數據文件,/tmp臨時文件存放目錄,/run 系統啟動時生成的文件,為系統所用,/usr 全局共享只讀路徑,其也有層級結構,/var 經常存放經常發生變化的文件目錄,比如日志文件等,也有層級結構,如圖。

usr

/usr下的include為C程序的頭文件,local下一個層級文件,一般/usr/local讓管理員安裝本地應用程序,也用于安裝第三方程序,share命令手冊頁及自帶文檔架構的特有文件存儲位置,src程序源代碼存儲位置。

var

/var下的log日志存放位置,cache緩存文件存放位置,spool打印列隊和其他列隊的工作目錄,如郵箱,新聞之類的。

 

至此,學習第一周完成的Linux作業,有不對的地方速速指正,我加以惡補和強化,多謝各位大大們。

 

 

 

 

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/98028

(2)
圣殿小超圣殿小超
上一篇 2018-05-10
下一篇 2018-05-10

相關推薦

  • MySQL之主從復制相關實驗

    本節索引 實驗一:搭建主從復制 實驗二:為已存放大量數據的在用服務器搭建從服務器 實驗三:級聯復制 實驗四:提升一個從服務器為主服務器 實驗五:主主復制 實驗六:半同步復制 實驗七:實現主從SSL加密復制     實驗一:搭建主從復制 前期準備: 兩臺虛擬機 主服務器:??? ?CentOS7.4 ?192.168.30.10 ? ? ?…

    2018-06-18
  • keepalived實現高可用

    實現lLVS的高可用;實現nginx的高可用

    2018-07-11
  • HTTP協議介紹

    HTTP協議(HyperText Transfer Protocol,超文本傳輸協議)是互聯網上應用最為廣泛的一種網絡協議。所有的WWW文件都必須遵守這個標準。

    2018-06-19
  • Linux 的不同的發行版區別和聯系

    Linux 的不同的發行版區別和聯系   Linux,最早由Linus Benedict Torvalds在1991年開始編寫。在這之前,Richard Stallman創建了Free Software Foundation(FSF)組織以及GNU項目,并不斷的編寫創建GNU程序(此類程序的許可方式均為GPL: General Public Lic…

    2018-08-04
  • 新建虛擬機+安裝Centos7

    一、基本環境 筆記本電腦:widows 7 虛擬機版本:vmware workstation 12 鏡像版本:CentOS-7-x86_64-Everything-1804 下載地址:mirrors.aliyun.com www.centos.org 一、新建虛擬機 1.創建虛擬機 2.選擇“典型”,點擊下一步。 3.選擇“稍后安裝系統”,點擊下一步。 4.…

    2018-07-22
  • awk工具詳解

    介紹了awk的使用格式,和它的一些使用技巧。

    2018-05-17

評論列表(2條)

  • 馬哥教育
    馬哥教育 2018-05-16 20:28

    加油,涉及到的命令 建議用命令格式寫。

    • 圣殿小超
      圣殿小超 2018-05-28 02:58

      @馬哥教育繼續搬磚中。。。

欧美性久久久久