Linux課堂篇3_Linux目錄結構、快捷鍵、常用基礎命令
本文已參與「新人創作禮」活動,一起開啟掘金創作之路。
目錄
此係列部落格為大三下期末小學期課程大資料疫情分析平臺專案學習學習筆記,內容參考中共教育講義檔案
- Linux目錄結構
- Linux快捷鍵
- Linux命令
- 命令分類
- 快捷鍵
- 基本命令
- 常用命令
- 使用者管理命令
- 檔案許可權命令
- 磁碟大小檢視命令
- 搜尋查詢命令
- 解壓縮命令
- 後臺服務管理類命令
- 上傳下載類
- 軟體安裝解除安裝命令
- crontab系統定時任務
一、Linux目錄結構
以一般的Linux系統CentOS為例,系統目錄有 Linux每個目錄都有自己約定俗成的用處,或者說Linux的不同檔案分門別類地放到了專門的資料夾,雖然Linux沒有強制性的要求我們必須按照這些規定放置檔案,但是為了方便起見,還是遵守約定的好。
- /bin:是Binary的縮寫,這個目錄存放著系統必備執行命令,比如ls、cat
- /boot:這裡存放的是啟動Linux時使用的一些核心檔案,包括一些連線檔案以及映象檔案,自己的安裝別放這裡。
- /dev:Device(裝置)的縮寫,該目錄下存放的是Linux的外部裝置,在Linux中訪問裝置的方式和訪問檔案的方式是相同的,比如光碟機就被對映為/dev/cdrom檔案。
- /etc:所有的系統管理所需要的配置檔案和子目錄,例如網路配置
- /home:存放普通使用者的主目錄,在Linux中每個使用者都有一個自己的目錄,一般該目錄名是以使用者的賬號命名的,例如我們在建立完普通使用者hadoop後,就會在/home下建立一個子目錄/home/hadoop,作為hadoop使用者的家目錄,但是注意root的家不在這裡,在其家是/root。
- /lib:系統開機所需要最基本的動態連線共享庫,其作用類似於Windows裡的DLL檔案。幾乎所有的應用程式都需要用到這些共享庫。 本科 計算機專業
- /lib64:開機時常用的動態連結庫64位,bin及sbin指令也會呼叫對應的lib庫。
- /media:linux系統會自動識別一些裝置,例如U盤、光碟機等等,當識別後,linux會把識別的裝置掛載到這個目錄下。
- /mnt:系統提供該目錄是為了讓使用者臨時掛載別的檔案系統的,我們可以將光碟機掛載在/mnt/上,然後進入該目錄就可以檢視光碟機裡的內容了。
- /opt:這是給主機額外安裝軟體所擺放的目錄。比如你安裝一個ORACLE資料庫則就可以放到這個目錄下。預設該目錄是空的。
- /proc:這個目錄是一個虛擬的目錄,它是系統記憶體的對映,我們可以通過直接訪問這個目錄來獲取系統資訊。
- /root:該目錄為系統管理員,也稱作超級許可權者的使用者主目錄。
- /run: 系統執行時所產生的資訊,以前放置在/var/run中,後來拆分成獨立的/run目錄。
- /sbin:s就是Super User的意思,這裡存放的是系統管理員使用的系統管理程式。
- /srv:service縮寫,該目錄存放一些服務啟動之後需要提取的資料。
- /sys: 這是linux2.6核心的一個很大的變化。該目錄下安裝了2.6核心中新出現的一個檔案系統 sysfs 。
- /tmp:這個目錄是應用程式存放一些臨時檔案的,類似於Windows的回收站,裡面的內容會定期刪除。
- /usr:使用者的很多應用程式和檔案都放在這個目錄下,類似於windows下的program files目錄。
- /var:這個目錄中存放著在不斷擴充著的東西,我們習慣將那些經常被修改的目錄放在這個目錄下,例如各種日誌檔案。
二、Linux命令
1、命令分類
可以分為兩種命令,可以使用type xxx
檢視是哪種命令
- 內部命令:也稱作內建命令,隨著Linux系統啟動而載入到記憶體中,是常駐記憶體的,呼叫速度快,執行效率高。
- 外部命令:在Linux系統啟動時並不隨系統一起被載入到記憶體中,而是在需要時才將其從磁碟載入到記憶體中,呼叫速度相對較慢。
2、快捷鍵
語法 功能描述
- ctrl + c
停止程序
- ctrl + l
清屏
- tab鍵
自動補全命令
- 上下鍵
查詢執行過的命令
3、基本命令
(1)who
whoami
顯示自身使用者名稱稱who am i
顯示登入使用者的使用者名稱who
看當前有哪些使用者登入到了本臺機器上
(2)pwd
pwd
顯示當前工作目錄的絕對路徑
(3)cd
cd 絕對路徑
切換到所給的絕對路徑下cd 相對路徑
切換到所給的相對路徑下cd ~
或者cd
回到自己的家目錄cd -
回到上一次所在目錄cd ..
回到當前目錄的上一級目錄
(4)ifconfig
ifconfig
檢視網路配置資訊
(5)history
history
檢視歷史命令(1000條)
4、常用命令
1、幫助類命令,作用:檢視命令的含義以及使用方法。
whatis + 命令
描述一個命令執行什麼功能man + 命令
Man即manual手冊的簡寫。指的是命令的使用手冊help + 內部命令
檢視內部命令的使用幫助
2、文字編輯命令vi/vim
在Windows中,我們可以使用記事本、word等等應用程式來編輯檔案,那麼在Linux裡面我們需要使用vi或者vim編輯器來編輯檔案。vi或者vim編輯器也是作為Linux中的命令存在的。
vi/vim + 檔案
進入某檔案的編輯介面對檔案內容進行編輯,vi 是老式的文書處理器,來源於Unix作業系統,所有的類Unix系統也都會內建vi文字編輯器。vim可以理解為是vi的增強版,現在可稱為“Vi Improved”(Vi改進版),原來也被稱為“Vi Imitation”(Vi模擬版),vim比vi擁有更強大的編輯能力,增加了以字型顏色辨別語法的正確性,跨平臺使用等功能,更加方便了程式的設計。
我們在使用vi/vim時。主要有三種模式:==一般模式、編輯模式、指令模式==,不同模式有不同的功能,根據自己的需要使用不同的模式。
2.1一般模式
用vi/vim 開啟一個檔案就直接進入一般模式了。在該模式中,可以使用上下左右按鍵來移動游標, 也可以使用複製、貼上、刪除等功能來處理檔案內容,但是這裡的複製、貼上、刪除與Windows的操作是不同的。
y + 數字N + y
從游標閃爍處開始往後複製N行p
即paste,將複製的內容貼上到游標所在行的下一行u
即undo,撤銷上一步的操作dd
即delete,刪除游標所在的當前行shift + ^
移動到游標所在行的行頭shift + $
移動到游標所在行的行尾gg
移動到檔案的第一行shift + g
移動到檔案的末尾行數字N + shift + g
移動到檔案的第N行處
2.2 編輯模式
在一般模式中可以進行刪除、複製、貼上等等的動作,但是卻無法編輯檔案內容。我們需要進入編輯模式才可以編輯具體內容,我們可以在一般模式下鍵入『i, I, o, O, a, A, r, R
』等任一字母就可進入編輯模式。
進入編輯模式,會在左下方出現『INSERT 或 REPLACE 或 插入
』的字樣。編輯完成後,按下『Esc
』這個按鍵可退出編輯模式,回到一般模式,在一般模式下,可以進入指令模式,選擇儲存或者不儲存檔案。
- 鍵入
“i”
在游標所在位置處進入編輯模式 - 鍵入
“I”
將游標定位到所在行的行頭進入編輯模式 - 鍵入
“a”
將游標定位到當前位置的下一位元組進入編輯模式 - 鍵入
“A”
將游標定位到所在行的行尾進入編輯模式 - 鍵入
“o”
在游標所在行的下一行新建一行進入編輯模式 - 鍵入
“O”
在游標所在行的上一行新建一行進入編輯模式
2.3 指令模式
該模式也被稱之為底行模式,在一般模式下,輸入『: / ?
』3箇中的任何一個按鍵,就可以將游標移動到頁面最底一行進入到指令模式,在該模式下可以進行儲存、不儲存、顯示行號、搜尋關鍵字等操作。按下『Esc』這個按鍵可退出編輯模式。
- 鍵入
“:或 / 或 ?”
在一般模式下進入指令模式 - 鍵入
“:”後輸入“w”
並回車 儲存 - 鍵入
“:”後輸入“q”
並回車 退出文字編輯器 - 鍵入
“:”後輸入“wq”
並回車 儲存文字內容並退出文字編輯器 - 鍵入
“:”後輸入“!”
並回車 強制執行 - 鍵入
“:”後輸入“q!”
並回車 不儲存檔案,強制退出文字編輯器 - 鍵入
“:”後輸入“wq!”
並回車 強制儲存並退出文字編輯器,注意:一般模式下按下Shift + z + z
對非只讀檔案實現快速儲存 - 鍵入
“/”後輸入“關鍵詞”
並回車 查詢檔案中的關鍵詞,按n
向下查詢下一個關鍵詞 - 鍵入
“?”後輸入“關鍵詞”
並回車 查詢檔案中的關鍵詞,按n
向上查詢下一個關鍵詞
3、檔案目錄命令
(1) ls
ls + [選項] + 目錄
顯示指定目錄下的所有子目錄和檔案,選項:
- -a :all,全部的檔案,連同隱藏的文件( 開頭為 . 的檔案) 一起列出來(常用)
- -l :以詳情列表列出,包含檔案的屬性與許可權等等資料;(常用)
- -i :檢視檔案的inode號(inode儲存檔案的詳細資訊)
(2)touch
touch + 檔名稱
用來建立新的空檔案
(3)mkdir
mkdir + [選項] +要建立的目錄
建立一個新的目錄,選項:
- -p :遞迴建立多級目錄, mkdir -p d1/d2/d3
(4)echo 和 重定向
echo:輸出內容
。重定向:將資料寫入到指定檔案,分為覆蓋寫“>”
和追加寫“>>”
echo + 輸出內容(文字/命令結果/變數)
將內容進行輸出顯示,如echo `date`
輸出當前日期,echo $PWD
輸出當前目錄echo + 輸出內容 >> 檔案
將輸出內容追加儲存在指定檔案中echo + 輸出內容 > 檔案
將輸出內容覆蓋儲存在指定檔案中
(5)printf
printf + 格式 + 引數
將資料指定格式進行輸出,如printf "%s \t %d \t %s \n" "zhangsan" 16 "man"
(6)mv
mv + 原檔名 + 新檔名
對檔案進行重新命名mv + 檔案/目錄 + 路徑
將檔案/目錄移動到指定路徑下
(7)cp
cp + 原檔案 + 目標路徑
將一個或多個檔案複製到指定的路徑下
(8)cat
cat + [選項] + 檔案
檢視檔案內容,從第一行開始輸出顯示,選項:-n
:列出行號,連同空白行也會有行號
(9)tac
tac + 檔案
將檔案內容倒序輸出
(10)head
head + [選項] + 檔案
從頭開始顯示檔案內容,預設顯示前10行。案例:[[email protected] test]# head vi測試資料.txt
(11)tail
tail + [選項] + 檔案
倒序按行顯示檔案內容,預設顯示後10行。案例:[[email protected] test]# tail vi測試資料.txt
(12)more
more + 檔案
檢視檔案內容,一頁一頁的顯示檔案內容,並且顯示當前檢視檔案的進度。功能使用說明:
- 空白鍵 (space)或按Ctrl+F:向下翻一頁
- 按Enter鍵:向下翻一行
- 按f鍵:向下翻兩頁
- 按b鍵:向上翻一頁
- 按=:輸出當前行的行號
- 按v鍵:呼叫vi編輯器
- 輸入/ +
搜尋的字串,按回車進行搜尋,按n匹配下一個字串
- 按q鍵:離開more ,不再顯示該檔案內容
(13)less
less + 檔案
使用與more比較類似,可檢視檔案內容,功能使用說明:
- 按Enter鍵或向下鍵:代表向下翻一行
- 按y鍵或向上鍵:代表向上翻一行
- 按pagedown鍵或f鍵或空格鍵:向下翻動一頁
- 按pageup鍵或b鍵:向上翻動一頁
- 輸入/ + 需要搜尋的字串
,按回車進行搜尋,按n匹配下一個字串按N匹配上一個字串
- 輸入? + 需要搜尋的字串
,按回車進行搜尋,按n匹配上一個字串按N匹配下一個字串
- 按v鍵:呼叫vi編輯器
- 按q鍵:離開less,不再顯示該檔案內容
(14)egrep
egrep + 字串規則 + 檔案或目錄
在檔案或目錄中查詢指定的字串。案例:
shell
[[email protected] test]# egrep 99 測試資料.txt
this is line 99
this is line 199
this is line 299
this is line 399
this is line 499
(15)rm
rm + [選項] + 檔案或目錄
刪除檔案或目錄選項:
- -r :刪除目錄以及其下的所有檔案
- -f :省略“是否刪除”的確認詢問
(16)rmdir
rmdir + 要刪除的空目錄
刪除一個空目錄
5、使用者管理命令
(1)useradd + 使用者名稱
新增新使用者(前提是有許可權)。案例:[[email protected] ~]# useradd hadoop
(2)passwd + 使用者名稱
設定使用者密碼
(3)id + 使用者名稱
判斷使用者是否存在
(4)su + 使用者名稱 切換使用者,只能獲得使用者執行許可權,不能獲得環境變數
(5)visudo 等價於vi /etc/sudoers,修改使用者許可權
(6)sudo + 命令 設定普通使用者以root使用者許可權執行命令
6、檔案許可權命令
(1)檔案屬性
Linux系統是一種典型的多使用者系統,不同的使用者處於不同的地位,擁有不同的許可權。為了保護系統的安全性,Linux系統對不同的使用者訪問同一檔案(包括目錄檔案)的許可權做了不同的規定。在Linux中我們可以使用ll
或者ls –l
命令來顯示一個檔案的屬性以及檔案所屬的使用者和組。
```shell [[email protected] test]# ll 總用量 20 drwxr-xr-x. 3 root root 16 1月 31 16:30 d1 -rw-r--r--. 1 root root 76 1月 31 16:02 test1.txt -rw-r--r--. 1 root root 66 1月 31 15:44 test2.txt
從左到右的10個字元表示: 如果沒有許可權,就會出現減號[ - ]而已。從左至右用0-9這些數字來表示:
1、 第0位表示型別
- 代表檔案
d 代表目錄
c 字元流,串列埠裝置,例如鍵盤、滑鼠(一次性讀取裝置)
s socket
p 管道
l 連結文件(link file)
b 裝置檔案,可供儲存的介面裝置(可隨機存取裝置)
2、 第1-3位確定屬主(該檔案的所有者)擁有該檔案的許可權。---User
3、 第4-6位確定屬組(所有者的同組使用者)擁有該檔案的許可權,---Group
4、 第7-9位確定其他使用者擁有該檔案的許可權 ---Other
```
(2)檔案許可權
作用到檔案
powershell
許可權 解讀
r 代表可讀(read): 可以讀取,檢視
w 代表可寫(write): 可以修改,但是不代表可以刪除該檔案,刪除一個檔案的前提條件是對該檔案所在的目錄有寫許可權,才能刪除該檔案。
x 代表可執行(execute):可以被系統執行
作用到目錄
```powershell 許可權 解讀 r 代表可讀,可以檢視目錄中的檔案列表 w 代表可修改,可對目錄內的檔案進行建立、刪除、移動等操作 x 代表可以進入該目錄
```
(3)chmod修改許可權變更檔案或目錄的許可權
使用字母方式改變許可權,chmod + {ugoa} {+-=} {rwx} + 檔案或目錄
第一個引數
- u:所屬主
- g:所屬組
- o:其它使用者
- a:(all)代表ugo
第二個引數
- +:增加許可權
- -:去掉許可權
- =:僅有某些許可權
第三個引數 - r - w - x
```powershell [[email protected] test]# ll -rw-r--r--. 1 root root 76 1月 31 16:02 test1.txt
為當前使用者加上執行的許可權
[[email protected] test]# chmod u+x test1.txt [[email protected] test]# ll -rwxr--r--. 1 root root 76 1月 31 16:02 test1.txt
為當前使用者刪除執行的許可權
[[email protected] test]# chmod u-x test1.txt [[email protected] test]# ll -rw-r--r--. 1 root root 76 1月 31 16:02 test1.txt
為當前組使用者賦予 僅有某些許可權
[[email protected] test]# chmod g=wx test1.txt [[email protected] test]# ll -rw--wxr--. 1 root root 76 1月 31 16:02 test1.txt
為所有使用者,但是不包含root使用者取出w許可權
[[email protected] test]# chmod a-w test1.txt [[email protected] test]# ll -r----xr--. 1 root root 76 1月 31 16:02 test1.txt
```
使用數字方式改變許可權,chmod + 十進位制數字 + 檔案或目錄
變更檔案或目錄的許可權
舉慄
```powershell [[email protected] test]# ll -rwxrw-r--. 1 root root 76 1月 31 16:02 test1.txt
[[email protected] test]# chmod 644 test1.txt [[email protected] test]# ll -rw-r--r--. 1 root root 76 1月 31 16:02 test1.txt ```
(4)chown變更檔案或目錄的所有者(只有root使用者可操作)
chown + 使用者名稱 + 檔案或目錄
變更檔案或目錄的所有者
- chown + 使用者名稱:使用者組 + 檔案或目錄
變更檔案或目錄的所有者及所屬組
- chown -R + 使用者名稱 + 目錄
遞迴變更目錄的所有者
- chown -R + 使用者名稱:使用者組 + 目錄
遞迴變更目錄的所有者及所屬組
案例:
7、磁碟大小檢視命令
(1)df + [選項]
列出檔案系統的整體磁碟使用情況
選項:
- -k :以 KBytes 的容量顯示各檔案系統(預設);
- -m :以 MBytes 的容量顯示各檔案系統;
- -h :以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示;
- -T :顯示檔案系統型別
(2)du + [選項] + [檔案或目錄]
用於顯示目錄或檔案的大小
選項:
- -k :以1KB為單位;
- -m :以1MB為單位;
- -h :以K,M,G為單位,提高資訊的可讀性;
(3)iostat + [選項]
用於監控磁碟IO及CPU的負載情況
iostat命令是I/O statistics(輸入/輸出統計)的縮寫,主要用於監控並統計系統裝置的IO負載情況及CPU負載情況,僅對系統的整體情況進行分析,不能對某個程序進行深入分析。主要用它來檢查哪個裝置有問題,哪個裝置io有問題,使用者可以通過指定統計的次數和時間來獲得所需的統計資訊。iostat屬於sysstat軟體包。可以用yum install sysstat 直接安裝。選項: - -d :只顯示磁碟使用情況; - -c :只顯示CPU使用情況; - -k :以 KB 為單位顯示 - -m :以 MB 為單位顯示 - -t :顯示統計的時間 - -x :顯示詳細資訊; - -N :顯示磁碟名稱; - -p :顯示每個磁碟的詳細資訊,比如sda這個磁碟分了兩個區,都要讓它顯示出來數字n1 + 數字n2 :每隔n1秒統計一次,共統計n2次
查出來的每列代表意義,結果分為兩部分:cpu統計資訊、裝置統計資訊。 - %user:使用者模式下所花費CPU時間的百分比,合理值為<60% - %nice:使用者程序改變過優先順序的程序佔用CPU時間的百分比 - %system:核心程序所花費的CPU時間的百分比,合理值為%user+%system <80% - %iowait:IO等待所佔用的CPU時間的百分比(重要),合理值為<30%(不同功能的伺服器不同,比如郵件伺服器會比該值要大) - %steal:丟失時間佔用CPU時間的百分比,一般來說%idle持續遊走在20%以下,說明CPU繁忙,空閒太少,瓶頸出現在CPU的效能層面。%iowait高而%idle 在70%以上,說明cpu不忙,但是資料還在等待讀寫,瓶頸出現在IO裝置層面,也就是磁碟有問題。 - Device:裝置名稱,這裡還有個dm,它是disk mapper的縮寫,可以在/dev/mapper下查對應關係,或者使用iostat -N 直接顯示出磁碟分割槽對應關係。 - tps:裝置每秒接受的I/O傳輸請求tps = transfers per second - kB_read/s裝置每秒讀取的資料量(KB),引數-m可以換成MB - kB_wrtnls裝置每秒寫入的資料量(KB),引數-m可以換成MB - kB_read裝置讀取的總資料量 - kB_wrtn裝置寫入的總資料量
8、搜尋查詢命令
(1)find + 選項 + 引數
在指定目錄下查詢檔案
-
選項:
-name + filename
:查詢名為filename的檔案 -
舉慄:按名稱查詢:查詢/root目錄以及子目錄下包含cf的檔案
[[email protected] ~]# find /root/ -name '*cf*'
(2)grep + [選項] + [引數]
在文字中根據條件按行匹配查詢內容。grep命令是一種強大的文字搜尋工具,它能使用正則表示式搜尋文字,並把匹配的行打印出來,它通常配合管道符一塊使用。管道符,“|”
,表示將前一個命令的處理結果輸出傳遞給後面的命令處理。選項:
- -c :顯示有多少行被匹配到
- -n :顯示行號
- -i :忽略大小寫
- -v :反向搜尋,即不顯示要搜尋的東西
```powershell [[email protected] ~]# ll | grep txt -rw-r--r--. 1 offcn root 0 1月 28 20:19 aa.txt -rw-r--r--. 1 root root 0 1月 28 20:39 bb.txt
[[email protected] ~]# ll | grep -n txt 2:-rw-r--r--. 1 offcn root 0 1月 28 20:19 aa.txt 4:-rw-r--r--. 1 root root 0 1月 28 20:39 bb.txt
```
(3)which + 命令
查詢並顯示某個系統命令是否存在,以及顯示給定命令的絕對路徑
(4)ps + [選項]
檢視當前系統的程序狀態。選項:
- -a :顯示現行終端機下的所有程式,包括其他使用者的程式。
- -u :以使用者為主的格式來顯示程式狀況。
- -x :顯示所有程式,不以終端機來區分。
查出來的每列代表的含義
- 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:產生此程序的命令名
另外,也可以使用ps -ef,那麼ps -ef 和ps -aux 有什麼區別呢?
其實區別不是很大,這就要追溯到Unix系統中的兩種風格,System V風格和BSD 風格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,兩者輸出略有不同。目前大部分Linux系統都是支援使用這兩種方式。
(5)pstree + [選項]
以樹狀圖的方式比較直觀的展現程序之間的派生關係。選項:
- -p :顯示程序的PID
- -u :顯示程序的所屬使用者
(6)top + [選項]
實時動態地檢視系統的整體執行情況選項:
- -d + 秒數 :指定top命令每隔幾秒更新。預設是3秒。
- -i :使top不顯示任何閒置或者僵死程序。
- -p :通過指定監控程序ID來僅僅監控某個程序的狀態。
9、解壓縮命令
tar + 選項 + 引數
為linux的檔案或目錄建立壓縮包。選項:
- -c :產生.tar打包檔案 create
- -v :顯示詳細資訊 verbose
- -f :指定壓縮後的檔名 filename
- -z :打包同時壓縮
- -x :解包.tar檔案
舉慄 ```powershell
將1.txt 2.txt my.zip test壓縮到my.tar.gz
[[email protected] opt]# tar -zcvf my.tar.gz 1.txt 2.txt my.zip test
將my.tar.gz解壓到當前目錄
[[email protected] opt]# tar -zxvf my.tar.gz
```
10、後臺服務管理類命令
(1)service + 服務名 + 指令
用來臨時啟動、停止、重新啟動和關閉系統服務,以及顯示系統服務的當前狀態。它是centos6舊命令
- service 服務名 start :開啟服務
- service 服務名 stop :關閉服務
- service 服務名 restart :重新啟動服務
- service 服務名 status :檢視服務狀態
舉慄
```powershell 檢視防火牆服務狀態 [[email protected] ~]# service firewalld status 關閉防火牆服務 [[email protected] ~]# service firewalld stop 啟動防火牆服務 [[email protected] ~]# service firewalld start 重啟防火牆服務 [[email protected] ~]# service firewalld restart
```
(2)systemctl + 指令 + 服務名
系統服務管理器指令,將service和chkconfig這兩個命令組合到一起。既能臨時啟停服務,也能設定開機自啟。它是centos7 新命令。
- systemctl start 服務名 :開啟服務
- systemctle stop 服務名 :關閉服務
- systemctl restart 服務名 :重新啟動服務
- systemctl status 服務名 :檢視服務狀態
- systemctl --type service :檢視正在執行的服務
- systemctl list-unit-files :檢視所有伺服器自啟配置
- systemctl disable 服務名 :關掉指定服務的自動啟動
- systemctl enable 服務名 :開啟指定服務的自動啟動
- systemctl is-enabled 服務名 :檢視服務開機啟動狀態
舉慄
```powershell 1. 臨時啟停服務
檢視防火牆服務狀態 [[email protected] ~]# systemctl status firewalld 關閉防火牆 [[email protected] ~]# systemctl stop firewalld 開啟防火牆 [[email protected] ~]# systemctl start firewalld 重啟防火牆 [[email protected] ~]# systemctl restart firewalld 檢視所有正在執行的服務 [[email protected] ~]# systemctl --type service
- 開機自啟服務管理
檢視防火牆服務的開機自啟狀態 [[email protected] ~]# systemctl is-enabled firewalld 設定防火牆服務開機自啟 [[email protected] ~]# systemctl enable firewalld 設定防火牆服務開機不自啟 [[email protected] ~]#systemctl disable firewalld
```
11、上傳下載類
(1)wget:用來從指定的URL下載檔案。wget非常穩定,它在頻寬很窄的情況下和不穩定網路中有很強的適應性,如果是由於網路的原因下載失敗,wget會不斷的嘗試,直到整個檔案下載完畢,所以支援斷點續傳。
- 格式:wget+選項+引數
- centos7預設已經安裝了wget命令,如果沒有該命令的話,可以通過一下方式安裝。[[email protected] ~]# yum install -y wget
舉慄
```powershell 1. 檢視幫助手冊 [[email protected] ~]# wget --help
-
下載檔案到當前目錄 [[email protected] ~]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
-
下載支援斷點續傳,並將下載的檔案重新命名 [[email protected] ~]# wget -c -O 163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo ```
12、軟體安裝解除安裝類命令
(1)軟體離線安裝rpm
RPM(RedHat Package Manager),即Rethat軟體包管理工具,類似windows裡面的exe可執行檔案,因Centos系統來自於Redhat,故Centos系統也可以使用這種軟體包管理方式,它是Linux這系列作業系統裡面的打包安裝工具,它雖然是RedHat的標誌,但理念是通用的。 缺點:需要自己解決軟體包的依賴問題,要手動將某個軟體依賴的軟體安裝。
RPM包的名稱格式:
powershell
Apache-1.3.23-11.i386.rpm
-“apache” 軟體名稱
-“1.3.23-11”軟體的版本號,主版本和此版本
-“i386”是軟體所執行的硬體平臺
-“rpm”副檔名,代表RPM包
格式:rpm+選項+引數
。舉慄
```powershell 1. 查詢所有已安裝rpm包 [[email protected] ~]# rpm -qa
-
查詢是否已經安裝火狐 [[email protected] ~]# rpm -qa|grep firefox firefox-52.7.0-1.el7.centos.x86_64
-
解除安裝rpm包
- 格式:rpm -e rpm軟體包
-
格式:rpm -e --nodeps rpm軟體包,如果要解除安裝的某個rpm包被其它rpm包依賴,可以通過加--nodeps引數強制解除安裝。
-
解除安裝火狐安裝包: [[email protected] ~]# rpm -e firefox-52.7.0-1.el7.centos.x86_64
```
(2)軟體線上安裝yum
YUM(全稱為 Yellow dog Updater, Modified),是在Fedora和RedHat以及SUSE中基於rpm的軟體包管理器,它可以使系統管理人員互動和自動化地更細與管理RPM軟體包,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
格式:yum+選項+引數
- 選項-y:對所有提問都回答“yes”
- 引數:install:安裝rpm軟體包;update:更新rpm軟體包;check-update:檢查是否有可用的更新rpm軟體包;remove:刪除指定的rpm軟體包;list:顯示yum倉庫的軟體包資訊;clean:清理yum過期的快取;deplist:顯示yum軟體包的所有依賴關係
舉慄
```powershell 1. 清理所有緩衝資料 [[email protected] ~]# yum clean all
-
安裝火狐瀏覽器 [[email protected] ~]# yum install firefox
-
刪除火狐瀏覽器 [[email protected] ~]# yum remove firefox ```
13、crontab系統定時任務
(1)crontab
用來提交和管理使用者的需要週期性執行的任務,與windows下的計劃任務類似,當安裝完成作業系統後,預設會安裝此服務工具,並且會自動啟動crond程序,crond程序每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。
crontab + [選項]
用來提交和管理使用者的需要週期性執行的任務。選項:
- -e :編輯crontab定時任務
- -l :查詢crontab任務
- -r :刪除當前使用者所有的crontab任務
舉慄:[[email protected] ~]# crontab -l
(2)crontab表示式
當要週期性的執行某個任務的時候,需要指定時間,這個指定時間的表示式就是crontab表示式,用5個*
來表示,即*****
,每個*
的具體含義如下:
- 第一個“*” 一小時當中的第幾分鐘 0-59
- 第二個“*” 一天當中的第幾小時 0-23
- 第三個“*” 一個月當中的第幾天 1-31
- 第四個“*” 一年當中的第幾月 1-12
- 第五個“*” 一週當中的星期幾 0-7(0和7都代表星期日)
特殊符號:
- *
代表任何時間。比如第一個“”就代表一小時中每分鐘都執行一次的意思。
- ,
代表不連續的時間。比如“0 8,12,16 * * 命令”,就代表在每天的8點0分,12點0分,16點0分都執行一次命令
- -
代表連續的時間範圍。比如“0 5 * * 1-6命令”,代表在週一到週六的凌晨5點0分執行命令
- */n
代表每隔多久執行一次。比如“*/10 * * * * 命令”,代表每隔10分鐘就執行一遍命令
(3)案例分析
```powershell 時間 含義
15 20 * * 命令 在20點15分執行命令 1 17 * 2 命令 每週2 的17點1分執行命令 0 19 1,15 * 命令 每月1號和15號的19點0分執行命令 0 9 * 1-5 命令 每週一到週五的凌晨9點0分執行命令 /10 5 * * 命令 每天的凌晨5點開始,到6點結束,每隔10分鐘執行一次命令 0 0 1,15 * 1 命令 每月1號和15號,每週1的0點0分都會執行命令。注意:星期幾和幾號最好不要同時出現,因為定義的都是天。非常容易讓管理員混亂。
舉慄
執行crontab -e,向裡面新增週期性任務。新增時,使用方式跟vi編輯器相同。
新增如下:
/1 * * * /bin/echo date
>> /tmp/test.txt
然後執行
[[email protected] ~]# crontab -e
```