天天看點

分享一下,最開始自學Linux基礎的聽課筆記吧,貌似好久沒有更新些有用的東西了。。...

LinuxStudyNoteBy_Silvers X:

(E:\Video_Tutorials\Linux自學視訊\linux視訊教程-後盾網視訊教程)

15:36 2017/2/6

##Linux中的基本指令包括檔案操作指令、目錄操作指令、檔案檢視指令等幾類。

      檔案操作指令完成對檔案的建立、複制、删除、移動等功能                                                                                              目錄操作指令完成對目錄的建立、複制、删除、移動等功能

      文本檢視指令完成對文本檔案内容的浏覽、局部浏覽活分頁浏覽等功能

##linux下檔案操作基本的指令

    ls: 列舉檔案 -a 顯式隐藏檔案 -l 具體檔案及所有屬性

    pwd: 無參數 顯式目前所處目錄結構

    touch:建立空白檔案

    file :顯式檔案屬性

##目錄操作基本指令

    cd  :改變目錄

    cp  :-r 複制目錄

    mv :移動檔案及目錄

    rm :-r 删除檔案夾 -f 靜默删除

    mkdir: 建立目錄

    rmdir: 删除一個空的檔案夾

##文本檔案檢視基本指令

    cat :檢視檔案内容

    more:分屏顯式檔案内容

    less:分屏顯式檔案内容

    head : -nu 指定顯式檔案前nu行内容

    tail:-nu 指定顯式檔案倒數nu行内容

