Linux總結
MySQL常用命令超詳細總結,初學者必看:MySQL的使用,看這篇就夠了
文章目錄
- Linux總結
- 第一章 Linux的目錄結構
- 1.1 基本介紹
- 1.2 目錄結構的具體介紹
- 1.3 Linux目錄總結
- 第二章 Vi和Vim編輯器
- 2.1 Vi和Vim的基本介紹
- 2.2 Vi和Vim三種常見模式
- 2.3 快速入門案例
- 2.4 Vim模式下的常用指令
- 第三章 開關機、重啟、注銷
- 3.1 開關機、重啟
- 3.2 用戶登錄和注銷
- 第四章 用戶管理
- 4.1 基本介紹
- 4.2 添加用戶
- 4.3 指定或修改用戶的密碼
- 4.4 洗掉用戶
- 4.5 查詢用戶
- 4.6 切換用戶
- 4.7 用戶組
- 第五章 實用指令
- 5.1 指令的運行級別
- 5.2 修改運行級別的指令
- 5.3 修改開機后的默認運行級別
- 5.4 幫助指令
- 5.5 檔案目錄類
- 5.6 時間日期類
- 5.7 搜索查找類
- 5.8 壓縮和解壓類
- 5.9 其他指令及注意事項
- 第六章 組管理和權限管理
- 6.1 Linux組的基本介紹
- 6.2 檔案/目錄所有者
- 6.3 檔案/目錄所在組
- 6.4 其他組
- 6.5 權限的基本介紹
- 6.6 rwx權限詳解
- 6.7 修改權限
- 第七章 任務調度
- 7.1 概述
- 7.2 快速入門
- 第八章 磁盤磁區
- 8.1 Linux磁區程序
- 8.2 磁區
- 8.3 格式化
- 8.4 磁區設備檔案名
- 8.5 掛載
- 8.6 查看系統的磁區情況
- 8.7 增加新硬碟
- 8.8 磁盤情況查詢
- 8.9 磁盤情況實用指令
- 第九章 網路配置
- 9.1 Linux網路配置原理圖
- 9.2 Linux網路環境配置
- 第十章 行程管理
- 10.1 基本介紹
- 10.2 顯示系統中運行的行程
- 10.3 終止行程
- 10.4 查看行程樹
- 10.5 服務管理
- 10.6 動態監控行程
- 10.7 監控網路狀態
- 第十一章 RPM與YUM
- 11.1 RPM
- 11.2 YUM
第一章 Linux的目錄結構
1.1 基本介紹
Linux的檔案系統采用的是層級式的樹狀目錄結構,在此結構中的最上層目錄是根目錄”/”,然后在此目錄下創建其他的目錄,如圖所示:

1.2 目錄結構的具體介紹

1.3 Linux目錄總結
- Linux的目錄中有且只有一個根目錄
- Linux的各個目錄是規劃好的,不要亂放檔案
- Linux是以檔案的形式來管理系統,故Linux系統中一切皆為檔案
第二章 Vi和Vim編輯器
2.1 Vi和Vim的基本介紹
- Vi文本編輯器是所有Linux系統都會內置的
- Vim具有程式編輯的能力,可以看作是Vi的增強版本,可以自主的以字體顏色識別語法的正確性, 還具有代碼補全、編譯和錯誤跳轉等功能,在編程中被廣泛使用
2.2 Vi和Vim三種常見模式
-
一般模式
用vim 檔案名指令(此檔案有則打開,無則創建)即可進入一般模式(這是默認的模式),在此模式中輸入的字符不顯示,都認為是指令 -
插入模式(編輯模式)
在一般模式下按i(即insert)進入插入模式,在此模式中輸入的字符都顯示,認為是文本 -
命令列模式
在一般模式下按”:”或”/”進入命令列模式,在此模式中輸入的字符在最后一行顯示,按回車后確認指令,命令列模式下常用的指令:
①:wq表示保存
②:q!表示強制退出
③:q表示退出,若對檔案有修改會有提示 -
三種模式的轉換

2.3 快速入門案例
使用vim撰寫一個Hello.java程式并保存

2.4 Vim模式下的常用指令
一般模式下:
yy:拷貝當前行,5yy表示拷貝當前行向下的5行(包括當前行)p:粘貼dd:洗掉當前行,5dd表示洗掉當前行向下的5行(包括當前行)G:移動到檔案的末行,gg:移動到檔案的首行u:撤銷Ctrl + r:重做shift + g:跳轉到指定行,輸入20后shift + g:跳轉到第20行
命令列模式下:
/關鍵字:查找關鍵字,回車確認后再按n可跳轉到下一個搜索結果:set nu、:set nonu:設定、取消行號
第三章 開關機、重啟、注銷
3.1 開關機、重啟
- 基本介紹
①
shutdown:
shutdown -h now:立即關機
shutdown -h x:x分鐘后關機
shutdown -r now:立即重啟
shutdown -r x:x分鐘后重啟
②halt:關機
③reboot:重啟
④sync:把記憶體的資料同步到磁盤
- 注意細節
關機或重啟前都應該先執行sync,防止資料的丟失
3.2 用戶登錄和注銷
- 基本介紹
(1) 登陸時應該盡量少用root賬戶登錄,因為它是系統管理員,權限最高,為避免操作失誤,可以使用普通用戶登錄,需要時再通過”su - root”命令切換成系統管理員
(2) 在提示符下輸入logout即可注銷用戶

