天天看點

Linux知識點總結第1章 Linux入門2章 Linux檔案與目錄結構第3章 VI/VIM編輯器第4章 網絡配置和系統管理操作第5章 常用基本指令第6章 軟體包管理

第1章 Linux入門

1.1 概述

1.1.1 作業系統的作用

作業系統是現代計算機系統中最基本和最重要的系統軟體;配置在計算機硬體上的第一層軟體,是對硬體系統的首次擴充。

主要作用是管理好硬體裝置,并為使用者和應用程式提供一個簡單的接口,以便于使用;而其它的諸如編譯程式、資料庫管理系統,以及大量的應用軟體,都直接依賴于作業系統的支援。

1.1.2 不同應用領域的主流作業系統

  1. 桌面作業系統

    A. Windows系列:使用者群體大

    B. MacOS:适用于開發人員

    C. Linux:應用軟體少

  2. 伺服器作業系統

    A. Linux:安全、穩定、免費;占用率高

    B. Windows Service:付費;占用率低

  3. 嵌入式作業系統

    Linux

  4. 移動裝置作業系統

    A. IOS

    B. Android(基于Linux)

1.1.3 虛拟機(Virtual Machine)

虛拟機指通過軟體模拟的具有完整硬體系統功能的、運作在一個完全隔離環境中的完整計算機系統;

虛拟系統通過生成現有作業系統的全新虛拟鏡像,具有真實作業系統完全一樣的功能;

進入虛拟系統後,所有操作都是在這個全新的獨立的虛拟系統裡面進行,可以獨立安裝運作軟體,儲存資料,擁有自己的獨立桌面,不會對真正的系統産生任何影響;

而且能夠在現有系統與虛拟鏡像之間靈活切換的一類作業系統。

1.1.4 Linux發行版

Linux發行版(也被叫做 GNU/Linux 發行版)通常包含了包括桌面環境、辦公套件、媒體播放器、資料庫等應用軟體

常見的發行版本如下:Ubuntu、Redhat、Fedora、openSUSE、Linux Mint、Debian、Manjaro、Mageia、CentOS、Arch

1.1.5 Linux的應用領域

  1. 伺服器領域

    A. Linux 在伺服器領域的應用是其重要分支

    B. Linux 免費、穩定、高效等特點在這裡得到了很好的展現;早期因為維護、運作等原因同樣受到了很大的限制

    C. 近些年來 Linux 伺服器市場得到了飛速的提升,尤其在一些高端領域尤為廣泛

    D. 此領域是傳統 Linux 應用最薄弱的環節;傳統 Linux 由于界面簡單、操作複雜、應用軟體少的缺點,一直被 Windows 所壓制

  2. 嵌入式領域

    A. 近些年來 Linux 在嵌入式領域的應用得到了飛速的提高

    B. Linux 運作穩定、對網絡的良好支援性、低成本,且可以根據需要進行軟體裁剪,核心最小可以達到幾百 KB 等特點,使其近些年來在嵌入式領域的應用得到非常大的提高

    C. 主要應用:機頂盒、數字電視、網絡電話、程控交換機、手機、PDA、等都是其應用領域,得到了Google、三星、摩托羅拉、NEC 等公司的大力推廣

  3. 個人桌面領域

    A. 此領域是傳統 Linux 應用最薄弱的環節

    B. 傳統 Linux 由于界面簡單、操作複雜、應用軟體少的缺點,一直被 Windows 所壓制

    C. 近些年來随着 Ubuntu、Fedora 等優秀桌面環境的興起,同時各大硬體廠商對其支援的加大,Linux 在個人桌面領域的占有率在逐漸的提高

1.2 Linux和Windows的差別

比較 Windows Linux
費用 收費且很貴 Linux免費或少許費用
軟體與支援 數量和品質的優勢,不過大部分為收費軟體;由微軟官方提供支援和服務 開源自由軟體,使用者可以修改定制和再釋出,由于基本免費沒有資金支援,部分軟體品質和體驗欠缺;有全球所有的Linux開發者和自由軟體社群提供支援
安全性 三天兩頭打更新檔安裝系統安全性更新,還是會中病毒木馬 要說Linux沒有安全問題,那當然是不可能的,這一點仁者見仁智者見智,相對來說肯定比Windows平台更加安全
使用習慣 普通使用者基本都是純圖形界面下操作使用,依靠滑鼠和鍵盤完成一切操作,使用者上手容易入門簡單 兼具圖形界面操作和完全的指令行操作,可以用鍵盤完成一切操作,新手入門較困難,需要一些學習和指導,一旦熟練以後效率極高
可定制型 封閉的,系統的可定制性很差 開源,可定制性很強
應用場景 桌面作業系統主要使用Windows 支撐百度、谷歌、淘寶等應用軟體和服務,是背景成千上萬的Linux伺服器主機,世界上大部分軟體和服務都運作Linux上的

2章 Linux檔案與目錄結構

