第一週課程作業(2016.7.31)

本週作業內容:


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


   計算機主要由五部分組成:控制器、運算器、存儲器、輸入設備、輸出設備

    1、控制器:計算機的核心,控制計算機如何尋址,數據提取及將控制信號傳送到各部件,協調各設備之間如何進行工作。

    2、運算器:實現算術運算和邏輯運算的設備。

    3、存儲器:存儲程序、數據及各種信號等信息,用來給運算器調用。常用的有硬盤、內存

    4、輸入設備:將程序、數據、控制命令等信息輸入到計算機。常見的有鍵盤、鼠標、CD-ROM,磁盤機等

    5、輸出設備:跟輸入設備剛好相反,把計算機運行結果反饋、顯示出來。如顯示器、打印機等。

    輸入輸出設備統稱爲外部設備,用作人機交換


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

    slackware

        SUSE:主要面向企業用或高級桌面應用的Linux系統,唯一的一家和微軟合作的公司,包括在技術以及業務層面的合作,支持很多windows下有的功能、服務,界面美觀華麗。非常適用於關鍵業務的高性能複雜操作,並在桌面化系統上比較佔優勢。

           SLES:SUSE Linux Enterprise Server

           openSUSE:現在的 SUSE Linux 由 openSUSE 項目所維護,這個項目的主要目標是使 SUSE Linux 成爲最易獲得和最廣泛使用的Linux,成爲最棒的用戶Linux桌面環境。

    Fedora:Red Hat Linux個人版衍生出來的免費發行版,每6個月發行一個新版本。更多軟件,更新的程序包,

    Debian:上游最大的發行版,運行極其穩定,非常適合服務器。不適合新手用戶,更適合系統管理員和高級用戶。使用apt-get/dpkg包管理方式。Debian分三個分支: stable, testing和unstable

        Ubuntu:基於Debian的unstable版本,面向桌面系統,

        Linux Mint:基於Ubuntu的發行版

    Hedhat:最著名的Linux發行版

        RHEL:RedHat Enterprise Linux,收取服務費

        CentOS:兼容RHEL的格式,社區免費版,代碼全部基於RHEL源代碼進行重新編譯,不提供服務。使用yum來管理軟件包。

        FedoraCore:由原來的Redhat個人桌面版發行而來。

    Gentoo:Linux中最年輕的發行版,擁有各發行版的優點,2002年發行。包含衆多軟件包,每次需要針對每個系統進行編譯,安裝及使用最困難,但是可作爲最佳的學習對象,可以通過它瞭解Linux操作系統的內部運作原理。可作優化或定製,追求極限的配置、性能。

    FreeBSD:並不是一個發行版,但是FreeBSD與Linux支持的硬件環境比較一致,採用的軟件也比較類似,用戶也有許多重合。所以可以將FreeBSD視爲一個Linux版本

        

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

    1、一切皆文件(包括硬件);

    2、由衆多個單一的小程序組成;

    3、組合小程序完成複雜任務;

    4、儘可能避免捕獲用戶接口,爲了方便腳本編程以實現自動化執行;

    5、使用文本文件保存程序的配置數據,使用一個文本編輯器即可完成系統及服務配置工作;

    6、提供機制,而非策略。


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

    ifconfig:configure a network interface,顯示、配置網絡接口

        ifconfig -a:顯示所有接口信息,包括down的網卡(沒激活的)

        ifconfig eth0 up:把默認網卡eth0激活(反之,down爲禁用)

        ifconfig eth0 192.168.0.1 netmask 255.255.255.0:設置eth0網卡IP和網關

    echo:顯示文字

        例如:echo 'who am i'輸出爲who am i        

        [terry@localhost ~]$ echo 'who am i'

        who am i


        -n:輸出文字後不自動換行

        -e:對字符串中出現的一些字符進行特別處理,例如

          \a 發出警告聲;\b 刪除前一個字符;\c 最後不加上換行符號;

    tty:打印顯示終端連接名

        [terry@localhost ~]$ tty

        /dev/pts/1

    startx:啓用X Window,實際上調用的啓動命令是xinit

    export:顯示或設置環境變量,僅作用於此會話,臨時的修改。

    pwd:print working directory,顯示當前工作目錄

        [terry@localhost share]$ pwd

        /usr/share

    history:顯示命令歷史,該歷史只有在系統關閉時候纔會寫入緩存文件.bash_history中,下次開機會從該文件讀取歷史命令信息。    

        !#:執行命令歷史中的第#條命令,例如!2

        !!:執行上一條命令

        !string:執行命令最近一條以string字符開頭的命令

        !$:調用上一條命令的最後一個參數

        先按ESC鬆開再按.    功能同上

     shutdown:安全關閉或重啓系統。

        -f:force,強制執行重啓不進行磁盤檢測

        -F:重啓時進行磁盤檢測

        -h:關閉電源

        -r:關閉後重啓

        -t:延遲時間重啓(shutdown -t 60)

    halt, poweroff, reboot - Halt, power-off or reboot the machine

    halt:調用shutdown -h命令關機,halt執行時﹐殺死應用進程﹐執行sync系統調用﹐文件系統寫操作完成後就會停止內核。

    poweroff:關機。多用戶下不建議使用  

    reboot:調用shutdown -r命令進行重啓


    另外補充一個命令:init

      init是所有進程的祖先﹐它的進程號始終爲1﹐所以發送TERM信號給init會終止所有的用戶進程﹑守護進程等。shutdown就是使用這種機制。init定義了8個運行級別(runlevel),init 0爲關機﹐init1爲重啓。關於init可以長篇大論﹐這裏就不再敘述。另外還有telinit命令可以改變init的運行級別﹐比如﹐telinit -iS可使系統進入單用戶模式﹐並且得不到使用shutdown時的信息和等待時間。


    hwclock:硬件時間

        -s:--hctosys,以硬件時間爲準,設置系統時間

        -w:--systohc,以系統時間爲準,設置硬件時間

    date:顯示或設置系統時間

        date:顯示當前系統時間

        date -u:顯示UTC時間

        +%H:小時

        +%M:分鐘

        +%S:秒

        +%m:月

        +%d:日

        +%y:年份最後兩位數字

        +%Y:完整年份

       設置時間命令格式:date [參數]... [+格式]


        # date -s 20160807

        # date -s 12:19:50

       或者

        date -s '20160807 12:19:50'

        date -s '2016-08-07 12:19:50'      


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

    命令的幫助信息:

    1、內部命令(通過type COMMAND得知命令是外置或者內置命令)

        #help COMMAND

    2、外部命令:都有一個可執行程序,位於文件系統某目錄下 (which, whereis)

        (1)#COMMAND --help

             #COMMAND -h

        (2)使用手冊(manual)

            #man COMMAND

        (3)信息頁

            #info COMMAND

        (4)程序自身的幫助文檔

            README        INSTALL

            ChangeLog

        (5)程序官方文檔

            官方站點:Documentation

        (6)發行版的官方文檔

        (7)Google


    man分爲8個章節:保存在/usr/share/man/ 目錄下

        man1:用戶命令

        man2:系統調用

        man3:C庫調用

        man4:設備文件及特殊文件

        man5:配置文件格式

        man6:遊戲

        man7:雜項

        man8:管理類的命令


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


  Liunx文件命名法則:

    1、文件名嚴格區分大小寫

    2、所有文件都位於根目錄下,FHS

    3、路徑以/作爲分隔符

    4、每個文件的名稱可使用除/以外的任意字符,單個名稱最長不超過255個字符


