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

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

計算機由五大組件組成包括:計算器,控制器,存儲,輸入設備,輸出設備。

運算器:做運算,且只能做二進制運算,包括算術運算和邏輯運算,如加減乘除,移位,取模。運算器的核心是加法器。

控制器:控制整個計算機部件之間協調。比如做計算,運算器先從存儲器取數,運算器作運算,再回存存儲器。這整個過程都由控制器做協調。

    其中,計算器與控制器組成CPU,即中央處理單元。

              CPU由多組芯片(電路)構成,每個芯片都是由多個納米級晶體管(門電路)按特定邏輯組織在一起的。

              每個芯片,功能不同,運算能力以及指令也不同。

              CPU的功能實現通過指令進行,多個指令組成指令集。其物理實現即通過調用CPU針腳的功能進行。

              針腳是為完成電氣/電子運算最基本,最基礎的功能。

存儲器:memory 編址存儲單元設備。8位一個單元(字節),英文為cell,也稱為存儲盒子。

    內存:眾多字節聯合起來形成的總體存儲空間。內存中每個存儲單元都有名字,即地址。因此最多最大的地址,決定內存的最大的尋址空間。32位計算機總線尋址范圍是232次方范圍的內存,因此32位計算機最多尋址4G內存。數據存儲在內存中,可能占據一個存儲空間,也可能是一片連續的存儲空間。CPU讀取數據的方式可以是直接尋址(直接操作數),也可以是間接尋址(間接操作數)。因為存儲器與運算器的交互取決于較慢的那個,即內存的速度較慢影響了CPU的運算速度,為了協調二者的工作,緩存,接近CPU的速度的存儲出現了。

    緩存:分為一級緩存,二級緩存,三級緩存,具有造價高,容量小的特點,加速CPU與內存交互,協調各個部件的工作,因部件的速率不同,最終提升計算機的性能。

    硬盤:因內存是易失性存儲器,斷電后數據丟失,因此,為永久存儲數據,就需要硬盤。硬盤主要分為機械硬盤(磁盤)以及固態硬盤(SSD)。

輸入設備,輸出設備統稱IO設備,是計算機與外部交互的組件,其特點是性能較差,多機械式交互。如網卡,鍵盤,鼠標,顯示器,音響等。

 

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

Linux的發行版主要包括slackwaredebianredhat系列。

slackware

    suse(基于slackware的發行版)

        Opensuse(基于suse的二次發行版 個人操作系統)

        sles(基于suse的二次發行版 企業級操作系統)

debian

    ubuntu(基于debian的發行版)

        mint(基于ubuntu的二次發行版)

redhat

    rhelredhat enterprise linux 企業級系統,相對保守,每18個月發行一個新版本

    fedora:個人版,用于測試新功能,每6個月發行一個新版本

    CentOS:rhel的再編譯版本,兼容rhel的格式

Arch:Linux輕量級系統,程序包管理與眾不同

Gentoo:現編譯的Linux系統,原滋;原味

Android:Linux內核+busybox+java虛擬機

LFS:Linux From Scratch 自己從頭開發一個Linux發行版

 

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

自由軟件:自由使用;自由學習和修改;自由分發;自由創建衍生版。

1、一切皆文件:把幾乎所有資源,包括硬件設備都組織為文件格式;

2、由眾多單一目的小程序組成:一個程序只實現一個功能,而且要做好。多個小程序組合完成復雜的任務;

3、盡量避免跟用戶交互。目標:實現腳本編程,以自動完成某些功能;

4、使用純文本文件保存配置信息。目標:一款使用的文本編輯器都能完成系統配置工作。

 

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

    命令格式:COMMAND [OPTION…] [ARGUMENT…]

    選項:用于啟動或關閉命令的某個或某些功能,一般短選項由"-"引導,長選項由“–”引導。選項間用空格分開。

    短選項:-c單個字符,例如-l,-h。多個短選項一起使用可合并,例如-l -h可寫作-lh

    長選項:–word單詞,例如–long, –human-readable。長選項一般不能合并

    參數:命令的作用對象,向命令提供數據。多個參數間用空格分隔。

    注意:

    1、多選項,以及多參數和命令之間都應該使用空白字符分隔;

    2、取消命令執行:Ctrl+c。

    ifconfig:configure a network interface 配置網口,查看網口信息。

    ifconfig [interface]

 ifconfig interface [aftype] options | address …