2.1 Linux目錄結構

目錄結構 說明
/bin 是Binary的縮寫,這個目錄存放着最經常使用的指令
/sbin s就是Super User的意思,這裡存放的系統管理者使用的系統管理程式
/home 存放普通使用者的主目錄,在Linux中每個使用者都有自己的一個目錄,一般該目錄是以使用者的賬戶命名
/root 該目錄為系統管理者,也稱作超級權限者的使用者主目錄
/lib 系統開機所需要最基本的動态連接配接共享庫,其作用類似于Windows裡面的DLL檔案。幾乎所有的應用程式都需要用到這些共享庫
/etc 所有的系統管理所需要的配置檔案和子目錄
/usr 這是一個非常重要的目錄,使用者的很多應用程式和檔案都放在這個目錄下,類似于Windows下的program files目錄
/boot 這裡存放的是啟動Linux時使用的一些核心檔案,包括一些連接配接檔案以及鏡像檔案,自己的安裝别放這裡
/proc 這個目錄是一個虛拟目錄,它是系統記憶體的映射,我們可以通過直接通路這個目錄來擷取系統資訊
/srv Servic的縮寫,該目錄存放一些服務啟動之後需要提取的資料
/sys 這是Linux2.6核心的一個很大的變化。該目錄下安裝了2.6核心中新出現的一個檔案系統sysfs
/tmp 這個目錄是用來存放一些臨時檔案的
/dev 類似于Windows的裝置管理器,把所有的硬體用檔案的形式存儲
/media Linux系統會自動識别一些裝置,例如U盤、光驅等等,當識别後,Linux會把識别的裝置挂載到這個目錄下面
/mnt 系統提供該目錄是為了讓使用者臨時挂載别的檔案系統,我們可以将外部存儲挂載在/mnt/上,然後進入該目錄就可以檢視裡的内容了
/opt 這是給主機額外安裝軟體所擺放的目錄。比如你安裝一個MySQL資料則就可以放到這個目錄下。預設是空的
/var 這個目錄中存放着在不斷擴充着的東西,我們習慣将那些經常被修改的目錄放在這個目錄下。包括日志檔案
/selinux Selinux是一種安全自系統,它能控制程式隻通路特定檔案
/lost+found 這個目錄一般情況下空的,當系統非法關機後,這裡就存放了一些檔案

第3章 VI/VIM編輯器

3.1 VI/VIM是什麼

VI是Unix作業系統和類Unix作業系統中最通用的文本編輯器。

VIM編輯器是從VI發展出來的一個性能更強大的文本編輯器;

可以主動的以字型顔色辨識文法的正确性,友善程式設計;

VIM與VI編輯器完全相容。

3.2 一般模式

文法 功能描述
yy 複制光标目前一行
y數字y 複制一段(從第幾行到第幾行)
p 箭頭移動到目的行粘貼
u 撤銷上一步
dd 删除光标目前行
d數字d 删除光标(含)後多少行
x 删除一個字母,相當于del,向後删
X 删除一個字母,相當于Backspace,向前删
yw 複制一個詞
dw 删除一個詞
shift+^ 移動到行頭
shift+$ 移動到行尾
gg或者1+G 移動到頁頭
G 移動到頁尾
數字+G(先輸入數字,在按G) 移動到目标行

3.3 編輯模式

按鍵 功能
i 目前光标前
a 目前光标後
o 目前光标行的下一行
I 光标所在行最前
A 光标所在行最後
O 目前光标行的上一行

3.4 指令模式

指令 功能
:w 儲存
:q 退出
:! 強制執行
/ 要查找的詞 n 查找下一個,N 往上查找
? 要查找的詞 n是查找上一個,N是往下查找
:set nu 顯示行号
:set nonu 關閉行号
ZZ(shift+zz) 沒有修改檔案直接退出,如果修改了檔案儲存後退出

3.5 模式間轉換

Linux知識點總結第1章 Linux入門2章 Linux檔案與目錄結構第3章 VI/VIM編輯器第4章 網絡配置和系統管理操作第5章 常用基本指令第6章 軟體包管理

第4章 網絡配置和系統管理操作

4.1 檢視網絡IP和網關

A. 檢視虛拟網絡編輯器

B. 修改IP位址

C. 檢視網關

D. 檢視Windows環境中的VMnet8網絡配置

4.2 配置網絡IP位址

4.2.1 ifconfig配置網絡接口

ifconfig

:network interfaces configuring網絡接口配置

檢視點給錢網絡IP:

ifconfig

4.2.2 ping測試主機之間網絡連通性

測試目前伺服器是否可以連接配接百度:

ping www.baidu.com

4.2.3 修改IP位址

修改IP位址:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

之後進行檔案修改

ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.28.129        # IP位址
GATEWAY=192.168.28.2        # 網關
DNS1=114.114.114.114           # 域名解析器
DNS2=8.8.8.8
           

4.3 配置主機名

檢視目前伺服器主機名稱:

hostname

修改主機名稱:

vim /etc/sysconfig/network

4.4 關閉防火牆

4.4.1 Service背景服務管理

檢視網絡服務的狀态:

service network status

停止網絡服務:

service network stop

啟動網絡服務:

service network start

重新開機網絡服務:

service network restart

檢視系統中所有的背景服務:

service –status-all

4.4.2 chkconfig設定背景服務的自啟配置

關閉iptables服務的自啟動:

chkconfig iptables off (永久關)

開啟iptables服務的自啟動:

chkconfig iptables on

檢視服務開機啟動狀态:

chkconfig iptables –list

4.4.3 程序級别

  • A. 運作級别(runlevel)

開機 --> BIOS --> /boot --> init程序 --> 運作級别 --> 運作級對應的服務

檢視預設級别:vim /etc/inittab

  • B. Linux系統有7種運作級别:常用的是級别3和5
級别 描述
系統停機狀态,系統預設運作級别不能設為0,否則不能正常啟動
1 單使用者工作狀态,root權限,用于系統維護,禁止遠端登陸
2 多使用者狀(沒有NFS),不支援網絡
3 完全的多使用者狀态(有NFS),登陸後進入控制台指令行模式
4 系統未使用,保留
5 X11控制台,登陸後進入圖形GUI模式
6 系統正常關閉并重新開機,預設運作級别不能設為6,否則不能正常啟動

4.4.4 關閉防火牆

檢視防火牆狀态:

service iptables status

關閉防火牆:

service iptables stop 臨時關

4.4.5 關機重新開機指令

正确的關機流程:

sync --> shutdown --> reboot --> halt

sync:将資料由記憶體同步到硬碟中

halt:關閉系統;等同于shutdown -h now和poweroff

reboot:就是重新開機;等同于shutdown -r now

shutdown [選項] 時間

[選項]:

-h=halt關機 -r=reboot重新開機

時間:

now=立即關機 時間預設機關是分鐘

4.4.6 克隆虛拟機

  1. 關閉要被克隆的虛拟機
  2. 找到克隆選項
  3. 歡迎頁面
  4. 克隆虛拟機
  5. 設定建立完整克隆
  6. 設定克隆的虛拟機名稱和存儲位置
  7. 等待正在克隆
  8. 點選關閉
  9. 克隆後修改虛拟機的IP:

    vim /etc/udev/rules.d/70-persistent-net.rules

  10. 修改IP位址:vim /etc/sysconfig/network-scripts/ifcfg-eth0

    把複制的實體ip位址更新:

    HWADDR=… #MAC位址

    修改成想要的ip:

    IPADDR=… #IP位址

  11. 修改主機名稱
  12. 重新啟動伺服器

第5章 常用基本指令

5.1 幫助指令

5.1.1 man獲得幫助資訊

資訊 功能
NAME 指令的名稱和單行描述
SYNOPSIS 怎樣使用指令
DESCRIPTION 指令功能的深入讨論
EXAMPLES 怎樣使用指令的例子
SEE ALSO 相關主題(通常是手冊頁)

看ls指令的幫助資訊:

man ls

5.1.2 help獲得shell内置指令的幫助資訊

檢視cd指令的幫助資訊:

help cd

5.1.3 常用快捷鍵

常用快捷鍵 功能
ctrl + c 停止程序
ctrl+l 清屏;徹底清屏是:reset
ctrl + q 退出
善于用tab鍵 提示(更重要的是可以防止敲錯)
上下鍵 查找執行過的指令
ctrl +alt linux和Windows之間切換

5.2 檔案目錄類

5.2.1 pwd顯示目前工作目錄的絕對路徑

pwd

:print working directory列印工作目錄

顯示目前工作目錄的絕對路徑:

pwd

5.2.2 ls列出目錄的内容

基本文法:

ls [選項] [目錄或是檔案]

選項:

-a:全部的檔案,連同隐藏的一起列出來 -l:長資料串列出,包含檔案的屬性與權限等資料

每行列出的資訊依次是:

檔案類型與權限 連結數 檔案屬主 檔案屬組 檔案大小(byte) 建立或最近修改的時間 名字

5.2.3 cd切換目錄

cd

:change directory切換路徑

參數 功能
cd 絕對路徑 切換路徑
cd相對路徑 切換路徑
cd ~或者cd 回到自己的家目錄
cd - 回到上一次所在目錄
cd … 回到目前目錄的上一級目錄
cd -P 跳轉到實際實體路徑,而非快捷方式路徑

5.2.4 mkdir建立一個新的目錄

mkdir

:make directory建立目錄

建立一個目錄:

mkdir 要建立的目錄

建立一個多級目錄:

mkdir -p 要建立的多級目錄

5.2.5 rmdir删除一個空的目錄

rmdir

:remove directory移動目錄

删除一個空的檔案夾:

rmdir 要删除的空目錄

5.2.6 touch建立空檔案

