馬哥教育網絡班22期第一周課程練習

1.描述計算機的組成及其功能

    計算機的組成部分分為硬件部分與軟件部分

        硬件部分: I/O設備 + 運算器 + 存儲器 + 控制器

        軟件部分:  kernel + Application

說完了硬件部分邏輯層面上的組成,那么我們實際能看到的這些是什么呢:

    通常意義而言CPU就是控制器+運算器;內存,磁盤,固態等存儲設備即為硬件部分的存儲器;那么這里剩下的只有I/O設備沒有提到了,其中I代表的是input,即為輸入設備,最最常見的輸入設備就是我現在正在用來敲博客的鍵盤,還有一些比如說掃描儀等,這里的O代表的是output,是指輸出設備,顯示器是輸出設備,還有哪些呢,稍微想了下,也就想到了另一個設備,投影儀,為了方便我自己記憶(即使這個博客是我寫的,難免會忘),所有能讓我告訴計算機干什么的,都是輸入設備;所有讓我看到計算機反饋結果的都是輸出設備。

    其實上面提到了I/O設備在我心中的理解,書面上所表達的內容就不贅述了。說到控制器與運算器的結合體,那么就是指CPU了,CPU架構我所知道的就是  Inter公司的x64架構以及x86架構,I還有其他公司的,例如IBM公司,惠普公司他們自己家研發的且是我所沒用過一些架構就不多提了,其實我也不知道這些架構具體區別在哪里,聽馬老師視頻內容里面提到的是微指令集的不同,以及開放的接口有所不同(天啊,老師,您說的丑陋的底層接口,到底是指啥?。?。所謂控制器,網上查閱的資料反正是沒看懂,通俗意義上來說應該是通過指令集來控制整個計算機。運算器負責進行邏輯運算和算數運算,根據資料,邏輯運算分為三種:邏輯與,邏輯或,邏輯非(這都是啥啊,知識的掌握有待加強)。最后不得不提到就是存儲器了,首先是內存,有一句話是這樣說的,所有的進程都是跑在內存里面的,斷電所有內存中的數據丟失,為了解決數據丟失的問題,就又有了機械硬盤,當然還有速度更加強大的固態硬盤,簡單總結下就是,內存是用來跑程序的,斷電數據丟失;硬盤用來存數據的,斷電數據不丟失。

軟件部分:

    kernel,中文翻譯為內核,狹義上的操作系統,是通常意義上操作系統的最底層,負責硬件的驅動以及提供系統所需要的各種功能,例如:防火墻,程序管理,文件系統等??梢岳斫鉃橛布c軟件之間的橋梁。

    Application,中文翻譯為應用,跑在內核之上的程序,用來完成具體的功能的實現,比如說,畫圖,總要有一個畫圖軟件的吧,那這個畫圖軟件就是Application。

2.按系列羅列linux的發行版并描述不同發行版之間的聯系與區別

    三大主流系列:Redhat   Debian   slackeare

    三大主流系列的區別:包管理方式的不同,以及包管理前端軟件的不同。

                 包管理        前端軟件        

    Redhat:        rpm          Yum

     Debian:        dpkg          Apt

     S.U.S.E        rpm          zypper(S.U.S.E是slackware的二次發行版)   

    還有一些比較著名的linux發行版,比如說Gentoo,archlinux

    還有一個比較特殊的linux發行版,LFS,提供的是一本書,教我們如何從零構建Linux

    Redhat–>Centos Centos是Redhat的社區版,有著相同的源碼

        –>Fedora 為Redhat測試軟件,是桌面版的

    

    Debian–>Ubuntu Debian的二次發行版,有著漂亮的界面

        –>Knopix Debian的二次發行版

    slackware–>S.U.S.E slackware的二次發行版,流行與歐洲

            S.U.S.E–>opensuse opensuse是S.U.S.E的社區版,由社區支持,完全免費。

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

    

    1、一切皆文件;    系統中所有的一切,包括設備等,都是以文件的形式出現。

    2、單一目的的小程序; 每個小程序完成一種功能,并且盡量保證這一個小程序出現的bug少。

    3、組合小程序完成復雜任務;  通過拼湊各種功能的小程序,來完成一件復雜的任務。

    4、文本文件保存配置信息;    所有軟件的配置文件都是以文本文件的形式來進行保存的,方便通過修改配置文件來完成軟件不同功能的實現。

    5、盡量避免捕獲用戶接口;  方便編程完成自動化操作

  理解:以上應該是linux的設計理念吧,那為什么要設計成上面這個樣子呢?那得問設計者。不過提到哲學思想,linux是開源的代表,自由和分享是開源的精神思想,就好像老師在課中提到的共產主義。自由不是狹義上的軟件源代碼獲取的自由,而是外界對于你形成幫助的自由,在你還是新人時無需為獲得的幫助付出金錢上的代價,代碼的免費獲取,文檔資料的獲取,都是自由的,沒有背負金錢的枷鎖。當你通過自由得到的各種資源,成為一個技術達人,或者說,成為了一個小有成就的,在面對那些需要幫助的人,在力所能及的范圍內提供無私的分享以及幫助,在各種論壇上分享經驗,寫技術博客。

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

命令的使用格式:命令 [選項] [參數] 

為了對命令的解釋更加簡潔明了,這里將以相對簡單的方式來解釋這些命令。

不得不說的是,我選擇了minimal的安裝方式,沒有辦法完成對ifconfig的解釋?。。?/span>

這里就用ip addr list代替下吧,就是用來顯示網絡設備狀態的,有圖有真相

blob.png

有沒有看到eno16777736,這玩意就是我的網卡,至于上面那個lo肯定就是環回口了。環回口干嘛的,我也不知道啊


echo  功能是顯示文本  語法格式 echo [-ne] [字符串]  echo會將輸入的字符串間以空白符隔開,并在最后加上換行符號

blob.png

blob.png

tty 功能是顯示終端鏈接標準輸入設備的文件名稱 語法格式: tty [-s] 試了下,不知道后面加個s能干嘛

blob.png

startx 問題又來了,我是minimal安裝,沒有桌面,我倒是想裝,可是我不會啊。正題來了,這是一個用于啟動x-window程序的命令

用法是 startx & 你在哪個虛擬終端啟動的,哪個虛擬終端就是你的x-window,這個我真的沒圖啊。

export 設置或顯示環境變量 語法:export [-fnp][變量名稱]=[變量設置值] 沒看懂這個,不知道怎么去操作


pwd 顯示當前的工作目錄

blob.png

history 功能是列出之前用過的命令 語法: history [N] [-arw] [文件名]

blob.png

shutdown   功能是關機 語法: shutdown [選項] [秒數] [時間] [警告信息]

我的實例時 shutdown -h now  立即關機,圖就沒有了。


poweroff 語法:poweroff [選項] 這是一種不安全的關機方式,可能導致數據丟失,建議使用shutdown

用法就是直接 poweroff


reboot 語法: reboot [選項] 重新啟動計算機

#reboot 先關閉所有的網絡接口設備后,再重新開機

hwclock 功能是顯示與設置硬件時鐘 語法: hwclock [選項]

blob.png

date  顯示和設置系統系統時間  語法 date [選項] [參數] 

blob.png

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

內部命令使用 help 命令(中間有空白符隔開)來查看命令的幫助

外部命令使用 man 命令 來查看系統里面自帶的幫助文檔

       info 命令 來查看在線的幫助文檔(這個文檔主要是對man幫助的不足,以及命令的信息)

         應用程序自帶的幫助文檔在/usr/share/doc/ 里面

程序官方站點,主流發行版官網文檔,搜索引擎這些就非狹義上的linux上獲取命令的幫助信息。

著重介紹man命令

man幫助里面的文檔位置在/usr/share/man/ 下,其中不同部分的作用分別是一下內容:

    NAME:簡單命令、數據名稱說明

    SYNOPSIS:簡短的命令語法(sysntax)簡介
    DESCRIPTION:較為完整的說明,需要認真閱讀
    OPTION:針對SYNOPSIS中列舉的所有可用選項說明
    COMMANDS:當這個軟件在執行的時候,可用在此軟件中使用命令
    FILES:這個軟件或數據所使用或參考或鏈接到的文件
    SEE ALSE:可以參考的,與這個命令有關的其他說明
    EXAMPLE:一些可以參考的范例,這個最好用

    BUGS:是否有相關的bug

    …同類可以重復使用

man文檔章節劃分(需要注意的是有的命令里會同時出現在不同的章節里)

    1:用戶命令;

    2:系統調用;

    3:C庫調用;

    4:設備文件及特殊文件;

    5:文件格式;(配置文件格式)

    6:游戲使用幫助;

    7:雜項;

    8:管理工具及守護進行;

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

FHS:

Filesystem Hierarchy Standard

/bin:所有用戶可用的基本命令程序文件;

/sbin:供系統管理使用的工具程序;

/boot:引導加載器必須用到的各靜態文件:kernel, initramfs(initrd), grub等;

/dev:存儲特殊文件或設備文件;

設備有兩種類型:字符設備(線性設備)、塊設備(隨機設備);

/etc:系統程序的配置文件,只能為靜態;

/home:普通的家目錄的集中位置;一般每個普通用戶的家目錄默認為此目錄下與用戶名同名的子目錄,/home/USERNAME;

/root:管理員的家目錄;可選;

/lib:為系統啟動或根文件系統上的應用程序(/bin, /sbin等)提供共享庫,以及為內核提供內核模塊

libc.so.*:動態鏈接的C庫;

ld*:運行時鏈接器/加載器;

modules:用于存儲內核模塊的目錄;

/lib64:64位系統特有的存放64位共享庫的路徑;

/media:便攜式設備掛載點,cdrom, floppy等;

/mnt:其它文件系統的臨時掛載點;

/opt:附加應用程序的安裝位置;可選路徑;

/srv:當前主機為服務提供的數據;

/tmp:為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄;可供所用戶執行寫入操作;有特殊權限;

/usr:usr Hierarchy,全局共享的只讀數據路徑;

bin, sbin

lib, lib64

include:C程序頭文件;

share:命令手冊頁和自帶文檔等架構特有的文件的存儲位置

local:另一個層級目錄;

X11R6:X-Window程序的安裝位置

src:程序源碼文件的存儲位置

/usr/local:Local hierarchy,讓系統管理員安裝本地應用程序;也通常用于安裝第三方程序;

/var:/var Hierarchy,存儲常發生變化的數據的目錄;

cache Application cache data

lib Variable state information

local Variable data for /usr/local

lock Lock files

log Log files and directories

opt Variable data for /opt

run Data relevant to running processes

spool Application spool data

tmp Temporary files preserved between system reboots

/proc:基于內存的虛擬文件系統,用于為內核及進程存儲其相關信息;它們多為內核參數,例如net.ipv4.ip_forward, 虛擬為net/ipv4/ip_forward, 存儲于/proc/sys/, 因此其完整路徑為/proc/sys/net/ipv4/ip_forward;

/sys:sysfs虛擬文件系統提供了一種比proc更為理想的訪問內核數據的途徑;其主要作用在于為管理Linux設備提供一種統一模型的的接口.  

原創文章,作者:Jesse,如若轉載,請注明出處:http://www.www58058.com/34345

(0)
JesseJesse
上一篇 2016-08-15
下一篇 2016-08-15

相關推薦

  • Linux下的進程調度與作業管理

    Linux下的進程調度與作業管理 一、概述 1.1 進程的相關概念: 通過前面的幾個章節,我們幾乎已經學習了很多的linux的基礎,這個章節我們講一下linux下的進程管理,就像windows 下的進程一樣,我們知道windows 下有一個任務管理器,專門用來管理進程,我們首先看一下windows 的任務管理器: 從這2個圖我們可以看出,windows 下的…

    Linux干貨 2016-10-17
  • bash通配符和正則表達式元字符部分歸納

    Linux中有各種各樣的字符,而且在不同環境和不同命令之下含義也不同 作為新手,決定先歸納學到的符號,方便后面學習厘清它們之間的關系。 glob 簡化了的正則表達式 bash默認通配符: ? :只匹配一個任意字符; * :匹配零個或多個任意字符;   [^] :方括號及其中^中的取反 [abc]:匹配任何一個列在方括號中的字符(這個例子要么匹配一個…

    Linux干貨 2016-04-11
  • 使用httpd反向代理模塊實現tomcat負載均衡集群(上)

    前言  tomcat介紹:   tomcat是一個免費開放源代碼的web應用服務器,不是一個完整意義上的Java EE服務器;它甚至都沒有提供哪怕對一個主Java EE API的實現,但由于遵守apache開源協議,tomcat卻有為眾多的java應用程序服務器嵌入自己的產品中構建商業的java應用程序服務器,如JBoss和JOnAS等。…

    Linux干貨 2015-07-21
  • 第二周- -問題總結

    前言:這周學習了文件的基本操作、用戶和權限管理、重定向和管道。 1.在centos6.9當中,創建虛擬機的時候,網絡無法獲取地址,ping也不通,出現  device eth0 does not seem to be present, delaying initialization 答:(1).虛擬機啟動出錯,就把這個虛擬機刪除掉重新建立,系統虛擬…

    2017-07-23
  • M22 使用NFS實現web共享發布

    實驗目的: 搭建兩個LAMP web發布系統搭建WordPress博客網站,并使用NFS作為共享的網絡文件系統使這兩個web服務器發布的內容一致。 實驗工具: webServer1 Centos6.8 172.18.55.6 webServer2 Centos7.3 172.18.55.7 nfsServer Centos7.3 172.18.55.71 w…

    2017-04-26
  • bash功能特性二 命令別名和歷史命令

    一、歷史命令     bash提供存儲歷史命令的功能,下面來詳細介紹一下。     1、history命令         命令格式:history [options]   &nb…

    Linux干貨 2015-04-21

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-17 16:04

    寫的很好,排版還可以在漂亮一點,加油

欧美性久久久久