- 使用細節
logout注銷指令在圖形運行級別無效,在運行級別3下有效
第四章 用戶管理
4.1 基本介紹
- Linux系統是一個多用戶多任務的作業系統,任何一個要使用系統資源的用戶都必須先向系統管理員申請一個賬號,以這個賬號的身份進入系統
- Linux的用戶至少要屬于一個組

4.2 添加用戶
- 基本語法
useradd [選項] 用戶名
- 實際案例
添加一個用戶xm,若沒有指明xm屬于哪個組,則自動的創建一個與xm同名的組,并讓xm屬于新創建的這個組:

- 細節說明
(1) 當創建用戶成功之后,會自動的創建和用戶同名的家目錄(home檔案夾下創建xm檔案夾)
(2) 可以使用useradd -d 指定目錄 新用戶,給創建的新用戶指定家目錄:

注意:Person目錄之前必須不存在,指令執行后會在home檔案夾下創建Person檔案夾
4.3 指定或修改用戶的密碼
- 基本語法
passwd 用戶名 (創建用戶之后應當立即為此用戶設定密碼)
- 實際案例
給Jaychou指定密碼:

4.4 洗掉用戶
- 基本語法
userdel 用戶名
- 實際案例
① 洗掉用戶xm,但保留家目錄:
② 洗掉用戶xq及家目錄:
- 細節說明
洗掉用戶時一般不洗掉家目錄,此目錄方便以后使用
4.5 查詢用戶
- 基本語法
id 用戶名
-
實際案例
查詢root用戶的資訊:

-
細節說明
當用戶不存在時,回傳”無此用戶”
4.6 切換用戶
- 基本語法
su - 要切換的用戶名
注意:- 兩邊都有空格
- 實際案例
從root用戶切換到Jaychou用戶,再切換回root用戶:

- 細節說明
(1) 從權限高的用戶切換到權限低的用戶,不需要輸入密碼,反之需要密碼:

(2) 回傳到原來的用戶,使用exit指令
4.7 用戶組
-
介紹
用戶屬于組,系統可以對屬于同一個組的用戶進行統一的管理 -
增加組
groupadd 組名

- 洗掉組
groupdel 組名

- 增加用戶時指定所屬組
useradd -g 組名 用戶名

- 修改用戶所屬組
usermod -g 組名 用戶名 (同樣使用-d 目錄名可以改變用戶的家目錄)

- 用戶和組的相關檔案
(1) /etc/passwd檔案
用戶的組態檔,記錄用戶的各種資訊:

每行含義:用戶名:密碼:用戶id:組id::家目錄:shell
(2) /etc/shadow檔案
密碼的組態檔,記錄密碼的資訊:

(3) /etc/group檔案
組的組態檔,記錄組的資訊:

第五章 實用指令
5.1 指令的運行級別

5.2 修改運行級別的指令
基本語法:init [012356]
5.3 修改開機后的默認運行級別
- 輸入指令
vim /etc/inittab打開檔案:

-
在最后一行找到id:5:initdefault: 修改默認級別(此時的默認級別是5):

-
輸入
reboot指令,重啟系統之后變為運行級別3
5.4 幫助指令
-
介紹
當對某個指令不熟悉時,可以使用Linux提供的幫助指令來了解這個指令的用法 -
基本語法
(1) man 指令:獲得幫助資訊

(2) help 指令:獲得shell內置命令的幫助資訊

5.5 檔案目錄類
- pwd指令
基本語法:pwd
功能描述:顯示當前作業目錄的絕對路徑

表示root用戶的家目錄是/root
- ls指令
基本語法:ls [選項] [目錄或檔案] (不加目錄或檔案代表顯示當前作業目錄)
常用選項:
(1) -l:以串列的方式顯示資訊
(2) -a:顯示隱藏的檔案
(3) -al:以串列的形式顯示包含隱藏的檔案或目錄


- cd指令
基本語法:cd [引數]
功能描述:切換到指定目錄
注意事項:
(1) 絕對路徑表示從根目錄”/”開始定位
(2) 相對路徑表示從當前作業目錄開始定位
(3) 相對路徑中…/代表回到上一級目錄
(4) cd ~ / cd回到自己的家目錄(~之前有空格)
(5) cd .. 回到當前目錄的上一級目錄(…之前有空格)
應用實體:
(1) 使用絕對路徑切換到/home目錄:

(2) 使用相對路徑切換到/root目錄:

- mkdir指令
基本語法:mkdir [選項] 要創建的目錄
功能描述:mkdir指令用于創建目錄(只可創建檔案夾,無法創建檔案)
常用選項:-p代表創建多級目錄(一次可創建多個目錄)
應用實體:
(1) 創建一個目錄/home/Directory1:

(2) 創建多級目錄/home/Directory2/animal:

- rmdir指令
基本語法:rmdir 要洗掉的空目錄
功能描述:rmdir指令用于洗掉目錄(只可洗掉檔案夾,無法洗掉檔案)
注意事項:
(1) rmdir指令洗掉的是空目錄,若目錄下有內容則無法洗掉
(2) rm -rf 要洗掉的目錄 指令洗掉非空目錄

- touch指令
基本語法:touch 檔案名
功能描述:
(1) touch指令用于創建空檔案,相當于widows右鍵新建檔案
(2) touch指令可以一次創建多個空檔案,使用空格隔開
應用實體:在/home目錄下創建兩個空檔案hello1.txt、hello2.txt:

- cp指令
基本語法:cp [選項] 被拷貝的檔案 拷貝目的地
功能描述:cp指令用于拷貝檔案到指定目錄
注意事項:
(1) -r選項可以將整個檔案夾拷貝到指定目錄(包括檔案夾下的所有檔案)
(2) \cp指令復制時可以強制覆寫已有的同名檔案,不會提示
應用實體:
(1) 將/home/hello1.txt拷貝到/home/Directory1目錄下(拷貝單個檔案):

(2) 將/home/Directory1檔案夾拷貝到/home/Person目錄下(拷貝整個檔案夾):

(3) 強制覆寫:

- rm指令
基本語法:rm [選項] 要洗掉的檔案或目錄
功能描述:rm指令用于洗掉檔案或檔案夾
注意事項:
(1) -r選項表示洗掉檔案夾(包括檔案夾下的所有檔案)
(2) -f選項表示強制洗掉不提示
(3) -rf選項亦表示強制洗掉不提示
(4) 不要使用rm -rf /* 指令,/*表示根目錄下所有檔案,此操作會將所有資料洗掉
應用實體:
(1) 將/home/hello1.txt檔案洗掉:

(2) 將/home/hello2.txt檔案洗掉:

(3) 將/home/Directory1檔案夾洗掉:

- mv指令
基本語法:mv 檔案或目錄 檔案或目錄
功能描述:

使用實體:
(1) 將/home目錄下的Tom.txt重命名為Jerry.txt:

(2) 將/home目錄下的Jerry.txt檔案移動到/home/Person目錄下:

(3) 將/home目錄下的Tom檔案夾重命名為Jerry:

- cat指令
基本語法:cat [選項] 檔案
功能描述:cat指令以只讀的方式查看檔案內容
注意事項:
(1) -n選項表示顯示行號
(2) cat指令只可以瀏覽檔案,不能修改檔案
(3) 為了瀏覽方便常使用 cat 檔案 | more 指令分頁瀏覽,按空格鍵進入下一頁
應用實體:打開/home/Person/Tom.txt檔案,并顯示行號:

- more指令
基本語法:more 檔案
功能描述:more指令是基于vi編輯器的文本過濾器,以全螢屏方式按頁顯示文本檔案的內容
應用實體:使用more指令查看/home/Person/Tom.txt檔案:

操作說明:

- less指令
基本語法:less 檔案
功能描述:
less指令用來分屏查看檔案內容,其功能與more指令類似,但less指令顯示檔案內 容時,并不是一次將整個檔案加載之后才顯示,而是根據需要加載內容,效率較高
操作說明:

- 輸出重定向指令和追加指令
功能描述:>輸出重定向指令會將原來的內容覆寫
>>追加指令不會覆寫原來檔案的內容,而是追加到檔案的尾部
基本語法:
(1) ls -l > 檔案 將ls -l會顯示出的串列的內容覆寫寫入到指定檔案
(2) ls -l >> 檔案 將ls -l會顯示出的串列的內容追加寫入到指定檔案的尾部
注意:
①是將串列的內容以文本形式寫入到指定檔案,不是寫入串列中的檔案本身
②指定檔案若不存在,則創建此檔案
(3) cat 檔案1 > 檔案2 將檔案1的內容覆寫寫入到指定檔案(>>代表追加到尾部)
(4) echo “文本” > 檔案 將雙引號中的內容覆寫寫入到指定檔案(>>代表追加到尾部)
- echo指令
基本語法:echo [選項] 輸出內容
功能描述:echo指令將內容輸出到終端顯示
應用實體:
(1) 使用echo指令輸出環境變數:

(2) 使用echo指令輸出”Hello”:

- head指令
基本語法:head [選項] 檔案
功能描述:head指令用于顯示檔案的開頭部分,默認顯示檔案的前10行內容
常用選項:-n x表示顯示檔案的前x行內容
應用實體:查看/home/Person/Jerry.txt檔案的前5行:

- tail指令
基本語法:tail [選項] 檔案
功能描述:tail指令用于顯示檔案的末尾部分,默認顯示檔案的后10行內容
常用選項:
(1) -n x表示顯示檔案的后x行內容
(2) -f表示實時追蹤檔案的更新,一旦檔案內容有更新,則顯示的內容同步變化
應用實體:
(1) 查看/home/Person/Jerry.txt檔案的后5行:

(2) 實時監控/home/Person/Tom.txt檔案,并將更新同步顯示:

- ln指令
基本語法:ln -s 被鏈接的檔案或目錄 鏈接名
功能描述:ln指令類似windows里的快捷方式,給檔案或目錄指定快捷方式(鏈接)
應用實體:
(1) 在/home目錄下創建一個鏈接linktoroot,鏈接到/root目錄:

(2) 洗掉鏈接linktoroot:

- history指令
基本語法:history
功能描述:顯示系統所有執行過的歷史指令
注意事項:
(1) !xx 指令可以執行歷史編號為xx的指令(xx前沒有空格)
(2) history xx 指令可以查看最近使用過的xx條指令
應用實體:
(1) 顯示所有執行過的歷史指令:

(2) 執行編號為12的指令:

5.6 時間日期類
- date指令
基本語法:(1)date(功能:顯示當前時間(年月日時分秒))
(2)date “+%Y”(功能:顯示當前年份)
(3)date “+%m”(功能:顯示當前月份)
(4)date “+%d”(功能:顯示當前是哪一天)
(5)date “+%Y-%m-%d %H:%M:%S”(功能:顯示當前的年-月-日 時:分:秒)
注意:可以不使用”-”或”:”作為連接符,亦可用漢字等其他字符連接
(6)date -s “年-月-日 時:分:秒”指令設定系統的時間
應用實體:顯示當前時間:

- cal指令
基本語法:cal [選項]
功能描述:
(1) cal指令查看日歷,不加選項查看本月日歷
(2) cal xxxx 指令查看某一年的日歷(xxxx指年份)
應用實體:查看當前月份的日歷及2020年的日歷:

5.7 搜索查找類
- find指令
基本語法:find 目錄 選項
功能描述:
find指令從指定的目錄向下遞回的遍歷其所有子目錄,將滿足條件的檔案或目錄
輸出在終端
常用選項:

應用實體:
(1) 查找/home/Person/Tom.txt檔案:

(2) 查找/home目錄下屬于root用戶的檔案:

(3) 查找整個系統大于、小于、等于2000M的檔案:

(4) 查找整個系統中所有以.txt結尾的檔案:

- locate指令
基本語法:locate 檔案
功能描述:
locate指令可以快速定位檔案所在的路徑,locate指令利用事先建立的包含系統中
所有檔案名及路徑的資料庫實作快速定位
注意:由于locate指令基于資料庫查詢,故使用locate指令之前,使用updatedb
指令手動更新資料庫
應用實體:查找Tom.txt檔案所在的路徑:

- grep指令和管道符號
基本語法:grep [選項] 查找內容
功能描述:
(1) grep指令用于過濾查找
(2) 管道符”|”表示將前面的指令的輸出結果傳遞給后面的指令處理
常用選項:

應用實體:在/home/Person/Jerry.txt檔案中,查找”Arrays”字串所在行并顯示行號:

5.8 壓縮和解壓類
- gzip/gunzip指令
基本語法:
gzip 檔案 (功能:壓縮檔案,只能將檔案壓縮為以.gz結尾的壓縮檔案)
gunzip 檔案 (功能:解壓以.gz結尾的壓縮檔案)
注:
(1)兩個指令的源檔案不保留
(2)兩個指令都可同時操作多個檔案,空格隔開
應用實體:
(1) 將/home/Person/Jerry.txt檔案壓縮為.gz結尾的檔案:

(2) 將/home/Person/Jerry.txt.gz檔案解壓:

- zip/unzip指令
基本語法:
zip [選項] 壓縮結果名.zip 被壓縮的內容
unzip [選項] 被解壓檔案名.zip
注:
(1) 兩個指令的源檔案保留
(2) 兩個指令都可同時操作多個檔案,檔案之間用空格隔開
功能描述:zip指令用于壓縮檔案,unzip指令用于解壓檔案
常用選項:
(1) zip指令的 -r 選項遞回壓縮目錄(即壓縮檔案夾及其所有子目錄和子檔案)
(2) unzip指令的 -d 目錄 選項指定解壓后的檔案存放位置
應用實體:
(1) 將/home/Person下的Jerry.txt和Tom.txt檔案壓縮成package.zip檔案:

(2) 將package.zip檔案解壓到/var目錄下:

- tar指令
基本語法:tar [選項] 打包結果名.tar.gz 被打包的內容(目錄或檔案)
功能描述:既可壓縮,又可解壓
常用選項:

應用實體:
(1) 將/home/Person/下的Tom.txt和Jerry.txt壓縮成Animals.tar.gz:

(2) 將Animals.tar.gz解壓到當前目錄:

(3) 將Animals.tar.gz解壓到/home/xm目錄下:

5.9 其他指令及注意事項
- 清屏指令:
clear - 可以通過上下箭頭調出原來使用過的指令
- 按Tab鍵可以自動補全檔案名或目錄名
- 強制退出正在執行的指令:
Ctrl + c - 終端中修改的不是有色方塊中的字符,而是方塊的前一個字符,如:增刪字符不影響m
- 退出終端指令:
exit
第六章 組管理和權限管理
6.1 Linux組的基本介紹
- Linux中每個用戶至少屬于一個組,不能獨立于組外
- Linux中每個檔案都有所有者、所在組、其他組的概念
6.2 檔案/目錄所有者
誰創建了該檔案/目錄,自然成為了該檔案/目錄的所有者
- 查看檔案/目錄的所有者
基本語法:ls -l(還可查看檔案的權限等各類資訊)
應用實體:創建一個animal組,再創建一個用戶dog,然后用dog用戶創建一個檔案dog.txt:

- 修改檔案/目錄的所有者
基本語法:chown [選項] 用戶名 檔案名
常用選項:-R選項表示對檔案夾及其下所有內容有效
應用實體:使用root用戶創建一個檔案bone.txt,然后將此檔案的所有者改為dog用戶:

注意事項:bone.txt的組并未改變,依然屬于root組,即檔案不一定屬于所有者所在的組
6.3 檔案/目錄所在組
當用戶創建了一個檔案/目錄后,默認這個檔案/目錄所在的組就是該用戶所在的組
-
查看檔案/目錄所在組
基本語法:ls -l(還可查看檔案的權限等各類資訊) -
修改檔案/目錄所在組
基本語法:chgrp [選項] 組名 檔案名(-R選項表示對檔案夾及其下所有內容有效)
應用實體:使用root用戶創建bone2.txt檔案,然后將這個檔案所在組移動至animal組:

注意事項:bone2.txt的所有者并未改變,依然屬于root用戶,即檔案的所有者和所在組無關系
- 修改檔案/目錄所有者和所在組
基本語法:chown [選項] 用戶名:組名 檔案名
常用選項:-R選項表示對檔案夾及其下所有內容有效
應用實體:將/home/dog目錄及其下所有內容的所有者和所在組均改為root:

6.4 其他組
除檔案的所有者和所在組的用戶外,系統的其他用戶都是檔案的其他組
6.5 權限的基本介紹
ls -l中某個檔案顯示的內容如下:
-rw-r--r--. 1 dog root 5 8月1 18:08 bone.txt
內容說明:
(1) 第1位表示檔案型別:
- 普通檔案
d 目錄
l 鏈接
c 字符設備(鍵盤、滑鼠等)
b 塊檔案(硬碟)
(2) 第2-4位表示該檔案所有者擁有該檔案的權限(User)
(3) 第5-7位表示該檔案所在組的用戶擁有該檔案的權限(Group)
(4) 第8-10位表示其他組的用戶擁有該檔案的權限(Other)
(5) 數字1:
①如果是檔案,則表示硬連接的個數(一般都是1)
②如果是目錄,則表示該目錄的第一級子目錄個數
注:
1. 不是該目錄下的檔案個數
2. 實際第一級子目錄個數需要此數字減2,因為Linux系統中每個目錄下都有./和../ 表示當前目錄和上一級目錄
③如果是鏈接,則表示鏈接檔案個數
(6) dog表示該檔案所有者
(7) root表示該檔案所在組
(8) 數字5表示檔案大小(位元組),如果是檔案夾則為4096
(9) 綠色的時間表示檔案的最后修改時間
(10) 最后表示檔案名
6.6 rwx權限詳解
-
rwx作用到檔案
(1)r表示可讀(read):可以讀取、查看
(2)w表示可寫(write):可以修改該檔案
注:可寫不代表可以洗掉該檔案,洗掉檔案的前提條件是對該檔案所在的目錄有寫權限
(3)x表示可執行(execute):可以執行該檔案 -
rwx作用到目錄
(1)r表示可讀:可以使用ls指令查看該目錄的內容
(2)w表示可寫:可以新建、洗掉、修改、移動目錄內檔案
(3)x表示可執行:可以使用cd指令進入該目錄 -
使用數字表示rwx
規則:r = 4,w = 2,x = 1
示例:r = 4,rw = 4 + 2 = 6,rwx = 4 + 2 + 1 = 7,rwxr-xr-x = 755
6.7 修改權限
通過chmod 指令,可以修改檔案或目錄的權限
-
通過+、-、=變更權限
u:所有者,g:所在組的用戶,o:其他組的用戶,a:u、g、o的總和(所有人)
(1)chmod u=rwx,g=r,o=rx 檔案/目錄名:修改u、g、o的權限
(2)chmod g+x,o+w 檔案/目錄名:給g增加x權限,給o增加w權限
(3)chmod a-x 檔案/目錄名:給所有用戶減少x權限 -
通過數字變更權限
chmod 751 檔案/目錄名<====>chmod u=rwx,g=rx,o=x 檔案/目錄名
第七章 任務調度
7.1 概述
- 任務調度:系統在某個指定的時間執行特定的命令或程式
- 任務調度分類:(1) 系統作業:某些重要的作業必須周而復始的執行,如病毒掃描
(2) 個別用戶作業:個別用戶可能定時執行某些命令,如資料庫的備份
7.2 快速入門
-
基本語法:
crontab [選項] -
常用選項:(1) -e表示編輯crontab定時任務
(2) -l表示列出當前有哪些任務調度
(3) -r表示洗掉當前用戶所有的crontab任務調度
(4)service crond restart指令表示重啟任務調度 -
注意事項:(1) 如果只是簡單的任務可以不用寫腳本,直接在crontab中加入任務即可
(2) 如果是比較復雜的任務,需要寫腳本(Shell編程) -
應用實體:執行任務調度,任務為:*/1 * * * * ls -l /home >> /home/word.txt,代表的意思是:
每分鐘執行一次ls -l /home >> /home/word.txt:

-
(實體中橙色)引數說明:
(1) 五個占位符的說明:

(2) 特殊符號的說明:

(3) 特定時間執行任務案例:

- 應用實體:
使用Shell腳本撰寫任務,每天凌晨2點將當前日期和日歷追加到/home/word.txt中:
(1) 使用vim編輯器編輯一個檔案:vim /home/mytask.sh,按i在其中輸入:
date >> /home/word.txt
cal >> /home/word.txt
保存,退出vim編輯器
(2) 給mytask.sh一個可執行權限:
chmod 744 /home/mytask.sh
(3) 執行crontab -e指令,其中輸入:0 2 * * * /home/mytask.sh,保存,成功
第八章 磁盤磁區
8.1 Linux磁區程序
一個可使用的磁區應該經歷以下四步:
- 磁區:把大硬碟分為小的磁區
(1)目前使用的硬碟基本上都是SCSI硬碟
(2) SCSI硬碟使用sd表示磁區的設備型別,而IDE硬碟使用hd表示磁區的設備型別
(3)磁區時設定磁區設備檔案名 - 格式化:寫入檔案系統
- 掛載:為每個磁區分配掛載點
8.2 磁區
- 磁區方式:
(1) mbr磁區:
最多支持四個主磁區
系統只能安裝在主磁區
擴展磁區要占一個主磁區
MBR最大只支持2TB,但擁有最好的兼容性
(2) gtp磁區:
支持無限多個主磁區(但作業系統可能限制,比如 windows下最多128個磁區)
最大支持18EB的大容量(1EB=1024 PB,1PB=1024 TB )
windows7 64位以后支持gtp
-
磁區型別:
(1) 主磁區:最少一個,最多只能有四個
(2) 擴展磁區:可以沒有,最多一個,是主磁區的一種(若有擴展磁區,最多只能有三個主磁區)
注意:擴展磁區不能存盤資料和格式化,必須劃分成邏輯磁區才可以使用
(3) 邏輯磁區:在擴展磁區中劃分,SCSI硬碟Linux最多支持11個邏輯磁區
注意:邏輯磁區的主要作用是突破四個磁區的限制,使Linux可以有多個磁區 -
磁區表示方法:

8.3 格式化
-
格式化的作用是寫入檔案系統:
(1) 把磁區分成一個一個等大小的資料塊
(2) 建立一個inode串列,通過inode編號找到檔案保存在哪幾個資料塊中,從而在資料塊取出 資料,拼湊成完整檔案以供使用 -
目前常用的檔案系統是ext4,是CentOS 6.3 默認檔案系統
8.4 磁區設備檔案名
對應上圖的兩種磁區方法:

注意:/dev/sda(1 - 4)只可以給主磁區或擴展磁區使用,邏輯磁區不可使用,只可以從sda5開始
8.5 掛載
給磁區寫入掛載點(理解為windows下的c、d、e等盤符),Linux使用空目錄作為掛載點(盤符),故Linux中目錄可以有自己獨立的硬碟空間(磁區),掛載之后,在掛載點(目錄)存放的檔案都認為存在于對應硬碟空間(磁區)中
8.6 查看系統的磁區情況
基本語法:lsblk、lsblk -f
應用實體:

8.7 增加新硬碟
第一塊硬碟為sda,第二塊硬碟為sdb,依次類推…
注意:
(1) a為基本盤,b為基本從屬盤,c為輔助主盤,d為輔助從屬盤
(2) sda1、sda2…是sda硬碟的磁區,sdb1、sdb2…是sdb硬碟的磁區,依次類推…
應用實體:給Linux系統增加一塊新硬碟,掛載到/home/newdisk目錄下,步驟如下:
-
添加硬碟,在Centos界面外,點擊如下(點擊之后需重啟系統):

-
磁區,執行指令
fdisk /dev/sdb(磁盤映射為檔案,sdb映射至此檔案),輸入m顯
示選單串列,再選擇n新增磁區,之后執行如下圖:

-
格式化,執行指令
mkfs -t ext4 /dev/sdb1(向sdb1磁區寫入ext4檔案系統) -
掛載,先創建空檔案夾newdisk,再執行指令 mount /dev/sdb1 /home/newdisk
-
永久(自動)掛載,步驟4重啟后會失去掛載效果,執行指令 vim /etc/fstab,如下:

每一行都有六列(欄位),含義如下:

在/etc/fstab中最后一行加入 /dev/sdb1 /home/newdisk ext4 delaults 1 2,保存
-
執行指令
mount -a生效 -
取消掛載效果:
umount 設備檔案名或umount 掛載目錄,磁區保留,自行處理
8.8 磁盤情況查詢
- 查詢系統整體的磁盤使用情況
(1) 基本語法
df [-h]

- 查詢指定目錄的磁盤使用情況
(1) 基本語法
du [選項] [目錄]
如果不加目錄默認是當前目錄
(2) 常用選項
-h:帶計量單位
-s:對指定目錄進行匯總
-a:將檔案也列出(默認只列出檔案夾)
–max-depth=x:子目錄深度x
-c:列出明細的同時增加匯總值
(3) 應用實體

8.9 磁盤情況實用指令
- 統計/opt目錄下檔案的個數
ls -l /opt | grep "^-" | wc -l
注:
(1) grep支持正則運算式
(2) wc -l用于統計資料

- 統計/opt目錄下目錄的個數
ls -l /opt | grep "^d" | wc -l
- 統計/opt目錄下檔案的個數,包括子檔案夾里的
ls -lR /opt | grep "^-" | wc -l
-R選項表示遞回
- 統計/opt目錄下目錄的個數,包括子檔案夾里的
ls -lR /opt | grep "^d" | wc -l
- 以樹狀結構顯式/home目錄
tree /home
沒有tree指令時,需要使用yum install tree安裝tree指令

第九章 網路配置
9.1 Linux網路配置原理圖

查看Linux的網路配置:ifconfig
9.2 Linux網路環境配置
- 自動獲取
Linux每次啟動后都會自動獲取ip地址,缺點是每次自動獲取的ip地址可能不同
進入Linux的設定

- 指定IP
直接修改組態檔指定ip,固定ip地址,假定固定為192.168.200.130
(1) 輸入指令 vim /etc/sysconfig/network-scripts/ifcfg-ens33

(2) 在VMware中點擊編輯進入虛擬網路編輯器


(3) 重啟網路服務或者重啟系統生效
service network restart
或
reboot
第十章 行程管理
10.1 基本介紹
- 在Linux中,每個執行的程式都稱為一個行程,每個行程都有一個行程號pid
- 每個行程都可能以兩種方式存在:前臺與后臺;前臺指的是用戶目前的螢屏可以看到的,后臺指 的是此行程在運行,但是螢屏上看不到
- 通常系統的服務都是以后臺的方式運行,而且會常駐記憶體,直到關機才結束
10.2 顯示系統中運行的行程
- 使用ps指令可以查看目前系統中運行的行程及其詳細情況
ps [選項]
-a:顯示當前終端的所有行程資訊
-u:以用戶的格式顯示行程資訊
-x:顯示后臺行程運行的引數

ps -aux | grep xxx:可以查看xxx行程的資訊
- ps指令詳解
(1) USER:行程所屬的用戶名稱
(2) PID:行程號
(3) %CPU:行程占用CPU的百分比
(4) % MEM:行程占用物理記憶體的百分比
(5) VSZ:行程占用的虛擬記憶體大小(KB)
(6) RSS:行程占用的物理記憶體大小(KB)
(7) TTY:終端名稱(縮寫)
(8) STAT:行程狀態
S:睡眠;s:會話的先導行程;N:比普通優先級更低的優先級
R:正在運行;D:短暫等待;Z:僵死行程;T:被跟蹤或者被停止
(9) START:行程的啟動時間
(10) TIME:行程使用CPU的總時間
(11) COMMAND:啟動此行程所用的命令引數(過長會被截斷顯示)
- 使用
ps -ef指令可以以全格式顯示當前所有的行程
-e:顯示所有行程;-f:全格式(會顯示父行程)
ps -ef | grep xxx:可以查看xxx行程的資訊

(1) PPID:父行程的id
(2) C:數值越大表示執行優先級越低;數值越小表示執行優先級越高
(3) STIME:行程啟動的時間
10.3 終止行程
若某個行程需要停止時,需要使用kill指令終止該行程
- 基本語法
kill [選項] 行程號
killall 行程名稱 (會將其所有子行程全部終止,支持通配符)
- 常用選項
-9:強行終止行程
- 注意
登錄的用戶、打開的終端都有對應的行程號,可以將其踢出或關閉
10.4 查看行程樹
通過行程樹可以更直觀的觀察行程的資訊及其之間的關系
- 基本語法
pstree [選項]
- 常用選項
-p:顯示行程的PID
-u:顯示行程的所屬用戶
- 應用實體