建立空檔案:

touch 檔案名稱

5.2.7 cp複制檔案或目錄

基本文法:

cp [選項] source dest #複制sourc(源檔案)檔案到dest(目标檔案)

複制檔案:

cp 源檔案 目标檔案

遞歸複制整個檔案夾:

cp -r 源檔案 目标檔案

5.2.8 rm移除檔案或目錄

基本文法:

rm [選項] deleteFile

選項:

-r:遞歸删除目錄中所有内容 -f:強制執行删除操作,而不提示用于進行确認 -v:顯示指令的詳細執行過程

删除目錄中的内容:

rm 檔案

遞歸删除目錄中所有内容:

rm -rf 檔案

5.2.9 mv移動檔案與目錄或重命名

重命名:

mv oldFileName newFileName

移動檔案:

mv 移動前檔案路徑 移動後檔案路徑

5.2.10 cat檢視檔案内容

一般檢視比較小的檔案,一螢幕能顯示全的

檢視檔案内容并顯示行号:

cat -n 檔案

5.2.11 more檔案内容分屏檢視器

以全螢幕的方式按頁顯示文本檔案的内容

采用more檢視檔案:

more 檔案

操作 功能說明
空白鍵 (space) 代表向下翻一頁
Enter 代表向下翻『一行』
q 代表立刻離開 more ,不再顯示該檔案内容
Ctrl+F 向下滾動一屏
Ctrl+B 傳回上一屏
= 輸出目前行的行号
:f 輸出檔案名和目前行的行号

5.2.12 less分屏顯示檔案内容

分屏檢視檔案内容,和more功能類似,但是比more更加強大,支援各種顯示終端;less指令在顯示檔案内容時,并不是一次将整個檔案加載之後才顯示,而是根據顯示需要加載内容,對于顯示大型檔案具有較高的效率

采用less檢視檔案:

less 檔案

操作 功能說明
空白鍵 向下翻動一頁
[pagedown] 向下翻動一
[pageup] 向上翻動一頁
/字串 向下搜尋『字串』的功能;n:向下查找;N:向上查找
?字串 向上搜尋『字串』的功能;n:向上查找;N:向下查找
q 離開 less 這個程式

5.2.13 echo輸出内容到控制台

基本文法:

echo [選項] [輸出内容]

選項:

-e:支援反斜杠控制的字元轉義

輸出内容中:

\\:輸出\本身 \n:換行符 \t:tab鍵

5.2.14 head顯示檔案頭部内容

檢視檔案頭10行内容:

head 檔案

檢視檔案的頭n行:

head -n 數字 檔案

5.2.15 tail輸出檔案尾部内容

檢視檔案後10行内容:

tail 檔案

檢視檔案後n行内容:

tail -n 數字 檔案

實時追蹤該文檔的所有更新:

tail -f 檔案

5.2.16 >覆寫和>>追加

将ls檢視資訊寫入到檔案中:

ls “11” > 檔案

将ls檢視資訊追加到檔案中:

ls “11” >> 檔案

采用echo将hello單詞追加到檔案中:

echo hello >> 檔案

5.2.17 In軟連結

建立軟連結:

in -s 原檔案或目錄 軟連結名

删除軟連結:

rm -rf 軟連結名

進入軟連結實際實體路徑:

cd -P 軟連結名

5.2.18 history檢視已經執行過的曆史指令

檢視已經執行過的曆史指令:

history

5.3 時間日期類

Date [OPTION]… [+日期時間格式]

5.3.1 date顯示目前時間

顯示目前時間資訊:

date

顯示目前時間年月日時分秒:

date “+%Y年%m月%d日 %H:%M:%S”

5.3.2 date顯示非目前時間

顯示前一天:

date -d “1 days ago”

顯示明天時間:

date -d “-1 days ago”

5.3.3 date設定系統時間

設定系統目前時間:

date -s “2019-12-12 12:12:30”

5.3.4 cal檢視月曆

檢視目前月的月曆:

cal

檢視2019年的月曆:

cal 2019

5.4 使用者管理指令

5.4.1 useradd添加新使用者

添加一個使用者:

useradd 使用者名

5.4.2 passwd設定使用者密碼

設定使用者的密碼:

passwd 使用者名

5.4.3 id檢視使用者是否存在

檢視使用者是否存在:

id 使用者名

5.4.4 cat /etc/passwd檢視建立了哪些使用者

基本文法:

cat /etc/passwd

5.4.5 su切換使用者

su

:swith user切換使用者

su 使用者名稱

:切換使用者,隻能獲得使用者的執行權限,不能獲得環境變量

su – 使用者名稱

:切換到使用者并獲得該使用者的環境變量及執行權限

5.4.6 userdel删除使用者

删除使用者但儲存使用者主目錄:

userdel 使用者名

删除使用者和使用者主目錄,都删除:

userdel -r 使用者名

5.4.7 who檢視登陸使用者資訊

顯示自身使用者名稱:

whoami

顯示登陸使用者的使用者名:

who am i

5.4.8 sudo設定普通使用者具有root權限

  1. huachenyu使用者,并對其設定密碼

    eradd huachenyu

  2. 配置檔案

    vim /etc/sudoers

    找到91行,在root下面添加一行
    root       ALL=(ALL)        ALL
    huachenyu    ALL=(ALL)        NOPASSWD:ALL
               
    用普通使用者在/opt目錄下建立一個檔案夾:sudo mkdir 檔案

5.4.9 usermod修改使用者

将使用者加入到使用者組:

usermod -g root 使用者名

5.5 使用者組管理指令

使用者組的管理涉及使用者組的添加、删除和修改。組的增加、删除和修改實際上就是對/etc/group檔案的更新

5.5.1 groupadd新增組

添加一個組:

groupadd 組名

5.5.2 groupdel删除組

删除組:

groupdel 組名

5.5.3 groupmod修改組

修改組名:

groupmod -n 新組名 老組名

5.5.4 cat /etc/group檢視建立了哪些組

基本操作:

cat /etc/group

5.6 檔案權限類

5.6.1 檔案屬性

A. 左到右10個字元表示

Linux知識點總結第1章 Linux入門2章 Linux檔案與目錄結構第3章 VI/VIM編輯器第4章 網絡配置和系統管理操作第5章 常用基本指令第6章 軟體包管理

如果沒有權限,就會出現減号[ - ]而已。從左至右用0-9這些數字來表示:

  • 0首位表示類型

    在Linux中第一個字元代表這個檔案是目錄、檔案或連結檔案等等

    [-] 代表檔案 代表目錄 連結文檔(link file);

  • 第1-3位确定屬主(該檔案的所有者)擁有該檔案的權限。—User
  • 第4-6位确定屬組(所有者的同組使用者)擁有該檔案的權限,—Group
  • 第7-9位确定其他使用者擁有該檔案的權限 —Other

B. 作用檔案和目錄的不同解釋

  • 作用到檔案:

    [ r ]代表可讀(read): 可以讀取,檢視

    [ w ]代表可寫(write): 可以修改,但是不代表可以删除該檔案,删除一個檔案的前提條件是對該檔案所在的目錄有寫權限,才能删除該檔案.

    [ x ]代表可執行(execute):可以被系統執行

  • 作用到目錄:

    [ r ]代表可讀(read): 可以讀取,ls檢視目錄内容

    [ w ]代表可寫(write): 可以修改,目錄内建立+删除+重命名目錄

    [ x ]代表可執行(execute):可以進入該目錄

C. 檔案基本屬性介紹

Linux知識點總結第1章 Linux入門2章 Linux檔案與目錄結構第3章 VI/VIM編輯器第4章 網絡配置和系統管理操作第5章 常用基本指令第6章 軟體包管理

如果檢視的是檔案:連結數指的是硬連結個數。建硬連結方法:ln [原檔案] [目标檔案]

如果檢視的是檔案夾:連結數指的是子檔案夾個數

5.6.2 chmod改變權限

基本文法:u:所有者 g:所有組 o:其他人 a:所有人(u、g、o的總和)

Linux知識點總結第1章 Linux入門2章 Linux檔案與目錄結構第3章 VI/VIM編輯器第4章 網絡配置和系統管理操作第5章 常用基本指令第6章 軟體包管理

第一種方式變更權限

chmod [{ugoa}{+-=}{rwx}] 檔案或目錄

第二種方式變更權限

hmod [mode=421 ] [檔案或目錄]

5.6.3 chown改變所有者

基本文法:

chown [選項] [最終使用者] [檔案或目錄]

5.6.4 chgrp改變所屬組

基本文法:

chgrp [最終使用者組] [檔案或目錄]

5.7 搜尋查找類

5.7.1 find查找檔案或者目錄

基本文法:

find [搜尋範圍] [選項]

選項 功能
-name<查詢方式> 按照指定的檔案名查找模式查找檔案
-user<使用者名> 查找屬于指定使用者名所有檔案
-size<檔案大小> 按照指定的檔案大小查找檔案

5.7.2 grep過濾查找及“|”管道符

查找某檔案在第幾行:

ls | grep -n 檔案

5.7.3 which查找指令

查找指令:

which 指令

5.8 壓縮和解壓類

5.8.1 gzip/gunzip壓縮

隻能壓縮檔案不能壓縮目錄;不保留原來的檔案

gzip壓縮:

gzip 檔案

gunzip解壓縮檔案:

gunzip 檔案.gz

5.8.2 zip/unzip壓縮

zip壓縮指令在Windows/Linux都通用,可以壓縮目錄且保留源檔案

壓縮1.txt和2.txt:

解壓:

unzip 壓縮檔案.zip

解壓到指定目錄中:

unzip 壓縮檔案.zip -d /opt

5.8.3 tar打包

