第一週 計算機組成及Linux基礎入門

第一週 計算機組成及Linux基礎入門

摘要

1、描述計算機組成及其功能。
2、描述羅列Linux的發行版,並描述不同發行版之間的聯繫和區別。
3、描述Linux的哲學思想,並按照自己的理解對其進行解釋。
4、說明Linux系統上命令的使用格式,詳細介紹ifconfig、echo、tty、startx、exportpwd、history、
      shutdown、poweroff、reboot、hwclock、date命令的使用,並配合相應的示例說明闡述。
5、如何在Linux系統上獲取命令的幫助信息,請詳細列出,並描述man文檔的章節是如何劃分。
6、請羅列Linux發行版的基礎目錄名稱命名法則及功能規定。

一、計算機的組成及其功能

計算機概念:

電子計算機,也叫做電腦(computer),是一種用於高速計算的電子計算機器,通過計算機,可以實現計算、存儲等功能電子計算機,也叫做電腦(computer)。

計算機組成結構:

計算機一般是由控制器、運算器、存儲器、輸入設備、輸出設備 這五個部分組成。

  1. 控制器(Control):是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等。

  2. 運算器(Datapath):運算器的功能是對數據進行各種算術運算和邏輯運算,即對數據進行加工處理。

  3. 存儲器(Memory):存儲器的功能是存儲程序、數據和各種信號、命令等信息,並在需要時提供這些信息。

  4. 輸入(Input system):輸入設備是計算機的重要組成部分,輸入設備與輸出設備合你爲外部設備,簡稱外設,輸入設備的作用是將程序、原始數據、文字、字符、控制命令或現場採集的數據等信息輸入到計算機。常見的輸入設備有鍵盤、鼠標器、光電輸入機、磁帶機、磁盤機、光盤機等。

  5. 輸出(Output system):輸出設備與輸入設備同樣是計算機的重要組成部分,它把外算機的中間結果或最後結果、機內的各種數據符號及文字或各種控制信號等信息輸出出來。微機常用的輸出設備有顯示終端CRT、打印機、激光印字機、繪圖儀及磁帶、光盤機等。

操作系統的功能:

    驅動程序
    進程管理
    安全
    網絡功能
    內存管理
    文件系統
    ......

二、Linux發行版簡介

發行版 特點
Ubuntu 安裝簡單,默認採用的GNOME桌面系統,並且Ubuntu採用自行加強的內核(kernel),安全性方面更上一層樓。並且,Ubuntu默認不能直接root登陸,必須從第一個創建的用戶通過su或sudo來獲取root權限。Ubuntu 的版本週期爲六個月,彌補了Debian 更新緩慢的不足。而且具有人 氣頗高的論壇提供優秀的資源和技術支持,固定的版本更新週期和技術支持,適於新手使用。
openSUSE SUSE 是Novell 公司的著名Linux 發行版,自主開發的專業,易用的YaST 軟件包管理系也大受好評。SUSE 是一個非常專業、優秀的發行版,一向以華麗的用戶界面著稱。使用方便,也是當前最流行的版本之一,適於新手使用。
Debian Debian 是迄今爲止,最遵循GNU 規範的Linux 系統。dpkg 是Debian 系列特有的軟件包管理工具,它被譽爲所有Linux 軟件包管理工具(比如RPM ) 最強大的!配合apt-get ,在Debian 上安裝、升級、刪除和管理軟件變得異常容易。Debian 具有優秀的網絡和社區資源,強大的apt- get ,許多發行版都是基於Debian 的,最有影響力的發行版之一。不過Debian 安裝相對不易,stable 分支的軟件極度過時,不適於新手使用。
Redhat 應該稱爲Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所謂的Redhat Advance Server,收費版本)、Fedora Core(由原來的Redhat桌面版本發展而來,免費版本)、CentOS(RHEL的社區克隆版本,免費)。Redhat應該說是在國內使用人羣最多的Linux版本,甚至有人將Redhat等同於Linux,而有些老鳥更是隻用這一個版本的Linux。所以這個版本的特點就是使用人羣數量大,資料非常多,言下之意就是如果你有什麼不明白的地方,很容易找到人來問,而且網上的一般Linux教程都是以Redhat爲例來講解的。Redhat系列的包管理方式採用的是基於RPM包的YUM包管理方式,包分發方式是編譯好的二進制文件。穩定性方面RHEL和CentOS的穩定性非常好,適合於服務器使用,但是Fedora Core的穩定性較差,最好只用於桌面應用