[root@localhost /]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:E3:76:C9  
          inet addr:192.168.9.103  Bcast:192.168.9.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fee3:76c9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14011 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7973 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:15773354 (15.0 MiB)  TX bytes:595864 (581.8 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:578 (578.0 b)  TX bytes:578 (578.0 b)

 echo:回顯命令,shell內建命令 

    – display a line of text

    – write arguments to standard output

    echo [string …]

    echo [SHORT-OPTION]… [STRING]…

     echo LONG-OPTION

 echo+變量名:取變量的值并回顯

    單引號:強引用,真正顯示引號內容,即變量名;

     雙引號:弱引用,變量替換,顯示變量名所指向空間所存儲的數據。

    -n 禁止自動添加換行符,即回顯后不另起一行,默認回顯后添加換行符

    -e 允許使用轉義符,即用于控制功能的某些符號,如\n 換行,\t 制表符。

[root@localhost /]# echo "$SHELL"
/bin/bash
[root@localhost /]# echo '$SHELL'
$SHELL

    tty:- print the file name of the terminal connected to standard input

        顯示當前連接終端信息

        tty [OPTION]…

        物理終端:直接接入本機的顯示器和鍵盤設備等,路徑:/dev/console。設備啟動時使用物理終端。

        虛擬終端:附加在物理終端之上的以軟件方式虛擬實現的終端。為保持unix特性,默認啟動多個虛擬終端。CenOS 6默認啟動6個虛擬終端,切換快捷鍵: Ctrl+Alt+F1->F6。默認啟動虛擬終端1(圖形終端登錄)

                          圖形終端:虛擬終端的一種,但額外提供桌面環境。

        虛擬終端設備文件路徑:/dev/tty#(#表示數字)

        模擬終端:圖形界面下打開的命令行接口,基于SSH協議或telnet協議等遠程打開的界面。以軟件方式實現,不會附加在物理終端之上,而是圖形終端或其他遠程終端之上。

        模擬終端設備文件路徑:/dev/pts/#(#表示數字)

[root@localhost ~]# tty
/dev/pts/0

startx: – initialize an X session

啟動XWindow圖形界面

GUI:圖形用戶界面,由X protocol(遠程顯示協議),window manager(窗口管理器),desktop(桌面系統)組成

常見桌面系統類型:GNOME(c,gtk),XFCE(嵌入式輕量級桌面環境),KDE(c++,qt)

export: Set export attribute for shell variables.設置,顯示環境變量

    export [-fn] [name[=value] …] or export -p

    -f refer to shell functions 關聯到shell方程

     -n remove the export property from each NAME 根據名字刪除環境變量

     -p display a list of all exported variables and functions 顯示環境變量列表

[root@localhost ~]# export -p
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="localhost.localdomain"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
declare -x PWD="/root"
declare -x SELINUX_LEVEL_REQUESTED=""
declare -x SELINUX_ROLE_REQUESTED=""
declare -x SELINUX_USE_CURRENT_RANGE=""
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
declare -x SSH_CLIENT="192.168.9.102 60130 22"
declare -x SSH_CONNECTION="192.168.9.102 60130 192.168.9.103 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="xterm"
declare -x USER="root"
export NAME=VALUE
此設置臨時生效,長期生效需修改配置文件/etc/profile(全局),~/.bashrc,~/.bash_profile(針對某個用戶)

history:

管理命令歷史 Display or manipulate the history list.

history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg…]

Options:

      -c clear the history list by deleting all of the entries清空命令歷史

      -d offset delete the history entry at offset OFFSET.用編號刪除歷史中指定的命令

      -a append history lines from this session to the history file 追加本次會話新執行的命令歷史列表到歷史文件中

原理:

登錄進shell后新執行的命令只會記錄在緩存中

登錄shell時,會讀取命令歷史文件(~/.bash_history)中記錄下的命令

這些新命令在用戶退出時會“追加”至命令歷史文件中

history的環境變量:

    HISTSIZE:命令歷史記錄的條數

    HISTFILE:每個用戶獨立的命令歷史文件,~/.bash_history位于用戶家目錄下

    HISTFILESIZE:命令歷史文件記錄歷史記錄的條數

history #:顯示歷史中最近的#條命令

[root@localhost ~]# history 5
    6  export -p
    7  man history
    8  type history
    9  help history
   10  history 5

快捷調用歷史中的命令:

!#:重復執行第#條命令

?。。褐貜蛨绦猩弦粭l命令

!string:執行最近一個以指定string開頭的命令

若不想運行的命令記錄到歷史中,可通過環境變量HISTCONTROL控制命令歷史的記錄方式。

環境變量HISTCONTROL取值

ignoredups:忽略重復的命令(連續且相同的命令方為“重復”),默認值

ignorespace:忽略以空白開頭的命令。

ignoreboth:以上兩種均生效(ignoredups,ignorespace)


