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 13:15
下一篇 2018-05-10 13:40

相關推薦

  • 腳本練習題

    1.使用腳本打印出如下圖形 ************答案一:#!/bin/bash#1.接受一個參數為星星的個數。num=$1 #2.求出總共要打印的行數let lines=num*2 #3.for 循環處理每一行的數據for i in `seq $lines`;do#4.前半個星星處理邏輯if [ $i -le $num ];thenfor j in `s…

    Linux筆記 2018-03-26
  • linux下練習及答案

    1.顯示當前時間,格式:201-06-18 ?10:20:30 2.顯示前天是星期幾 3.設置當前日期為2019-08-07 06:05:10 4、在本機字符終端登錄時,除顯示原有信息外,再顯示當前登錄終端號,主機名和當前時間 6.今天19:30自動關機,并提示用戶 7.顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間出現至少一位數字的文件或目錄 …

    2018-03-31
  • Linux發行版的基礎目錄

    Linux發行版的基礎目錄名稱命名法則及功用規定: FHS:Linux目錄配置文件的依據? ? ? ? ?FHS的重點在于規范每個特定的目錄下要放置什么樣子的資料 FHS要求必須要存在的目錄:/bin:在單人維護模式下還能操作的文檔/boot:主要放置開機時會使用到的檔案/dev:在Linux中,任何裝置與周邊設備都是以檔案的形態存在這個目錄中的。/etc:…

    Linux筆記 2018-06-24
  • 向CA申請證書

    ?實驗向CA申請證書 步驟: 建立Root CA 1)生成私鑰 2)自簽名證書 2.用戶或服務器 1)生成私鑰 2)生成證書申請文件 3)將申請文件發給CA 3.CA頒發證書 4.證書發送給客戶端 5.應用軟件使用證書 如:centos7當服務器,centos6客戶端 ,即centos6向centos7申請證書 第一:建立根CA 生成私鑰的文件放在哪,文件名…

    2018-05-19
  • Linux系統命令格式及常用命令

    一.Linux命令使用格式 ? ? ?#COMMAND OPTIONS ARGUMENTS 1.發起一命令:請求內核將某個二進制程序運行進一個程序; ? ? ? ? ? ? ? ? ? ?程序——>進程 靜態——>動態(有生命周期) ? ? ? ? ? 命令本身是一個可執行的程序文件:二進制格式的文件,有可能會調用共享庫文件; 2.多系統程序文件…

    2018-05-12
  • Shell腳本進階一

    隨著課程的進度,對shell腳本進行進行全面的總結

    Linux筆記 2018-04-23

評論列表(2條)

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

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

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

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

欧美性久久久久