Week 1 Linux Intro

I.  Linux的各種發行版

All Kinds of Linux

    在Linux誕生的20多年里,Linux衍變出了許許多多的版本,每個都有自己的名字,但它們的本質和它們的哲學觀還是一樣的。下面是從外網上扒下來的一張Linux進化圖,跨度一直到了2016年。

QQ圖片20160620192015_看圖王(1).png

2.png

3.png

    按照圖上的來看,Linux的3大分支分別是Slackware,Debian和Redhat,其中Debian最為龐大。

    Debian中比較出名的有Ubuntu和Linux Mint。其中Ubuntu是很多新手第一個知道的Linux發行版(包括我)。

    Redhat是一家做系統的公司。他們針對的是主要是企業級用戶。他們旗下本來有兩個Linux系統,一個針對企業級的,一個針對個人。雖然系統是開源的,但升級補丁和其服務價格比較昂貴。后來Redhat放棄了個人級系統,把這個系統移交給一個叫做Fedora的社區維護。這個系統現在叫Fedora,每6個月會發行一個新版本。CentOS是Redhat企業級,RedHat Eenterprise Linux,的二次發行的版本。比起CentOS,RHEL修復了很多漏洞,各方面也比較完美。CentOS就是一個相對舊版本的RHEL。RHEL一般每18個月發行一個新版本。Redhat并不在意CentOS作為他們系統的二次發行,因為他們的客戶重視的不是系統而是他們提供的服務和支持。CentOS是以后進大公司之前的一個很好的聯系平臺。

    Slackware這個名字本身可能比較陌生,但它的一個發行版,SUSE,比較有名而且也有不少用戶。

    Android(安卓)也是Linux的一個發行版。Android=Linux kernel+busybox+Java虛擬機。它有著一顆Linux的心。

    以上是常見的Linux發行版。

II.  Linux的哲學思想

The Philosophy behind Linux

    Linux的哲學思想為以下4點。每一條都附上了我本人的理解。

        1. 一切皆文件:不僅普通文件是文件,目錄(文件夾),硬件設備等等都算文件。

        2. 由眾多單一目的小程序組成;一個程序只實現一個功能,而且要做好:Linux的程序就像很多零件拼成的高達。你這么想象一下。

        3. 盡量避免跟用戶交互:盡可能自動化,因為與用戶的交互有時會帶來錯誤:把工作都交給計算機。

        4. 使用純文本文件保存配置信息:這樣使用文本編輯器即可完成系統配置。

II.  Linux的基本命令

The Philosophy behind Linux

    Linux上的命令格式為:Command+[Options…]+[Arugments…]

    其中Options可以開啟或關閉命令的某些功能。Options分為長選項和短選項。長選項為“–”加上一個單詞,比如“–vertical”。短選項為“-”加上一個字母,比如“-p”。

    Arguments,即參數,是向命令提供數據的。

    有些命令是不需要Options或者Arguments的。接下來我會介紹幾個常見的命令。

    

ifconfig


    QQ圖片20160625214020.png

    以上為ifconfig在man手冊里的介紹。關于man命令我們稍后會講到。順帶一提,作者還很親切地提示到這個命令已經非常過時了。他推薦我們使用ip這個命令。

    簡單的來說ifconfig就是一個開機的時候配置網絡的。平時我們用到這個命令要么是為了debug要么是為了調試系統。

    12.png

    如圖,ifconfig顯示了系統網絡的狀態。

echo


    13.png

    在manual里面,echo的描述是顯現一行文字。

    下面是一些echo的例子。

    14.png

    echo有些短選項比較常用,比如-n。

    18.png

    你看這就沒換行。

tty


    15.png

    上面是tty在man里面的描述。tty就是告訴你你現在在哪個terminal上運行。

    比如:

    16.png

    17.png

startx

    

    19.png

    startx用來啟動X Window,一般不需要參數。

    20.png

    然而我的CentOS上會報錯,希望了解的人可以解釋下。

export


    21.png

    export可以用來改變變量等等。比如上面的例子中,HISCONTROL這個變量就改成了ignoreboth。

pwd

    

    23.png

    pwd顯示現在所在的目錄。

    下面是一些例子:

    22.png

    

history


    history這個命令顯示過去執行過的命令。

    比如:

         24.png

        history也用幾個常用的選項。在help里面有提到。

        25.png

        比較常用的有-c:消除所有的記錄。

        26.png

    

shutdown

    

    shutdown這個命令如其名,默認就是關機。

    27.png

    shutdown有很多短選項。 

    28.png

    比如說 -r: 重啟

                -h:關機

     等等

poweroff & reboot


    poweroff即關機,reboot即重啟。