參考文檔:linux各個發行版的區別

三、Linux的哲學思想

1、一切皆文件
    把幾乎所有資源統一抽象爲文件形式;包括硬件設備,通信接口等。
2、由衆多功能單一的程序組成
    一個程序只做一件事,並做好。
       組合小程序完成複雜任務。
3、儘量避免和用戶交互
    目標:易於以編程的方式實現自動化任務
4、使用文本文件保存配置信息:

四、Linux系統上命令的使用格式

基礎命令格式:

    localhost ~]#COMMAND [OPTIONS] [ARGUMENTS]
                   命令     選項       參數
        選項:用於啓動或者關閉命令的某個或某些功能
           短選項:-c -a等多個短選項可以合併使用
           長選項:由兩個連字符和一些大小寫字母組合的單詞構成,如--word 或者--long 等
        參數:命令的作用對象(向命令提供數據),命令的參數可以有一個或者多個發起一命令:
        請求內核將某個二進制程序運行爲一個進程;
            程序 --> 進程
            靜態 --> 動態(有生命週期)
        命令本身是一個可執行的程序文件:二進制格式的文件,有可能會調用共享庫文件;
            多數系統程序文件都存放在:/bin, /sbin, /usr/bin, /usr/sbin,/usr/local/bin, /usr/local/sbin
            普通命令:/bin, /usr/bin, /usr/local/bin
            管理命令:/sbin, /usr/sbin, /usr/local/sbin
        共享庫:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
            32bits的庫:/lib, /usr/lib, /usr/local/lib
            64bits的庫:/lib64, /usr/lib64, /usr/local/lib64
            注意:並非所有的命令都有一個在某目錄與之對應的可執行程序文件
        命令必須遵循特定格式規範:exe, msi, ELF(Linux)
            ~]# file /bin/ls
        命令分爲兩類:
            由shell程序的自帶的命令:內置命令(builtin)
            獨立的可執行程序文件,文件名即命令名:外部命令
        shell程序是獨特的程序,負責解析用戶提供的命令;
            環境變量:
                PATH:從哪些路徑中查找用戶鍵入的命令字符串所對應的命令文件;
                    ~]# echo $PATH
                    /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
                    查找次序:自左而右;
            查看命令類型:
                type COMMAND
        OPTIONS:
            指定命令的運行特性;
        選項有兩種表現形式:
            短選項:-C, 例如-l, -d
                注意:有些命令的選項沒有-;
                如果同一命令同時使用多個短選項,多數可合併:-l -d = -ld
            長選項:--word, 例如--help, --human-readable
                注意:長選項不能合併;

            注意:有些選項可以帶參數,此稱爲選項參數;

終端介紹:

 1、物理終端:我們將顯示器、鍵盤鼠標直接連接在主機上的接口,這樣的終端稱爲物理終端,即本機自帶,我們也稱爲物理控制檯console表示/dev/console
 2、虛擬終端:系統會提供用戶6個虛擬終端,這些虛擬終端是附加在物理終端上的,用軟件方式虛擬實現的終端console默認啓用6個虛擬終端,可以通過快捷鍵進行切換,切換方式爲:Ctrl-Alt-F[1-6],表示:/dev/tty#
 3、圖形終端:附加在物理終端上,,用軟件方式虛擬實現的功能,但是額外會提供煮麪環境,切換方式:Ctrl-Alt-F7
 4、僞終端:圖形界面下打開的命令行接口,還有基於ssh協議或telnet協議等遠程打開的命令行界面,表示:/dev/pts/# 。查看當前的終端設備命令:tty COMMAND