## 檢視指令使用的曆史記錄

    方向鍵上:檢視執行過的指令

    使用!!:執行最近(上一次)執行過的指令

    使用!: 執行已經執行過的指令(!①模糊查詢(執行過指令的首字母或全稱,當有多于一條相同指令,從下往上第一條指令優先執行)②!history顯示的指令行數号

    history:顯示曆史執行過的指令  -d 删除曆史記錄 

## 标準輸入輸出

    Linux的大部分指令都具有标準的輸入/輸出裝置端口

    STDIN      0        标準輸入      鍵盤    指令在執行時所要的輸入資料通過它來取得。

    STDOUT   1        标準輸出      顯示器    指令在執行後的輸出結果從該端口送出。

    STDERR    2        标準錯誤       顯示器    指令執行時的錯誤資訊通過該端口送出。

## 系統重定向

     重定向及時不使用系統的标準輸入端口,标準輸出端口和标準錯誤輸出端口,而進行重新的指定,是以重定向分為輸入,輸出、錯誤重定向。通常情況下重定向到一個檔案。

    <: 實作輸入重定向。

    輸入重定向不經常使用,因為大多數指令都以參數的形式在指令行上指定輸入檔案的檔案名,盡管如此,當使用一個不    接受檔案名為輸入參數的指令,而需要的輸入又是在        一個已存在的檔案裡,就可以使用輸入重定向解決問題

    >或>>:實作輸出重定向。輸出重定向比輸入重定向更為常用。輸出重定向使使用者能把一個指令的輸出重定向到一個檔案裡,而不是顯示在螢幕上。很多情況下都可以使用這種功        能。例如,如果某一個指令的輸出很多,在螢幕上不能完全顯示,即可把它重定向到一個檔案中,稍後再用vim或cat打開該檔案。(>和>>的差別 : 前者覆寫儲存,後者追加保        存)

    2>或>>:實作錯誤重定向

    &>:同時實作輸出重定向和錯誤重定向

## 管道的應用

     許多Linux指令具有過濾特性,即一條指令通過标準輸入端口接受一個檔案中的資料,指令執行後産生的結果資料又通過标準輸     出端口送給後一條指令,作為該指令的輸入資料。

     後一 條指令也是通過标準輸入端口而接受輸入資料的。

     管道指令“|”将這些指令前後連接配接在一起,形成一條管道線

     指令格式

     cmd1 | cmd2

     cmd為指令名,|為管道連接配接符。

## 檔案權限管理

      檔案權限(File Permission)定義了對某檔案或目錄的通路限制。每個檔案或目錄都有9個基本權限位控制其讀、寫、執行。

      r    讀權限    可以讀檔案的内容    可以列出目錄中的檔案清單    

      w    寫權限    可以修改、删除檔案    可以在該目錄中建立删除檔案

      x    執行權限    可以執行該檔案    可以使用cd進入該目錄

       —————————————————————————————————————————————————

       |     權限項   |    讀    寫    執行  |    讀    寫    執行   |    讀    寫   執行  |

       |  字元表示    |    r    w    x     |    r    w    x      |    r    w    x  |

       |  字元示例    |    u+r    u+w    u+x   |    g+r    g+w    g+x    |    o+r    o+w   o+x  |

       |  數字表示    |    4    2    1     |    4    2    1      |    4    2    1  |

       |  權限配置設定    |           檔案所有者     |    檔案所屬組使用者           |               其他使用者 |

    ——————————————————————————————————————————————————     

     說明:

          a. 目錄上隻有執行權限,表示可以進入此目錄以及深層目錄

    b. 目錄上隻有執行權限,要通路該目錄下的有讀權限檔案,必須知道檔案才可以通路

    c. 目錄上隻有執行權限,不能列出目錄也不能删除該目錄

    d. 目錄上執行權限和讀權限的組合,表示能可以進入目錄并能列出目錄清單

    e. 目錄上執行權限和寫權限的組合,表示可以在目錄中建立和重命名檔案

        權限修改方法A:

         chmod u+rw 檔案名稱

         chmod g+r 檔案名稱

          chmod o+x 檔案名稱(添權重限)

          chmod u-rwx 檔案名稱(取消所有權限)

     權限修改方法B:數字(八進制)表示法[ 4表示讀權限,2表示寫權限,1表示執行權限]

         chmod 777 檔案名稱 :表示所有權限

          chmod 444 檔案名稱 :表示所有使用者擁有讀權限

          chmod 745 檔案名稱 :各組權限配置設定不同 

     chown 改變檔案及目錄的組 

                 chown user:group 檔案/目錄名稱  将檔案/目錄名稱的屬主改變為user:group

## 特殊權限位

     三個特殊權限位是在可執行程式運作時影響操作權限的。它們分别是SUID們、SGID位和sticky-bit位

    特殊權限                說明

     SUID    當設定了SUID位的可執行檔案被執行時,該檔案将以所有者的身份運作,也就是說無論誰來執行這個檔案,它都有檔案所有者的特權。

    SGID    當一個設定了SGID位的可執行檔案運作時,該檔案将具有所屬組的特權,任意存取整個組所能使用的系統資源;

        若一個目錄設定了SGID,則所有被複制到這個目錄下的檔案,其所屬的組都會被重設為和這個目錄一樣。

    sticky-bit    對一個檔案設定了sticky-bit之後,盡管其他使用者有寫權限,也必須由屬主執行删除、移動等操作;

        對一個目錄設定了sticky-bit權限之後,那麼存放在該目錄下的檔案或目錄隻能由其屬主執行删除、移動等操作

    若使用者無特殊需要,盡量不要去打開這些權限,避免安全方面出現漏洞

## 系統查找

     which     查找可執行程式的指令/程式/檔案(在指定目錄下),隻在目前使用者path(env指令可檢視使用者path環境變量)中指定的目錄中查找(優先)

     whereis    查找指定檔案 可查找與名稱相關的所有檔案、(内嵌查詢DB)全面詳細。

     locate    查找含有指定字元串的所有檔案,(模糊查詢)不精确  

     find    查找執行個體(直接在硬碟/分區中操作,速度慢) 在目前目錄查找

         ## 與時間相關的參數 

             mtime:修改時間,修改過的所有檔案,系統修改的檔案.         

         atime:通路時間,檔案何時被讀取

             ctime:狀态時間,rw權限修改時間

    find / -mtime 0;

    find / -mtime 3(0:24小時之内,3:三天之前的那一天,(+指定區間範圍以外,-指定區間範圍以内));       

         ## 與使用者、組相關的參數

    find / -user username:查找與使用者相關的所有檔案 

    find / -nouser:不屬于任何使用者的檔案查找;

    find / -group groupname.

         ## 與檔案權限相關的參數 

    find / -name filename(查找(區分大小寫)比對整個名稱的檔案) 

    find / -iname filename(不區分大小寫);

    find / -type f (f表示普通檔案,l表示連結檔案d表示目錄).

         ## find 特殊過濾條件 

                  find / -size +1000k(查找指定目錄中大于1000k的檔案(s表示kb,h表示mb,));

                  find /etc -name '*pas*'(通配符填充,模糊查詢)

                  find / -perm +7000(查找特殊權限的檔案)

## 文本編輯器Vim

         vim和vi的差別:vim是vi的更新版,核心是一樣的, Linux預設文本編輯器vi,系統內建vi。vim是需要安裝才能使用,vi不用安裝即可使用。

         ## Vi編輯基礎,wq儲存退出,!wq強制不儲存,q不儲存退出,!q強制不儲存退出.

            ## 光标移動和翻頁操作

    h:向左移動光标,

    l(小寫L):向右移動光标,

    k:向上移動光标,j:向下移動光标。

    ^:将光标快速跳轉到本行的行首字元,

    $:将光标快速跳轉到本行的行尾字元,

    w:将光标快速跳轉到目前光标所在位置的後一個單詞的首字母,b:将光标快速跳轉到目前光标所在位置的前一個單詞的首字母,

        e:将光标快速跳轉到目前光标所在位置的後一個單詞的尾字母;

    Ctrl+f:向前翻整頁,

    Ctrl+b:向後翻整頁,

    Ctrl+u:向前翻半頁,

    Ctrl+d:向後翻半頁;

              :set nu(在編輯器中顯示行号),

          :set nonu(取消編輯器中的行号顯示);

    1G:跳轉到檔案的首行(數字1),

    G:跳轉到檔案的尾行,

    #G:跳轉到檔案中的第#行;

           ## vi模式(控制模式(預設)指令模式(輸入冒号進入)編輯模式(輸入a進入))Esc鍵退出INSERT模式

    進入INSERT模式

    i:在目前光标處進入INSERT模式。

    a:在目前光标後進入INSERT模式。

               A:将光标移動到目前行的行末,并進入INSERT模式。

               o:在目前行的下面插入新行,光标移動到新行的行首,進入INSERT模式。

               O:在目前行的上面插入新行,光标移動到新行的行首,進入INSERT模式。

               cw:删除目前光标到所在單詞尾部的字元,并進入INSERT模式。

               c$:删除目前光标到行尾的字元,并進入INSERT模式。

               c^:指令删除目前光标之前(不包括光标上的字元)到行首的字元,并進入INSERT模式

          ## 功能鍵操作

              INSERT模式編輯鍵操作

    方向鍵:進行上下左右方向的光标移動。

    Home:快速定位光标到行首。

    End:快速定位光标到行尾。

    PageUP:進行文本的向上翻頁。

    PageDown:進行文本的向下翻頁。

    Backspace:删除光标左側的字元。

    Delete:删除光标位置的字元。

         ## 删除操作

    x:删除光标處的單個字元。

    dd:删除光标所在行。

    dw:删除目前字元到單詞尾(包括空格)的所有字元。

    de:删除目前字元到單詞尾(不包括單詞尾部的空格)的所有字元。

    d$:删除目前字元到行尾的所有字元。

    d^:删除目前字元到行首的所有字元。

    J:删除光标所在行行尾的換行符,相當于合并目前行和下一行的内容

         ## 撤銷操作

    u:取消最近一次的操作,并恢複操作結果。可以多次使用u指令恢複已進行的多步操作。

    U:取消對目前行進行的所有操作。

    Ctrl+r:對使用u指令撤銷的操作進行恢複。

        ## 複制與粘貼操作

    yy:複制目前行整行的内容到vi緩沖區。

    yw:複制目前光标到單詞尾字元的内容到vi緩沖區。

    y$:複制目前光标到行尾的内容到vi緩沖區。

    y^:複制目前光标到行首的内容到vi緩沖區。

    p:讀取vi緩沖區中的内容,并粘貼到光标目前的位置(不覆寫檔案已有的内容)。

       ## 字元串查找操作

    /word:從上到下在檔案中查找字元串"word"。

        ?word:從下到上在檔案中查找字元串"word"。

    n:定位下一個比對的被查找字元串。

    N:定位上一個比對的被查找字元串。   

#     ## 字元串替換操作

    :s/old/new:将目前行中查找到的第一個字元"old"字元串替換為"new"字元串。

    :s/old/new/g:将目前行中查找到的所有字元串"old"替換為"new"字元串。

    :#,#s/old/new/g:在行号"#,#"範圍内替換所有的字元串"old"為"new"字元串。

    :%s/old/new/g:在整個檔案範圍内替換所有的字元串"old"為"new"字元串。

    :s/old/new/c:在替換指令末尾加入c指令,将對每個替換動作提示使用者進行确認。

       ## 使用vi打開多個檔案

    vi file1 file2 file3 .....

       ## vi多檔案操作指令

    :args:顯示多檔案資訊

    :next:向後切換檔案

:    :prev:向前切換檔案

    :first: 定位首檔案

    :last: 定位尾檔案

    Ctrl+^:快速切換到編輯器中切換前的檔案

## 程序操作

     ## ps 檢視系統目前程序 

          ps -ef 檢視所有

          ps  aux (包含cpu 的目前資訊)

          filename + & 顯示filename程序号

          killall -u command : 殺死指定程序

          kill pid : 殺死指定程序

          sleep 10000 :暫時停掉程序(會産生新的程序)

          jobs : 顯示挂起的程序 

          fg + jobs号碼 :将挂起的程序調入前台模式

          bg +jobs号碼 :将前台的程序調入背景模式

## yum&&rpm&&源碼安裝軟體

   ## Linux 應用程式組成:

     檔案類型                儲存目錄

     普通執行程式檔案                /usr/bin

     伺服器執行程式檔案和管理程式檔案        /uur/sbin

     應用程式配置檔案                /etc

     應用程式文檔檔案                /usr/share/doc

     應用程式手冊頁檔案            /usr/share/man

** 為什麼使用yum(在有網絡連接配接的情況下才能使用yum)

 Linux系統維護中令管理人員最頭痛的就是軟體包之間的依賴了,往往是安裝了A軟體,但是安裝的時候告訴你需要B軟體,安裝B軟體時又告訴你需要Z庫,好不容易安裝好Z庫,發現版本還有問題,RPM軟體包管理系統對軟體之間的依賴關系沒有内部定義,造成安裝RPM軟體時經常出現令人無法了解的問題。

    什麼是yum

 用Python寫成,早時稱為yup,後經杜克大學的[email protected]團隊進行改進,才更名為yum。

 yum的宗旨是自動化更新,安裝/移除RPM軟體包,收集RPM軟體包的相關資訊,檢查依賴并自動提示使用者解決。yum的關鍵之處是要有可靠的repository。

 也就是軟體倉庫,它可以是HTTP或FTP站點,也可以是本地軟體池。

    yum工具執行個體:

 yum updae # 更新系統        yum remove httpd # 移除指定的軟體包        yum install httpd # 安裝指定的軟體包    

 yum search httpd # 搜尋指定的軟體包       yum update httpd # 更新指定的軟體包        yum list httpd # 列出軟體的詳細資訊

**替換yum官方倉庫源為國内開源鏡像站點的yum倉庫源(速度快)

    備份本機倉庫源: mv /etc/yum.repository.d/CentOS7-Base.repo /etc/yum.repository.d/CentOS-Base.repo.backup

        wget download'url(國内開源鏡像站中提供的對應源repo檔案的下載下傳連結)

        yummakecache 生成本地緩存

   ##RPM 軟體包(RedHat,CentOS,SUSE支援)

  RPM最早是由RedHat公司提出的軟體包管理标準,目前應用于很多Linux發行版。

  RPM Package Manager

  RPM軟體包的檔案名

  bash-3.0-19.2.i386.rpm

  bash #軟體包名稱

  3.0-19.2 # 軟體版本号

  i386 # 軟體運作硬體平台

  .rpm # 軟體包擴充名

 rpm指令的功能:

 Centos中使用rpm指令對RPM軟體包進行管理

 rpm指令可以完成對軟體包的所有管理功能

   * 查詢已安裝在Linux系統中的RPM軟體包的資訊

   * 查詢RPM軟體包安裝檔案的資訊

   * 安裝RPM軟體包到目前Linux系統

   * 從目前Linux系統中解除安裝已安裝的RPM軟體包

   * 更新目前Linux系統中已安裝的RPM軟體包

  ## rpm查詢指令

     指令                        功能

 rpm -qa                     查詢Linux系統中的所有軟體包

 rpm -q    包名稱                查詢指定名稱的軟體包是否安裝

 rpm -qi   包名稱                查詢指定名稱的軟體包的詳細資訊

 rpm -ql   包名稱                查詢指定名稱的軟體包中所包括的檔案清單

 rpm -qf   檔案名稱                查詢指定檔案所屬的軟體包

 rpm -qpi 封包件名                查詢指定RPM封包件的詳細資訊

 rpm -qpl 封包件名                查詢指定RPM包中包含的檔案清單 

 ## rpm安裝指令:

 rpm -i(表示安裝軟體包) 

        -ivh(表示在安裝RPM軟體包是會顯示更多的提示資訊)

    被依賴的軟體包應該優先被安裝

 ## rpm包解除安裝

 rpm -e(表示解除安裝軟體包)

 RPM軟體包的解除安裝同樣存在依賴關系

   被依賴的軟體包應該最後被解除安裝

 ## rpm包更新

 rpm -U(表示更新軟體包)

    當系統中未安裝需要更新的軟體包時,更新的過程等同于安裝軟體包的過程

 ## 源碼編譯安裝應用程式

    源代碼安裝的一般步驟:

   * 确認目前系統中具備軟體編譯的環境

   * 獲得應用程式的源代碼軟體封包件

   * 解壓縮源代碼軟體封包件

   * 進行編譯前的配置工作

   * 進行程式源代碼的編譯

   * 将編譯完成的應用程式安裝到系統中

編譯應用程式前的準備工作:

 确認系統中已經安裝了編譯環境

   $ rpm -qa | grep gcc

 獲得(下載下傳)程式的源碼安裝封包件

 釋放程式源碼軟體封包件

   $ tar zxf nginx-1.3.3.5.tar.gz

 進入源碼目錄

   $ cd nginx-1.3.3.5

編譯應用程式前的配置

 程式源碼目錄中的"configure"指令用于完成程式編譯前的配置工作

 檢視"configure"指令支援的配置選項

  ./configure --help

 指定安裝路徑進行配置

  ./configure --prefix=/opt/nginx(configure表示指令名,prefix表示用于設定安裝路徑的配置選項,nginx表示為指令選項設定的值)

編譯與安裝

 程式編譯過程

   使用make指令進行應用程式的編譯

  $ make

 程式安裝過程

   使用make install 指令進行應用程式的編譯

  $ make install

 驗證(執行)已編譯安裝完成的程式

   檢視安裝目錄中的檔案,執行指令程式

  $ cd /opt/nginx ;   ls  

## 使用者管理

 # 使用者

linux的賬戶包括使用者賬戶群組賬戶兩種

   linux系統下的使用者賬戶有兩種,普通使用者和超級使用者,普通使用者在系統中的任務就是普通工作,管理者在系統上的任務是對普通使用者

 和整個系統進行管理。管理者對系統具有絕對的控制權,能夠對系統進行一切操作。

除了使用者賬戶之外,linux下還有組賬戶。組是使用者的集合。在linux作業系統中組有兩種類型:私有組和公共組,當建立一個新使用者時,

若沒有指定他所屬的組,linux就建立一個和該使用者同名的私有組。這個私有組隻包括這個使用者自己。标準組可以容納多個使用者。

  字段                    說明

 使用者名             使用者登入系統時使用的使用者名,它在系統中是唯一的。

 密碼             此字段存放的是加密密碼。

 使用者辨別号         是一個整數,每個使用者的UID都是唯一的。

 組辨別号         是一個整數,系統内部用它來辨別使用者所屬的組。

 注釋性描述         存放使用者全名等資訊。

 自家目錄         使用者登入系統後進入的目錄。

 指令解釋器          訓示該使用者使用的shell。

cd /etc/pswd   使用者資訊存儲

cd /etc/shadow root使用者資訊存儲

cd /etc/group  組使用者資訊存儲

# 建立一個新使用者:

        useradd newuser (-c 添加注釋資訊)

# 修改一個已有的使用者: 

        usermod -l test olduser

                usermod -L test 鎖定test使用者

                usermod -U test 解鎖test使用者

# 删除一個已有的使用者:

        userdel olduser 删除olduser

                userdel -r olduser 删除所有該使用者的檔案

# 建立一個使用者組sharer

                groupadd sharer

# 将sharer組更改為silvers

        groupaddmod -n silvers sharer

# 删除silvers組 

        groupdel silvers

# 将一個使用者silvers添加到建立的标準組sharer中

           useradd -G sharer silvers

# 修改一個使用者silvers目前的所屬組為newgroup。

        useradd -G newgroup silvers

## 密碼管理/使用者切換

passwd 

passwd user 修改指定賬号密碼

passwd -d test1 (删除test1的賬号密碼[僅限root])

usermod -L test1 (鎖定test1賬号) -U 解鎖

passwd -l test1 (鎖定test1的賬号密碼) -U 解鎖

cd /etc/login.defs 配置管理使用者密碼時效

 ##chage指令的使用

 chage -l  檢視使用者密碼時效

chage -m num (最小天數)-M(最大)-W (警告過期時限)

login.defs系統全局配置檔案,chage 針對單個使用者。

## su&&subo

  su - root  需要目前使用者密碼

  su - test1 不需要

 sudo 

配置sudo vim visudo 

id 使用者的id

newgrp 改變目前預設的組

## fdisk分區

fdisk -l 列出目前記憶體分區及使用情況

fdisk /dev/sdb   # 對sdb進行分區操作

command : m #for help

      d #删除已有的分區

          n #重新分區操作

      q #不儲存退出    

      p #列印分區表資訊

      w #儲存分區操作并退出

          t #顯示系統分區id号

## ExT檔案系統

linux下格式化分區就是建立檔案系統,ExT3可産生相應的日志檔案在/var/log(對後期排查很有必要)

eg.建立檔案系統

fdisk -l 

# 指定目前分區檔案系統

mke2fs /dev/sdb1/   (分區的絕對路徑)  #指定檔案系統為預設ext2

mke2fs -j /dev/sdb1 (分區的絕對路徑)  #指定檔案系統為ext3

# 檢測目前檔案系統及錯誤

e2fsck /dev/sdb1

e2fsck -p /dev/sdb1       #帶自動修複的檢測

tune2fs -l /dev/sdb1      #顯示檔案系統類型詳細資訊

tune2fs -c 30 /dev/sdb1   #将預設的挂載數修改為30

tune2fs -i 180d /dev/sdb1 #将預設的挂載時間修改為180天

e2label /dev/sdb1  www    #給目前檔案系統指定卷标為www

findfs www                #基于卷标來查詢

## 挂載操作mount詳解

df -h                     #檢視目前挂載記憶體分區

# 挂載硬碟之前需要配置/etc/fstab

vim /etc/fstab  #追加  /dev/sdb1       /opt             ext3      defaults

mount -a     #使挂載資訊生效

fdisk -l

df -h

umount /opt  #解除安裝/opt分區

## mount指令詳解

永久挂載 配置/etc/fstab檔案

臨時挂載 mount -t ext3 /dev/sdb1 /opt

mount #檢視目前挂載資訊。

mount -a #使挂載操作馬上生效。

## mount挂載U盤,光驅,移動硬碟,鏡像檔案。

# 光驅

cd media

mkdir cdrom

mount media/cdrom

# u盤

cd /media

mkdir usb

mount -t vfat /dev/sdc1(u盤實際路徑) /media/usb

# 鏡像檔案

cd /media 

mkdir iso

mount -o loop docs.iso /media/iso

umount /media/iso(挂載的目錄)

## LVM基本使用

LVM 邏輯性管理器,彈性管理磁盤

pvdisplay #檢視實體卷

pvcreate /dev/sdb1 #寫入實體卷到磁盤

## 建立卷組

vgcreate www /dev/sdb1(必須是實體卷才成功)

vgdisplay  #檢視建立的卷镞

lvcreate -L 3G -n a1 www #建立a1邏輯卷

#指定檔案系統(分區格式化)

mke2fs -j /dev/www/al

## 挂載剛建立的的邏輯卷a1

mount -t ext3 /dev/www/al /opt

小結:

1.create a pv #建立實體卷

2.create a vg #建立卷組

3.create a lv #建立邏輯卷

4.mke2fs -j /dev/www/a1

5.mount -t ext3 /dev/www/al /opt

移除:

umount /opt                 #解除安裝挂載目錄

lvremove /dev/www/a1        #删除邏輯卷

vgremove www                #删除卷組

pvremove /dev/sdb1          #删除實體卷

##重點指令掌握

pvcreate/pvdisplay/pvremove

vgcreate/vgdisplay/vgremove/vgrename 

lvcreate/lvdisplay/lvremove

## 網絡基本配置

ifconfig                               #檢視網絡資訊

ifconfig eth0                                   #檢視指定網卡資訊

ifconfig eth0 down                        #停掉eth0網卡

ifconfig eth0 up                        #啟動eth0網卡

ifconfig eth0 192.168.251.1                    #手動修改新ip位址

ifconfig eth0 192.168.251.1 netmask 255.255.255.0        #修改ip位址和子網路遮罩

## 修改主機名稱

臨時修改

hostname Silvers

永久修改

配置 /etc/sysconfig/network

     修改 HOSTNAME=Sylvia

配置network-scripts/ifcfg-eth0永久修改網絡相關資訊

service network restart

#DNS的配置

/etc/resolv.conf

nameserver 219.141.136.10    #中國電信

nameserver 202.106.0.20         #中國聯通

nslookup

> www.baidu.com

;

traceroute www.baidu.com     #遠端路由追蹤

netstat -r             #檢視網卡網絡資訊

##linux啟動與單使用者

 啟動引導器()

reboot之後在等待時間内按任意鍵進入grub

按a  #修改系統核心等參數 /按e  # 編輯配置模式 /按c  # 支援指令提示符操作

help指令學習各種指令用法

按Esc退出目前界面,在作業系統中配置grub,定制多系統啟動等

grub系統配置檔案

etc/grup.conf[是個連結檔案]

default=0 # 系統預設啟動模式

timeout=5 # 系統啟動逾時值

#配置多系統啟動

title Windows 10

    rootnoverify (h0,0)

    chainloader +1

#單使用者模式啟動

按a進入grub

追加指令 LogVo100(後面加個空格) single

runlevel   # 顯示目前作業系統啟動模式

showdown -h now # 關閉系統

# linux的修複模式

挂載啟動CD光牒之後,啟動系統之後按F5

boot: linux rescue ##回車進入修複模式

## linux系統管理守護程序

ps -ef         #可檢視目前系統的程序

系統守護程序:指的是運作在背景的程序,随着系統的啟動而啟動的,相當于window的服務。

ps -ef | grep init     #通過關鍵字查詢相關程序資訊

ps -ef | grep login

各種應用的守護程序,總體分為兩大類系統守護,網絡守護程序;

pstree         #守護程序樹,守護程序的優先級

init     #系統啟動模式

acpid    #進階電源管理守護程序

anacron #時間任務執行計劃管理守護程序

等等。

# 停止,啟動守護程序

    service crond stop        # 停止該守護程序

    service crond start             # 啟動該守護程序

    service crond restart        # 重新開機該守護程序

    service crond reload        # 重載該守護程序(重新開機不會停止)

ntsysv    # 進入啟動系統自啟動守護程序

chkconfig

  chkconfig --list [name]

  chkconfig --add <name>

  chkconfig --del <name>

  chkconfig [--level <levels>] <name> <on|off|reset|resetpriorities>

#levels 

    0:關機模式1:單使用者模式2:3:4:自定義模式5:圖形模式6:重新開機模式

chkconfig --level 2345 crond off    # 在2345模式下關閉crond守護程序

chkconfig --list crond            # 檢視指定的守護程序資訊

## linux系統時鐘同步守護程序

date    #檢視目前系統時鐘

time     #檢視時間

hwclock #檢視硬體時鐘

# 手動設定系統時鐘

date -s "2017-02-17 17:10:00"

# 如何系統和硬體同步時鐘

hwclock -- systohc(系統到硬體同步) /-- hctosys(硬體到系統同步)

# 如何通過網絡同步時鐘

使用安裝ntp

yum search ntp

ntpdate www.pool.net.org    #通過時間伺服器來同步

ntpdate time.windows.com        #通過windows時間伺服器同步

# 減小系統和硬體時鐘的同步誤差

hwclock --systohc

# 定制時間同步守護程序以實作自動同步時鐘

vim /etc/ntp.conf

server 0.centos.pool.ntp.org

server 1.time.windows.com

server 3.www.pool.ntp.org

service ntpd start

ps -ef | grep ntpd

date -R        # 檢視目前系統所處的時區

tzselect    # 時區選擇設定

## linux系統周期性計劃任務

ps -ef | grep crond

cron是一個可以用來根據時間,日期,月份,星期的組合來排程對周期性任務執行的守護程序。利用cron所提供的功能,可以将需要周期性重複執行的任務設定為cron任務,并且設定為在主機較空閑的時間(如夜間)自動完成。

centos中實作cron功能的軟體包組成crontabs軟體包實作對linux系統的定時任務管理功能

service crond status    

#檢視crond守護程序資訊情況

example:

50 3 2 1 * run_yearly_cmd        

#一月2号三點五十執行run_yearly_cmd程式

minhourdaymonthdayofweek字段  command字段 

字段                說明

minute            分鐘,取值為從0~59之間的任意整數

hour            小時,取值為從0~23之間的任意整數

day            日期,取值為從1~31之間的任意整數

month            月份,取值為從1~12之間的任意整數

dayofweek        星期,取值為從0~7之間的任意整數,0或7代表星期日

command            要執行的指令或程式腳本

#檢視使用者的cron任務

crontab -l

#編輯使用者的cron任務

 #編輯并覆寫原有的cron任務

 crontab

 #調用文本編輯器對cron任務進行編輯

 crontab -e

#删除使用者現有的cron任務

 crontab -r

# 每次修改完配置檔案必須重新開機相關守護程序方能生效。

# 普通使用者使用crontab建立任務

配置crontab 

vim /etc/cron.deny

把普通使用者加入到visudo組中

sudo /sbin/service crond restart

##linux系統iptables防火牆基本文法介紹

防火牆分類

1.包過濾防火牆

優點:速度快,性能高,對應用程式透明;

缺點:隻檢查報頭,不檢查資料區,不建立連接配接狀态表,安全性低,應用控制層很弱;

以色列checkpoint,美國cisco

2,應用代理防火牆

優點:安全性高,性能高;

缺點:隻檢查報頭,但建立連接配接狀态表,不檢查資料區,安全性高,應用控制層很弱;

美國NAI公司的Gauutlet。

iptables基本文法

iptables基本文法:

iptables [-t table] command [match] [target]

1.  table,表,filter,nat,mangle,raw;

2.  command,iptables最重要的部分;

3.  match,比對資料包的特征;

4.  target,對比對的資料包進行的操作;

1,1. 表

filter,用于一般的資料包過濾,針對本機;iptables預設的表;鍊:INPUT,FORWARD,OUTPUT;

nat,僅用于NAT,也就是轉換資料包的源位址或目标位址;

鍊:PREROUTING,POSTROUTING,OUT;

service iptables status

service iptables stop

service iptables start

service iptables restart

iptables -L

vim /etc/sysconfig/iptables    #不建議手動來定制這個檔案。

1,2.指令(1)

-L: 檢視規則;

iptables -L

iptables -L -n

iptables -L -n --line-number

-P: 修改預設規則;

iptables -P INPUT DROP

備注:為鍊設定預設的target(可用的是DROP和ACCEPT),做為最後一條規則被執行

1,2.指令(2)

-A: 追加規則,做為最後一條規則;

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

example:iptables -A FORWARD -p tcp --dport 22 -j ACCEPT   # 

1,2.指令(3)

-D: 删除規則;

iptables -D INPUT 3

iptables -D INPUT -s 192.168.0.1 -j DROP

example: iptables -D FORWARD 1

-R: 修改規則;

iptables -R INPUT 3 -s 192.168.0.1 -j ACCEPT

example: iptables -R FORWARD 1 -s 192.168.229.1 -j ACCEPT

1,2.指令(4)

-F: 清空規則;

iptables -F 

iptables -F INPUT

iptables -t nat -F   

#以上指令和(參數都是大寫)隻是臨時性修改生效,永久修改需要配置vim /etc/sysconfig/iptables

1.3 比對條件

出,入接口(-o,-i)    網卡

源,目的位址(-s,-d)    IP或者IP段

協定類型(-p)        TCP,UDP

源,目的端口        (--sport,--dport)

1.3 比對條件(1)

按網絡接口比對

-o 比對資料流出的網絡接口

iptables -A OUTPUT -o eth0 -j DROP

#備注:将接口eth0流出的資料DROP掉;

-i 比對資料流入的網絡接口

iptables -A INPUT -i eth0 -j DROP

#備注:将流入到接口eth0的資料DROP掉;

4.3 比對條件(2)

按位址比對

-s 比對源位址

iptables -A INPUT -s 192.168.0.1 -j DROP

# 将來自192.168.0.1的任何請求DROP掉;

-d 比對目的位址

iptables -A OUTPUT -d 192.168.0.1 -j DROP

# 将本機發往192.168.0.1的任何請求DROP掉;

注意:可以是單個IP(192.168.0.1),網段(192.168.0.1/24),域名不設則表示任何位址;

1.3 比對條件(3)

按協定類型比對

-p 比對協定類型

iptables -A INPUT -s 192.168.0.1/24 -p tcp --dport 22 -j DROP

#禁止192.168.0.1/24的客戶機連接配接本機22端口

iptables -A INPUT -p icmp -j DROP

#禁止ping 

iptables -A INPUT -p 1 --icmp-type 8 -j DROP

#可以ping通其他客戶機,但是其他客戶機ping不通該機;

1.3 比對條件(4)

按端口比對

--sport 比對源端口

iptables -A INPUT -p tcp --sport 80 - j DROP

# 将來自80端口的請求DROP掉;

--dport 比對目的端口

iptables -A INPUT -s 192.168.0.1/24 -p tcp --dport 80 -j DROP

# 将來自192.168.0.1/24的針對本機80的請求DROP掉;

備注:

    1. --sport,--dport必須配合參數-p使用;

    2. 可以指定某個端口,也可以是端口範圍,比如 :2000(2000以下端口),2000:3000(2000~3000端口),3000: (3000以上端口)

netstat -apn |grep  80            # 檢視指定端口80的服務資訊

1.4 處理方式(1)

ACCEPT

    這個target沒有任何選項和參數,使用也很簡單,指定-j ACCEPT即可。一旦資料包滿足了指定的比對條件,就會被ACCEPT,并且不會再去比對目前鍊中的其他規則或同一個表内的其他規則;

iptables -P INPUT ACCEPT 

# 修改INPUT的預設規則為ACCEPT

iptables -A INPUT -s 192.168.0.1/24 -j ACCEPT

# 允許來自192.168.0.1/24的所有針對本機的所有請求;

1.4 處理方式(2)

DROP

    如果包符合條件,這個target就會把它丢掉,也就是說包的生命到此結束,不會再向前走一步,效果就是包被阻塞了。在某些情況下,這個target會引起意外的結果,因為它不會向發送者傳回任何資訊,也不會向路由器傳回資訊,這就可能會使連接配接的另一方因苦等回音而亡,解決這個問題的較好的辦法使使用REJECT(除了丢棄資料包之外,還向發送者傳回錯誤資訊);

iptables -A INPUT -s 192.168.0.1 -j DROP

# 将來自192.168.0.1的請求全部DROP掉;

1.5 規則的比對方式

    規則由第1條開始比對,如果第1條規則不比對,則比對第2條規則,如果第2條規則還不比對則比對第3條規則,依次論之;

    如果資料包被第N條規則所比對,則資料包的存活将由該規則決定;如果規則規定定将資料包丢棄,那麼資料包就會被丢棄,不會管後面的規則如何;

    不論鍊中由多少個規則,預設規則(Default Policy)永遠都在每一個鍊的最底端,最後被執行;每個鍊的預設規則各自獨立,且隻有一種狀态,要麼是ACCEPT,要麼是DROP;

1.6 備注

    規則配置檔案/etc/sysconfig/iptables

iptables-save

iptables-restore

service iptables save

# 将目前iptables規則儲存到/etc/sysconfig/iptables;

##linux系統Apache伺服器概述及安裝

Web伺服器是Internet中最為重要的應用

Web服務采用用戶端/伺服器模型

用戶端為浏覽器,它提供了良好,統一的使用者界面。浏覽器的作用為解釋和顯示Web頁面,響應使用者的輸入請求,并通過HTTP協定将使用者請求傳遞給Web伺服器

Web伺服器運作伺服器程式,最基本的功能是偵聽和響應用戶端的HTTP請求,向用戶端送出請求處理結果資訊。

HTTP協定的預設端口為80

從1996年4月以來,Apache已經成為Internet上最流行的Web伺服器

Apache的優點:

    跨平台。能運作在unix/linux和windows等多種作業系統上

    無限擴張性。借助開放源代碼開發模式的優勢,全世界的許多程式員為Apache編寫了許多功能子產品

    工作性能和穩定性遠遠領先于其他同類産品

#查詢系統是否安裝了Apache

    rpm -qa | grep httpd

#如果沒有安裝,運作如下指令進行安裝

    yum search httpd

    yum install httpd.i386

#啟動Apache伺服器

    service httpd restart

#測試Apache伺服器

    注意:防火牆的配置

dmesg 檢視系統硬體配置

轉載于:https://my.oschina.net/silvers0618/blog/997572

繼續閱讀