N25 – 第一周博客作業

 

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

 

那么,下面,我們開始,黑喂狗

 

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

CPU
 運算器:算數運算,邏輯運算等各種運算
 控制器:控制總線使用權限,尋址,讀訪問,寫訪問
 寄存器/緩存:

存儲器:內存/RAM, 隨機訪問存儲器
 內存分為很多存儲單元,每一個存儲單元可以存儲8位字節數據,8bits = 1Byte
CPU+存儲器 = 計算機核心部件

 

輸入設備:下指令,提供數據等
輸出設備:輸出數據加工后的結果

 

2. 按系列羅列Linux的發行版,并描述不同發行版之間的聯系和區別
 a. Slackware家族
?  Slackware: 致力于成為Unix那樣的Linux系統,沒有軟件包管理工具,所有軟件都是tgz(tar/zip) 格式文件和安裝腳`                   本,Slackware一罐堅持KISS原則”Keep It Simple Stupid)
  SUSE Linux(SLES): 基于RPM包管理工具的著名發行版rpm/zipper
  OpenSUSE: SUSE的社區版
   
 b. Debian家族:
?  Debian: 分為Testing/Unstable/Stable三個分支,最遵循GNU規范的Linux系統,至今由社區支持,無商業化公司,使用優秀的dpkg(deb包)/apt-get包管理方式
?  Ubuntu:基于Debian的Unstable分支出現, 所有系統命令必須使用sudo實現,無法使用root login系統
?  Mint: 基于Ubuntu的另一個Linux 桌面版本

 c. Redhat家族
?  RHEL: 基于RPM/YUM軟件包管理方式,最流行的Linux發現版本,RPM/Yum->dnf
      Fedora:早先為Rebhat的免費產品,后來停止更新后捐贈給了Fedora。Fedora相對于RHEL相當激進,所有的新軟件,新版本都會在Fedora上看到,可以說Fedora擔當相當一部分RHEL試驗田的角色。
?  CentOS: 完全基于RHEL的社區版本,RHEL的免費替代品
?  Oracle Enterprise: Oracle根據RHEL自行開發的運行Oracle的Linux服務器系統

 d. Gentoo: 滾動發行版,軟件包括kernel均為下載的源碼在本地編譯而得,整個安裝過程都需要邊安裝邊編譯
 
 e. Arch: 滾動發行版,軟件是下載的可執行文件,直接安裝即可,使用port包管理工具
 
 f. LFS: Linux From Scratch(從0構建Linux),一切都需要從頭開始…

 
3. 描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述
? a. 一切皆文件
 Linux中,所有的一切都是以文件的形式存在于Linux系統中的,字符設備,塊設備,目錄,管道,命令等等。Linux系統的根體現了Linux必須把一切作為文件存在于系統中。/是一個文件系統,是整個Linux系統的元,一切從/開始,/是一個目錄也是一個文件系統,那么存在于這個文件系統中的,也只能是文件了。
  
 b. 一個程序只做一件事并把它做好/多個小程序完成復雜任務
 這句話是對的,但是我并不認為這是Linux獨有的哲學思想。這應該算是匠人精神,匠人精神最出名的日本,有很多人都是遵循這種精神來生活的,22歲畢業開始畫一部漫畫,一直就是幾十年,直到畫到退休,一生全部奉獻給了這部漫畫。三星米其林餐館的老板,專注天婦羅50年,從始至終就只是炸天婦羅,50年所想的就是如何把天婦羅炸的更好。同樣,一個程序只做一件事并把它做好,這樣就會造就無數的專注,精致,優秀的小程序。無數的專注的優質的小程序就撐起了整個Linux世界

 c. 盡量避免捕獲用戶交互接口
 不捕捉用戶交互接口,就可以比較容易以編程的方式實現自動化任務
?
 cd 文本文件保存配置信息
 使用文本文件保存配置信息有一個好處,使用一款文本編輯器工具就可以完成大部分配置信息
?
 *. Freedom & Share
  相比上面幾個,我覺得自由與分享才是Linux的哲學思想,上面的可以稱之為Linux系統設計的哲學思想,雖然我沒辦法給出一個哲學的確切定義或者解釋清楚什么是哲學。但是作為存在的根本,我覺得Freedom& Share才是Linux的根基,從無到有,從小到大,從未流行到今天的蓬勃發展,一直離不開自由與分享,所以學習Linux,使用Linux都需要抱著這樣一種哲學思想或者精神吧。

  
4. Linux系統上命令的使用格式;詳細介紹ifconfig,echo,tty,startx,export,pwd,history,shutdown,poweroff,reboot,hwclock,date命令的使用,并配合相應的示例來闡述。
Linux系統的CLI使用格式
CLI模式下輸入的左邊為 [login_name@hostname working_directory]prompt 
解釋一下 login_是登錄到當前shell的用戶賬戶
               hostname是當前主機的計算機名
               working_directory是當前所在的目錄的目錄名
               prompt是命令提示符,分為#和$, #為管理員的命令提示符,只有root賬戶才使用#提示符,除了root以外的所有賬戶,命令提示符都為$
       

CLI模式左邊已經介紹完了,下面看看在CLI模式下輸入命令有什么格式
    [root@CenOS ~]# COMMAND [OPTION]…[AGRUMENT]…
   

     COMMAND 即要輸入的命令的命令名,例如ls,   

     [option]… 很多命令都是有選項的,選項的作用是使用同一個命令執行不同的操作,就需要使用不同的選項,選項分為兩種,一種為短選項,使用一個"-"帶上選項名,一種為長選項,短選項可以合并在一起,例如ls -l -d, 可以寫成 ls -ld. 另一種為長選項,使用兩個"–"在選項名前,長選項不能合并。
    注意“并不是所有的命令都是有選項的,具體需要看是什么命令,哪些命令有什么選項,可以參考man手冊來學習研究
    

    [AGRUMENT]為參數,即命令要作用的對象,命令不同,參數的類型也不一樣,例如ls命令的參數對象是文件或者目錄,而cd命令的參數只能為目錄
    
好了,linux系統上的CLI模式下的命令使用格式介紹完了。下面介紹幾個命令的使用方法。

   ifconfig

   …

   …

   …

    此處未完成,待補全     

   echo: 回顯命令
     $VAR:將變量的值輸出到屏幕上
     -n: 不顯示換行符
     -e: 使轉譯符生效
     -E: 使轉譯符失效(default是-E)
    …

    …

    …

    此處未完成,待補全    
        
   tty :顯示當前terminal 連到的文件名
    -s 參數: 不顯示任何內容,只返回狀態值
    
    例如:使用root通過putty ssh來登錄到主機執行tty命令, 顯示為0號偽終端pts
    [root@dhcp-10-129-6-166 ~]# tty
    /dev/pts/0

 

   startx : 啟動windows界面,用不上!!!
   
   export : 將變量傳遞給子shell
      ~]# export [-p|n] [$variable = word]
       不帶參數或使用-p, 默認會輸出所有變量信息,如果后面有變量名,只變量的信息,并將變量傳遞給子shell
       如果變量后面有 =word, 那么將word的值賦予前面的變量
       
       例如: 將變量A的值設置為Friday,之后顯示$A的值,再將$A的值改為Monday,再次顯示$A的值
       [root@dhcp-10-129-6-166 ~]# export A=Fridy
       [root@dhcp-10-129-6-166 ~]# echo $A
       Fridy
       [root@dhcp-10-129-6-166 ~]# export A=Mondy
       [root@dhcp-10-129-6-166 ~]# echo $A
       Mondy

 

   pwd: 用戶顯示當前的工作目錄,也叫current directory,
     -L: 使用變量PWD中的值,即使包含符號鏈接
     -P: 避免所有符號鏈接
     
     例如: ls -l /bin,顯示/bin為/usr/bin的符號鏈接,cd進/bin目錄,使用pwd,顯示pwd為/bin,而使用pwd -P就顯示了真實的目錄,即為/usr/bin
     [root@dhcp-10-129-6-166 bin]# ls -l /bin
     lrwxrwxrwx. 1 root root 7 Dec  1 21:51 /bin -> usr/bin
     [root@dhcp-10-129-6-166 bin]# cd /bin
     [root@dhcp-10-129-6-166 bin]# pwd
     /bin
     [root@dhcp-10-129-6-166 bin]# pwd -P
     /usr/bin
   
   history
     no option:顯示當前用戶使用過的命令
     -c: 清除用戶命令使用記錄
     -a: 將當前session的history中的命令記錄存放到history file中
     
     例如:顯示最近10行history記錄,history 10,之后使用history -c清除,再使用history查看
     [root@dhcp-10-129-6-166 bin]# history 10
     114  pwd
     115  pwd -P
     116  clear
     117  history
     118  clear
     119  history -10
     120  history 10
     121  hitstory 20
     122  history 20
     123  history 10
     [root@dhcp-10-129-6-166 bin]# history -c
     [root@dhcp-10-129-6-166 bin]# history  
     1  history
  
   shutdown/poweroff /reboot:shutdown/poweroff和reboot命令放在一起說明,因為他們是同一類命令
       -H, –halt /暫停主機運行
       -P, –poweroff /關機命令,shutown的默認選項
       -r, –reboot /重啟主機,
       -h /等于–poweroff, 除非使用了–halt
       -k /不執行任何操作,只是輸出 wall massage
       –no-wall /在重啟,關機或halt前,不輸出wall massage
       -c /取消關機,重啟動作

    在shutdown/poweroff/reboot命令中,我們可以在后面加上時間來定義在何時執行操作,例如 +5,5分鐘后執行,也可以使用自然語言時間,例如 reboot now,表示立刻重啟

    

   date /date命令用來顯示當前系統日期或設置系統日期

    …

    …

    …

    此處未完出,待補全
     
    hwclock: hwclock是用來查看和設置當前系統時鐘或硬件時鐘的。Linux上時鐘分為硬件時鐘和系統時鐘兩種。硬件時鐘是在硬件上維護的時鐘,也就是BOIS里面設置的那個時鐘。而系統時鐘是靠Kernel來維護的,當系統開機時,系統時鐘讀取硬件時鐘,之后系統時鐘獨立于硬件時鐘運行。

    下面來介紹一下hwclock的簡單用法:
    -r, –show /讀取硬件時鐘并顯示出來,這個時間永遠是本地時間

    -s, –hctosys /將硬件時鐘同步到系統時鐘,即硬件時鐘寫入系統時鐘  

    -w, –systohc /將系統時鐘同步到硬件時鐘,即系統時鐘寫入硬件時鐘
 

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

無論是Linux新手如我,還是Linux的高手,誰都無法面面俱到,記住所有的命令,對所有的命令的使用都了如指掌,那是不可能的。所以,誰都有需要求助旁人的時候。Linux的程序設計者們都意識到這點,所以在Linux系統里面提供了非常豐富詳細的說明文檔,以便在使用者遇到困難時可以自行查閱。
 
Linux中獲取幫助的地方有以下幾處,分別簡單介紹一下

man文檔
man文檔是在linux系統中經常需要使用的幫助信息 ,它里面包括了非常詳細的幫助信息,不光有命令的,還有對于庫調用的,C庫調用的,配置文檔的幫助信息。每一篇man文檔都分為8個段落。介紹一下這8個段落
    NAME: 即當前man文檔的名字

    SYNPSIS: 當前man文檔的簡要說明

    DISCRIPTION: 當前Man文檔的說明

    OPTIONS: 命令的選項介紹

    EXAMPLE: 一些使用的例子

    AUTHOR: 作者

    BUGS: 提交發現BUG的方法

    SEE ALSO: 提供一些相關的文檔鏈接

我們說了,man文檔對于很多文件都提供了幫助信息。所以Linux也對man文檔進行了一些歸類,以便我們方便的查看man文檔。

man文檔分為了8類。

 

man1: 普通用戶可以使用的命令的幫助文檔

man2: 系統庫調用的幫助文檔

man3: C庫調用的幫助文檔

man4: 設備文件和特殊文件的幫助文檔

man5: 配置文件的幫助文檔

man6: 系統內置游戲的幫助文檔

man7: 一些無法分類的幫助文檔,也叫雜項

man8: 系統命令的幫助文檔,只有管理員可以使用的命令

Man文檔靠的是一個數據庫來維護的,如果沒有及時更新,那么有一些man文檔是沒法查到的。我們可以使用一個簡單的名字來手動更新man文檔的數據庫。 makewhatis命令可以手動更新man文檔的數據庫。

簡單再說一下什么是whatis命令。
  
 –help|help 一對好人
很多時候,可能我們并不需要man手冊這樣豐富的幫助文檔,我們只是偶爾一個選項或者參數想不起如何使用了,如果每每這個時候都需要man COMMAND,那未必有點殺雞用牛刀了,所以Linux系統中還有另外一種比較簡便的方法來讓我們獲取命令的幫助信息。那就是 –help和help這對好人。我們都知道,Linux系統中命令分來兩種,一種為shell的bulitit命令,這些命令都是集成在shell內的,可以使用help COMMAND來查看簡單的幫助信息,而對于另一種命令,獨立的命令,可以使用COMMAND –help來查看簡單的命令幫助。
  
 info – man的補充
 最后,我們再介紹最后一種Linux幫忙信息info. info可以簡單的作為man的補充,絕大部分的幫助信息我們都可以用man來完成,而info基本就會做為man的補充而存在,里面的內容比man更詳細,包括每個版本的更新的內容,都在里面有說明。
 

6. 請羅列Linux發行版的基礎目錄名稱命名法則及功能規定
 首先,我們使用ls -l / 來看看/目錄下有哪些基礎目錄以及他們的功能都是什么
  此處以CentOS 7為例
  
[root@dhcp-10-129-6-166 ~]# ls -l /
total 32
lrwxrwxrwx. 1 root root 7 Dec  1  21:51 bin -> usr/bin
 #在CentOS7之前的版本中,/bin和/usr/bin是兩個目錄,里面都存放了所有用戶可使用的普通命令,但是在7中,/bin成了/usr/bin的符號鏈接了,也難怪使用echo $PATH的時候,發現里面沒有/bin和/sbin了。
dr-xr-xr-x.  4 root root 4096 Dec 1  22:09 boot
#boot目錄中存放的是引導程序, kernel, grub等等都存放在/boot目錄中 ,一般此目錄都單獨分區
drwxr-xr-x. 20 root root 3160 Dec  2  22:14 dev
#dev目錄下存放的是各種設備文件,設備文件即是把硬件抽象成文件存放在這里
drwxr-xr-x. 76 root root 8192 Dec  2  22:14 etc
#etc目錄里面存放著的是配置文件,全部為文本格式的文件
drwxr-xr-x. 3 root root 22 Dec  2  00:41 home
#home目錄下有和所有系統上的用戶同名的文件夾,即所有用戶的私人家目錄都在/home目錄下,家目錄只有用戶自己才可以訪問,是受法律保護的私人空間。但,root除外
lrwxrwxrwx. 1 root root 7 Dec  1  21:51 lib -> usr/lib
#和/bin一樣,在centOS7之前,/lib和/usr/lib是單獨兩個文件夾,也是在CentOS7中lib作為/usr/lib的符號鏈接存在了,這樣做的目的不知道是不是為了簡化目錄結構,但是這樣一樣/usr就不能單獨分區了,/lib中存放的是動態庫文件,即share object
lrwxrwxrwx. 1 root root 9 Dec  1  21:51 lib64 -> usr/lib64
#同/lib,不過這里面放的是64位的SO
drwxr-xr-x. 2 root root 6 Aug  12 2015  media
#media掛載的是可移除的媒體設備(例如U盤和CO-ROM)
drwxr-xr-x. 2 root root 6 Aug  12 2015  mnt
#mnt是臨時掛載目錄,用于我們臨時掛載其他的文件系統時,可以掛載到此目錄下
drwxr-xr-x. 2 root root 6 Aug  12 2015  opt
#opt的全稱是optional,即可選的,一些不是系統必須的軟件包都可以安裝到此目錄下
dr-xr-xr-x. 352 root root 0 Dec  2  22:14 proc
#proc的全稱是processing,這是一個偽文件系統,它并不是一個真正的文件目錄,它把當前系統上運行的進程都抽象成了文本文件,我們可以通過這個目錄來查看當前系統上運行的進程,所以這個目錄并不真正存在于硬盤上,而且是內存中。在linux中, /proc對應的是procfs格式掛載
dr-xr-x—.  5 root root 4096 Dec  2  00:49 root
#root目錄是管理員root的家目錄
drwxr-xr-x. 21 root root 620 Dec 2  22:14 run
#run用于替代/var/run目錄。/var/run記錄自最后一次啟動以來運行中的系統信息,包括當前登錄的用戶和運行中的守護進程等。
lrwxrwxrwx. 1 root root 8 Dec  1  21:51 sbin -> usr/sbin
#/sbin和/usr/sbin里面存放的是管理員可以使用的管理命令
drwxr-xr-x. 2 root root 6 Aug  12 2015  srv
#某些服務啟動后,需要訪問的一些數據,都存放在這個目錄下
dr-xr-xr-x.  13 root root 0 Dec  2  22:14 sys
#在kernel2.6之后,將procfs中的大量非進程相關的系統信息移到了一個專門的偽文件系統中,即sysfs, sysfs即掛載到/sys目錄下,也就是說,可以這樣簡單理解,此目錄是從/proc中生成出來
drwxrwxrwt. 7 root root 4096 Dec  2  22:14 tmp
#顧名思義,tmp里面存放的是臨時文件
drwxr-xr-x. 13 root root 4096 Dec  1  21:51 usr
#usr的全稱是Unix Share Resource,即Unix共享資源,用于存放只讀的用戶數據的第二層次
drwxr-xr-x. 19 root root 4096 Dec  2  22:14 var
#var的全稱是variable, 即可變的文件都存放在這里,例如,日志文件和用戶的mailbox等等,有些時候,/var會是單獨的一個分區

 

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

(0)
JLJL
上一篇 2016-11-28
下一篇 2016-11-28

相關推薦

  • iptables簡單概念..

    iptables: 包過濾型的防火墻 Firewall:防火墻,隔離工具;工作于主機或網絡邊緣,對于進出本主機或本網絡的報文根據事先定義的檢查規則作匹配檢測,對于能夠被規則匹配到的報文作出相應處理的組件;    主機防火墻     網絡防火墻   &…

    Linux干貨 2017-06-19
  • 集中練習4-bash腳本、計劃任務

    集中練習4-bash腳本、計劃任務

    Linux干貨 2017-10-27
  • 一起學DHCP系列(三)理解、APIPA

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/162407      這是《一起學DHCP》系列的第三節。      …

    Linux干貨 2015-03-25
  • 壓縮與歸檔

    一、壓縮     壓縮:根據一定算法將數據以更加節省空間的形式存放。下面來看一下Linux常見的壓縮工具:     1、gzip/gunzip         后綴名:.gz   …

    Linux干貨 2015-05-04
  • 權限命令總結

    修改文件權限:chmod 1 2 3 4 [root@centos7 ~]# man chmod        chmod [OPTION]… MODE[,MODE]… FILE…    …

    Linux干貨 2016-08-04
  • M20 – 1- 第三周博客(2):Linux用戶、組

    一、Linux用戶組詳解 Linux系統中的每個用戶都有一個用戶組,系統能對一個用戶組中的所有用戶進行集中管理。不同Linux系統對用戶組的規定有所不同,如Linux下的用戶屬于和他同名的用戶組,這個用戶組在創建用戶時同時創建。用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實際上就對/etc/group文件的更新。 用戶組(group)就是具…

    Linux干貨 2016-08-05
欧美性久久久久