shutdown: – bring the system down關機,重啟命令

shutdown [OPTION]…  TIME [MESSAGE]

OPTION:

-r reboot重啟

-h halt關機

-c 取消關機cancel

TIME:

now立刻

+m分鐘,例如:+3,相對時間表示法,從命令提交開始多久之后執行命令

hh:mm: 絕對時間表示,指明具體時間


reboot 重啟計算機

poweroff關閉計算機

reboot, halt, poweroff – reboot or stop the system

-f ,–force 強制執行命令,不調用shutdown,類似冷重啟,不保存數據。一般shutdown會安全關機并保存數據,數據可還原。(一般不用-f)

-p 切斷電源

–verbose 顯示詳細信息


hwclock:- query and set the hardware clock (RTC) 查詢設置硬件時鐘

Linux的兩種時鐘

硬件時鐘:主板上紐扣電池為晶體振蕩器供電,實時時鐘,開機時讀取硬件時間并設定為當前系統時間

系統時鐘:由Linux內核通過CPU的工作頻率進行的計時。

hwclock命令顯示硬件時鐘,并實現硬件時鐘與系統時鐘同步

-s –hctosys 以硬件時鐘為準

-w –systohc 以系統時鐘為準


date 顯示系統時鐘,管理當前系統日期和時間

– print or set the system date and time

date [OPTION]… [+FORMAT]

date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]

MM:月份 DD:幾號 hh:小時 mm:分鐘 YY:兩位年份 CCYY:四位年份 .ss秒種
顯示今天為周幾:date +%a/date +%A

顯示今天的日期:date +%D/date +%F

獲取當前系統時間:date +%T/date +%H-%M-%S

date +%F-%H-%M-%S

設定系統時間:

[root@localhost ~]# date 070916132016.52
Sat Jul  9 16:13:52 PDT 2016
[root@localhost ~]# date
Sat Jul  9 16:13:57 PDT 2016


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

輸入type命令查看命令類型:內/外部命令

內部命令:shell自帶 

內部命令幫助:help + COMMAND

外部命令:都有一個可執行程序,位于文件系統某目錄下,可通過which,whereis查看

shell程序搜尋外部命令可執行文件的路徑定義在PATH環境變量中

#echo $PATH 路徑優先級自左向右搜尋

hash:shell搜尋到的外部命令的路徑結果會緩存至kvkey-value)存儲中

外部命令幫助:

1#COMMAND –help,COMMAND -h

2)使用手冊(manual)簡寫#man

3)信息頁 #info COMMAND

4)程序自身的幫助文檔,README,INSTALL,Changelog

    通常在目錄/usr/share/doc/COMMAND-VERSION

5)程序官方文檔,官方站點的Documentation

6)發行版的官方文檔

7Google

8www.slideshare.com

 

man到相應的章節下找到命令對應的壓縮文件,解壓后用less命令展示。

注意:

有些關鍵字在不止一個章節中存在幫助手冊

要查看指定章節中的手冊:man # COMMAND

man文檔的章節劃分:

man1:用戶命令

man2:系統調用

man3C庫調用

man4:設備及特殊文件

man5:配置文件格式

man6:游戲相關

man7:雜項

man8:管理類的命令

 

man命令的配置文件:/etc/man.config

->MANPATH /PATH/TO/SOMEWHERE:通過文本指定新的手冊文件搜索位置

->man -M /PATH/TO/SOMEWHERE COMMAND:通過命令方式到指定位置下搜索COMMAND命令的手冊并顯示之。

man幫助手冊中常用段落說明:

NAME:程序的名字

SYNOPSIS:簡要使用幫助

    []:可選內容

    <>:必選內容

    a|b:二選一,多選一

    …:同一個內容可出現多次

    {}:成組,多選一

DESCRIPTION:詳細功能

OPTIONS:專用選項解釋

EXAMPLES:使用示例參考

AUTHOR:作者

REPORTING BUGS:報告BUG聯系方式和人

SEE ALSO:參考幫助

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

/boot:引導文件的存放目錄,存放操作系統啟動所依賴的文件,一般為一個獨立分區

/bin:供所有用戶使用的二進制命令,linux啟動會用到這些程序,不能關聯至獨立分區,OS啟動會用到的程序

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

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

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

/etc:配置文件目錄

    /etc/opt:第三方軟件安裝文件配置文件目錄

    /etc/X11:圖形界面XWindow系統的配置文件目錄

    /etc/sgml:SGML配置文件目錄

    /etc/xml:xml配置文件目錄

/home 用戶家目錄,分兩類用戶:管理員,普通用戶

    /home/USERNAME:普通用戶家目錄

    /root管理員家目錄