hwclock


    計算機的主板上有一個硬件時鐘一直記錄著時間。hwclock可以顯示這個時間。

    29.png

    有兩個比較常用選項。

    -s, –hctosys(將系統時間設置為硬件時間)

    -w, –systohc(將硬件時間設置為系統時間)

date


    30.png

    date這個命令顯示現在系統時間。注意,這個時間可能和硬件時鐘不一樣。

    date也可以設定系統時間。選項為-s。

    格式為 date -s [MMDDhhmm[[CC]YY][.ss]]

    比如:

            date -s 111623122016.23

            即把系統時間設置為2016年11月16日23點12分23秒

    

III.  在Linux上獲取幫助

How to get professional help?

    用type命令查看下命令是內建的還是外部的。

    內建的命令用“help”+命令查看幫助。

    外部的命令用命令+”-h"或者“–help”來查看幫助,亦可用"man"+命令來查看。

    以下為“help cd”的運行結果。

    32.png

     以下為“man ls”的運行結果。

    33.png

    

    man位于/usr/share/man。man里面的文檔分為8個章節

        man1: 普通用戶命令

man2: 系統調用

man3: C庫調用

man4: 設備文件及特殊文件,是/dev下的文件

man5: 文件的格式

man6: 留給游戲開發商來定義。

man7: 雜項,比如說環境變量這里就有說明。

man8: 系統管理類的命令。這個只能有root運行,如ifconfig。


IV.  Linux的基礎目錄名稱命名

FileSystem Hierarchy Standard

    36.png

    /bin:供所有用戶使用的基本命令。bin不能關聯到獨立分區。這些是OS啟動就會用到的命令。

    /sbin:管理類的基本命令,亦不能關聯至獨立分區。這些是OS啟動就會用到的命令。

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

    /lib64:64位系統的輔助共享庫文件存放位置

    /etc:配置文件目錄(注意,Linux的配置文件為純文本文件)

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

    /root:管理員的家目錄

    /media:便攜式移動設備掛載點。u盤啊,移動硬盤之類的。

    /mnt:臨時文件系統掛載點。掛載的固態硬盤的掛載點。

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

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

    /srv:系統上運行服務所用到的數據

    /tmp:臨時文件存儲位置

    /usr: Universal Shared, Read-only Data(共享只讀類文件的存儲位置)

    /var: variable data files

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

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

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

        lock: 鎖文件

log: 日志目錄及文件

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

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

spool: 應用程序數據池

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

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

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

    /selinux: Security Enhanced Linux。selinux相關的安全策略信息的存儲位置

    以上為Linux文件系統的命名方式。


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

(0)
mercerchenmercerchen
上一篇 2016-06-26 22:49
下一篇 2016-06-26 22:49

相關推薦

  • linux 中條件測試判斷

    文件條件測試判斷:   -e 文件存在   -a 文件存在   這個選項的效果與-e相同. 但是它已經被"棄用"了, 并且不鼓勵使用.   -f 表示這個文件是一個一般文件(并不是目錄或者設備 文件)   -s 文件大小不為零   -d 表示這是一個目錄   -b 表示…

    Linux干貨 2017-02-02
  • linux 常用命令

    linux   常用命令:      pwd: printing working directory                     顯示工作目錄       cd:cha…

    Linux干貨 2016-10-28
  • 十四.Linux博客-2016年8月22日數組

    格式說明: 操作 概念 命令 說明及舉例 十四.數組 數組概念 變量:存儲單個元素的內存空間數組:存儲多個元素的連續的內存空間,相當于多個變量的集合。數組名和索引索引:編號從0開始,屬于數值索引注意:索引可支持使用自定義的格式,而不僅是數值格式,即為關聯索引,bash4.0版本之后開始支持。bash的數組支持稀疏格式(索引不連續) 聲明數組declare -…

    Linux干貨 2016-08-24
  • 四大開源協議比較:BSD、Apache、GPL、LGPL

          現今存在的開源協議很多,而經過Open Source Initiative組織通過批準的開源協議目前有58種。我們現在常見的開源協議如BSD, GPL, LGPL,MIT等都是OSI批準的協議。如果要開源自己的代碼,最好也是選擇這些被批準的開源協議。   這里我們來看四種最常用的開源協議及它們的適用范圍,供那些準備開…

    系統運維 2016-08-15
  • 馬哥教育網絡班22期+第3周課程練習 忍者亂太郎喻成

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。  who|awk '{print $1}'|uniq 2、取出最后登錄到當前系統的用戶的相關信息。 題目不是很清晰我估計是題目想要的是 last -1   cat /etc/pa…

    Linux干貨 2016-09-06
  • Linux磁盤管理與文件系統

    ?    本篇內容如下:             1、硬盤結構             2…

    Linux干貨 2016-08-29

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-06-29 15:24

    寫的很好,可以多注意一下排版問題,加油

欧美性久久久久