交互式程序

    GUI:圖形化界面,基於X協議實現的窗口管理器
        Linux桌面系統是由:
            GNOME,KDE,XFCE
    CLI:命令行界面。對應的叫shell程序,用戶需要用過shell實現與系統的交互        
        shell程序版本: 
            sh,csh,ksh,bash,zsh
        獲取當前環境使用的shell:
            localhost ~]# echo $SHELL
        顯示當前系統使用的所有shell:
            localhost ~]# cat /etc/shells 

Linux基礎命令

  • ifconfig

    語法:
    ifconfig [-v] [-a] [-s] [interface]
    ifconfig [-v] interface [aftype] options | address …
    作用:
    Unix-like系統中用於查看以及配置網絡接口設備的系統管理工具。其作用等同於ip addr,
    作用於類Unix系統中,用於配置、控制及查詢TCP/IP網絡接口的系統管理工具

~]# ifconfig -a
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.23.128  netmask 255.255.255.0  broadcast 192.168.23.255
        inet6 fe80::20c:29ff:feb1:8e6b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b1:8e:6b  txqueuelen 1000  (Ethernet)
        RX packets 54896  bytes 5035691 (4.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5394  bytes 678551 (662.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 140  bytes 12252 (11.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 140  bytes 12252 (11.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • echo

    語法:
    echo [SHORT-OPTION]… [STRING]…
    echo LONG-OPTION
    作用:
    回顯命令,用來將字符串輸出到終端上。它通常在shell腳本中使用,以將狀態信息輸出到屏幕或文件中
    參數:
    -n 不要在最後自動換行
    -e 若字符串中出現以下字符,則特別加以處理,而不會將它當成一般
    文字輸出:
    \a 發出警告聲;
    \b 刪除前一個字符;
    \c 最後不加上換行符號;
    \f 換行但光標仍舊停留在原來的位置;
    \n 換行且光標移至行首;
    \r 光標移至行首,但不換行;
    \t 插入tab;
    \v 與\f相同;
    \ 插入\字符;
    \nnn 插入nnn(八進制)所代表的ASCII字符;
    –help 顯示幫助
    –version 顯示版本信息

[root@localhost ~]# echo -n helloworld
helloworld[root@localhost ~]# echo helloworld
helloworld

參考文檔:echom命令詳解

  • tty

    語法:
    tty [OPTION]…
    作用:
    查看當前終端對應的設備

  • startx

    語法:
    startx(參數)
    作用:
    用來啓動X Window,實際上啓動X Window的程序爲xinit。

  • export

    語法:
    BASH BUILTIN COMMANDS
    作用:
    設置或顯示環境變量。
    參數:
    -f:代表[變量名稱]中爲函數名稱。
    -n:刪除指定的變量。變量實際上並未刪除,只是不會輸出到後續指令的執行環境中。
    -p:列出所有的shell賦予程序的環境變量。
    參考文檔:linux export 的作用

  • pwd

    語法:
    pwd [OPTION]…
    作用:
    以絕對路徑的方式顯示用戶當前工作目錄
    參數:
    一般情況下不帶任何參數,如果目錄是鏈接時:
    -P:顯示出實際路徑,而非使用連接(link)路徑。
    –help:顯示幫助信息
    –version:顯示版本信息

[root@localhost ~]# pwd -P
/root
[root@localhost ~]# pwd
/root

參考文檔:每天一個linux命令(3):pwd命令

  • history

    語法:
    BASH BUILTIN COMMANDS
    作用:
    用於顯示指定數目的指令命令,讀取歷史命令文件中的目錄到歷史命令緩衝區
    系統在關閉後會將現有history內容保存在文件~/.bash_history
    系統默認保留1000條
    參數:
    -c:清空當前歷史命令
    -a:將歷史命令緩衝區中命令寫入歷史命令文件中
    -r:將歷史命令文件中的命令讀入當前歷史命令緩衝區
    -w:將當前歷史命令緩衝區命令寫入歷史命令文件中
    n:打印最近n條歷史命令(n爲數字)
    參考文檔:Linux基礎知識之history的詳細說明

  • shutdown

    語法:
    shutdown [OPTIONS…] [TIME] [WALL…]
    作用:
    用於安全的關閉/重啓計算機
    參數:
    - k 不執行任何關機操作,只發出警告信息給所有用戶
    - r 重新啓動計算機 ,相關重啓操作命令有shutdown -r ,reboot,init 1等
    - h 關機並徹底斷電,等同於halt,相關關機操作命令有halt,shutdown -h now,poweroff,init 0等
    - f 快速關機且重啓動時跳過fsck
    - n 快速關機不經過init程序
    - c 取消之前的定時關機
    time:
    - now 馬上
    - hh:mm 具體時間
    +0 幾分鐘後執行操作
    wall:廣播信息至所有用戶都能看見
    /]# shutdown -r +15 “15分鐘後將重啓機器”

  • poweroff

    語法:
    poweroff [OPTIONS…]
    作用:
    用於安全的關機
    參數:
    -n:關閉操作系統時不執行sync操作
    -w:不真正關閉操作系統
    -d:關閉操作系統時,不將操作寫入日誌文件 \
    -f:強制關閉系統
    -i:關閉系統之前關閉所有的網絡接口
    -h:關閉操作系統之前將系統中所有的操作設置爲備用模式

  • reboot

    語法:
    reboot [OPTIONS…]
    作用:
    用於安全的重啓
    參數:
    -d:重新開機時不把數據寫入數據文件/var/tmp/wtmp
    -f:強制重新開機,不調用shutdown指令的功能
    -i:在重開機之前,先關閉所有網絡界面
    -n:重開機之前不檢查是否有未結束的程序
    -w:僅做測試,並不真正將系統重新開機,只會把重開機的數據寫入/var/log目錄下的wtmp記錄文件

  • hwclock

    語法:
    hwclock [function] [option…]
    作用:
    顯示與設定硬件時鐘。在Linux中有硬件時鐘與系統時鐘等兩種時鐘。硬件時鐘是指主機板上的時鐘設備,也就是通常可在BIOS畫面設定的時鐘。系統時鐘則是指kernel中的時鐘。當Linux啓動時,系統時鐘會去讀取硬件時鐘的設定,之後系統時鐘即獨立運作。所有Linux相關指令與函數都是讀取系統時鐘的設定。
    參數:
    –adjust  hwclock每次更改硬件時鐘時,都會記錄在/etc/adjtime文件中。使用–adjust參數,可使hwclock根據先前的記錄來估算硬件時鐘的偏差,並用來校正目前的硬件時鐘。
    –debug  顯示hwclock執行時詳細的信息。
    –directisa  hwclock預設從/dev/rtc設備來存取硬件時鐘。若無法存取時,可用此參數直接以I/O指令來存取硬件時鐘。
    –hctosys  將系統時鐘調整爲與目前的硬件時鐘一致。
    –set –date=<日期與時間>  設定硬件時鐘。
    –show  顯示硬件時鐘的時間與日期。
    -s –systohc  將硬件時鐘調整爲與目前的系統時鐘一致。
    –test  僅測試程序,而不會實際更改硬件時鐘。
    –utc  若要使用格林威治時間,請加入此參數,hwclock會執行轉換的工作。
    –version  顯示版本信息。
    以硬件爲準,把系統調整爲與硬件時間相同
    ~]# hwclock -s –hctosys
    以系統爲準,把硬件時間調整爲與系統一致
    ~]# hwclock -w –systohc

  • date

    語法:
    date [OPTION]… [+FORMAT]
    date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
    作用:
    date 可以用來顯示或設定系統的日期與時間
    參數(常用):
    -d<“字符串”>:顯示字符串所指的日期與時間
    -s<“字符串”>:根據字符串設置的日期與時間
    %F:年月日
    %T:小時分鐘秒
    %Y:年
    %m:月
    %d:日
    %H:小時(24小時進制)
    %S:秒
    %s:秒(從1970-01-01 00:00:00 開始到命令執行那一刻的秒數 unix元年)

    日期書寫格式:
    date [MMDDhhmm[[CC]YY][.ss]]
    ~]# date -s ‘2017-10-12 17:26:00’

