1. UNIX是什麼
1) UNIX的定義: UNIX是一個計算機操做系統,一個用來協調、管理和控制計算機硬件和軟件資源的控制程序。
2) UNIX操做系統的特色:多用戶和多任務
a) 多用戶表示在同一時刻能夠有多個用戶同時使用UNIX操做系統並且他們互不干擾;
b) 多任務表示任何一個用戶在同一時間能夠在UNIX操做系統上運行多個程序。
2. 瞭解UNIX的簡要發展史
3. GNU項目與自由軟件
1) 瞭解GUN計劃,是由Richard Stallman在1983年9月27日公開發起的,它的目標是建立一套徹底自由的操做系統。
2) 瞭解GPL條款
GPL條款是爲保證GNU軟件能夠自由地使用、複製、修改和發佈,全部GNU軟件都有一份在禁止其餘人添加任何限制的狀況下授予全部權利給任何人的協議條款。
3) 瞭解自由軟件意味着:
a) 你有自由以任何目的來運行該程序。
b) 你有修改程序知足本身需求的自由。
c) 你有權利從新發布副件,既能夠白送也能夠收取必定費用。
d) 你有權利發佈該程序修改過的版本,從而讓其餘人得益於你的改進。
4. Linux簡介
1) Linux的定義:Linux是一套無償使用和自由傳播的類Unix操做系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操做系統。
2) Linux操做系統的主要用途:主要用於服務器,特別是網絡服務器。
3) 兩種常見的桌面環境:KDE和GNOME。
5. 登陸和退出Linux
1) 關閉Linux系統的命令:init 0
2) 什麼是Linux終端:Linux終端也稱爲虛擬控制檯。Linux終端採用字符命令行方式工做,用戶經過鍵盤輸入命令,經過Linux終端對系統進行控制。
3) 切換虛擬終端的方法:Ctrl+Alt+F[1~6],如想切換到第二號虛擬終端,則同時按Ctrl+Alt+F2
4) 普通用戶登陸後系統的提示符:$
5) root用戶登陸後系統的提示符:#
6) 退出命令:exit
html
Linux命令的格式
命令的語法格式
命令格式中命令、選項、參數的具體含義
whoami命令
whoami命令的功能
who命令
who命令的功能
who命令的輸出結果
date、cal、和clear命令及帶有參數的命令
date命令的功能
cal命令的功能
cal命令用法舉例
clear命令的功能
清屏快捷鍵
su和passwd命令
su命令的功能
su命令用法舉例
passwd命令功能
passwd用法舉例
利用man命令來獲取幫助信息
man命令功能
man命令用法舉例
使用「命令名 --help」獲取幫助
1. Linux命令的格式
1) 瞭解Linux命令的語法格式:
命令 【選項】 【參數】
2) 掌握命令格式中命令、選項、參數的具體含義
a) 命令:告訴Linux(UNIX)操做系統作(執行)什麼。
b) 選項:說明命令運行的方式(能夠改變命令的功能)。選項部分是以「-」字符開始的。
c) 參數:說明命令影響(操做)的是什麼(如一個文件、一個目錄或是一段正文文字)
Ls –a /
2. whoami命令
1) whoami命令的功能:列出目前登錄Linux系統所使用的用戶名(帳號)。
3. who命令
1) who命令的功能:列出目前哪些用戶在系統上工做。
2) who命令的輸出結果:顯示當前登陸的全部用戶,以及當前的日期和時間。
4. date、cal、和clear命令及帶有參數的命令
1) date命令的功能:顯示系統當前的日期和時間。
2) date命令設置時間時間的格式:date 月日時分年。
例如:將時間設定成2013年12月24日上午10點18的命令:
擴展(date 12241018201
hwclock –s 同步硬件 –w 同步系統)
3) cal命令的功能:顯示某月的日曆。
4) 靈活應用cal命令列出某一年某月的日曆:例如顯示2008年8月份日曆的命令爲:cal 8 2008
5) clear命令的功能:清除屏幕
6) 清屏快捷鍵:ctrl+l
5. su和passwd命令
1) su命令的功能:從當前的用戶切換到另外一個指定的其餘用戶。
2) 應用su命令切換用戶:
例如:切到root用戶的命令:su – root
3) passwd命令功能:修改用戶(既能夠是普通用戶,也能夠是root用戶)的密碼,查看用戶的密碼狀態等。Useradd
4) 使用passwd命令修改用戶密碼:
例如:修改dog用戶密碼的命令:passwd dog
6. 利用man命令來獲取幫助信息
1) man命令的功能:獲取某個Linux命令的使用說明。
2) 使用man命令查看某命令的使用說明:
例如:查看su命令的使用說明的命令爲:man su
7. 使用「命令名 --help」獲取幫助
1) 例如:查看ls命令幫助的命令爲:(不使用man方法)
ls –-help
linux
Linux文件系統的層次結構
Linux文件系統的樹狀結構
目錄是什麼
頂層根目錄的表示
文件系統中的兩個特殊目錄
Linux系統中的一些重要的目錄
bin目錄
sbin目錄
家目錄
dev目錄
etc目錄
掛載目錄/media或/mnt
其餘經常使用目錄
絕對和相對路徑
絕對路徑
相對路徑
nginx
1. Linux文件系統的層次結構
1) 瞭解Linux文件系統的樹狀結構:
在Linux或UNIX操做系統中,全部的文件和目錄都被組織成一個以根節點開始的倒置的樹狀結構。
2) 目錄的定義:目錄至關於Windows中的文件夾,目錄中存放的既能夠是文件,也能夠是其餘的子目錄。
3) 頂層根目錄的表示:
使用「/」來表示根目錄
4) 瞭解文件系統中的兩個特殊目錄:
. 表示當前目錄,即用戶所在的工做目錄
.. 表示父目錄,即當前目錄的上一層目錄
2. Linux系統中的一些重要的目錄
1) Linux中的一些重要目錄
a) bin目錄:用來存放經常使用的可執行文件
b) sbin目錄:用來存放系統的可執行文件
c) 家目錄:用來存放用戶本身的文件或目錄,其中,超級用戶root的家目錄是/root,而普通用戶的家目錄被存放在/home目錄下,並使用用戶名做爲最後一級目錄(家目錄)的名稱,如cat用戶的家目錄爲/home/cat
d) dev目錄:設備文件目錄
e) etc目錄:配置文件目錄
f) 掛載點(目錄):一般可移除式硬件會被掛載在/media或/mnt目錄之下
3. 絕對和相對路徑(詳見linux系統管理P43)
1) 絕對路徑的定義:必須以一個正斜線(/)開始。絕對路徑包括從文件系統的根節點開始到要查找的對象(目錄或文件)所必須遍歷的每個目錄的名字,它是文件位置的完整路標,所以在任何狀況下均可以使用絕對路徑找到所需的文件。
2) 相對路徑的定義:不是以正斜線(/)開始,相對路徑能夠包含從當前目到要查找的對象(目錄或文件)所必須遍歷的每個目錄的名字。
git
使用pwd和cd命令來肯定和切換目錄
pwd命令的功能
cd命令的功能
cd ..
cd ~
cd –
cd
使用ls命令列出目錄中的內容
ls命令的功能
ls –a
ls –all
ls –l
使用cp命令複製文件和目錄
cp命令的功能
–i選項
–r選項
–p選項
–f選項
使用mv命令移動及修改文件和目錄名
mv命令的功能
mv命令的用法舉例
使用mkdir命令建立目錄
mkdir命令的功能
mkdir命令的用法舉例
使用touch命令建立文件
touch命令的功能
touch命令的用法舉例
使用rm命令刪除文件
rm命令的功能
–i選項
–r選項
–f選項
rm命令的用法舉例
使用rmdir或rm –r命令刪除目錄
rmdir命令的功能
rmdir命令的用法舉例
rm –r命令的功能
rm –r命令的用法舉例
使用cat命令瀏覽正文文件的內容
cat命令的功能
cat命令的用法舉例
使用head命令瀏覽文件中的內容
head命令的功能
–n選項
head命令的用法舉例
使用tail命令瀏覽文件中的內容
tail命令的功能
–n選項
tail命令的用法舉例
使用more命令瀏覽文件
more命令的功能
more命令的用法舉例 算法
1. 使用pwd和cd命令來肯定和切換目錄
1) pwd命令的功能:肯定如今所在的工做目錄
2) cd命令的功能:切換當前目錄
3) 「cd ..」命令:進入上一級目錄
4) 「cd ~」命令:切換到用戶的家目錄
5) 「cd」命令:同cd ~,也可切換到用戶的家目錄
6) 「cd –」命令:切換到用戶以前的工做目錄
7) 「cd 目錄名」命令:切換到指定的目錄。
a) 例如:切換到/home/dog目錄的命令爲:cd /home/dog
2. 使用ls命令列出目錄中的內容
1) ls命令的功能:列出當前目錄(默認爲當前目錄)或指定目錄中的內容
2) ls -a命令:列出目錄下的全部文件,包括以「.」開頭的隱含文件
a) 例如:列出/home/dog目錄中的全部文件,包括隱藏文件的命令:ls -a /home/dog
3) 瞭解ls –all命令:同ls –a
4) ls –l命令:列出某個目錄中每個文件的詳細資料
例如:列出/home/dog目錄中全部非隱藏文件的細節的命令:
a) ls –l /home/dog
3. 使用cp命令複製文件和目錄
1) cp命令的功能:將文件(能夠是多個)複製成一個指定的目的文件或複製到一個指定的目標目錄中。
2) cp命令的經常使用選項:
Cp 源文件 目標文件
a) –r(recursive,遞歸的):遞歸地複製目錄。當複製一個目錄時,複製該目錄中全部的內容,其中包括子目錄的所有內容。
i) 例如:將/home/dog目錄中的內容所有複製目錄/home/cat中的命令爲:
cp –r /home/dog /home/cat
b) -f(force,強制):在目標文件已經存在的時候不詢問直接強制複製
4. 使用mv命令移動及修改文件和目錄名
1) mv命令的功能:既能夠在不一樣的目錄之間移動文件和目錄,也能夠從新命名文件和目錄。
2) mv命令的用法舉例:
a) 移動文件和目錄的例子:
將當前目錄中的lists文件移動到其子目錄babydog中的命令:
mv lists babydog
b) 重命名文件和目錄的例子:
將bigdog目錄名改成babydog的命令:
mv bigdog babydog
5. 使用mkdir命令建立目錄
1) mkdir命令的功能:建立一個新目錄
2) mkdir命令的用法舉例:
建立目錄daddog的命令:mkdir dadgogshell
遞歸的建立目錄: mkdir -p /a/b/c數據庫
6. 使用touch命令建立文件
1) touch命令的功能:能夠建立一個空文件,也能夠同時建立多個文件。
2) touch命令的用法舉例:
在當前目錄中建立一個名爲babydog1的文件的命令:
touch babydog1
7. 使用rm命令刪除文件
1) rm命令的功能:永久地在文件系統中刪除文件或目錄。
2) rm命令的經常使用選項:
a) –r(recursive,遞歸的):遞歸地刪除目錄。當刪除一個目錄時,刪除該目錄中全部的內容,其中包括子目錄中的所有內容。
b) –f(force,強制):系統並不詢問而是強制刪除,即直接刪除原有的文件。
3) rm命令的用法舉例:
刪除當前目錄中的babydog1文件的命令:rm babydog1
8. 使用rmdir或rm –r命令刪除目錄
1) rmdir命令的功能:刪除空目錄。
2) rmdir命令的用法舉例:
刪除空目錄 mumdog/girldog/babydog的命令:
rmdir mumdog/girldog/babydog
3) rm –r命令的功能:刪除包含文件和子目錄的目錄。
4) rm –r命令的用法舉例:
刪除非空目錄mumdog的命令:
rm –r mumdog
9. 使用cat命令瀏覽正文文件的內容
5) cat命令的功能:將一個或多個文件的內容顯示在屏幕上,該命令會不停的以只讀的方式顯示整個文件的內容。
6) cat命令的用法舉例:
a) 瀏覽game.txt文件中的所有內容的命令:
cat game.txt
10. 使用head命令瀏覽文件中的內容
1) head命令的功能:默認將顯示一個文件的前10行。
2) head命令的經常使用選項:
-n 改變顯示的行數
3) head命令的用法舉例:
a) 查看/etc/passwd文件中前10行的詳細信息的命令:
head /etc/passwd
b) 查看/etc/passwd文件中前5行的詳細信息的命令:
head –n 5 /etc/passwd
11. 使用tail命令瀏覽文件中的內容
1) tail命令的功能:默認顯示文件最後10行的內容。
2) tail命令的經常使用選項:
-n 顯示從文件末尾算起的n行
3) tail命令的用法舉例:
a) 查看/etc/passwd文件中最後10行的詳細信息的命令:
tail /etc/passwd
b) 查看/etc/passwd文件中最後5行的詳細信息的命令:
tail –n 5 /etc/passwd
12. 使用more命令瀏覽文件
1) more命令的功能:使用more命令以後,每次在屏幕上顯示一屏(一頁)的文件內容,而且在屏幕的尾部將會出現「—More--(n%)」的信息,其中,n%是已經顯示文件內容的百分比。
2) 靈活應用more命令
a) 分頁瀏覽learning.txt文件內容的命令:
more learning.txt
apache
用戶及passwd文件
/etc/passwd文件的功能
/etc/passwd文件每一個字段的具體含義
shadow文件
/etc/shadow文件的功能
/etc/shadow文件每一個字段的具體含義
羣組及group文件
/etc/group文件的功能
/etc/group文件的功能
怎樣在Linux系統中添加一個新的用戶帳戶
useradd命令的功能
useradd命令的經常使用選項
useradd命令的用法舉例
使用usermod命令修改用戶帳戶
usermod命令的功能
usermod命令修改用戶帳戶信息時的經常使用選項
usermod命令的用法舉例
使用usermod命令鎖住用戶及將用戶解鎖
usermod –L命令
usermod –U命令
使用userdel命令刪除用戶帳號
userdel命令的功能
userdel的經常使用選項
userdel的用法舉例
羣組的管理
groupadd命令的功能
groupadd命令的經常使用選項
groupadd命令的用法舉例
groupmod命令的功能
groupmod命令的經常使用選項
groupmod命令的用法舉例
groupdel命令的功能
groupdel命令的用法舉例 vim
1. 用戶及passwd文件
1) /etc/passwd文件的功能:存儲全部用戶的相關信息,該文件也被稱爲用戶信息數據庫(Database)。
2) /etc/passwd文件每一個字段的具體含義:
a) 第1個字段(列)記錄的是這個用戶的名字(在建立用戶時root用戶起的)。
b) 第2個字段(列)若是是x,表示該用戶登陸Linux系統時必須使用密碼;若是爲空,則該用戶在登陸時無須提供密碼。
c) 第3個字段(列)記錄的是這個用戶的uid。
d) 第4個字段(列)記錄的是這個用戶所屬羣組的gid。
e) 第5個字段(列)記錄的是有關這個用戶的註釋信息(如全名或通訊地址)。
f) 第6個字段(列)記錄的是這個用戶的家目錄的路徑。
g) 第7個字段(列)記錄的是這個用戶登陸後,第一個要執行的進程。
2. shadow文件(詳見linux系統管理P133)
1) /etc/shadow文件的功能:存儲全部用戶的密碼,每個用戶佔用一行記錄,該文件實際上就是存放用戶密碼的數據庫(Database)。
2) /etc/shadow文件每一個字段的具體含義:
a) 第1個字段(列)是用戶名。
b) 第2個字段(列)是密碼,這個密碼是通過MD5加密算法加密過的密碼。
3. 羣組及group文件(詳見linux系統管理P135)
1) /etc/group文件的功能:存放了Linux系統中全部羣組的信息,它實際上就是一個存放羣組信息的數據庫(Database)。
2) /etc/group文件每一個字段的具體含義:
a) 第1個字段是這個羣組的名字。
b) 第2個字段中的x表示這個羣組在登陸Linux系統時必須使用密碼。
c) 第3個字段記錄的是這個羣組的gid。
d) 第4個字段記錄的是這個羣組裏還有哪些羣組成員。
4. 怎樣在Linux系統中添加一個新的用戶帳戶
1) useradd命令的功能:新增一個用戶。
2) 瞭解useradd命令的經常使用選項:
a) –u:指定用戶的UID
b) –g:指定用戶所屬的羣組
c) –d:指定用戶的家目錄
d) –c:指定用戶的備註信息
e) –s:指定用戶所用的shell
3) 靈活應用useradd命令的舉例:
a) 例如:在系統中新增一個fox(狐狸)用戶的命令:useradd fox
b) 例如:在系統中新增一個用戶user01,屬組爲police以及uid爲600的命令:
useradd –u 600 –g police user01
5. 使用usermod命令修改用戶帳戶
1) usermod命令的功能:修改用戶的帳戶信息。
2) 瞭解usermod命令的經常使用選項:
a) –u:修改用戶的UID
b) –g:修改用戶的GID
c) –G:將一個用戶加入到指定的羣組中
d) –d:修改用戶的家目錄
e) –c:修改用戶的備註信息
f) –s:修改用戶所用的shell
3) 靈活應用usermod命令的舉例:
a) 修改babydog4用戶的家目錄爲/home/babies的命令:
usermod –d /home/babies babydog4
b) 將babydog4這個用戶添加到babydog6這個羣組中的命令:
usermod –G babydog6 babydog4
c) 將babydog4這個用戶的的gid變動爲dog羣組的命令:
usermod –g dog babydog4
6. 使用usermod命令鎖住用戶及將用戶解鎖
1) 瞭解usermod –L命戶令的功能:將用戶的帳號鎖住
2) 瞭解usermod –L命戶令的用法舉例:
例如:將babydog6用戶的帳號鎖住的命令:usermod –L babydog6
3) 瞭解usermod –U命戶令的功能:將用戶的帳號解鎖
4) 瞭解usermod –U命戶令的用法舉例:
例如:將babydog6用戶的帳號解鎖的命令:usermod –U babydog6
7. 使用userdel命令刪除用戶帳號
1) userdel命令的功能:刪除用戶。
2) 瞭解userdel命令的經常使用選項:
a) –r:在刪除用戶的同時刪除這個用戶的家目錄及其郵箱。
3) 靈活應用userdel命令刪除用戶的舉例:
a) 例如:刪除babydog5用戶不刪除其家目錄的命令:
userdel babydog5
b) 例如:刪除babydog5用戶,同時刪除其家目錄的命令:
userdel –r babydog5
8. 羣組的管理
1) 掌握groupadd命令的功能:建立一個新的羣組帳號。
2) 瞭解groupadd命令的經常使用選項:
c) –g:指定羣組的GID
3) 靈活應用groupadd命令的舉例:
例如:在系統中新增長一個名爲boydogs的羣組的命令:
groupadd boydogs
4) 掌握groupmod命令的功能:修改一個羣組帳號的信息。
5) 瞭解groupmod命令的經常使用選項:
a) –g:修改羣組的GID
b) –n:修改羣組的名稱
6) 靈活應用groupmod命令的舉例:
a) 例如:修改police羣組的gid爲521的命令:
groupmod –g 521 police
b) 例如:將羣組boydogs更名爲daddogs的命令:
groupmod –n daddogs boydogs
7) 掌握groupdel命令的功能:刪除一個羣組帳號。
8) 靈活應用groupdel命令的舉例:
例如:刪除daddogs羣組的命令:groupdel daddogs
windows
怎樣查看文件的權限
ls命令詳解
root用戶及文件的安全控制
什麼是root用戶
用戶分類
文件操做權限
文件操做權限的字符表示
chown
chgrp
使用符號表示法設定文件或目錄上的權限
chmod命令的功能
chmod命令的-R選項
什麼是符號表示法
權限狀態的3個部分
符號表示法舉例
使用數字表示法設定文件或目錄上的權限
什麼是數字表示法
數字表明的資源權限狀態
數字表示法舉例
1. 怎樣查看文件的權限
1) 掌握使用ls –l命令查看文件上所設定的權限。
2) 掌握ls –l命令的顯示結果中的第一列分紅4組,其中;
a) 第1個字符爲第1組,表明這是一個文件(-)或是一個目錄(d),也能夠是其餘資源。
b) 第二、三、4個字符爲第2組,定義了文件或目錄的全部者(owner)所具備限的權,使用u表明全部者(owner)對文件的全部權限。
c) 第五、六、7個字符爲第3組,定義了文件或目錄的全部者所在的羣組中其餘(用戶)所具備的權限,使用g表明這一組(group)權限。
d) 第八、九、10個字符爲第4組,定義了既不是owner也不和owner在同一羣組的其餘用戶對文件或目錄所具備的權限。使用o表明這一組(other)權限。
3) 掌握ls –l命令的顯示結果中的第三列、第四列爲文件的屬主和屬組。
2. root用戶及文件的安全控制(詳見linux系統管理P136)
1) 掌握root用戶的定義:root用戶也稱爲超級用戶,它能夠徹底不受限制地訪問任何用戶的帳戶和全部文件及目錄。
2) 瞭解Linux系統中用戶分類:
Linux系統是將系統中的全部用戶分紅了3類:
a) 第1類:全部者
b) 第2類:同組用戶(修正:所屬組,由於你建立一個用戶的過程會覺得這個用戶名爲名字建立一個同名的組)
c) 第3類:非同組的其餘用戶
3) 掌握文件操做權限包括讀(read)、寫(write)和執行(execute)
4) 掌握Linux操做系統在顯示權限時,使用以下4個字符來表示文件操做權限:
a) r:表示read權限,也就是能夠閱讀文件或者ls命令列出目錄內容的權限。
b) w:表示write權限,也就是能夠編輯文件或者在一個目錄中建立和刪除文件的權限。
c) x:表示execute權限,也就是能夠執行程序或者使用cd命令切換到這個目錄以及使用帶有-l選項的ls命令列出這個目錄中詳細內容的權限等。
d) -:表示沒有相應的權限(與所在位置的r、w或x相對應)。
3. 掌握使用chown修改文件的屬主
chown 屬主:屬組 文件
chown :屬組 文件
chown 屬主 文件
a) 例如,修改文件file1的屬主和屬組爲root的命令爲:chown root.root file1 遞歸的修改文件file1的屬主和屬組爲root的命令爲:chown -R root.root file
4. 掌握使用chgrp修改文件的屬組
chgrp 屬組 文件
a) 例如,修改文件file1的屬組爲wg的命令爲:chgrp wg file1
5. 使用符號法設定文件或目錄上的權限
1) 掌握chmod命令的功能:設定或更改文件或目錄上的權限。
2) 掌握-R選項:不但設置(或更改)該目錄權限,並且還要遞歸地設置(或)更改該目錄中全部文件或子目錄的權限。
3) 掌握是符號表示法的定義:
符號表示法是使用幾個特定的符號來設定權限的狀態。
4) 掌握權限狀態能夠分爲3個部分:
a) 第1個部分,表示要設定或更改誰的權限狀態。其中的具體表示以下:
u:表示全部者(owner)的權限。
g:表示羣組(group)的權限。
o:表示既不是owner也不與owner在同一個group的其餘用戶(other)的權限。
a:表示以上3組,也就是全部用戶(all)的權限。
b) 第2部分,是運算符(operator),也有人稱爲操做符,其中的具體表示以下:
+:表示加入權限
-:表示去掉權限
=:表示設定權限
c) 第3部分,表示權限(permission),其中的具體表示以下:
r:表示read(讀)權限。
w:表示write(寫)權限。
X:表示execut(執行)權限。
5) 靈活應用符號表示法設定或更改文件或目錄上的權限:
a) 例如:在dog_wolf文件上添加全部者和同組用戶的可執行權限的命令:
chmod ug+x dog_wolf
b) 例如:在babydog目錄上爲其餘用戶添加寫權限的命令:
chmod o+w babydog
6. 使用數字表示法設定文件或目錄上的權限
1) 掌握數字表示法的定義:
數字表示法是指使用一組三位數的數字來表示文件或目錄上的權限狀態。其中:
第1個數字表明全部者(owner)的權限(u)。
第2個數字表明羣組(group)的權限(g)。
第3個數字表明其餘用戶(other)的權限(o)。
2) 數字表明的資源權限狀態:
4:表示具備讀(read)權限。
2:表示具備寫(write)權限。
1:表示具備執行(execute)權限。
0:表示沒有相應的權限。
3) 靈活應用數字法表示法設定或更改文件或目錄上的權限:
a) 例如:使用數字表示法對owner開放/home/dog/babydog目錄和其中全部文件的一切權限,可是對同組用戶開放讀和執行權限,而對其餘用戶只開放讀權限的命令:
chmod -R 754 /home/dog/babydog
使用cat命令進行文件的縱向合併
兩種文件的縱向合併方法
歸檔文件和歸檔技術
歸檔的目的
什麼是歸檔
tar命令的功能
tar命令的經常使用選項
使用tar命令建立、查看及抽取歸檔文件
使用tar命令建立歸檔文件
使用tar命令查看歸檔文件
使用tar命令抽取歸檔文件
文件的壓縮和解壓縮
什麼是壓縮
壓縮的目的
什麼是解壓縮
gzip命令和gunzip命令
bzip2命令和bunzip2命令
在使用tar命令的同時進行壓縮和解壓縮
在使用tar命令的同時進行壓縮和解壓縮的用法舉例
1. 使用cat命令進行文件的縱向合併
1) 掌握使用cat命令實現文件的縱向合併:
a) 例如:使用cat命令將baby.age、baby.kg和baby.sex這三個文件縱向合併爲baby文件的方法:
cat baby.age baby.kg baby.sex >baby
b) 例如:使用cat命令將baby.age文件的內容添加到baby2文件中的方法:
cat baby.age >>baby2
wc -l a.txt 能夠統計a.txt文件中一共有多少行
2. 歸檔文件和歸檔技術
1) 掌握歸檔的定義:歸檔(archiving)就是將許多文件(或目錄)打包成一個文件。
2) 瞭解歸檔的目的:歸檔的目的就是方便備份、還原及文件的傳輸操做。
3) 掌握tar命令的功能:將多個文件(也可能包括目錄,由於目錄自己也是文件)放在一塊兒存放到一個磁帶或磁盤歸檔文件中。而且未來能夠根據須要只還原歸檔文件中的某些指定的文件。
4) 掌握tar命令的經常使用選項:
c:建立一個新的tar文件。
t:列出tar文件中目錄的內容。
x:從tar文件中抽取文件。
f:指定歸檔文件或磁帶(也多是軟盤)設備(通常都要選)。
v:顯示所打包的文件的詳細信息,v是verbose的第1個字母。
z:使用gzip壓縮算法來壓縮打包後的文件。
j:使用bzip2壓縮算法來壓縮打包後的文件。
3. 使用tar命令建立、查看及抽取歸檔文件
1) 掌握使用tar命令建立歸檔文件的用法舉例:
例如:使用tar命令將arch目錄打包成一個名爲arch.tar的歸檔文件的方法(要求顯示全部打包的文件和目錄):
tar cvf arch.tar arch
掌握使用tar命令查看歸檔文件的用法舉例:
例如:使用tar命令顯示arch.tar這個歸檔文件(包)中的全部文件的方法:
tar tf arch.tar
2) 掌握使用tar命令抽取歸檔文件的用法舉例:
例如:使用tar命令恢復arch.tar中的所有內容的方法:
tar xvf arch.tar -C 路徑
4. 文件的壓縮和解壓縮
1) 掌握壓縮的定義:壓縮就是將一個大的文件經過一些壓縮算法變成一個小文件。
2) 瞭解壓縮的目的:主要是縮小文件的大小,這樣會節省存儲文件的磁盤或磁帶的空間,另外在網絡上傳輸這些小文件也會減小網絡的瀏覽(也就是節省網絡的帶寬)。
3) 掌握解壓縮的定義:解壓縮就是將一個經過一些壓縮算法的文件恢復到壓縮以前的樣子。
4) 掌握gzip命令和gunzip命令的用法舉例:
a) 例如:將文件file1壓縮成.gz格式的壓縮包應該使用的命令爲:gzip file1 –c > /路徑/name.gz
b) 例如:將壓縮文件file1.gz解壓縮的命令爲:
gunzip file1.gz >
5) 掌握bzip2命令和bunzip2命令的用法舉例:
a) 例如:將文件file1壓縮成.bz2格式的壓縮包應該使用的命令爲:bzip2 file1 >
b) 例如:將壓縮文件file1.bz2解壓縮的命令爲:
bunzip2 file1.bz2 >
5. 在使用tar命令的同時進行壓縮和解壓縮
1) 掌握在使用tar命令的同時進行壓縮和解壓縮的用法舉例
a) 例如:使用tar命令將arch目錄打包並且同時使用gzip的技術壓縮打包後文件的方法(打包後的文件名爲arch.tar.gz):
tar cvfz arch.tar.gz arch
b) 例如:使用tar命令將arch目錄打包並且同時使用bzip2的技術壓縮打包後文件的方法(打包後的文件名爲arch.tar.bz2):tar cvfj arch.tar.bz2 arch
vi編輯器簡介
什麼是vi
vi編輯器的操做模式
vi編輯器的3種基本模式
在vi編輯器中光標的移動
移動光標位置的鍵與光標移動間的關係
進入插入模式
從命令行模式進入插入模式的命令
在命令行模式下刪除與複製的操做
刪除與複製命令
粘貼命令
復原和重作命令
擴展模式與文件的存儲和退出
擴展模式下經常使用的命令
快速移動光標在文件中的位置
快速移動光標在屏幕中的位置
1. vi編輯器簡介
1) 掌握vi的定義:vi是一個UNIX和Linux系統內嵌的標準正文(文字)編輯器,它是一種交互類型的正文編輯器,它能夠用來建立和修改正文文件。
2. vi編輯器的操做模式
1) 掌握vi編輯器的3中基本模式:
a) 命令行模式:vi的默認模式。在這一模式中,全部的輸入被解釋成vi命令,能夠執行修改、複製、移動、粘貼和刪除正文等命令,也能夠進行移動光標、搜索字符串和退出vi的操做等。
b) 編輯模式:在編輯模式中,能夠往一個文件中輸入正文。在這一模式下,輸入的每個字符都被vi編輯器解釋爲輸入的正文。使用ESC鍵返回命令行模式。
c) 擴展模式:在一些UNIX系統上也叫最後一行模式。在這一模式下,可使用一些高級編輯命令,如搜尋和替代字符串、存盤或退出vi編輯器等。要進入最後一行模式,須要在命令行模式中輸入冒號(:),冒號這一操做將把光標移到屏幕的最後一行。
3. 在vi編輯器中光標的移動
1) 掌握在vi編輯器中用來移動光標位置的鍵與光標移動之間的關係,以下表:
4. 進入插入模式
1) 掌握從命令行模式進入插入模式的命令:
a:進入插入模式並在光標以後進行添加。
i:進入插入模式並在光標以前進行插入。
o:進入插入模式並在當前(光標所在)行之下開啓新的一行。
5. 在命令行模式下刪除與複製的操做
1) 掌握經常使用的刪除與複製的經常使用按鍵
6.粘貼命令
1) 掌握粘貼命令:
7. 復原和重作命令
1) 掌握經常使用的復原和重作命令:
8.擴展模式與文件的存儲和退出
1)掌握擴展模式下經常使用的命令:
9.快速移動光標在文件中的位置
1)掌握快速移動光標在文件中的位置的命令
10.快速移動光標在屏幕中的位置
1)掌握快速在屏幕中移動光標的位置的命令
Linux系統引導的順序
Linux系統引導的順序
BOIS的初始化和引導加載程序
什麼是BIOS
GRUB程序和grub.conf文件
什麼是grub
grub配置文件grub.conf
內核的初始化和init的初始化
init的配置文件/etc/inittab
init程序要作的工做
run levels(運行級別)
各運行級別對應的功能
關閉系統及重啓系統
關閉系統的命令
重啓系統的命令
單用戶模式修改用戶密碼
救援模式
1. Linux系統引導的順序(詳見linux系統管理P312)
1) 掌握Linux系統引導的順序:(詳見附1)
其中,BIOS的工做是檢查計算機的硬件設備,如CPU、內存和風扇速度等;
MBR會在啓動盤的第1個塊中,大小爲512B。其中前446中的程序代碼是用來選擇boot partition(分區),也就是由哪一個分區來裝入開機用的代碼;
在內核部分主要是裝機計算機設備的驅動程序以便操做系統能夠控制計算機上的設備。而且以只讀的方式掛載/(根)文件系統,也就是此時的操做系統只能讀到根文件系統(目錄)所在的分區;
init程序的進程id爲1,即Linux操做系統第1個執行的程序。
1. BOIS的初始化和引導加載程序
1) 掌握BIOS的定義:BIOS(Basic Input/Output System)(基本輸入/輸出系統的縮寫),它是硬件與軟件之間的接口,並且是很是基本的接口。
2. GRUB程序和grub.conf文件
1) 掌握GRUB的定義:GRUB是Grand Unified Bootloader(多重操做系統啓動管理器)的縮寫。
2) 掌握grub的配置文件爲:grub.conf
設置grub Md5加密命令 grub-MD5-crypt
Password = 明文或 password --md5 密文(編輯grub配置文件的密碼)
Title red hat 標題
Password = 明文或 password --md5 密文(加載內核系統引導必須的密碼)
3. 內核的初始化和init的初始化
1) 掌握init的配置文件爲:/etc/inittab
2) 瞭解init程序要作的工做:
a) 決定預設(默認)要使用哪一個run levels(運行級別)。
b) 執行一些系統初始化的腳本(程序)來初始化操做系統。
c) 根據run level的設置來執行所對應目錄中的程序,以決定要啓動哪些服務。
d) 設定某些組合鍵。
e) 定義UPS不間斷電源系統,即當電源出現問題時或電源恢復時要執行哪些程序。
f) 產生6個virtual consoles,也就是tty1~tty6。
4. run levels(運行級別)
1) 掌握全部的運行級別及每個運行級別對應的功能:
5. 關閉系統及重啓系統
1) 掌握經常使用的能夠關閉系統的命令:
shutdown -h now
halt
poweroff
init 0
2) 掌握經常使用的能夠重啓系統的命令:
shutdown -r now
reboot
init 6
Ctrl+Alt+Delete鍵
6. 掌握單用戶模式修改用戶的密碼
7. 掌握救援模式
系統監視和進程控制工具—top和free
top命令的功能
top命令顯示結果中一些經常使用狀態信息的具體含義
free命令的功能
系統中進程的監控—ps
什麼是進程
什麼是守護進程
什麼是父進程、子進程
ps命令的功能
系統中進程的監控—pstree、kill、pkill、pgrep
pstree命令的功能
pstree命令的用法舉例
kill命令的功能
kill命令的用法舉例
kill -9
pkill、pgrep命令的功能
1. 系統監視和進程控制工具—top和free
1) 掌握top命令的功能:top命令是Linux下經常使用的性能分析工具,可以實時顯示系統中各個進程的資源佔用情況,相似於Windows的任務管理器。
2) 瞭解使用top命令列出系統狀態時,系統默認每5秒刷新一下屏幕上的顯示結果。
1. 第一行是任務隊列信息
12:38:33 |
當前時間 |
up 50days |
系統運行時間,格式爲時:分 |
1 user |
當前登陸用戶數 |
load average: 0.06, 0.60, 0.48 |
系統負載。 三個數值分別爲 1分鐘、5分鐘、15分鐘前到如今的平均值。 |
2. 第2、三行爲進程和CPU的信息
Tasks: 29 total |
進程總數 |
1 running |
正在運行的進程數 |
28 sleeping |
睡眠的進程數 |
0 stopped |
中止的進程數 |
0 zombie |
殭屍進程數 |
Cpu(s): 0.3% us |
用戶空間佔用CPU百分比 |
1.0% sy |
內核空間佔用CPU百分比 |
0.0% ni |
用戶進程空間內改變過優先級的進程佔用CPU百分比 |
98.7% id |
空閒CPU百分比 |
0.0% wa |
等待輸入輸出的CPU時間百分比 |
0.0% hi |
硬件中斷佔用CPU時間的百分比 |
0.0% si |
軟件中斷佔用CPU時間的百分比 |
3. 第四五行爲內存信息。
4. 進程信息
列名 |
含義 |
PID |
進程id |
PPID |
父進程id |
RUSER |
Real user name |
UID |
進程全部者的用戶id |
USER |
進程全部者的用戶名 |
GROUP |
進程全部者的組名 |
TTY |
啓動進程的終端名。不是從終端啓動的進程則顯示爲 ? |
PR |
優先級 |
NI |
nice值。負值表示高優先級,正值表示低優先級 |
P |
最後使用的CPU,僅在多CPU環境下有意義 |
%CPU |
上次更新到如今的CPU時間佔用百分比 |
TIME |
進程使用的CPU時間總計,單位秒 |
TIME+ |
進程使用的CPU時間總計,單位1/100秒 |
%MEM |
進程使用的物理內存百分比 |
VIRT |
進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES |
SWAP |
進程使用的虛擬內存中,被換出的大小,單位kb。 |
RES |
進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA |
CODE |
可執行代碼佔用的物理內存大小,單位kb |
DATA |
可執行代碼之外的部分(數據段+棧)佔用的物理內存大小,單位kb |
SHR |
共享內存大小,單位kb |
nFLT |
頁面錯誤次數 |
nDRT |
最後一次寫入到如今,被修改過的頁面數。 |
S |
進程狀態。 |
COMMAND |
命令名/命令行 |
WCHAN |
若該進程在睡眠,則顯示睡眠中的系統函數名 |
Flags |
任務標誌,參考 sched.h |
cpu利用率與load average
cpu是用來幹活的,按照這個層面去理解,每一個碼農都是一個cpu
cpu利用率:上一天班的時間是8個小時,而碼農敲代碼的時間爲2個小時,2/8=0.25 ,25%就是碼農在一天的時間內的利用率(正常狀況,cpu利用率<70%)
cpu負載:公司在一分鐘內爲某個碼農安排了3個任務,而1分鐘內該碼農能作6個任務,那麼該碼農一分鐘內的負載爲0.5
若是公司在5分鐘內爲某個碼農安排了100個任務,而5分鐘內該碼農只能作50個任務,那麼該碼農5分鐘內的負載爲2.0,即超負荷運轉
cpu負載<=1:能正常應付
cpu負載>1:超負荷運轉
若是有4核,至關於將100個任務交給4個碼農去幹,若是每一個碼農的負載都是100%,那麼總體的cpu負載達到4.0則是很正常的現象
多核cpu, load average 應該 <= cpu核數 * 0.7
爲什麼要有1分鐘,5分鐘,15分鐘三種cpu負載?
其實之因此要給出3個值,就是但願咱們能結合起來看。或者說但願展現一個動態的圖表式的數據,好比最近一分鐘顯示負載120%。而最近5分鐘和15分鐘顯示負載爲50%。可能你不用太過擔憂。可是若是你發現系統的負載一直維持在120%以上,就必需要提升硬件配置了。
cpu利用率和cpu負載太高,都是很差的現象,可是也有可能出現,低利用率,高負載的狀況:
爲一個碼農分配了100個項目,毫無疑問,該碼農的負載是很高的,可是碼農在具體去作一個項目時,可能會碰到須要購買機器,或者查詢資料等耗費時間的問題,真正動手寫代碼的時間可能很短,而這段時間纔是碼農真正爲公司幹活的時間,若是每一個項目都有相似這種問題,那麼100個項目加到一塊兒,碼農真正工做的時間也不會太多,這就形成了低利用率。
在兩種狀況下會致使一個進程在邏輯上不能運行,
1. 進程掛起是自身緣由,遇到I/O阻塞,便要讓出CPU讓其餘進程去執行,這樣保證CPU一直在工做
2. 與進程無關,是操做系統層面,可能會由於一個進程佔用時間過多,或者優先級等緣由,而調用其餘的進程去使用CPU。
於是一個進程有三種狀態
3) 掌握free命令的功能:顯示內存的使用狀態。(下圖centos6中查看效果,用二維數組表明FO即free output)
1 2 3 4 5 6 1 total used free shared buffers cached 2 Mem: 24677460 23276064 1401396 0 870540 12084008 3 -/+ buffers/cache: 10321516 14355944 4 Swap: 25151484 224188 24927296
從操做系統的角度:
物理內存FO[2][1]=24677460KB
物理內存被使用的內存FO[2][2]=23276064KB
能夠用內存F[2][3]=1401396KB
等式:FO[2][1] = FO[2][2] + FO[2][3]
共享內存F[2][4]=0,表示幾個進程共享的內存(數據共享)
F[2][5]=870540表示已經分配可是還未使用的buffers大小
F[2][6]=12084008表示已經分配可是還未使用的buffers大小
buffer和cache的解釋:
也就是說buffer是用於存放要輸出到disk(塊設備)的數據的,而cache是存放從disk上讀出的數據。這兩者是爲了提升IO性能的,並由OS管理。
Linux和其餘成熟的操做系統(例如windows),爲了提升IO read的性能,老是要多cache一些數據,這也就是爲何FO[2][6](cached memory)比較大,而FO[2][3]比較小的緣由。咱們能夠作一個簡單的測試
第二次讀應該比第一次快不少。
free輸出的第二行是從一個應用程序的角度看系統內存的使用狀況。
由於被系統cache和buffer佔用的內存能夠被快速回收,因此一般FO[3][3]比FO[2][3]會大不少。
這裏還用兩個等式:
free命令的全部輸出值都是從/proc/meminfo中讀出的。
4) 掌握free命令的功能:顯示內存的使用狀態。(下面均爲centos7中查看效果)
http://www.linuxatemyram.com/提到使用free
命令查看Linux
系統使用內存時,used
一項會把當前cache
的大小也會加進去,這樣會形成free
這一欄顯示的內存特別少:
$ free -m total used free shared buff/cache available Mem: 1504 1491 13 0 855 869 Swap: 2047 6 2041
但是實際上,cache
根據應用程序的須要是能夠回收利用的,所以free
這一欄並不能真實地表現有多少「可使用」的內存。實際系統可用內存應該以available
數據爲準。
linuxatemyram
所提到的free
命令也許是比較老的版本,我嘗試了RHEL 7.2
,Ubuntu 16.04
和Arch Linux
這3
個Linux
發行版,均沒有出現used
包含cache
的狀況:
$ free -m total used free shared buff/cache available Mem: 64325 47437 3150 1860 13737 14373
另外,從man free
命令中也能夠獲得,目前計算used
的值是要減掉free
和buff/cache
的:
used Used memory (calculated as total – free – buffers – cache)
可使用-w
命令行選項獲得buff
和cache
各自使用的數量:
$ free -wm total used free shared buffers cache available Mem: 64325 48287 2476 1859 1430 12131 13524
須要注意的是,free
表示的是當前徹底沒有被程序使用的內存;而cache
在有須要時,是能夠被釋放出來以供其它進程使用的(固然,並非全部cache
均可以釋放,好比當前被用做ramfs
的內存)。而available
才真正代表系統目前能夠提供給應用程序使用的內存。/proc/meminfo
從3.14
內核版本開始提供MemAvailable
的值;在2.6.27
~3.14
版本之間,是free
程序本身計算available
的值;早於2.6.27
版本,available
的值則同free
同樣。
2. 系統中進程的監控—ps
1) 掌握進程的定義:進程是程序的一次動態執行。
2) 掌握守護進程的定義:守護進程是在後臺運行並提供系統服務的一些進程。
3) 掌握父進程、子進程的定義:當一個進程建立另外一個進程時,第1個進程被稱爲新進程的父進程,而新進程被稱爲子進程。
4) 掌握ps命令的功能:用來顯示當前進程的狀態。
Ps –aux 顯示全部的與用戶相關的完整信息
系統中進程的監控pstree、kill
centos7默認沒有pstree,須要yum -y install psmisc
1) 掌握pstree命令的功能:以樹狀圖顯示程序。
2) 掌握pstree命令的用法舉例:
例如:列出PID爲4729的進程的進程狀態樹的命令:pstree 4729
3) 掌握kill命令的功能:把一個信號發送給一個或多個進程。默認發送終止信號。
4) 靈活應用kill命令終止進程
例如:終止PID爲3852的進程的命令:kill 3852
5) 靈活應用kill -9命令殺死進程
例如:殺死PID爲3906的進程的命令:kill -9 3906
3. 掌握pgrep命令的功能:經過名稱或其餘屬性查找進程
例如:查找名爲firefox的進程的命令爲:pgrep firefox
4. 掌握pkill命令的功能:經過名稱或其餘屬性發信號給進程
例如:殺死名爲firefox的進程的命令爲:pkill firefox
硬件設備與文件名的對應關係
硬盤的結構及硬盤分區
爲何進行硬盤分區
硬盤的邏輯結構
Linux系統中硬盤的分區
硬盤分區的分類
分區數量的約束
使用fdisk和partprobe命令來管理硬盤分區
fdisk 命令的功能
fdisk命令列表中經常使用的命令
partprobe命令
建立文件系統(數據的管理)
什麼是格式化
什麼是文件系統
文件系統類型
mkfs命令的功能
mkfs命令的用法舉例
爲一個分區設定label(分區名)
e2label命令的功能
e2label命令的用法舉例
1. 硬件設備與文件名的對應關係
1) 掌握在Linux系統中,每一個設備都被當初一個文件來對待。
2) 掌握各類設備在Linux中的文件名
2. 硬盤的結構及硬盤分區
1) 瞭解爲何要進行硬盤分區:
a) 更容易管理和控制系統,由於相關的文件和目錄都放在一個分區中。
b) 系統效率更高。
c) 能夠限制用戶使用硬盤的份額(磁盤空間的大小)。
d) 更容易備份和恢復。
2) 掌握硬盤的邏輯結構:
一個硬盤邏輯上能夠被劃分紅塊、磁道、磁柱和分區。
3) 掌握塊的定義:塊是盤片上尋址(訪問)的最小單位,一個塊能夠存儲必定字節的數據。
4) 掌握磁道的定義:磁道是由一系列頭尾相連的塊組成的圓圈。
5) 掌握磁柱的定義:磁柱是由一疊磁道,由在相同半徑上每一個盤面的磁道所組成。
6) 掌握分區的定義:分區是由一組相鄰的磁柱所組成。
3. Linux系統中硬盤的分區(詳見linux系統管理P303)
1) 掌握硬盤分區的分類:硬盤的分區能夠分爲主分區、擴展分區和邏輯分區。
2) 掌握主分區的數量:在一個硬盤上最多能夠劃分出4個主分區。
3) 瞭解Linux操做系統的內核支持每一個硬盤上的分區數量仍是有必定限制的,Linux內核在每一個硬盤上能夠最多支持:
a) 在SCSI硬盤上劃分15個分區(Partitions)。
b) 在IDE硬盤上劃分63個分區(Partitions)。
4. 使用fdisk和partprobe命令來管理硬盤分區
1) 掌握fdisk命令的功能:建立磁盤分區。
2) 掌握fdisk命令列表中經常使用的命令:
a) d:刪除一個(已經存在的)分區,其中d是delete的第1個字母。
b) l:列出(已經存在的)分區的類型,其中l是list的第1個字母。
c) m:列出fdisk中使用的全部命令,其中m是menu的第1個字母。
d) n:添加一個新的分區,其中n是new的第1個字母。
e) p:列出分區表的內容,其中p是print的第1個字母。
f) q:退出fdisk,可是不存儲所作的變化,其中q是quit的第1個字母。
g) t:改變分區系統的id,其中t是title的第1個字母。
h) w:退出fdisk並存儲所作的變化,其中w是write的第1個字母。
3) 掌握partprobe命令的功能:從新初始化內存中內核的分區表。
5. 建立文件系統(數據的管理)(詳見linux系統管理P399)
1) 掌握格式化的定義:所謂的格式化就是將分區中的硬盤空間劃分紅大小相等的一些數據塊(Blocks),以及設定這個分區中有多少個i節點可使用等。
2) 掌握文件系統的定義:文件系統是操做系統用於明確磁盤或分區上的文件的方法和數據結構;即在磁盤上組織文件的方法。
3) 瞭解經常使用的文件系統類型
ext2:Linux系統中標準的文件系統
ext3:一種日誌式文件系統
ext4:一種針對ext3系統的擴展日誌式文件系統
lvm:邏輯盤卷管理
iso9660:目前惟一通用的光盤文件系統
4) 掌握mkfs命令的功能:格式化磁盤。
5) 靈活應用經常使用的格式化命令:
mkfs.文件系統類型
例如,將分區/dev/sdb1格式化爲ext4文件系統的命令爲:
mkfs.ext4 /dev/sdb1
6. 爲一個分區設定label(分區名)
1) 掌握e2label命令的功能:設定或查看一個設備的label名稱。
2) 靈活應用e2label命令設定label:
a) 例如:查看/dev/sdb1分區的label的命令爲:
e2label /dev/sdb1
b) 例如:將/dev/sdb1分區的label設定爲wg的命令:
e2label /dev/sdb1 wg
文件系統的掛載與卸載
什麼是掛載
mount命令的功能
mount命令的用法舉例
umount命令的功能
umount命令的用法舉例
利用/etc/fstab文件在開機時自動掛載文件系統
虛擬內存的概念以及設置與管理
什麼是虛擬內存
建立swap分區的步驟
使用硬盤分區建立和使用系統交換分區的實例
mkswap 命令的功能
mkswap 命令的用法舉例
swapon命令的功能
swapon -a
swapon -s
swapon命令的用法舉例
i節點
什麼是i節點
符號(軟)連接
什麼是符號連接
使用ln命令建立軟鏈接
硬連接
什麼是硬連接
使用ln命令建立硬連接
Linux系統中的文件類型
Linux系統中的常見文件類型
怎樣檢查磁盤空間
df命令
du命令
1. 文件系統的掛載與卸載
1) 掌握掛載的定義:掛載指將一個設備(一般是存儲設備)掛接到一個已存在的目錄上。
2) 掌握mount命令的功能:實現文件系統的掛載。
3) 靈活應用mount命令實現文件系統的掛載:
例如:將/dev/sdb1分區掛載到/wg目錄上的命令:
mount /dev/sdb1 /wg
4) 掌握umount命令的功能:實現文件系統的卸載。
5) 靈活應用umount命令實現文件系統的卸載:
例如:卸載/wg上的文件系統的命令:
umount /wg
2. 虛擬內存的概念以及設置與管理
1) 掌握虛擬內存的定義:所謂虛擬內存就是一塊硬盤空間被當作內存使用,也被稱爲交換分區(swap)。
2) 瞭解Linux交換分區的類型爲:0x82
3) 掌握mkswap命令的功能:設置交換分區。
4) 掌握使用mkswap命令設置交換分區的用法舉例:
例如:將分區/dev/sdb2設置爲交換分區的命令:mkswap /dev/sdb2
5) 掌握swapon命令的功能:啓動交換分區。
6) 掌握swapon –a命令的功能:啓動所有的交換分區。
7) 掌握swapon –s命令的功能:列出當前正在使用的全部系統交換分區的狀態。
8) 掌握使用swapon命令的用法舉例:
例如:啓用交換分區/dev/sdb2的命令:swapon /dev/sdb2
3. i節點(詳見linux系統管理P170)
1) 掌握i節點的定義:i節點其實是一個數據結構,它存放了有關一個普通文件、目錄或其餘文件系統對象的基本信息。
4. 符號(軟)連接
1) 掌握符號連接的定義:符號連接是指向另外一個文件的一個文件。
2) 掌握ln命令建立軟鏈接的用法舉例:
a) 爲wolf/dog.wolf.baby文件創建一個dog_ wolf.boy符號連接並放在bodydog目錄中的命令:
ln –s wolf/dog.wolf.baby bodydog/dog_ wolf.boy
5. 硬連接
1) 掌握硬連接的定義:一個硬連接(hard link)是一個文件名與一個i節點之間的對應關係,也能夠認爲一個硬連接是在所對應的文件上添加了一個額外的路徑名。
2) 掌握ln命令建立硬鏈接的用法舉例:
a) 爲wolf/wolf.dog文件在backup目錄中創建一個名爲wolf.dog2的硬連接命令:
ln wolf/wolf.dog backup/wolf.dog2
6. Linux系統中的文件類型
1) 掌握Linux系統中常見的文件類型:
-:普通文件(regular file),也有人稱爲正規文件。
d:目錄(directory)。
l:符號(軟)連接。
b:塊特殊文件(b是block的第1個字符),通常指塊設備,如硬盤。
c:字符特殊文件(c是character的第1個字符),通常指字符設備,如鍵盤。
7. 怎樣檢查磁盤空間(詳見linux系統管理P185)
1) 掌握df命令的功能:顯示文件系統中磁盤使用和空閒區的數量。
-a 顯示全部磁盤
-h 單位轉換
2) 掌握du命令的功能: 顯示目錄和文件的大小a h同上
使用ifconfig命令來維護網絡
ifconfig命令的功能
ifconfig命令的用法舉例
使用ifup和ifdown命令啓動和中止網卡
ifup命令的功能
ifdown命令的功能
ifup命令的用法舉例
ifdown命令的用法舉例
網絡配置文件
網卡對應的網絡配置文件
什麼是網絡配置
ip命令
ping命令
setup命令
1. 使用ifconfig命令來維護網絡
1) 掌握ifconfig命令的功能:顯示全部正在啓動的網卡的詳細信息或設定系統中網卡的IP地址。
2) 靈活應用ifconfig命令設定網卡的IP地址:
例如:修改eth0網卡的IP地址爲172.18.48.56和子網掩碼255.255.255.128的命令:
ifconfig eth0 172.18.48.56 netmask 255.255.255.128
2. 使用ifup和ifdown命令啓動和中止網卡
1) 掌握ifup命令的功能:啓動系統上指定的網卡。
2) 掌握ifdown命令的功能:中止系統上指定的網卡。
3) 掌握使用ifup命令啓用指定網卡的舉例:
例如:啓動eth0網卡的命令:ifup eth0
4) 掌握使用ifdown命令停用指定網卡的舉例:
只能做用於配置文件
例如:停用eth0網卡的命令:ifdown eth0
3. 網絡配置文件
1) 瞭解網卡的配置文件存放在/etc/sysconfig/network-scripts目錄中,且每一個網卡對應的配置文件的文件名以ifcfg-開始,如eth0這個網卡對應的網絡配置文件就是ifcfg-eth0。
補:虛擬機新添加網卡沒有配置文件需手動添加配置或圖形添加網卡
λ 掌握網絡配置的定義:所謂的網絡配置(設定)就是要修改網卡所對應的網絡配置文件,能夠經過使用文字編輯器(vi)直接編輯網絡配置文件來從新配置網絡。
使用RPM安裝及移除軟件
什麼是RPM
rpm的文件名
rpm軟件安裝與移除工做中常用的選項
查看RPM軟件包中的信息
查詢已安裝的軟件包信息
RPM包的屬性依賴性問題
什麼是RPM包的屬性依賴性問題
RPM包的屬性依賴性問題解決方法
將nginx編譯爲rpm包
1. 使用RPM安裝及移除軟件
1) 掌握RPM的定義:RPM就是Red Hat Package Manger(紅帽軟件包管理工具)的縮寫。
2) 瞭解rpm的文件名分爲5部分,其中:
第1部分是name,表示這個rpm軟件包的名稱;
第2部分是version,表示這個rpm軟件包的版本編號;
第3部分是release,表示這個rpm軟件包的版本發佈次數(修正號碼);
第4部分是architectures,表示這個rpm軟件包適用於哪些平臺;
最後一部分是rpm,表示這個rpm軟件包的文件擴展名。
3) 掌握rpm軟件安裝與移除工做中常用的選項:
a) –i:安裝(Install)軟件。
b) –U:升級(Upgrade)舊版本的軟件。
c) –e:移除/刪除(Erase)軟件。
d) –v:顯示詳細的處理信息。
e) –h:顯示安裝進度。卸載不能用
2. 查看RPM軟件包中的信息
1) 掌握經常使用的查詢已安裝的軟件包信息的命令:
a) rpm –qa:顯示目前操做系統上安裝的所有軟件包,其中q是query(查詢)的第1個字母,a是all(所有)的第1個字母。
Rpm –qa | grep dhcp
b) rpm –qf 文件名:顯示這個文件是由哪一個軟件包安裝的,f是file(文件)的第1個字母。
例如:列出安裝/bin/tar文件的軟件包的命令爲:rpm –qf /bin/tar
c) rpm –qi 軟件包名:顯示這個軟件包的信息,i是information(信息)的第1個字母。
例如:列出tar-1.14-10.RHEL4這個軟件包的詳細信息的命令:rpm –qi tar-1.14-10.RHEL4
d) rpm –ql 軟件包名:列出這個軟件包中所包含的所有文件,其中l是list的第1個字母。
例如:列出tar-1.14-10.RHEL4這個軟件包中所包含的所有文件的命令:rpm –ql tar
p數據包
3. RPM包的屬性依賴性問題
1) 掌握RPM軟件包的屬性依賴性問題的定義:所謂的RPM軟件包的屬性依賴性問題,即這個軟件包的安裝依賴於其餘軟件包的安裝。
yum的功能
本地yum配置
光盤掛載和鏡像掛載
本地yum配置
網絡yum配置
網絡yum配置
Yum命令的使用
使用yum安裝軟件
使用yum刪除軟件
安裝組件
刪除組件
清除緩存
查詢
1. yum的功能:yum是Yellow dog Updater, Modified的縮寫,目的就是爲了解決RPM的依賴關係的問題,方便使用者進行軟件的安裝、升級等等工做。
2. 掌握光盤掛載和鏡像掛載
a) 光盤掛載
mount /dev/sr0 掛載點
或者
mount /dev/cdrom 掛載點
b) 鏡像文件的掛載
mount -o loop -t iso9660 鏡像文件 掛載點
其中,-o loop:用來把一個文件當成硬盤分區掛接上系統
3. 掌握yum的配置
yum的配置通常有兩種方式,一種是直接配置/etc目錄下的yum.conf文件,另一種是在/etc/yum.repos.d目錄下增長.repo文件。
4. 掌握本地yum配置
[root@localhost ~]# mount /dev/cdrom /mnt #掛載光盤到/mnt目錄
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
rhel-source.repo
[root@localhost yum.repos.d]# cp rhel-source.repo rhel.repo #拷貝一份配置文件
[root@localhost yum.repos.d]# vi rhel.repo #編輯配置文件以下[rhel-local] #模塊名稱,須修改不能與其餘.repo文件中的重名name=Red Hat Enterprise Linux 6 local repo #名稱隨便起baseurl=file:///mnt #指定rpm倉庫的位置
enabled=1 #1開啓該配置,0爲關閉
gpgcheck=1 #1爲校對軟件
[root@localhost ~]# yum install vsftpd httpd #安裝vsftpd及httpd服務
5. 掌握遠程yum配置方法
6. 利用vsftpd搭建yum源服務器:
Vsftpd默認的配置文件是容許匿名訪問,這裏直接啓動就能夠了:
[root@localhost ~]# umount /dev/cdrom #卸載光盤
[root@localhost ~]# mount /dev/cdrom /var/ftp/pub/ #掛載光盤到vsftpd的公衆目錄
[root@localhost ~]# service vsftpd restart #重啓vsftpd服務
必須關閉防火牆和selinux
Service iptables stop
Getenforce :查看selinux狀態
臨時關閉:不用重啓:setenforce 0
0 permissive容許 1 enforcing 執行
配置客戶機:
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls #rhel.repo是按照本地yum配置生成的
rhel.repo rhel-source.repo
[root@localhost yum.repos.d]# cat rhel.repo #修改成如下內容
[rhel-ftp]
name=Red Hat Enterprise Linux 6
baseurl=ftp://192.168.8.42/pub #指定yum源地址
enabled=1
gpgcheck=1
測試:
[root@localhost ~]# yum install bind #安裝DNS服務
7. 掌握使用yum安裝軟件
yum –y install 軟件名
8. 掌握使用yum刪除軟件
yum –y remove 軟件名
9. 掌握使用yum安裝組件
yum –y groupinstall 組件名
10. 掌握使用yum刪除組件
yum –y groupremove 組件名
11. 掌握清除yum緩存
yum clean all
12. 使用yum查找軟件包
yum search
Samba的功能
Samba的安裝
Samba服務的啓動、中止、重啓
Samba服務的配置
Samba服務的主配置文件
samba服務器配置實例
Samba客戶端設置
windows客戶端
Linux客戶端
1. 掌握samba的功能: samba是一個網絡服務器,用於Linux和Windows之間共享文件。
2. 掌握samba服務的啓動、中止、重啓
service smb start|stop|restart
3. 掌握samba的主配置文件爲:/etc/samba/smb.conf
4. 掌握配置samba服務
注意:
1 客戶端要對目錄是否有權限,必須samba軟件放權+系統放權
2 每一個用戶的訪問方式是:\\服務端ip\用戶名,默認訪問本身的家目錄(該用戶對該目錄有w權限,且samba對用戶的家目錄開啓了writeable=yes的權限)
3 對於共享的目錄,是全部人打開目錄進行操做的,而不是一個打印機,因此printable必定要設置no
4 writeable=yes表明對全部用戶放行了寫權限,write list=user1,user2無效,由於放行的全部用戶中已然包含user1和user2
5 writeable=no,write list=user1,user2表明全部人都沒有寫權限,惟獨user1和user2有
comment = ...... 設置共享註譯
path = 設置共享目錄的物理路徑
valid users = @組名,用戶名 設置容許哪些合法組或用戶訪問
public = yes|no 設置共享資源是否能給遊客賬號訪問
browseable = yes|no 設置該共享爲隱藏共享
writable = yes|no 設置是否容許客戶端寫入數據
hosts allow = 設置容許訪問該共享的合法網段或IP
samba安全認證掌握兩種:share (匿名訪問)user:用戶名密碼
添加smb用戶和設置密碼:smbpasswd –a 用戶
Useradd u
5. 掌握windows客戶端的訪問方式
6.掌握Linux客戶端的訪問方式
源碼安裝:
yum install gcc-* glibc-* openssl openssl-devel pcre pcre-devel zlib zlib-devel -y
ls
tar xvf nginx-1.10.3.tar.gz
cd nginx-1.10.3
ls
./configure
./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --without-http_rewrite_module #--without-http_rewrite_module表明不使用重寫功能,即不會引用pcre庫,若是安裝過程當中出現pcre相關問題,能夠指定該參數
make
make install
說明:
pcre: 用來做地址重寫的功能。
zlib:nginx 的gzip模塊,傳輸數據打包,省流量(但消耗資源)。
openssl:提供ssl加密協議。
安裝:http://www.cnblogs.com/crazyacking/p/5138146.html
相關參數:http://blog.csdn.net/xifeijian/article/details/20956605
location:http://www.tuicool.com/articles/Jr63qy
正向代理,反向代理,透明代理:http://blog.csdn.net/u012572955/article/details/49357219
代理:A訪問B,A把本身的請求讓C代理,C去訪問B
正向代理:A明確地知道本身的代理C的存在,A明確地指定本身的代理地址是C,讓C去訪問B,拿到結果再給A,一般用來FQ
反向代理:用戶請求發給nginx後,由nginx負載給代理的機器,拿到結果,再由nginx返回給客戶端(如此,nginx便把一堆本身代理的機器隱藏到後端,外界訪問的就是nginx)
透明代理:用戶不知道代理的存在,用戶->交換機->路由器->代理服務器,代理服務器能夠控制用戶的上網行爲,好比限制用戶能夠訪問和不能夠訪問的網站,多用於用戶行爲管理
LB:http://nginx.org/en/docs/http/load_balancing.html
===============服務端
介紹:
NFS 是Network File System的縮寫,即網絡文件系統。一種使用於分散式文件系統的協定,由Sun公司開發,於1984年向外公佈。功能是經過網絡讓不一樣的機器、不一樣的操做系統可以彼此分享個別的數據,讓應用程序在客戶端經過網絡訪問位於服務器磁盤中的數據,是在類Unix系統間實現磁盤文件共享的一種方法。
NFS 的基本原則是「允許不一樣的客戶端及服務端經過一組RPC分享相同的文件系統」,它是獨立於操做系統,允許不一樣硬件及操做系統的系統共同進行文件的分享。
NFS在文件傳送或信息傳送過程當中依賴於RPC協議。RPC,遠程過程調用 (Remote Procedure Call) 是能使客戶端執行其餘系統中程序的一種機制。NFS自己是沒有提供信息傳輸的協議和功能的,但NFS卻能讓咱們經過網絡進行資料的分享,這是由於NFS使用了一些其它的傳輸協議。而這些傳輸協議用到這個RPC功能的。能夠說NFS自己就是使用RPC的一個程序。或者說NFS也是一個RPC SERVER。因此只要用到NFS的地方都要啓動RPC服務,不管是NFS SERVER或者NFS CLIENT。這樣SERVER和CLIENT才能經過RPC來實現PROGRAM PORT的對應。能夠這麼理解RPC和NFS的關係:NFS是一個文件系統,而RPC是負責負責信息的傳輸。
安裝:
yum install rpcbind nfs-utils -y
配置:
NFS服務的配置文件爲 /etc/exports,這個文件是NFS的主要配置文件,不過系統並無默認值,因此這個文件不必定會存在,可能要使用vim手動創建,而後在文件裏面寫入配置內容。
/etc/exports文件內容格式:
<輸出目錄> [客戶端1 選項(訪問權限,用戶映射,其餘)] [客戶端2 選項(訪問權限,用戶映射,其餘)]
a. 輸出目錄:
輸出目錄是指NFS系統中須要共享給客戶機使用的目錄;
b. 客戶端:
客戶端是指網絡中能夠訪問這個NFS輸出目錄的計算機
客戶端經常使用的指定方式
c. 選項:
選項用來設置輸出目錄的訪問權限、用戶映射等。
NFS主要有3類選項:
訪問權限選項
用戶映射選項
其它選項
修改配置
[root@MiWiFi-R3-srv nginx]# cat /etc/exports
/share 192.168.31.0/24(rw,sync,fsid=0)
開權限(nfs開啓了w權限還不行,others還須要對/share目錄有w權限)
chmod -R o+w /share
先爲rpcbind和nfs作開機啓動:
[root@MiWiFi-R3-srv nginx]# systemctl enable nfs-server.service
[root@MiWiFi-R3-srv nginx]# systemctl enable rpcbind.service
啓動(必須先啓動rpcbind服務)
[root@MiWiFi-R3-srv nginx]# systemctl start rpcbind.service
[root@MiWiFi-R3-srv nginx]# systemctl start nfs-server.service
確認nfs服務器啓動成功
[root@MiWiFi-R3-srv nginx]# rpcinfo
[root@MiWiFi-R3-srv nginx]# exportfs
/share 192.168.31.0/24
[root@MiWiFi-R3-srv nginx]# showmount -e #默認查看本身共享的服務,前提是要DNS能解析本身,否則容易報錯
Export list for MiWiFi-R3-srv:
/share 192.168.31.0/24
[root@MiWiFi-R3-srv nginx]# showmount -a #顯示已經與客戶端鏈接上的目錄信息
All mount points on MiWiFi-R3-srv:
=====================客戶端
yum install rpcbind nfs-utils -y
systemctl enable rpcbind.service && systemctl start rpcbind.service
showmount -e NFS服務器IP #檢查 NFS 服務器端是否有目錄共享
mount -t nfs 192.168.31.106:/share /var/www/html/
=====================測試
基於nginx的負載均衡配置,打開後端被代理服務的access.log日誌,tail -f access.log來觀察訪問,訪問LB刷新頁面發現內容保持一致,可是每臺被代理的機器的access.log日誌都有新的內容進來
什麼是計劃任務:
後臺運行,到了預約的時間就會自動執行的任務,前提是:事先手動將計劃任務設定好。這就用到了crond服務
crond服務相關的軟件包
[root@MiWiFi-R3-srv ~]# rpm -qa |grep cron
cronie-anacron-1.4.11-14.el7.x86_64
crontabs-1.11-6.20121102git.el7.noarch
cronie-1.4.11-14.el7.x86_64
這些包在最小化安裝系統時就已經安裝了,而且會開機自啓動crond服務,併爲咱們提供好編寫計劃任務的crontab命令。
計劃任務分爲兩類:系統級和用戶級
首先須要知道的是,不管是系統級仍是用戶級的cron計劃都是文本文件,系 統的計劃文件存放在/etc/crontab路徑下。用戶的計劃文件放在/var/spool/cron/用戶名,無論是哪種,均可以知足咱們定製計劃任務的需求。
root用戶能夠直接對文件進行修改來編寫計劃任務也可使用 crontab -e命令,而普通用戶只能使用後者。除此以外,系統crontab文件中任務的定義也有所不一樣,在前五個部分以後插入了一個「用戶」部分。
[root@MiWiFi-R3-srv ~]# cat /etc/crontab #查看全局計劃任務
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
* * * * * root run-parts /test #run-parts命令,能夠執行一個目錄下全部的可執行文件,目錄下文件必須有執行權限
You have new mail in /var/spool/mail/root
[root@MiWiFi-R3-srv ~]# crontab -u tom -l #經過命令查看用戶tom的計劃任務
*/1 * * * * echo 123213123213
[root@MiWiFi-R3-srv ~]# cat /var/spool/cron/tom #從文件中查看用戶tom的計劃任務
*/1 * * * * echo 123213123213
crontab命令編寫計劃任務
語 法:crontab [-u <用戶名稱>][配置文件] 或 crontab [-u <用戶名稱>][-elr]
crontab任務配置基本格式:
* * * * * command
分鐘(0-59) 小時(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0表明星期天) 命令
第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令
參 數:
-e 編輯該用戶的計時器設置。
-l 列出該用戶的計時器設置。
-r 刪除該用戶的計時器設置。
-u<用戶名稱> 指定要設定計時器的用戶名稱。
注意:
1 查看計劃任務的執行:tail -f /var/log/cron
2 寫計劃任務時,命令必須加上絕對路徑,不然會出現這種狀況:從日誌中看,確實觸發了計劃任務的執行,可是命令卻沒有執行成功,好比* * * * * reboot就會出現這種狀況,須要將reboot寫成/usr/sbin/reboot
crontab例子:
30 21 * * * /usr/local/etc/rc.d/apache restart #每晚的21:30 重啓apache
45 4 1,10,22 * * /usr/local/etc/rc.d/apache restart #每個月一、十、22日的4 : 45重啓apache
10 1 * * 6,0 /usr/local/etc/rc.d/apache restart #每週6、週日的1 : 10重啓apache
0,30 18-23 * * * /usr/local/etc/rc.d/apache restart #天天18 : 00至23 : 00之間每隔30分鐘重啓apache
0 23 * * 6 /usr/local/etc/rc.d/apache restart #每星期六的11 : 00 pm重啓apache
* 23-7/1 * * * /usr/local/etc/rc.d/apache restart #晚上11點到早上7點之間,每隔一個小時的每分鐘重啓 apache
0 */1 * * * /usr/local/etc/rc.d/apache restart #每一小時重啓apache
0 11 4 * mon-wed /usr/local/etc/rc.d/apache restart #每個月的4號與每週一到週三的11點重啓apache
0 4 1 jan * /usr/local/etc/rc.d/apache restart #一月一號的4點重啓apache
*/30 * * * * /usr/sbin/ntpdate 210.72.145.44 #每半小時同步一下時間
0 */2 * * * www /usr/bin/somecommand >> /dev/null 2>&1 #以用戶www的身份每兩小時就運行某個程序:
0 1 * * * /home/testuser/test.sh #天天1點調用/home/testuser/test.sh
*/10 * * * * /home/testuser/test.sh #每10鐘調用一次/home/testuser/test.sh
30 21 * * * /usr/local/etc/rc.d/lighttpd restart #天天的21:30重啓lighttpd
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart #每個月一、十、22日的4 : 45重啓lighttpd
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart #每週6、週日的1 : 10重啓lighttpd
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart #上面的例子表示在天天18 : 00至23 : 00之間每隔30分鐘重啓apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart #上面的例子表示每星期六的11 : 00 pm重啓lighttpd
* */2 * * * /usr/local/etc/rc.d/lighttpd restart #每兩小時的每分鐘重啓lighttpd
0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart #晚上11點到早上7點之間,每隔一小時重啓lighttpd
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart #每個月的4號與每週一到週三的11點重啓lighttpd
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart #一月一號的4點重啓lighttpd
*/30 * * * * /usr/sbin/ntpdate 210.72.145.44 #每半小時同步一下時間
對於一些常見的時間格式能夠用如@yearly的方式代替
@reboot 表明的意思Run once, at startup.
@yearly 表明的意思Run once a year, "0 0 1 1 *".
@annually 與@yearly相贊成思
@monthly 表明的意思Run once a month, "0 0 1 * *".
@weekly 表明的意思Run once a week, "0 0 * * 0".
@daily 表明的意思Run once a day, "0 0 * * *".
@midnight 與@daily的意思相同
@hourly 表明的意思Run once an hour, "0 * * * *".
除此以外,系統還有一些自帶的計劃任務
cron默認配置了調度任務,分別爲:hourly、daily、weekly、mouthly,默認配置文件爲/etc/anacrontab
將須要執行的腳本放到相應的目錄下便可,目錄分別爲:
/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/ect/cron.mouthly
查看cron服務是否起做用:
若是咱們要查看定時任務是否準時調用了能夠/var/log/cron中的運行信息
cat /var/log/cron
也能夠用tail -f /var/spool/mail/用戶名,來查看普通用戶的計劃任務執行狀況
此處須要記住兩點:
第一:cron 守護進程每分鐘都檢查 /etc/crontab 文件、etc/cron.d/ 目錄、以及 /var/spool/cron 目錄中的改變。若是發現了改變,它們就會被載入內存。這樣,當某個 crontab 文件改變後就沒必要從新啓動守護進程了。
第二:crontab的用戶手冊中推薦每個命令使用絕對路徑,例如調用rm命令時寫做:/bin/rm,這是爲了防止因爲每個用戶的PATH環境變量不一樣而致使命令沒法找到的錯誤。
網上查詢到的資料crontab不執行的問題:
轉自:http://blog.csdn.net/jbgtwang/article/details/7995801
第一,腳本的緣由:大多數狀況下,咱們要相信科學,相信計算機,不是有鬼,就是咱們的腳本的問題,這種問題致使crontab不能執行的機率佔到 70%以上。由於程序執行到某一步致使crontab終止執行,我就碰到一次在遷移代碼的時候將數據庫連錯了。致使沒法訪問而死在那裏了。
第二,執行環境問題,當咱們碰到第一狀況下,通常均可以經過手動執行程序將問題扼殺在搖籃裏,通常狀況下高手是不該該犯第一種錯誤的。問題是當咱們 手動執行成功而crontab不能執行的時候,筆者碰到一次就是執行環境的問題,例如相關路徑的設置問題。解決方案:在代碼最前面執行 source /home/user/.bash_profile
第三,系統時間不正確。這種問題最好理解,也是比較常見和隱蔽的問題,解決方案:date -s ********
第四,就是咱們的腳本是否有可執行權限。必須保證執行腳本的用戶有執行改文件的權限。
第五,crontab 守護進程死掉了。這種狀況是極少發生的,但也不排除,當咱們實在是找不到其餘緣由的時候能夠用。解決方案:重啓該進程。
第六,crontab不執行的問題困擾了好長時間,腳本寫的都正確,可是就是不執行,最終解決方法以下:
crontab -u root /var/spool/cron/root
這樣root用戶的crontab就生效了
service crond restart
重啓下服務就行了
第七,crond沒有啓動
第八,腳本編碼問題,腳本在window下編寫,傳到linux下後報「鍩?!/bin/bash」,用vi編輯器新建新shell腳本,輸入內容後保存。
第九
最初始階段
當咱們打開計算機電源,計算機會自動從主板的BIOS(Basic Input/Output System)讀取其中所存儲的程序。這一程序一般知道一些直接鏈接在主板上的硬件(硬盤,網絡接口,鍵盤,串口,並口)。如今大部分的BIOS容許你從軟盤、光盤或者硬盤中選擇一個來啓動計算機。
下一步,計算機將從你所選擇的存儲設備中讀取起始的512 bytes(好比光盤一開是的512 bytes,若是咱們從光盤啓動的話)。這512 bytes叫作主引導記錄MBR (master boot record)。MBR會告訴電腦從該設備的某一個分區(partition)來裝載引導加載程序(boot loader)。Boot loader儲存有操做系統(OS)的相關信息,好比操做系統名稱,操做系統內核 (kernel)所在位置等。經常使用的boot loader有GRUB和LILO。
隨後,boot loader會幫助咱們加載kernel。kernel其實是一個用來操做計算機的程序,它是計算機操做系統的內核,主要的任務是管理計算機的硬件資源,充當軟件和硬件的接口。操做系統上的任何操做都要經過kernel傳達給硬件。Windows和Linux各自有本身kernel。狹義的操做系統就是指kernel,廣義的操做系統包括kernel以及kernel之上的各類應用。
(Linus Torvalds與其說是Linux之父,不如說是Linux kernel之父。他依然負責Linux kernel的開發和維護。至於Ubuntu, Red Hat, 它們都是基於相同的kernel之上,囊括了不一樣的應用和界面構成的一個更加完整的操做系統版本。)
實際上,咱們能夠在多個分區安裝boot loader,每一個boot loader對應不一樣的操做系統,在讀取MBR的時候選擇咱們想要啓動的boot loader。這就是多操做系統的原理。
小結:BIOS -> MBR -> boot loader -> kernel
kernel
若是咱們加載的是Linux kernel,Linux kernel開始工做。kernel會首先預留本身運行所需的內存空間,而後經過驅動程序(driver)檢測計算機硬件。這樣,操做系統就能夠知道本身有哪些硬件可用。隨後,kernel會啓動一個init進程。它是Linux系統中的1號進程(Linux系統沒有0號進程)。到此,kernel就完成了在計算機啓動階段的工做,交接給init來管理。
小結: kernel -> init process
init process
(根據boot loader的選項,Linux此時能夠進入單用戶模式(single user mode)。在此模式下,初始腳本尚未開始執行,咱們能夠檢測並修復計算機可能存在的錯誤)
隨後,init會運行一系列的初始腳本(startup scripts),這些腳本是Linux中常見的shell scripts。這些腳本執行以下功能:
設置計算機名稱,時區,檢測文件系統,掛載硬盤,清空臨時文件,設置網絡……
當這些初始腳本,操做系統已經徹底準備好了,只是,尚未人能夠登陸!!!init會給出登陸(login)對話框,或者是圖形化的登陸界面。
輸入用戶名(好比說vamei)和密碼,DONE!在此後的過程當中,你將以用戶(user)vamei的身份操做電腦。此外,根據你建立用戶時的設定,Linux還會將你歸到某個組(group)中,好比能夠是stupid組,或者是vamei組。因此你將是用戶vamei, 同時是vamei組的組員。(注意,組vamei和用戶vamei只是重名而已,就好想你能夠叫Dell, 同時仍是Dell公司的老闆同樣。你徹底也能夠是用戶vamei,同時爲stupid組的組員)總結BIOS -> MBR -> boot loader -> kernel -> init process -> login用戶,組