Linux 基礎(chǔ)知識

本文包括:

1、Linux 系統(tǒng)概述

2、Linux 用戶和用戶組管理

3、Linux 文件和目錄管理

4、Linux 文件系統(tǒng)管理

5、Linux LVM 配置

6、Linux 網(wǎng)絡(luò)管理

7、Linux 進程與任務(wù)管理

8、Linux 系統(tǒng)監(jiān)控

9、Linux 管道與I/O重定向

10、Linux 安裝與管理軟件

1、Linux 系統(tǒng)概述

  1. Linux 的發(fā)展:離不開它的前身 Unix

    • Unix 的發(fā)展:

      1970 年,Ken Thompson 研發(fā)出 Unix 內(nèi)核;1970 年為Unix 元年

      1973 年,Ritchie 用 C 語言編寫了 Unix 內(nèi)核,Unix 正式誕生;

      1974 年,Unix 對外公布,開始廣泛流行。

    • Linux 的產(chǎn)生和發(fā)展:

      1986 年,Tanenbaum 研發(fā)出 MINIX,并于次年發(fā)布;

      1991 年,Linus 研發(fā)出 Linux 內(nèi)核的雛形;

      1994 年,Linux 1.0 內(nèi)核發(fā)布;

      1995 年以后,各種不同的 Linux 發(fā)行版本相繼出現(xiàn)。

    • Linux 發(fā)行版本(內(nèi)核是一樣的):

      Redhat 、SUSE Enterprise、CentOS:側(cè)重于網(wǎng)絡(luò)服務(wù),企業(yè)管理

      Debian、Stackware:側(cè)重于服務(wù)器及其穩(wěn)定性

      Ubuntu、Fedora、Open SUSE:側(cè)重于用戶體驗

    • Unix 和 Linux 的區(qū)別:

      Unix Linux
      商業(yè)付費 免費開源
      與硬件配套 跨平臺
      對硬件要求苛刻 對硬件要求很低
      安裝復(fù)雜 安裝簡單
      使用復(fù)雜 使用簡單
      穩(wěn)定 次穩(wěn)定(好于Windows)
  2. Linux 的結(jié)構(gòu):

    • 應(yīng)用程序

    • 外殼(shell):用戶和內(nèi)核之間的命令解釋器,可以根據(jù)自己的需求更換 shell,shell 與 kernel 可分離

      常見的 shell 有:bash(Linux 默認的 shell),sh(Unix 默認的 shell),ksh(korn shell),c shell 等等,其中以 bash(Bourne-Again Shell)最為流行:它基于 Bourne shell,吸收了 C shell 和 Ksh 的一些特性。bash 完全兼容 sh,也就是說,用 sh 寫的腳本可以不加修改的在 bash 中執(zhí)行

    • 內(nèi)核(kernel):Linux 操作系統(tǒng)的核心,直接控制計算機資源

    • 硬件

  3. Linux 的特點:

    • 多任務(wù),多用戶:CPU 時間分片,分給不同的進程;允許多個用戶同時登陸使用。

    • 管道:前一個程序的輸出作為后一個程序的輸入,看起來好像管道一樣

    • 功能強大的 shell:shell 是一種解釋型高級語言

    • 安全保護機制,穩(wěn)定性好:防止系統(tǒng)及其數(shù)據(jù)未經(jīng)許可而被非法訪問,穩(wěn)定性 Unix 好于 Linux,Linux 好于 Windows

    • 用戶界面:常用命令行的方式,同時提供圖形界面

    • 強大的網(wǎng)絡(luò)支持:TCP/IP 協(xié)議就是 Linux 的缺省網(wǎng)絡(luò)協(xié)議

    • 移植性好:源代碼用 C 語言寫成,便于移植到其它計算機上