[root@localhost ~]# date +%F
2017-11-29
[root@localhost ~]# date +%T
10:46:30
[root@localhost ~]# date +"%F %T"
2017-11-29 10:46:48

參考文檔:每天一個linux命令(37):date命令

五、Linux獲取命令的幫助信息

內建命令與外部命令

內建命令:help COMMAND
    語法:help(選項)(參數)
    作用:用於顯示shell內部命令的幫助信息
    參數:-s:輸出短格式的幫助信息。僅包括命令格式 
外部命令: man COMMAND
    語法: man(選項)(參數)
        SECTION:
                    NAME:功能性說明
                    SYNOPSIS:語法格式
                    DESCRIPTION:描述
                    OPTIONS:選項
                    EXAMPLES:使用示例
                    AUTHOR: 作者
                    BUGS: 報告程序bug的方式
                    SEE ALSO: 參考
                    ...
        SYNOPSIS: 
                    []:可選內容;
                    <>:必須提供的內容;
                    a|b|c:多選一;
                    ...:同類內容可出現多個;
   作用:可以使用man手冊獲取幫助

man使用手冊:

壓縮格式的文件,有章節之分(共8個章節)
/usr/share/man,man1,man 2 ...................
    1、用戶命令:
    2、系統調用:
    3、C庫調用:
    4、設備文件及特殊文件
    5、文件格式:(配置文件說明)
    6、 遊戲使用說明
    7、雜項
    8、管理工具和守護進程         