選項 功能
-z 打包同時壓縮
-c 産生.tar打封包件
-v 顯示詳細資訊
-f 指定壓縮後的檔案名
-x 解包.tar檔案

縮多個檔案:

tar -zcvf 壓縮檔案

壓縮目錄:

tar -zcvf 壓縮檔案 目錄

解壓到目前目錄:

tar -zcvf 壓縮檔案

解壓到指定目錄:

tar -zcvf 壓縮檔案 -c /opt

5.9 磁盤分區類

5.9.1 df檢視磁盤空間使用情況

檢視磁盤使用情況:

df -h

5.9.2 du檢視指定目錄的磁盤占用情況

基本文法:

du -h /目錄

(查詢指定目錄的磁盤暫用情況,預設為目前目錄)

選項 介紹
-s 指定目錄占用大小彙總
-h 帶計量機關
-a 含檔案
-c 列出明細的同時,增加彙總值
–max-depth=1 子目錄深度

查詢 /opt 目錄的磁盤占用情況,深度為1:du -ach --max-depth=1 /opt

5.9.3 磁盤情況-工作實用指令

統計/root檔案夾下的檔案的個數:

ls -l /root | grep "^-" | wc -l

統計/root檔案夾下的目錄的個數:

ls -l /root | grep "^d" | wc -l

統計/root檔案夾下檔案的個數,包括子檔案夾裡的:

ls -lR /root | grep "^-" | wc -l

統計檔案夾下目錄的個數,包括子檔案夾裡的:

ls -lR /root | grep "^d" | wc -l

以樹狀顯示目錄結構:

yum install tree

5.9.4 fdisk 檢視分區

分區方式 說明
mbr分區 最多支援四個主分區;系統隻能安裝再主分區;擴充分區要占一個主分區;MBR最大隻支援2TB,但是擁有較好的相容性
gpt 分區 支援無限個主分區(但系統可能限制,如windowns下最多128個分區);最大支援18EB的大容量(EB=1024PB,PB=1024TB);Windowns7 64位以後才支援gpt分區

檢視磁盤分區詳情:

fdisk -l

(-l:顯示所有硬碟的分區清單)(該指令必須在root使用者下才能使用)

Linux分區 說明
Device 分區序列
Boot 引導
Start 從X磁柱開始
End 到Y磁柱結束
Blocks 容量
Id 分區類型ID
System 分區類型

5.9.5 mount/umount 挂載/解除安裝

A. 挂載前必須要有CD光牒或者已經連接配接鏡像檔案

挂載裝置:

mount [-t vfstype] [-o options] device dir

解除安裝裝置:

umount 裝置檔案名或挂載點

  1. -t vfstype

    指定檔案系統的類型,通常不必指定。mount 會自動選擇正确的類型。常用類型有:
    CD光牒或CD光牒鏡像:iso9660
      DOS fat16檔案系統:msdos
      Windows 9x
      fat32檔案系統:vfat
      Windows NT ntfs檔案系統:ntfs
      Mount Windows檔案網絡共享:smbfs
      UNIX(LINUX) 檔案網絡共享:nfs
               
  2. -o options

    主要用來描述裝置或檔案的挂接方式。常用的參數有:
    loop:用來把一個檔案當成硬碟分區挂接上系統
      ro:采用隻讀方式挂接裝置
      rw:采用讀寫方式挂接裝置
      iocharset:指定通路檔案系統所用字元集
               
  3. device

    要挂接(mount)的裝置
  4. dir

    A. 裝置在系統上的挂接點(mount point)

    B. 挂載CD光牒鏡像檔案

    建立挂載點:

    mkdir /mnt/cdrom/

    裝置/dev/cdrom挂載到 挂載點/mnt/cdrom中:

    mount -t iso9660 /dev/cdrom /mnt/cdrom/

    解除安裝CD光牒鏡像檔案:

    umount /mnt/cdrom

    設定開機自動挂載:

    vi /etc/fstab

    添加紅框中内容,儲存退出
    Linux知識點總結第1章 Linux入門2章 Linux檔案與目錄結構第3章 VI/VIM編輯器第4章 網絡配置和系統管理操作第5章 常用基本指令第6章 軟體包管理

    C. 添加挂載硬碟

    添加磁盤,添加完成後要重新開機電腦

    使用:

    lsblk -l

    分區:

    fdisk /dev/sdb

    格式化分區:

    mkfs -t ext4 /dev/sdb1

    檢視格式化結果:

    lsblk -f

    先建立一個目錄/root/newdisk,挂載

    mount /dev/sdb1 /root/newdisk

    mkdir newdisk

    mount /dev/sdb1 newdisk/

    cd newdisk/

5.10 程序線程類

5.10.1 ps檢視目前系統程序狀态

檢視系統中所有程序:

ps aux | grep xxx

檢視子父程序之間的關系:

ps -ef | grep xxx

如果想檢視程序的CPU占用率和記憶體占用率,可以使用aux;