2、Linux 用戶和用戶組管理

  1. Linux 的用戶和用戶組

    在 Linux 操作系統(tǒng)中,Linux 用戶會歸屬于用戶組,那么歸屬于同一用戶組的不同用戶,它對一些公共文件具有相同的訪問權(quán)限,每個用戶對它所歸屬的文件具有其適用的訪問權(quán)限。

  2. Linux 通過 UID 和 GID 來管理用戶和用戶組

    • UID(User ID):通過配置文件 /etc/password 儲存,記錄的是單個用戶的登陸信息

        root:x:0:0:root:/root:/bin/bash  
      

      被冒號分成七個字段:分別為:用戶名、密碼、UID、GID、用戶描述、用戶家目錄、用戶的 shell 類型

      擴展閱讀:

      Linux 系統(tǒng)中通常有三種類型的用戶:超級用戶(super user),常規(guī)用戶(regular user)和系統(tǒng)用戶(system user)。

      超級用戶的 UID 和 GID 都是 0。不管系統(tǒng)中有多少個系統(tǒng)管理員,都只有一個超級用戶帳號。超級用戶帳號,通常指的是 root user,對系統(tǒng)擁有完全的控制權(quán)。超級用戶是唯一的。

      常規(guī)用戶的 UID 500 - 60000。指那些登陸到 Linux 系統(tǒng),但不執(zhí)行管理任務(wù)的用戶,例如文字處理或者收發(fā)郵件等

      系統(tǒng)用戶的 UID 1 — 499系統(tǒng)用戶并不是一個人,也被稱為邏輯用戶或偽用戶。系統(tǒng)用戶沒有相應(yīng)的 /home 目錄和密碼。系統(tǒng)帳號通常是 Linux 系統(tǒng)使用的一個管理日常服務(wù)的管理帳號

    • GID(Group ID):通過配置文件 /etc/group 儲存的,記錄 GID 和用戶組組名的對應(yīng)關(guān)系

        root:x:0:
      

      root 用戶組的 GID 為0

        smc:!:1001:
      

      SMC 用戶組的 GID 為1001

      擴展閱讀:

      沒有 supergroup
      Systemgroup:GID 0 - 499
      一般組:GID 500 - 60000

  3. 用戶管理的常用命令

    • 用戶查詢命令:

      id:查詢當前登陸用戶的 GID 和 UID。

      finger:查詢當前用戶的屬性信息,包含家目錄和 shell 類型。

    • 新增用戶:useradd[參數(shù)][用戶名]

        linux: ~ # useradd -d /home/ipcc -m -u 2000 -g mms -s /bin/csh ipcc
      

      -d:設(shè)置用戶的家目錄

      -m:設(shè)置的家目錄不存在時自動創(chuàng)建

      -u:設(shè)置用戶的 UID

      -g:設(shè)置初始 GID 或組名

      -s:設(shè)置用戶的shell,如:/bin/csh

      上例最后的 ipcc 指的是該用戶的用戶名

        linux: ~ # useradd ipcc
      

      這個例子中沒有參數(shù),直接創(chuàng)建用戶名為 ipcc 的用戶,如果在新增用戶時沒有指定參數(shù)信息,系統(tǒng)就會去讀取 /etc/default/useradd 配置文件,它規(guī)定了默認的初始用戶組和 shell 等。

        linux: ~ # useradd –D
      

      如果需要查詢基本的設(shè)置,通過 useradd –D 讀取默認的配置。

    • 刪除用戶:userdel [參數(shù)] [用戶名]

        linux:~ # userdel ipcc
      

      刪除 ipcc 用戶

        linux:~ # userdel -r iptv 
      

      加上 -r,會將用戶的家目錄一起刪除。

    • 新增完用戶后,需要設(shè)置和修改用戶密碼:passwd[用戶名]。常規(guī)用戶只能不輸入用戶名,修改當前用戶的密碼,超級用戶可以加上用戶名修改其他用戶的密碼。輸入正確后,這個新口令被加密并放入 /etc/shadow 文件

      注意:在 ubuntu 的默認 shell 中,密碼不會顯示出來,且再修改密碼時,會多次提示你輸入密碼以確保正確性

    • 修改用戶屬性:usermod[參數(shù)][用戶名]

        linux:~ # usermod -d /opt/ipcc ipcc
      

      -d 修改用戶家目錄
      -g 修改初始用戶組

    擴展閱讀:su 命令用于變更為其他使用者的身份,除 root 外,需要鍵入該使用者的密碼
    http://www.runoob.com/linux/linux-comm-su.html

  4. 用戶組管理常用命令

    • 新增用戶組:groupadd

        linux:~ # groupadd ipcc
      
        linux:~ # groupadd -g 2000 iptv
      

      -g 指定組 ID

    • 刪除用戶組:groupdel [用戶名]

        linux:~ # groupdel iptv
      
    • 修改用戶組:groupmod [參數(shù)] [用戶名] -

        linux:~ # groupmod -g 2500 -n ipcc1 ipcc
      

      g 修改組 ID -n 修改組名