/media:便攜式移動設備掛載點,如U盤,光盤

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

/dev:設備文件目錄

/opt:第三方應用程序安裝位置

/srv:系統上運行服務用到的數據存放目錄

/tmp:臨時文件存儲位置

/usr:獨立的層級文件系統,存放除/bin,/sbin下基本命令外,額外其他的應用程序以及諸多只讀資源和共享資源文件,通常會關聯到獨立分區。

usr:universal shareable read-only

/usr is the second major section of the filesystem,/usr is shareable,read-only data

    /bin:保證系統擁有完整功能而提供的應用程序

    /sbin:保證系統擁有完整功能而提供的管理類應用程序

    /include:C程序的頭文件,庫文件的調用接口

    /share:結構化獨立數據,如man,doc,系統背景圖片等

    /X11R6:XWindow系統的文件

    /games:游戲和教育類二進制文件

    /lib

    /lib64

    /src 源代碼

    /local 第三方應用程序的安裝位置,取代/opt,可關聯至完全獨立的分區

        bin,sbin,lib,lib64,etc,share

/var 可變數據文件,通常會獨立分區

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

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

    /local:專用于為/usr/local下的應用程序存儲可變數據

    /lock:鎖文件

    /log:日志目錄及文件

    /opt:專用于為/opt下的應用程序存儲可變數據

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

    /spool:應用程序的池數據

    /tmp:保存系統兩次重啟之間產生的臨時數據

    /mail:郵件目錄

/proc:用于輸出內核與進程信息相關的虛擬文件系統

/sys:用于輸出當前系統上硬件設備相關信息的虛擬文件系統

/misc:雜項

/lost+found:ext文件系統默認格式化后產生的路徑,與系統沒關系

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

Linux上應用程序的組成部分:

二進制程序:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin

庫文件:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64

配置文件:/etc,/etc/Directory,/usr/local/etc

幫助文件:/usr/share/man,/usr/share/doc,/usr/local/share/man,/usr/local/share/doc

    

原創文章,作者:N21_走心哥,如若轉載,請注明出處:http://www.www58058.com/20555

(0)
N21_走心哥N21_走心哥
上一篇 2016-07-12
下一篇 2016-07-12

相關推薦

  • 路徑操作

    路徑操作模塊 3.4版本之前 os.path模塊 from os import path p = path.join(‘/etc’, ‘sysconfig’, ‘network’) print(type(p), p) print(path.exists(p)) print(path.split(p)) print(path.abspath(‘.’)) p =…

    2017-10-27
  • linux進程和計劃任務

    內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、 安全功能等 進程管理:     系統優先級:數字越小,優先級越高    實時優先級: 99-0,值最大優先級最高    nice值:-20 到19 ,對應系統優先級100-139或99 Linux 內核:搶占式多任務  &nb…

    Linux干貨 2017-03-23
  • lamp平臺 php解析器基于模塊和php-fpm

    首先,我先介紹一下實驗環境: http服務器:192.168.236.128(php解析器基于modules) mysql服務器:192.168.236.129 編譯和配置http服務器,http版本是2.4以上的。 由于http依賴于apr apr-util這兩個包,但是我們系統上的rpm包版本比較低,我們也需要下載這兩個源碼包來編譯,解決依賴關系。 還要…

    Linux干貨 2015-08-31
  • MySQL備份與恢復

    備份與恢復 數據備份就是將數據以某種方式加以保留,以便在系統需要時重新恢復和利用。其作用主要體現在如下兩個二方面: 在數據遭到意外事件破壞時,通過數據恢復還原數據 數據備份是歷史數據保存歸檔的最佳方式 數據恢復就是把遭到破壞、刪除和修改的數據還原為可使用的數據的過程 為什么要備份數據? 在生產環境中我們數據庫可能會遭遇各種各樣的不測從而導致數據丟失, 大概分…

    Linux干貨 2016-11-25
  • Linux文件管理類命令相關

    Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 1)、查看文件命令: (1)ls命令: list,列出目錄下的內容 語法: ls [OPTION]… [FILE]… 常用選項: -a: 顯示所有文件,包括隱藏文件; -A:顯示除.和..之外的所有文件; -l: –long, 長格式列表,即顯示文件的詳細屬性信息; -h, –huma…

    Linux干貨 2016-11-06
  • AWK(一)

    本章內容:awk介紹;awk基本用法;awk變量;awk格式化;awk操作符;awk條件判斷;awk循環;awk數組;awk函數;調用系統命令

    2018-01-01

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-07-12 14:15

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

欧美性久久久久