如果想檢視程序的父程序ID可以使用ef;

選項 功能
-a 選擇所有程序
-u 顯示所有使用者的所有程序
-x 顯示沒有終端的程序

A. ps aux顯示資訊說明

顯示資訊 說明
USER 該程序是由哪個使用者産生的
PID 程序的ID号
%CPU 該程序占用CPU資源的百分比,占用越高,程序越耗費資源
%MEM 該程序占用實體記憶體的百分比,占用越高,程序越耗費資源
VSZ 該程序占用虛拟記憶體的大小,機關KB
RSS 該程序占用實際實體記憶體的大小,機關KB
TTY 該程序是在哪個終端中運作的;其中tty1-tty7代表本地控制台終端,tty1-tty6是本地的字元界面終端,tty7是圖形終端,pts/0-255代表虛拟終端
STAT 程序狀态。常見的狀态有:R:運作、S:睡眠、T:停止狀态、s:包含子程序、+:位于背景
START 該程序的啟動時間
TIME 該程序占用CPU的運算時間,注意不是系統時間
COMMAND 産生此程序的指令名

B. ps -ef顯示資訊說明

顯示資訊 說明
UID 使用者ID
PID 程序ID
PPID 父程序ID
C CPU用于計算執行優先級的因子;數值越大,表明程序是CPU密集型運算,執行優先級會降低;數值越小,表明程序是I/O密集型運算,執行優先級會提高
STIME 程序啟動的時間
TTY 完整的終端名稱
TIME CPU時間
CMD 啟動程序所用的指令和參數

5.10.2 kill終止程序

殺死浏覽器程序:

kill -9 5102

(-9:表示強迫程序立即停止)

通過程序名稱殺死程序:

killall firefox

5.10.3 pstree檢視程序樹

顯示程序pid:

pstree -p

顯示程序所屬使用者:

pstree -u

5.10.4 top檢視系統健康狀态

top [選項]

選項 功能
-d 秒數 指定top指令每隔幾秒更新。預設是3秒在top指令的互動模式當中可以執行的指令
-i 使top不顯示任何閑置或者僵死程序
-p 通過指定監控程序ID來僅僅監控某個程序的狀态

A. 操作介紹

操作 功能
P 以CPU使用率排序,預設就是此項
M 以記憶體的使用率排序
N 以PID排序
q 退出top

B. 查詢結果字段解釋

第一行資訊為任務隊列資訊

内容 說明
12:26:46 系統目前時間
up 1 day, 13:32 系統的運作時間,本機已經運作1天13小時32分鐘
2 users 目前登入了兩個使用者
Load average:0.00, 0.00, 0.00 系統在之前1分鐘,5分鐘,15分鐘的平均負載;一般認為小于1時,負載較小;如果大于1,系統已經超出負荷

第二行為程序資訊

内容 說明
Tasks: 95 total 系統中的程序總數
1 running 正在運作的程序數
94 sleeping 睡眠的程序
0 stopped 正在停止的程序
0 zombie 僵屍程序。如果不是0,需要手工檢查僵屍程序

第三行為CPU資訊

内容 說明
Cpu(s):0.1%us 使用者模式占用的CPU百分比
0.1%sy 系統模式占用的CPU百分比
0.0%ni 改變過優先級的使用者程序占用的CPU百分比
99.7%id 空閑CPU的CPU百分比
0.1%wa 等待輸入/輸出的程序的占用CPU百分比
0.0%hi 硬中斷請求服務占用的CPU百分比
0.1%si 軟中斷請求服務占用的CPU百分比
0.0%st St(Steal time)虛拟時間百分比。就是當有虛拟機時,虛拟CPU等待實際CPU的時間百分比

第四行為實體記憶體資訊

内容 說明
Mem: 625344k total 實體記憶體的總量,機關KB
571504k used 已經使用的實體記憶體數量
53840k free 空閑的實體記憶體數量,我們使用的是虛拟機,總共隻配置設定了628MB記憶體,是以隻有53MB空閑記憶體
65800k buffers 作為緩沖的記憶體數量

第五行為交換分區(swap)資訊

内容 說明
Swap:524280k total 交換分區(虛拟記憶體)的總大小
0k used 已經使用的互動分區的大小
524280k free 空閑交換分區的大小
409280k cached 作為緩存的互動分區的大小

5.10.5 netstat顯示網絡統計資訊和端口占用情況

檢視該程序網絡資訊:

netstat -anp | grep 程序号

檢視網絡端口号占用情況:

netstat -nlp | grep 端口号

選項 功能
-n 拒絕顯示别名,能顯示數字的全部轉化成數字
-l 僅列出有在listen(監聽)的服務狀态
-p 表示顯示哪個程序在調用

5.11 crond 系統定時任務

5.11.1 crond 服務管理

重新啟動crond服務:

service crond restart

5.11.2 crontab 定時任務設定

crontab [選項]

選項 功能
-e 編輯crontab定時任務
-l 查詢crontab任務
-r 删除目前使用者所有的crontab任務