3、Linux 文件和目錄管理

  1. Linux 的文件結(jié)構(gòu)類似于倒樹形結(jié)構(gòu),樹的 root 是 / 文件夾

    • 根目錄下的子目錄以及存放的內(nèi)容:

    • 常用文件夾

      • /etc

        • 配置文件
        • 大部分是 *.conf
          • /etc/passwd , /etc/group , /etc/shadow 除外
      • /home

        • 用戶家目錄
        • /home/用戶名
      • /root

        • 超級用戶 root 的目錄
      • /tmp

        • 臨時文件區(qū)
      • /var/tmp

        • 臨時文件區(qū)
      • /boot

        • Boot filesystem
        • 啟動加載器
        • 內(nèi)核及 init ram dist
      • /dev

        • 設(shè)備文件
        • /dev/sda 是硬盤
        • /dev/sda1 是分區(qū)
        • 注意:Linux 的思想,一切都是文件
      • /media

        • 本機硬盤以外的儲存設(shè)備
        • 例如:/media/CDROM
      • /mnt

        • 本機硬盤以外的儲存設(shè)備
        • Red Hat 習慣手動掛載于此
  2. 絕對路徑與相對路徑

    • 絕對路徑:由根目錄(/)開始寫起的文件名或者目錄名,例如: /home/student/file.txt

    • 相對路徑:基于當前路徑的的文件名或者目錄名寫法,. 代表當前目錄 .. 代表上一級目錄

      舉例:假如目前在 /home/smc 目錄下,想要切換到 /home/smc/bin/smc 目錄下,首先可以使用絕對路徑,命令如下:

        cd /home/smc/bin/smc
      

      操作完成后,想要回到剛才的 /home/smc 目錄下,可以使用相對路徑,命令如下;

        cd ../..
      

      再舉例:目前在 /tmp,想要去 /home/student/file.txt

        ../home/student/file.txt
      

      再舉例:目前在 /home,想要去 /home/student/file.txt

        student/file.txt
      
  3. 文件和目錄的基本操作

    • 顯示當前目錄下的所有文件:ls (list segment)

      • ls -l :顯示出詳細信息
    • 顯示當前的工作目錄:pwd (print working directory

    • 變更工作目錄:cd

        cd 
        cd /home/smc/bin/smc
        cd ../..
      

      第一條指令,cd 后面不跟任何路徑,則是回到主目錄

    • 新增目錄(必須具備寫權(quán)限):mkdir[-m 模式][-p] 目錄名

        mkdir temp
        mkdir -m 777 temp/abc
      

      -m 指定存取模式,設(shè)置為777,所有文件可讀可寫可執(zhí)行
      -p 建立目錄時建立其所有不存在的父目錄

    • 刪除目錄(對父目錄具備寫權(quán)限):rmdir [-p] 目錄名

      用于刪除空目錄,如果刪除非空目錄,則使用 rm 再加上參數(shù)即可

      –p 刪除目錄及父目錄

    • 復(fù)制文件或目錄(對父目錄具備寫權(quán)限) :cp 源文件或目錄 目的文件或目錄

      • cp /etc/passwd /tmp/passwd :絕對路徑是最標準的寫法
      • cp /etc/passwd /tmp :相同文件名稱
      • cp /etc/passwd /tmp/. :在/tmp目錄下,相同名稱拷貝,與上結(jié)果一樣
      • cp /etc/passwd . :當前文件夾下,相同名稱拷貝
    • 移動文件或目錄(對父目錄具備寫權(quán)限):mv 源文件或目錄 目的文件或目錄

      • mv /tmp/passwd /tmp/abc :更改文件名稱
      • mv /tmp/passwd /var/tmp/passwd :移動文件,名稱不變
      • mv /tmp/passwd /var/tmp/abc:移動文件并更改文件名稱
      • 注意SELinux security context
    • 刪除文件或目錄(對父目錄具備寫權(quán)限):rm[-ir] 文件或目錄

      -name 以指定字符串開頭的文件名 -user 查找指定用戶所擁有的文件。

  4. 查看文件內(nèi)容:

    • cat:直接查閱文件內(nèi)容,不能翻頁

    • more:翻頁查看文件內(nèi)容

    • less:翻頁閱讀,和 more 類似。但操作按鍵比 more 更加彈性。

    • head:查看文檔的頭部幾行內(nèi)容,默認為 10 行,可用-數(shù)字 來查看特定行數(shù)

    • tail:查看文件的尾部幾行內(nèi)容,默認為 10 行,可用-數(shù)字 來查看特定行數(shù)

4、Linux 文件系統(tǒng)管理

  1. 文件系統(tǒng)的概念:操作系統(tǒng)用于明確存儲和組織計算機數(shù)據(jù)的方法,使得對數(shù)據(jù)的查找和訪問變得更加容易。用戶不需要關(guān)心文件位于d硬盤的數(shù)據(jù)塊地址。

  2. 存儲在介質(zhì)中數(shù)據(jù)的三個因素

    文件名:定位存儲的位置

    數(shù)據(jù):文件的具體內(nèi)容

    元數(shù)據(jù) meta-data:文件有關(guān)的信息。例如文件的權(quán)限、所有者、文件的修 改時間等。

    Linux 支持的文件系統(tǒng)類型可查看 /etc/filesystems

  3. 文件系統(tǒng)的分類

    • 根據(jù)是否有日志?

      • 傳統(tǒng)型文件系統(tǒng):寫入文件內(nèi)容的時候,先寫數(shù)據(jù),再寫元數(shù)據(jù),若寫元數(shù)據(jù)前斷電,則會造成文件不一致。典型的:ext2(Linux 默認的文件系統(tǒng))

      • 日志型文件系統(tǒng):寫入文件內(nèi)容的時候,先寫日志記錄文件(更安全)。典型的:ext3 = ext2 + 日志 ,ReiserFS (基于平衡樹,搜索快,節(jié)約空間)

    • 根據(jù)如何查找數(shù)據(jù)?

      • 索引式文件系統(tǒng):文件屬性數(shù)據(jù)和實際內(nèi)容放在不同的區(qū)塊,例如 Linux 中默認的 ext2 文件系統(tǒng)中,文件屬性數(shù)據(jù)存放在 inode(類似于指針),實際內(nèi)容放在 block。ext2 一開始就規(guī)劃好了 inode 與 block ,所以數(shù)量龐大,不容易管理,所以有分組

      • 非索引式文件系統(tǒng):只有 block,數(shù)據(jù)需要一個 block 接一個 block 讀取(下一個 block 位置存放在上一個 block 中),效率低。 典型的:FAT(Windows 的文件系統(tǒng))

        碎片整理:寫入的數(shù)據(jù)的 block 太過分散,此時讀取的效率會很低。磁盤整理的目的,就是將這些分散的 block 盡量的集中起來。

  4. 配置文件系統(tǒng)分區(qū)

    • 創(chuàng)建分區(qū):fdisk + 設(shè)備名,輸入完該命令之后,可以通過參數(shù) m 查看按鍵操作說明,通過參數(shù) p 可以得到本磁盤的相關(guān)信息,輸入 n 命令可以新建一個分區(qū)。使用完 n 命令之后,新建分區(qū)的步驟如下:

      選擇分區(qū)類型

      選擇分區(qū)開始的磁柱

      決定分區(qū)的大小

      保存新建的分區(qū) (w 命令)

      通過重啟服務(wù)器或使用 partprobe 命令通知內(nèi)核

    • 創(chuàng)建文件系統(tǒng):mkfs [參數(shù)] 設(shè)備名。-t 指定文件系統(tǒng)類型,如 ext3。 -b 指定 block 大小,單位 bytes,ext2 和 ext3 僅支持 1024/2048/4096 三種。

    • 掛載文件系統(tǒng):mount + 設(shè)備名 + 掛載點。掛載的過程就是將文件系統(tǒng)和目錄樹上的某一個目錄結(jié)合。 -t -b 同上。

        mount /dev/sda6/root/testmount
      
  5. 管理 Linux 文件系統(tǒng)

    • 查看分區(qū)使用情況:

      • df:查看文件系統(tǒng)的磁盤空間占用情況,參數(shù) –h 以容易理解的格式打印出文件系統(tǒng)大小,參數(shù) –i 顯示 inode 信息而非塊使用量。

      • du:查看文件或目錄的磁盤使用空間,參數(shù) –a 顯示目錄下的每個文件所占的磁盤空間,參數(shù) –s 只顯示大小的總和,參數(shù) -h 以容易理解的格式輸出文件大小值,如多少 Mb

    • 查看系統(tǒng)打開的文件:lsof

      Isof filename 顯示打開指定文件的所有進程

      Isof –c string 顯示以指定字符開頭的進程所有打開的文件

      Isof –u username 顯示所屬 username 相關(guān)進程打開的文件

  6. 修復(fù)文件系統(tǒng):

    • fsck 參數(shù) 設(shè)備名:檢查文件系統(tǒng)并嘗試修復(fù)錯誤。執(zhí)行 fsck 時,必須首先要將修復(fù)的設(shè)備進行umount 后,再執(zhí)行 fsck 命令。

    • e2fsck:檢查和修復(fù) ext2 和 ext3 文件系統(tǒng)

5、Linux LVM 配置

LVM:Logical Volume Manager

  • 傳統(tǒng):文件系統(tǒng)構(gòu)建在物理分區(qū)(PP:physical partition)之上,物理分區(qū)的大小直接決定了文件系統(tǒng)的容量。LVM:使文件系統(tǒng)的調(diào)節(jié)更簡便,搭配 RAID 做容錯

  • LVM 結(jié)構(gòu):

    PP:physical partition 物理分區(qū),LVM 最底層

    PV:physical volume 物理卷,一個 PP 對應(yīng)一個 PV

    PE:physical extends 物理擴展單元,組成PV的最小單元,也是的最小區(qū)塊,類似于文件系統(tǒng)的 block

    VG:volume group 卷組,可以看出由 LVM 組成的大磁盤

    LE:logical extends 邏輯擴展單元,組成LV的最小單元,對應(yīng)一個PE

    LV:logical volume 邏輯卷, VG之上,文件系統(tǒng)之下,文件系統(tǒng)是基于邏輯卷的

  • VG、LV 和 PE 的關(guān)系

    LV 通過交換 PE 來實現(xiàn)彈性改變文件系統(tǒng)大小的效果,LV 移除一些 PE,文件系統(tǒng)大小即減小,VG 把一些 PE 給LV,文件系統(tǒng)大小即增加

    最多65534個PE,PE的大小可以影響到VG的容量

    LV與磁盤分區(qū)類似,能夠格式化

  • LVM 的優(yōu)點:

    • 通過LVM,文件系統(tǒng)可以跨越多個磁盤

    • 動態(tài)地擴展文件系統(tǒng)的大小

    • 增加新磁盤到 LVM 的存儲池中

  • LVM 使用要點:

    • 按需分配文件系統(tǒng)大小

    • 把不同的數(shù)據(jù)放在不同的卷組中

  • LVM 配置步驟,創(chuàng)建邏輯卷的步驟

  • 物理卷管理命令

    • pvcreate 將普通的分區(qū)加上 PV 屬性
    • pvscan 查看物理卷信息
    • pvdisplay 查看各個物理卷的詳細參數(shù)
    • pvremve
  • 卷組管理

    • vgcreate vgname /dev/sdaN
      • vgname:卷組名稱
      • /dev/sdaN:要加入卷組的物理卷
    • vgscan
    • vgdisplay
    • vgreduce 縮小卷組,把物理卷從卷組中刪除
    • vgextend 擴展卷組,把某個物理卷添加到卷組中
    • vgremove
  • 邏輯卷管理命令

    • lvcreate -n lvname -L 2G vgname
      • lvname:邏輯卷名稱
      • -L 2G:邏輯卷大小
      • vgname:從卷組分配空間給邏輯卷
    • lvscan
    • lvdisplay
    • lvextend
    • lvreduce
    • lvrmove
  • 擴展卷組

    • 可在線擴展卷組
    • 不一定可以所見卷組
    • 命令:vgextend vgname /dev/sdaN
      • 將物理卷 /dev/sdaN,加到vgname
    • 必須要有未使用的物理卷
      • 必須先有未使用的分區(qū)或硬盤
  • 管理文件系統(tǒng)的空間(增大或減小)

    • 增大( 卷組必須要有足夠空間)

      • 先卸載邏輯卷

      • 然后通過vgextend、lvextend等命令增大LV的空間

        • lvextend -l +128 /dev/vgname/lvname
          • 再加大128個LE
        • lvextend -L +128M /dev/vgname/lvname
          • 再加大128 Mb
      • resize2fs -p /dev/vgname/lvname

        • 再使用resize2fs將邏輯卷容量增加,擴展文件系統(tǒng)
        • -p:顯示操作期間的進度
      • 最后將邏輯卷掛載到目錄樹

    • 減小

      • 先卸載邏輯卷
      • resize2fs -p /dev/vgname/lvname 512M
        • 再使用resize2fs將邏輯卷容量減小,文件系統(tǒng)調(diào)整為512MB
      • lvreduce -L 512M /dev/vgname/lvname
        • 再通過lvreduce將邏輯卷容量減小,邏輯卷減小到512MB
      • 最后將邏輯卷掛載到目錄樹

    注意 lvextend -l +128 與 lvextend -L +128M 的區(qū)別。一個是增加128個PE,一個是增加128MB

6、Linux 網(wǎng)絡(luò)管理

  • ifconfig [接口]:查看IP地址,廣播地址,網(wǎng)口掩碼

    windowns 中用 ipconfig

    • ifconfig 網(wǎng)口[參數(shù)]:設(shè)置網(wǎng)口的參數(shù),如IP地址,廣播地址,網(wǎng)口掩碼等,重啟網(wǎng)絡(luò)或系統(tǒng)后失效

        ifconfig eth3 192.168.100.128 broadcast 192.168.100.255 netmask 255.255.255.0
      
    • 若想修改一直有效,則需要去修改配置文件:/etc/sysconfig/network/ifcfg-網(wǎng)口

      編輯配置文件:

        vi ifcfg-eth4
      

      使用ifup命令,啟動網(wǎng)口:

        ifup ifcfg-eth4
      
  • route:查詢本機路由表

    Destination 目的地
    Gateway 網(wǎng)管
    Genmask
    Flags 標記,為U:可用
    Iface 該路由的網(wǎng)絡(luò)出口

  • 新增路由:通過命令方式新建路由,會保存在內(nèi)存中,重啟無效,若想持久保存,通過配置文件 /etc/sysconfig/network/routes 靜態(tài)保存路由信息,重啟網(wǎng)絡(luò)服務(wù)才能生效

  • 檢測本地端口

      netstat -tupln | grep:25
    
    • t:TCP僅顯示tcp相關(guān)選項
    • u:UDP僅顯示udp相關(guān)選項
    • p:Procedure顯示建立相關(guān)連接的程序名
    • l:List僅列出正在Listen(監(jiān)聽)的服務(wù)
    • n:拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化為數(shù)字
  • 檢測遠程服務(wù)

    • nmap軟件包

    • 可以單獨檢測服務(wù)器

      • 如:nmap 192.168.0.101
    • 可檢測整個class C

      • 如:nmap 192.168.0.0/24
      • 不支持255.255.255.0的語法
    • 如果沒有防火墻干擾,結(jié)果應(yīng)該與netstat一致

  • IP別名

    • 在相同的網(wǎng)卡以及MAC地址之下,配置不同的IP地址
    • 命名原則
      • eth0
      • eth0:0
      • eth0:1 ...
    • 哪些不支持IP別名
      • DHCP不支持別名
      • NetworkManager不支持別名
        • NetworkManager也不支持網(wǎng)卡綁定
        • service NetworkManager stop
        • chkconfig NetworkManager Off
  • ping -c 次數(shù)

  • traceroute 目的地址或主機名:追蹤包源到目的所經(jīng)過的路由

  • 配置FTP服務(wù),通過yast命令,yast界面可以修改網(wǎng)絡(luò)信息

  • 配置Telnet服務(wù),進入yast界面

7、Linux 進程與任務(wù)管理

  • 概念

    • 程序:文件中保存的一系列可執(zhí)行的命令

    • 進程:加載到內(nèi)存中的程序,由CPU執(zhí)行,由PID 標識

    • 守護進程:常駐內(nèi)存,與終端無關(guān)的系統(tǒng)進程

    • 用戶進程:用戶通過終端加載的進程

  • 查看進程

    • ps 靜態(tài)查看某一時間點進程信息

      • a 顯示現(xiàn)行終端機下所有程序
      • x 顯示所有程序,不分終端機
      • u 以用戶為主的格式來顯示程序狀況
      • f 用ASCII字符顯示樹狀結(jié)構(gòu)
      • l 顯示進程的詳細信息,例如優(yōu)先級(NI)
    • top 動態(tài)觀察進程動態(tài),每三秒刷新一次(默認按CPU的使用率降序排列)

      • 熱鍵;
        • P:按處理器使用率排列進程
        • M:按內(nèi)存使用率排列
        • d:控制即時顯示秒差
        • h:顯示更多熱鍵的用法
        • q:離開top
        • k:殺死某個進程,需要再輸入PID好
    • pstree 用ASCII字符顯示樹狀結(jié)構(gòu),-p 顯示進程ID,-u 顯示用戶名

  • 管理進程

    • Linux進程調(diào)度是CPU分為時間片,每個進程將依次在CPU上運行,優(yōu)先級高的先執(zhí)行
    • 用戶可通過設(shè)置進程的 niceness(NI)值來影響進程的優(yōu)先級。niceness值范圍:-20到+19,數(shù)字越小,優(yōu)先級越高
    • root用戶(超級用戶)可調(diào)整優(yōu)先級到-20,而非超級用戶只能把進程的優(yōu)先級調(diào)低(即往+19調(diào)整),常規(guī)用戶所啟用的進程的niceness默認值為0
    • 用法:
      • nice -n 1 ls:將 ls 的優(yōu)先序加 1 并執(zhí)行
      • nice ls:將 ls 的優(yōu)先序加 10 并執(zhí)行
      • renice +1 987 -u daemon root -p 32:將進程 id 為 987 及 32 的進程與進程擁有者為 daemon 及 root 的優(yōu)先序號碼加 1
  • 結(jié)束進程

    • kill PID:結(jié)束進程和進程號PID,系統(tǒng)可能不響應(yīng)
    • kill -9 PID:強制終止進程,一般不適用
    • killall PID:終止同一進程組內(nèi)的所有進程
  • 任務(wù)管理

    • 任務(wù):登錄系統(tǒng)取得shell后,再單一終端接口下啟動的進程

    • 前臺:在終端接口上,可以出現(xiàn)提示符讓用戶操作的環(huán)境

    • 后臺:不顯示再終端接口的環(huán)境

  • 任務(wù)管理相關(guān)命令

    • & 直接將程序放入后臺處理

        find /-name smcapp &
      
    • jobs 查看當前shell的后臺任務(wù)

    • ctrl+z 將正在運行的任務(wù)放入后臺暫停

      在vi命令編輯文件內(nèi)容時,可以暫停(suspended)

    • fg %[job ID] 任務(wù)放入前臺,如果不加job ID,則默認把當前任務(wù)

    • bg %[job ID] 任務(wù)放入后臺

  • 管理周期計劃任務(wù):crontab [-u user] [-e] -l [-r]。-u指定用戶,-e編輯crontab任務(wù)內(nèi)容,-l查閱crontab任務(wù)內(nèi)容,-r移除所有crontab的任務(wù)內(nèi)容

    當用-e編輯時,程序會直接調(diào)用vi接口

    系統(tǒng)計劃任務(wù)保存在/etc/crontab文件中

  • 管理定時任務(wù):at 安排一個任務(wù)在未來執(zhí)行,必須先啟用atd進程

    • at -l:相當于atq,列出當前at任務(wù)
    • at -d[job ID]:相當于atrm,刪除一個at任務(wù)
    • at -c[job ID]:查看任務(wù)具體內(nèi)容

    at 與 crontab的用法,from 鳥哥的linux私房菜:http://cn.linux.vbird.org/linux_basic/0430cron.php

8、Linux 系統(tǒng)監(jiān)控

  • 監(jiān)控系統(tǒng)啟動日志

    想要查看啟動信息,調(diào)用命令 dmesg|less,或者查看 /var/log/boot.msg 日志

  • 監(jiān)控系統(tǒng)運行狀況

    • cat /proc/..

      /proc/cpuinfo

      /proc/bus

      /proc/scsi

    • fdisk 硬盤信息

      -l:查看服務(wù)器所掛硬盤個數(shù)及分區(qū)情況

    • lspci PCI信息

      -v:顯示PCI接口裝置的詳細信息

      -vv:更詳細的信息

    • iostat CPU和I/O信息

      -c:僅顯示CPU統(tǒng)計信息

      -d:僅顯示磁盤統(tǒng)計信息

      -k:以k為單位顯示每秒磁盤的請求數(shù)

    • hwinfo 設(shè)備信息

      --disk 顯示磁盤信息

      --cpu 顯示CPU信息

      --memory 顯示內(nèi)存信息

      --network 顯示網(wǎng)卡信息

      --short 顯示硬件的摘要信息

  • 監(jiān)控系統(tǒng)和進程

    • top 進程的動態(tài)信息,CPU、內(nèi)存信息

    • ps 靜態(tài)

    • uptime 系統(tǒng)開機時間以及系統(tǒng)平均負載

    • uname 查看系統(tǒng)版本信息,加 -a 會由更詳細的信息

    • netstat 顯示與IP、TCP、UDP相關(guān)的信息

  • 監(jiān)控用戶登錄

    • who -H -m:查看當前登錄系統(tǒng)地用戶。-H:顯示各欄位的標題信息列,-m:效果等同于who am i,顯示出自己再系統(tǒng)地用戶名,登錄終端,登錄時間

    • w[參數(shù)][用戶]:查看當前登錄的用戶及用戶當前的工作。-u:后面接user,查看具體用戶信息,比who更詳細

    • finger[參數(shù)][用戶]:查看用戶詳細信息。-s:短格式顯示用戶信息,-l:長格式顯示用戶信息

    • last[參數(shù)]:查看曾經(jīng)登錄過系統(tǒng)的用戶。-n num:設(shè)置列出名單的顯示列數(shù),-F:顯示登錄和登出的詳細信息

    • lastlog[參數(shù)][用戶]:查看用戶前一次登錄信息。-t days:查看距今n天內(nèi)登錄了系統(tǒng)的用戶的最近一次登錄信息,-u顯示登錄與登出的詳細信息

9、Linux 管道與I/O重定向

  • 命令行功能最強大的兩個功能:管道與I/O重定向

  • I/O重定向可將命令行的執(zhí)行的輸出或錯誤消息重定向至文件,方便當下保存或稍后分析

  • 輸入輸出流

    • 標準輸入
      • 0:鍵盤默認
      • 又稱 STDIN
    • 標準輸出
      • 1:終端默認
      • 又稱STDOUT
    • 標準錯誤
      • 2:終端默認
      • 又稱STDERR
  • 重定向運算符號

    • > :將STDOUT重定向到文件

      • 文件內(nèi)容會被覆蓋

      • 舉例:

          ls -Ra /etc > root/backup/config-file-lists
        
    • >> :將STDOUT重定向到文件

      • 文件內(nèi)容會被添加

      • 舉例:

          (date;who -l) >> /root/monitor/who-online
        
    • < :重定向STDIN

      • 將鍵盤輸入改由讀入文件提供

      • 舉例:

          mail -s "Warning" root < /root/mail/record/alert-notify
        

    Shell 輸入 / 輸出重定向:http://www.runoob.com/linux/linux-shell-io-redirections.html

  • 管道使用

    • 運算符管道

      • |:將一個命令的STDOUT發(fā)送到另一個命令的STDIN

      • 舉例:

          grep pattern /var/log/messages | mail -s "Issue notify" root
        
    • 命令行T管道

      • tee:將上一個命令的STDOUT通過T管道重定向到該文件,再發(fā)送到另一個命令的STDIN

      • 舉例:

          ifconfig eth0 | grep pattern | tee /root/interface-info | cut -f2 -d: | cut -f1 -d" "
        
      • 再舉例:
        使用tee的示意圖:ls -l的輸出被導向 tee,并且復(fù)制到檔案 file.txt 以及下一個命令 less。tee 的名稱來自于這個圖示,它看起來像是大寫的字母 T。

  • 比較

    • 標準的命令用法:

        grep root /etc/passwd
      
    • 重定向:

        grep root < /etc/passwd
      
    • 管道:

        cat /etc/passwd | grep root
      
    • 三種原理不一樣,但結(jié)果一樣

10、Linux 安裝與管理軟件

  • RPM:redhat package manager

    • redhat 提出
    • 將源碼先編程完RPM軟件包,類似于Windows中的setup文件
    • 安裝時,只需要解開軟件包,復(fù)制到適當?shù)刂?/li>
    • 容易管理
    • 方便更新、移除
  • RHEL 軟件的命名原則:A-B-C.D.E

    • A:軟件名

    • B:版本

    • C:發(fā)行次數(shù),RHEL習慣加上 el# 字樣,#代表RHELv#

    • D:搭配規(guī)格,有 noarch

    • E:后綴,.rpm 或者 .src.rpm

    • 例如:

      • gimp-2.6.9-4.el6_1.1.x86_64.rpm
      • zsh-4.3.10-4.1.el6.x86_64.rpm
      • apache-1.3.23-11.i386.rpm
  • RPM 軟件包相依性

    • 有些 RPM 軟件包不能單獨安裝,必須先安裝別的 RPM 軟件包才能安裝,稱之為 RPM軟件包相依性

    • 不是所有的都有相依性需求

    • rpm 命令安裝時,不檢查相依性問題

    • yum 命令安裝時,自動解決相依性問題

  • rpm 查詢

    rpm -qa :查詢所有

    rpm -q mysql :查詢軟件包是否安裝

    rpm -qi mysql :查詢軟件包信息

    rpm -ql mysql :查詢軟件包中的文件

    rpm -qf /etc/passwd :查詢該文件所屬的軟件包

  • rpm 安裝

    rpm -i RPM包全路徑 :安裝某個RPM包

    rpm -ivh RPM包全路徑 :加上提示信息和進度條

  • rpm 刪除

    rpm -e jdk :刪除 jdk 的RPM包

    如果其他軟件包依賴于 jdk ,則刪除時會報錯

  • rpm 升級

    rpm -U RPM包全路徑

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,546評論 6 533
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,570評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,505評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,017評論 1 313
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,786評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,219評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,287評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,438評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,971評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,796評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,995評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,540評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,230評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,918評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,697評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374

推薦閱讀更多精彩內(nèi)容