man手冊查看方法/快捷鍵:

空格鍵:向文件尾部翻一頁
B鍵 :  向文件首部翻一頁
CTRL+D :向文件尾部翻半頁
CTRL+K  :向文件首部翻半頁
ENTER:  向文件尾部翻一行
K建:向文件首部翻一行
G鍵:跳轉至全文最後一行
#G: 跳轉至制定行  ,eg:2G,3G
1G:跳轉文件首行
文本搜索功能:
    /keyword  :從文件首部向文件尾部依次查  或者  ?leyword  :從文件尾部向文件首部依次查找
    keyword   換成需要查找的文件,n/N上下查找 ,查找時不區分大小寫
    n:與查找命令方向相同
    N:與查找命令方向相反
    退出查找:q

六、Linux發行版的基礎目錄名稱命名法則及功能規定

FHS:文件系統層級結構標準

目錄 用途
/bin 所有用戶可用的基本命令程序文件
/sbin 供系統管理員使用的工具程序
/boot 引導加載器所依賴的靜態文件,一般有內核、initramfs、prub等,開機後該目錄無用,下次重啓會再次啓動
/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 全局共享只讀數據路徑文件
/var 存儲經常發生變化的數據的目錄
/proc 基於內存的虛擬文件系統,用於爲內核及進程存儲其相關信息 ,他們多爲內核參數
/sys sysfs虛擬文件系統提供一種比proc更爲理想的訪問內核數據的途徑,其主要作用在於爲管理linux設備提供一種統一模型的接口

文件名使用法則:

 1、嚴格區分字符大小寫:file1 File1 FILE1 並不是一個文件
 2、目錄也是文件,在同一路徑下,兩個文件不能同名
 3、支持使用除”/“以外的任意字符;
 4、最長不得超過255個字符            
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章