A. 進入crontab編輯界面,會打開vim編輯你的工作

[* * * * * ]

執行的任務

項目 含義 範圍
第一個“*” 一小時當中的第幾分鐘 0-59
第二個“*” 一天當中的第幾小時 0-23
第三個“*” 一個月當中的第幾天 1-31
第四個“*” 一年當中的第幾月 1-12
第五個“*” 一周當中的星期幾 0-7(0和7都代表星期日)

B. 特殊符号

特殊符号 含義
* 代表任何時間;如第一個“*”就代表一小時中每分鐘都執行一次的意思
代表不連續的時間;如“0 8,12,16 * * *指令”,代表在每天的8點0分,12點0分,16點0分都執行一次指令
- 代表連續的時間範圍;如“0 5 * * 1-6指令”,代表在周一到周六淩晨5點0分執行指令
*/n 代表每隔多久執行一次;如“*/10 * * * *指令”,代表每隔10分鐘就執行一遍指令

C. 特定時間執行指令

時間 含義
45 22 * * * 指令 在22點45分執行指令
0 17 * * 1 指令 每周1 的17點0分執行指令
0 5 1,15 * * 指令 每月1号和15号的淩晨5點0分執行指令
40 4 * * 1-5 指令 每周一到周五的淩晨4點40分執行指令
*/10 4 * * * 指令 每天的淩晨4點,每隔10分鐘執行一次指令
0 0 1,15 * 1 指令 每月1号和15号,每周1的0點0分都會執行指令。注意:星期幾和幾号最好不要同時出現,因為他們定義的都是天。非常容易讓管理者混亂

第6章 軟體包管理

6.1 RPM

6.1.1 RPM概述

RPM(RedHat Package Manager),RedHat軟體包管理工具,類似windows裡面的setup.exe,是Linux這系列作業系統裡面的打包安裝工具,它雖然是RedHat的标志,但理念是通用的。

RPM包的名稱格式:Apache-1.3.23-11.i386.rpm

Apache:軟體名稱

1.3.23-11:軟體的版本号,主版本和此版本

i386:軟體所運作的硬體平台,Intel 32位微處理器的統稱

rpm:檔案擴充名,代表RPM包

6.1.2 RPM查詢指令(rpm -qa)

查詢firefox軟體安裝情況:

rpm -qa |grep firefox

由于軟體包比較多,一般都會采取過濾。

rpm -qa | grep rpm軟體包

6.1.3 RPM解除安裝指令(rpm -e)

解除安裝軟體包:

rpm -e RPM

解除安裝軟體包:

rpm -e –nodeps

解除安裝軟體時,不檢查依賴。這樣的話,那些使用該軟體包的軟體在此之後可能就不能正常工作了

6.1.4 RPM安裝指令(rpm -ivh)

rpm -ivh RPM包全名

選項 說明
-i -i=install,安裝
-v -v=verbose,顯示詳細資訊
-h -h=hash,進度條
–nodeps –nodeps,不檢測依賴進度

6.2 YUM倉庫配置

6.2.1 YUM概述

YUM(全稱為Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器。

基于RPM包管理,能夠從指定的伺服器自動下載下傳RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載下傳、安裝。

6.2.2 YUM的常用指令

基本文法:

yum [選項] [參數]

選項 功能
-y 對所有提問都回答“yes”

參數說明

參數 功能
install 安裝rpm軟體包
update 更新rpm軟體包
check-update 檢查是否有可用的更新rpm軟體包
remove 删除指定的rpm軟體包
list 顯示軟體包資訊
clean 清理yum過期的緩存
deplist 顯示yum軟體包的所有依賴關系

6.2.3 修改網絡YUM源

預設的系統YUM源,需要連接配接國外apache網站,網速比較慢,可以修改關聯的網絡YUM源為國内鏡像的網站

  1. 前期檔案準備

    A. 前提條件linux系統必須可以聯網

    B. 在Linux環境中通路該網絡位址:http://mirrors.163.com/.help/centos.html,在使用說明中點選CentOS6,再點選儲存

    C. 檢視檔案儲存的位置

    D. 在打開的終端中輸入如下指令,就可以找到檔案的儲存位置

  2. 替換本地yum檔案

    A. 把下載下傳的檔案移動到/etc/yum.repos.d/目錄:

    mv CentOS6-Base-163.repo /etc/yum.repos.d/

    B. 進入到/etc/yum.repos.d/目錄:

    pwd /etc/yum.repos.d

    C. 用CentOS6-Base-163.repo替換CentOS-Base.repo:

    mv CentOS6-Base-163.repo CentOS-Base.repo

  3. 安裝指令

    A.

    yum clean all

    B. 把伺服器的包資訊下載下傳到本地電腦緩存起來:

    yum makecache

  4. 測試

    A.

    yum list | grep firefox

    B.

    yum -y install firefox.x86_64

繼續閱讀