10.5 服務管理
服務(守護行程)的本質是運行在后臺的行程,通常會監聽某個埠的變化,等待其他程式的請求

service指令基本語法
service 服務名 [start | stop | restart | reload | status]
注:CentOS 7.0之后很多服務不再使用service,而使用systemctl
service指令管理的服務在 /etc/init.d中查看

setup指令查看服務

- CentOS 7.0之后運行級別說明
查看當前運行級別:systemctl get-default
設定運行級別:systemctl set-default xxx.target
運行級別3:multi-user.target
運行級別5:graphical.target
- c
hkconfig指令設定服務自啟動
通過chkconfig指令可以給某個服務在指定的運行級別下設定是否自啟動
基本語法:
查看chkconfig管理的服務:chkconfig --list [| grep xxx]
設定服務是否自啟動:
chkconfig --level 5 服務名 on/off
注意:chkconfig指令使用之后需要重啟機器方可生效

systemctl指令管理服務
systemctl指令管理的服務在 /usr/lib/systemd/system中查看
基本語法:
systemctl [start | stop | restart | status] 服務名
- systemctl指令設定服務自啟動
查看服務自啟動狀態:systemctl list-unit-files [| grep 服務名]
設定3、5運行級別自啟:systemctl enable 服務名
關閉3、5運行級別自啟:systemctl disable 服務名
查詢某個服務是否自啟:systemctl is-enabled 服務名
注意:如果使用start、stop指令停止啟動服務,僅本次有效;重啟后仍然會恢復默認開啟或關閉,修改默認開機是否啟動必須使用systemctl [enable|disable] 服務名

- 打開或關閉指定埠
實際生產環境中往往需要將防火墻打開,如果把防火墻打開,外部請求就無法與Linux進行通 訊,此時Linux需要打開指定的埠與外界通訊
(1) 基本語法
打開埠:firewall-cmd --permanent --add-port=埠號/協議
關閉埠:firewall-cmd --permanent --remove-port=埠號/協議
查詢埠是否開放:firewall-cmd --reload
重新載入方可生效:firewall-cmd --query-port=埠號/協議
(2) 查看協議
netstat -a | more

10.6 動態監控行程
使用top指令可以動態監控行程,top指令每隔一段時間會自動重繪正在運行的行程
- 基本語法
top [選項]


- 互動操作說明
top指令顯示的結果中直接輸入字母即可

- 應用實體
(1) 監視特定的用戶
先輸入top,回車,輸入u,回車,輸入用戶名
(2) 終止指定的行程
先輸入top,回車,輸入k,回車,輸入行程號
(3) 指定行程重繪的時間為10秒
top -d 10
10.7 監控網路狀態
- 基本語法
netstat [選項]
- 常用選項
-an:按一定順序輸出
-p:顯示哪個行程在呼叫
- 應用實體
(1) 輸入指令 netstat -an | more

對黃框說明:

(2) 輸入指令 netstat -anp | more

(3) 查看某一行程:netstat -anp | grep xxx
第十一章 RPM與YUM
11.1 RPM
- RPM包的介紹
rpm包是一種具有.RPM擴展名的安裝檔案
- RPM包的相關指令
(1) 查看已安裝的火狐的rpm包:rpm -qa | grep firefox
rpm包的基本格式:firefox-60.2.2-1.el7.centos.x86_64
① 名稱:firefox
② 版本號:60.2.2-1
③ 適用作業系統:1.el7.centos.x86_64,表示centos7.x的64位系統
如果是i686、i386表示32位系統,noarch表示通用
(2) 查看已安裝的所有rpm包:rpm -qa | more
(3) 查看火狐的rpm包是否安裝:rpm -q firefox
(4) 查看火狐的rpm包的資訊:rpm -qi firefox

(5) 查看火狐的rpm包中的檔案:rpm -ql firefox
(6) 查看install.log檔案所屬的rpm包:rpm -qf /root/install.log
(7) 卸載火狐rpm包:rpm -e firefox
注意:如果其他軟體依賴所要卸載的軟體,會提示:
removing these packages would break dependencies:foo is needed by bar-1.0-1
可以使用 rpm -e --nodeps firefox 強制卸載
(8) 安裝rpm包:rpm -ivh RPM包全路徑名稱
引數說明:
i = install 安裝
v = verbose 提示
h = hash 進度條
安裝示例:
(1) 將火狐的rpm包移動到/opt目錄下
(2) 輸入指令

11.2 YUM
- YUM的介紹
YUM是基于RPM包的安裝包管理器,能夠從指定的服務器自動下載RPM包并且安裝,無需手 動提前將RPM包下載到本地,并且可以一次安裝所有依賴的安裝包
- YUM的基本指令
(1) 查看yum服務器的rpm包:yum list [| grep xxx]
(2) 通過yum安裝指定的rpm包:yum install xxx
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/240484.html
標籤:其他
