1. 程式人生 > >Linux入門基礎知識(1)

Linux入門基礎知識(1)

win 字符設備 命令的使用 ESS pow 體驗 存放位置 編程 echo -e

  • 描述計算機的組成及其功能
    計算機系統由硬件系統與軟件系統兩大部分組成。
    技術分享圖片
    1.1 計算機硬件系統五大部分組成
    運算器、控制器、存儲器、輸入設備、輸出設備。
    1.2 計算機硬件系統五大部分功能解釋及作用
    a. 運算器運算器的主要功能是對數據進行各種運算。這些運算除了常規的加、減、乘、除等基本的算術運算之外,還包括能進行“邏輯判斷”的邏輯處理能力,即“與”、“或”、“非”這樣的基本邏輯運算以及數據的比較、移位等操作。
    b. 控制器是整個計算機的中樞神經控制中心,它指揮計算機各部分協調地工作,保證計算機按照預先規定的目標和步驟有條不紊地進行操作及處理。
    c. 存儲器的主要功能是存儲程序和各種數據信息,並能在計算機運行過程中高速、自動地完成程序或數據的存取。

    d. 輸入設備是計算機的重要組成部分,輸入設備與輸出設備合你為外部設備,簡稱外設,輸入設備的作用是將程序、原始數據、文字、字符、控制命令或現場采集的數據等信息輸入到計算機。常見的輸入設備有鍵盤、鼠標器、光電輸入機、磁帶機、磁盤機、光盤機等。
    e. 輸出設備與輸入設備同樣是計算機的重要組成部分,它把外算機的中間結果或最後結果、機內的各種數據符號及文字或各種控制信號等信息輸出出來。微機常用的輸出設備有顯示終端CRT、打印機、激光印字機、繪圖儀及磁帶、光盤機等。 通常把輸入設備和輸出設備合稱為I/O設備(輸入/輸出設備)。
    1.3 計算機軟件系統
    計算機軟件分為系統軟件和應用軟件,如果把計算機比喻為一個人的話,那麽硬件就表示人的身軀。而軟件則表示人的思想、靈魂。一臺沒有安裝任何軟件的計算機我們把它稱之為“裸機”。
    a. 系統軟件是指控制和協調計算機及外部設備,支持應用軟件開發和運行的系統,是無需用戶幹預的各種程序的集合,主要功能是調度,監控和維護計算機系統;負責管理計算機系統中各種獨立的硬件,使得它們可以協調工作。系統軟件使得計算機使用者和其他軟件將計算機當作一個整體而不需要顧及到底層每個硬件是如何工作的。(如Windows、Linux、Dos、Unix等操作系統都屬於系統軟件。)
    b. 應用軟件(applicationsoftware)是用戶可以使用的各種程序設計語言,以及用各種程序設計語言編制的應用程序的集合,分為應用軟件包和用戶程序。應用軟件包是利用計算機解決某類問題而設計的程序的集合,供多用戶使用。應用軟件是為滿足用戶不同領域、不同問題的應用需求而提供的那部分軟件。 它可以拓寬計算機系統的應用領域,放大硬件的功能。(如Word、Excel、QQ等都屬於應用軟件)。

  • 按系列羅列Linux的發行版,並描述不同發行版之間的聯系與區別。
    Linux發行版主要有三個分支:Debian、Slackware、Redhat。
    2.1 Debian:(以社區的方式運行)
    a. Ubuntu:基於Debian開發的開源Linux操作系統,主要針對桌面和服務器;
    b. Linux Mint:基於Debian和Ubuntu的Linux發行版,致力於桌面系統,對個人用戶每天的工作更加易用,更高效,且目標是提供一種更加完整的即可可用體驗。
    2.2 Slackware
    a. Suse: 基於Slackware二次開發的一款Linux,主要用於商業桌面、服務器。
    b. SLES(SUSE Linux Enterprise Server):企業服務器操作系統,是唯一與微軟系統兼容的Linux操作系統;
    c. OpenSUSE:由suse發展而來,旨在推進Linux的廣泛使用,主要用於桌面環境,用戶界面非常華麗,而且性能良好。
    2.3 Redhat
    a. rhel(red hat enterprise Linux):Red Hat公司發布的面向企業用戶的Linux操作系統。早期版本主要用於桌面系統,免費;\
    b. Fedora:基於Red Hat Linux終止發行後,紅帽公司計劃以Fedora來取代Red Hat Linux在個人領域的應用,而另外發行的Red Hat Enterprise Linux取代Red Hat Linux在商業應用的領域。Fedora的功能對於用戶而言,它是一套功能完備、更新快速的免費操作系統,而對贊助者Red Hat公司而言,它是許多新技術的測試平臺,被認為可用的技術最終會加入到Red Hat Enterprise Linux中。Fedora大約每六個月發布新版本。
    c. Centos:基於Red hat Linux提供的可自由使用源代碼的企業級Linux發行版本。每個版本的Centos都會獲得十年的支持(通過安全更新的方式)。新版本的Centos大約每兩年發行一次,而每個版本的Centos會定期(大概6個月)更新一次,以支持新的硬件。這樣,建立一個安全、低維護、穩定、高預測性、高重復性的Linux環境。
    2.4 其他發行版
    a. Gentoo:基於Linux的自由操作系統,它能為幾乎任何應用程序或需求自動的做出優化和定制。追求極限配置、性能、以及頂尖的用戶和開發者社區,都是Gentoo體驗的標誌特點,Gentoo的哲學是自由和選擇。得益於一種稱為Portage的技術,Gentoo能成為理想的安全服務器、開發工作站、專業桌面、遊戲系統、嵌入式解決方案或者別的東西--你想讓它成為什麽,它就可以成為什麽。由於它近乎無限的適應性,可把Gentoo稱作元發行版。
    b. Aech Linux(或稱Arch):以輕量簡潔為設計理念的Linux發行版。其開發團隊秉承簡潔、優雅和代碼最小化的設計宗旨。
    不同發行版直接的聯系與區別:
    聯系:所有發行版都是使用Linux內核;都需要遵循GUN的GPL協定;所有的發行版都有自己的版本號,版本格式,版本格式約定基本一樣(主板本號.次版本號.發行號.休正號)
    區別:發行版的本質區別,在於繼承不同版本的內核、庫、程序的組成。不同發行版幾乎采用了不同的包管理器(SLES、Fedora、openSUSE、centos、RHEL使用rmp包管理系統,包文件以RPM為擴展名;Ubuntu系列,Debian系列使用基於DPKG包管理系統,包文件以deb為擴展名。)
  • 描述Linux的哲學思想,並按照自己的理解對其進行解釋性描述。
    Linux的哲學思想
    3.1 一切皆文件,把幾乎所有資源系統抽象為文件形式,包括硬件設備,甚至通信接口。
    3.2 由眾多功能單一的程序組成,一個程序只做一件事,並且做好,組合小程序完成復雜的任務。
    3.3 盡量避免跟用戶打交道,其目標是易於以編程的方式實現自動化。
    3.4 使用文本文件保存配置文件,無論要實現什麽功能都只需要修改對應的配置文件即可。
  • 說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,並配合相應的示例來闡述。
    4.1 Linux系統上的使用格式
    ]# command [opition] [arguments]
    a. COMMAND:命令,一個可執行的二進制程序文件;
    b. OPITIONS:選項,指定命令運行的特性,通常由兩種表現形式:短選項-c,長選項-word。如果同一命令再運行使用多個短選項,可將多個段選項合並,如 ]# ls -a -l = ]# ls -al,註意長選項是不能合並的。
    c. ARGUMENTS: 命令的作用對象;不同的命令使用的對象不同,可以是文件、目錄、硬件設備等等,有些命令克同時帶多個參數,多個參數以空白分隔符分隔。
    4.2 ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用
    a.ifconfig
    ifconfig命令用來查看和配置網絡設備。當網絡環境發生改變時,可通過此命令對網絡進行相應的配置。
    格式 :ifconfig [-v] [-a] [-s] [interface]
    ifconfig [-v] interface [aftype] options | address ...
    示例:# ifconfig 查看網絡接口

    ifconfig InterfaceName up/down 啟用網卡/關閉網卡

                      # ifconfig [-]arp 啟用ARP協議/(加橫杠) 關閉ARP協議。
         b. echo
          echo顯示文本信息
          格式: echo [SHORT-OPTION]... [STRING]...
                     echo LONG-OPTION
          示例:# echo -n "nihao zhongguo" --顯示nihao zhongguo 並且不換行。
                   # echo -e "nihao\n zhongguo" 可以讓轉義符生效,輸出nihao zhongguo。
         c. tty 
           打印連接到標準輸入的終端文件名;
             格式:tty [opition]...
             示例:# tty     輸出# /dev/pts/1
          d. startx
            切換到Xwindow界面,前提是按照了圖形桌面。
          e. export
            設置或顯示環境變量
            f. pwd
             Linux中用pwd命令來查看當前工作目錄的完整路徑。
             命令格式:# pwd [OPITION]...
             示例:用pwd命令查看默認工作目錄的完整路徑
                  #  pwd
                  # /root
          g. history
            使用或操作歷史命令列表
            格式:history [OPITION][ARGUMENTS]
            示例:history -c  清空歷史命令
                       history -a 將歷史命令緩存區中命令寫入歷史命令文件中
                       history -r 將歷史命令文件中的命令讀入當前歷史命令緩沖區
          h. shutdown
            關機或者重啟
            格式:shutdown [OPTIONS...] [TIME] [WALL...]
            示例:shutdown -c   取消關機或重啟
                      shutdown -h +5  5分鐘之後關機,也可以設置成某個具體時間關機
                      shutdown -r  重啟
                      shutdown -h +8 "mashangguanjile" 8分鐘之後關機,同時發出警告信息mashangguanjile給登錄用戶
    i. poweroff
            命令用來關閉計算機操作系統並且切斷系統電源。
            格式:poweroff [OPITION...]
            示例:shutdown -w 不真正關閉系統,僅把記錄寫入日誌文件/var/log/wtmp中
                       poweroff -n 關閉操作系統時不執行sync操作
          j.reboot
            重啟
            格式:reboot [OPITION...]
          k. hwclock
            訪問或設置硬件時鐘

    格式:hwclock [function] [option...]
    示例:hwclock -s 將硬件時鐘同步到系統時鐘
    hwclock -w 將系統時鐘同步到硬件時鐘
    l. date
    顯示或設置系統時鐘
    格式:date [OPTION]... [+FORMAT]
    示例:date +"%Y-%m-%d" --格式化輸出年月日
    date -d "1 year ago" --輸出1年前的時間
    date -s "20180225" --設置日期為"20180225"同時時間變成"00:00:00"
    註OFRMAT格式符
    %F
    ]# date +%F
    2018-09-21
    %T

    date +%T

                             05:34:01
                    %c
                        # date +%c
                           Fri 21 Sep 2018 05:36:46 AM CST
                      %Y 顯示那年
                      %m  顯示那月
                      %d  顯示那天
                      %H  幾點
                       %M  幾分
                       %S  幾秒
                       %s  從1970年1月1號(unix元年)    
  • 如何在Linux系統上獲取命令的幫助信息,請詳細列出,並描述man文檔的章節是如何劃分的。
    5.1. 獲取命令的使用幫助信。
    a. 內部命令:

    help COMMAND

      b.外部命令:
           (1)命令自帶簡要格式的使用幫助
                  # COMMAND --help
           (2)使用手冊:manual
                 # man COMMAND
                     SECTION(部分):
                             NAME:功能性說明
                             SYNOPSIS:語法格式(命令的使用格式)
                             DESCRIPTION:描述
                             AUTHOR:作者
                             BUGS:報告程序BUG的方式
                             SEE ALSO:參考
                             ...
                             SYNOPSISI:
                                []:可選內容;
                                    <>:必須提供的內容;
                                    a|b|c:多選一;
                                    ...:同類內容可出現多個;
                    使用手冊:壓縮格式文件,有章節之分;
                        章節位於:/usr/share/man
                            手冊章節分為man1-man9
                            man1:用戶命令
                            man2:系統調用
                            man3:C庫調用
                            man4:設備文件及特許文件
                            man5:文件格式(配置文件格式)
                            man6:遊戲使用幫助
                            man7:雜項
                            man8:管理工具及守護進程
                            man9:含糊的內核規範和接口
                                 # man CHAPTER COMMAND
                                         chapter:章節 1-9
                                             註意:並非每個COMMAND在所有章節下都有手冊;
                                             查看命令幫助手冊所在章節:
                                                # whatis COMMAND
    (3)info COMMAND 獲取命令的在線文檔
    (4)應用程序自帶幫助文檔:/usr/share/doc/APP-VERSION
    (5)主流發行版官方文檔:http://www.redhat.com.doc
    (6)程序官方文檔:官方站點上的“Document”
    (7)搜索引擎:google
  • 請羅列Linux發行版的基礎目錄名稱命名法則及功用規定
    6.1 Linux命名法則
    內核版本由三部分組成:主板本號、次版本號、末版本號,其中次版本號為奇數時是開發版本,為偶數時為穩定版本。
    6.2 文件命名規則
    a. 文件名嚴格區分大小寫;
    b. 文件名可以使用除了/以外的任何字符;
    c. 文件名長度不能超過255個字符;
    d. 以.開頭的文件問隱藏文件。
    6.3 文件類型
    f-普通文件
    d-目錄文件,
    l-符號鏈接文件,
    b-塊設備文件,
    c-字符設備文件,
    p-管道文件,
    s-套接字文件。
    6.4 文件系統
    技術分享圖片
    /:根目錄,也是整個系統層次結構的根目錄
    /boot:引導文件存放目錄,內核文件(vmlinuz)、引導加載器(bootloader,grub)都存放在此目錄,例如kernels、intrd等
    /bin:供所有用戶使用的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序
    /sbin:管理類的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序
    /lib:基本共享庫文件和內核模塊文件(/lib/modules)
    /lib64:專用於x86_64系統上的輔助共享庫文件存放位置
    /etc配置文件目錄(純文本文件);init.d下存放了各種軟件的啟動腳本
    /home:普通用戶的家目錄,包括存放的文件,個人配置等等
    /root: 管理員的家目錄;
    /media:便攜式移動設備掛載點;
    /mnt:臨時文件系統掛載點(目錄);
    /dev:設備文件及特殊文件存放位置;任何設備與接口設備都是以文件的形式存放在此目錄,通過訪問目錄下的文件,就等於訪問某個設備,這就相當於是社保的入口,類似/dev/null,/dev/zero,dev/tty,/dev/sd,/dev/lp,/dev/hd*等設備文件;
    /opt:第三方應用程序的安裝位置;
    /srv:系統上運行的服務用到的程序;
    /tmp:臨時文件存放位置;所有用戶都可以訪問;
    /usr:全局共享只讀數據,整個目錄都是只讀;
    /var:variable data files常態性變動的文件夾,包括緩存(cache)、登錄文件(logfile)以及某些軟件運行所產生的文件,包括程序文件(lock file,run file),也許有MySQL數據庫的文件等。
    /proc:用於輸出內核與進程信息相關的虛擬文件系統;屬於虛擬文件系統,內存中的數據,如內核、程序進程、外部設備的狀態,網絡狀態等;
    /sys:用於當前系統上的硬件設備相關信息的虛擬文件系統;
    一般情況下,除了boot和home,其他目錄一般不能放在其他分區
  • Linux入門基礎知識(1)