Linux目錄遵守FHS標準,以保證各發行版之間的兼容性。

LSB(Linux Standards Base)


FHS:(FileSystem Heirache Standard):其主要的目錄及其功用如下:

   

    /boot:引導文件的存放目錄:內核文件(vmlinuz)、引導加載器(bootloader,grub)都存放在此目錄

    /bin: 供所有用戶使用的基本命令。不能關聯至獨立分區,OS啓動即會用到的程序;

    /sbin:管理類的基本命令。不能關聯至分區,OS啓動即會用到的程序

    /lib: 基本共享庫文件,以及內核模塊文件(/lib/modules);

    /lib64:專用於x86_64系統上的輔助共享庫文件存放位置

    /etc:配置文件目錄(存文本文件)

    /home/USERNAME:普通用戶家目錄(例如terry用戶家目錄爲/home/terry/)

    /root:管理員家目錄(一般情況下不需要用到,因爲實際生產中不應該使用管理員登錄,避免誤操作)

    /media:便攜式移動設備掛載點;

        cdrom

        usb

    /mnt:臨時文件系統掛載點

    /dev:設備文件及特殊文件存儲位置

        b:block device,隨機訪問

        c:character device,線性訪問

    /opt:第三方應用程序的安裝位置,一開始是空的。

    /srv:系統上運行服務程序時用到的中間數據。

    /tmp:臨時文件,所有用戶都有使用權限

    /usr:universal shared,read-only data

        bin:保證系統擁有完整功能而提供的應用程序(對所有用戶可用)

        sbin:保證系統擁有完整功能而提供的應用程序(對管理員可用)

        include:Header files included by C programs (C程序的頭文件 header files)

        lib:Libraris

        share:結構化獨立的數據,例如doc,man等

        local:第三方應用程序的安裝位置。用戶自己手動安裝的而不是包管理軟件安裝的。

    #除了/boot跟/home以外,都是不能獨立分區的。

    /var:variable data files,可變數據文件

        cache:應用程序緩存數據目錄

        lib:應用程序狀態信息數據

        lock:鎖文件

        log:日誌目錄與文件

        opt:專用於爲/opt應用程序存儲可變數據

        run:運行中的進程相關的數據,通常用於存儲進程的pid文件

        spool:應用程序數據緩衝池

        tmp:保存系統兩次重啓產生的臨時系統數據文件。

        

    /proc:用於輸出內核與進程信息相關的虛擬文件系統,(一切皆文件,進程也當作文件,僞文件)

    /sys:用於輸出當前系統上硬件相關信息的虛擬文件系統(也是一個僞文件系統)

    /selinux:security enhanced Linux, selinux相關的安全策略等信息的存儲位置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章