CentOS簡單上手——第五篇

系列篇:

1. crond 任務調度

crond 進行定時任務的設置

1.1 概述

  • 任務調度:是指系統在某個時間段執行的特定的命令或程序
  • 任務調度分類:
  1. 系統工作:有些重要的工作必須周而復始地執行,如病毒掃描等
  2. 個別用戶工作:個別用戶可能希望執行某些程序,比如對 mysql 數據庫的備份。

1.2 基本語法

crontab 【選項】

1.3 常用選項

在這裏插入圖片描述

1.4 快速入門

設置任務調度文件:/etc/crontab
設置個人任務調度:執行 crontab -e 命令
接着輸入任務到調度文件
如:*/1 * * * * ls -l /etc/ >> /tmp/to.txt
意思說每小時的每分鐘執行 ls -l /etc/ >> /tmp/to.txt 命令

1.4.1 演示案例

首先設置個人任務調用,終端輸入:crontab -e進入編輯模式
在這裏插入圖片描述
在這裏插入圖片描述
然後我們等待1分鐘後進入 /tmp/目錄下發現出現了 ok.txt 文件
在這裏插入圖片描述
然後我們查看此文件的內容,發現正是 ls -l 指令輸出的內容
在這裏插入圖片描述

1.4.2 參數細節說明

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

1.5 任務調度的幾個案例

  1. 每隔1分鐘,就將當前的日期信息,追加到 /tmp/mydate 文件中
  • 先編寫一個文件 /home/mytask1.sh
    date >> /tmp/mydate
  • 給 mytask1.sh 一個可執行權限
    chmod 744 /home/mytask1.sh
  • crontab -e 編輯
*/1 * * * *  /home/mytask1.sh
  • 成功
  1. 每隔1分鐘,將當前日期和日曆都追加到 /home/mycal 文件中
  • 先編寫一個文件 /home/mytask2.sh
    date >> /tmp/mycal
    cal >> /tmp/mycal
  • 給 mytask1.sh 一個可執行權限
    chmod 744 /home/mytask2.sh
  • crontab -e 編輯
*/1 * * * *  /home/mytask2.sh
  • 成功
  1. 每天凌晨 2:00 將 mysql 數據庫 testdb,備份到文件中。

1.6 crond 相關指令

  • crontab -r:終止任務調度
  • crontab -l:列出當前有哪些任務調度
  • service crond restart:【重啓任務調度】

2. Linux 磁盤分區介紹

2.1 分區的方式

  • mbr 分區:
    最多支持四個主分區
    系統只能安裝在主分區
    擴展分區要佔一個主分區
    MBR最大隻支持2TB,但擁有更好的兼容性

  • grp分區
    支持無限多個主分區(但操作系統可能限制,比如 windows 下最多 128 個分區)
    最大支持 18EB 的大容量(1EB=1024PB, 1PB=1024TB)
    windows7 64位以後支持 gtp

2.2 windows 磁盤分區示意圖

在這裏插入圖片描述

2.3 Linux 分區

2.3.1 原理介紹

  • Linux 來說無論有幾個分區,分給哪一目錄使用,它歸根結底只有一個根目錄,一個獨立且唯一的文件結構,Linux 中每個分區都是用來組成整個文件系統的一部分。
  • Linux 採用了一種叫“載入”的處理方法,它的整個文件系統中包含了一整套的文件和目錄,且將一個分區和一個目錄練習起來。這時要載入的一個分區將使它的存儲空間在一個目錄下獲得。
  • 示意圖
    在這裏插入圖片描述

2.3.2 硬盤說明

  • Linux 硬盤分爲 IDE 硬盤和 SCSI 硬盤,目前基本上是 SCSI 硬盤
  • 對於 IDE 硬盤,驅動器標識符位 “hdx~”,其中 “hd” 表明分區所在設備的類型,這裏是指 IDE 硬盤了,“x"爲盤號(a 爲基本盤、b爲基本從屬盤、c爲輔助主盤、d爲輔助從屬盤)”~"代表分區,前四個分區用數字1到4表示,它們是主分區或擴展分區,從5開始就是邏輯分區,例如:had3 表示爲第一個 IDE 硬盤上的第三個主分區或擴展分區,hdb2 表示爲第二個 IDE 硬盤上的第二個主分區或擴展分區。
  • 對於 SCSI 硬盤則標識爲 “sdx~”,SCSI 硬盤是用 “sd” 來表示分區所在設備的類型的,其餘則和 IDE 硬盤的表示方法一樣。

2.3.3 使用 lsblk 指令查看當前系統的分區情況

在這裏插入圖片描述

2.4. 掛載的經典案例

需求是給我們的 Linux 系統增加一個新的硬盤,並且掛載到 /home/newdisk
在這裏插入圖片描述

2.4.1 如何增加一塊硬盤

1.虛擬機添加硬盤
2.分區 【分區指令 fdisk /dev/sdb】
3.格式化 【格式化指令 mkfs -t ext4 /dev/sdb1】
4.掛載 【掛載指令 mount /dev/sdb1 /home/newdisk】
先創建一個 /home/newdisk
【這個只是臨時掛載】
5.設置可以自動掛載【永久掛載,重啓系統,也不會影響到掛載】
vim /etc/fstab
/dev/sdb1 /home/newdisk ext4 defaults 0 0
mount -a

2.5 具體的操作步驟整理

2.5.1 虛擬機增加硬盤步驟 1

在【虛擬機】菜單中,選擇【設置】,然後設備列表裏添加硬盤,然後一路【下一步】,中間只有選擇磁盤大小的地方需要修改,直到完成,然後重啓系統【才能識別】!
在這裏插入圖片描述

2.5.2 虛擬機增加硬盤步驟 2

分區命令 fdisk /dev/sdb
開始對 /sdb 分區
m 顯示命令列表
p 顯示磁盤分區 同 fdisk -1
n 新增分區
d 刪除分區
w 寫入並推出
說明:開始分區後輸入n,新增分區,然後選擇p,分區類型爲主分區,兩次回車默認剩餘全部空間。最後輸入 w 寫入分區並退出,若不保存退出輸入q
在這裏插入圖片描述

2.5.3 虛擬機增加硬盤步驟 3

格式化磁盤
分區命令 mkfs -t ext4 /dev/sdb1
其中 ext4 是分區類型

2.5.4 虛擬機增加硬盤步驟 4

掛載:將一個分區與一個目錄聯繫起來
mount 設備名稱 掛載目錄
umount 設備名稱 掛載目錄

2.5.5 虛擬機增加硬盤步驟 5

永久掛載:通過修改 /etc/fstab 實現掛載
添加完成後 【/dev/sdb1 /home/newdisk ext4 defaults 0 0】
執行 mount -a 即刻生效
在這裏插入圖片描述

2.6 磁盤情況查詢

2.6.1 查詢系統整體磁盤使用情況

基本語法:df -lh
應用實例:查詢系統整體磁盤使用情況
在這裏插入圖片描述

2.6.2 查詢指定目錄的磁盤佔用情況

基本語法:du -h /目錄
查詢指定目錄的磁盤佔用情況,默認爲當前目錄
-s 指定目錄佔用大小彙總
-h 帶計量單位
-a 含文件
–max-depth=1 子目錄深度
-c 列出明細的同時,增加彙總值
應用實例:查詢 /opt 目錄的磁盤佔用情況,深度爲1
在這裏插入圖片描述

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

1.統計 /home 文件夾下文件的個數

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

在這裏插入圖片描述

2.統計 /home 文件夾下目錄的個數

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

在這裏插入圖片描述

3.統計 /home 文件夾下文件的個數,包括子文件夾裏的

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

4.統計文件夾下目錄的個數,包括子文件夾裏的

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

5.以樹狀顯示目錄結構
首先安裝 tree,然後在進行查詢

yum install tree
tree 

在這裏插入圖片描述

3. Linux 網絡配置

3.1 Linux 網絡配置原理圖(含虛擬機)

目前我們的網絡配置採用的是 NAT 模式
在這裏插入圖片描述

3.2 查看網絡 IP 和網關

3.2.1 查看虛擬網絡編輯器

在這裏插入圖片描述

3.2.2 修改 ip 地址(修改虛擬機的ip地址)

在這裏插入圖片描述

3.2.3 查看網關

在這裏插入圖片描述

3.2.4 查看 windows 環境的網絡 Ip

  • 通過 ipconfig 查看
    在這裏插入圖片描述

  • 界面查看

3.3 ping 測試主機之間網絡連通

3.3.1 基本語法

ping 目的主機 (功能描述:測試當前服務器是否可以鏈接目的主機)

3.3.2 應用實例

測試當前服務器是否可以連接百度
在這裏插入圖片描述

3.4 Linux 網絡環境配置

3.4.1 方法一【自動獲取】

說明:登陸後,通過界面的來設置自動獲取 ip
在這裏插入圖片描述
在這裏插入圖片描述

特點:linux 啓動後會自動獲取 ip,缺點是每次自動獲取的 ip 地址可能不一樣。

3.4.2 方式二【指定固定 IP】

  • 說明:直接修改配置文件來指定 IP,並可以連接到外網(程序員推薦),編輯 /etc/sysconfig/network-scripts/ifcfg-eth0
    要求:將 ip 地址配置的靜態的,ip 地址爲 192.168.184.130
    修改後,一定要重啓服務【兩種方式】
  • service network restart
  • reboot 重啓機器

4 Linux 進程管理

4.1 Linux 進程基本介紹

1.在Linux中,每個執行的程序、代碼都稱爲一個進程,每一個進程都分配一個ID號。
2.每一個進程,都會對應一個父進程,而這個父進程可以複製多個子進程,例如www服務器。
3.每個進程都可能以兩種方式存在的。前臺與後臺,所謂前臺進程就是用戶目前的屏幕可以進行操作的。後臺進程則是實際在操作,但由於屏幕上無法看到的進程,通常使用後臺方式執行。
4.一般系統的服務都是以後臺進程的方式存在,而且都會常駐在系統中, 直到關機才結束。

4.2 顯示系統執行的進程

說明:查看進程使用的指令是:ps,一般來說使用的參數是:ps -aux
在這裏插入圖片描述
在這裏插入圖片描述

4.2.1 ps 指令詳解

  1. 指令:ps -aux | grpe xxx
  2. 指令說明:
    • System V 展示風格
    • USER:用戶名稱
    • PID:進程號
    • %CPU:進程佔用CPU的百分比
    • %MEM:進程佔用物理內存的百分比
    • VSZ:進程佔用的虛擬內存大小(單位:KB)
    • RSS:進程佔用的物理內存大小(單位i:KB)
    • TT:終端名稱縮寫
    • STAT:進程狀態,S-睡眠,s-表示該進程是會話的先導進程,N-表示進程擁有比普通優先級更低的優先級,R-正在運行,D-短期等待,Z-僵死進程,T-被跟蹤或者被停止。
    • STARTED:進程的啓動時間
    • TIME:CPU時間,即進程使用CPU的總時間
    • COMMAND:啓動線程所用的命令和參數,如果過長會被截斷顯示

4.2.2 應用實例

要求:以全格式顯示當前所有的進程,查看進程的父進程。
在這裏插入圖片描述

  • ps -ef 是以全格式顯示當前所有的進程
  • -e 顯示所有的進程。-f 全格式
  • ps -ef | grep xxx
    • 是BDS風格
    • UID:用戶ID
    • PID:進程ID
    • PPID:父進程ID
    • C:CPU用於計算執行優先級的因子,數值越大,表明進程是CPU密集型運算,執行優先級會降低,數值越小,表明進程是I/O密集型運算,執行優先級會提高
    • STIME:進程啓動的時間
    • TTY:完成的終端名稱
    • TIME:CPU時間
    • CMD:啓動進程所用的命令和參數

4.3 終止進程 kill 和 killall

4.3.1 基本介紹

若是某個進程執行一半需要停止時,或是已經消耗了很大的系統資源,此時可以考慮停止該進程,使用 kill 命令來完成此項任務。

4.3.2 基本語法

kill 【選項】 進程號(功能描述:通過進程號殺死進程)
killall 進程名稱(功能描述:通過進程名稱殺死進程,也支持通配符,這在系統因負載過大而變得很慢時很有用)

4.3.3 常用選項

-9 :表示強迫進程立即停止

4.3.4 最佳實踐

  1. 踢掉某個非法登陸用戶

在這裏插入圖片描述

  1. 終止遠程登陸服務 sshd,在適當時候再次重啓 sshd 服務

在這裏插入圖片描述

  1. 終止多個 gedit 編輯器【killall,通過進程名稱來終止進程】
killall gedit
  1. 強制殺掉一個終端【】
kill -9 進程號

在這裏插入圖片描述

4.4 查看進程樹 pstree

4.4.1 基本語法

pstree 【選項】 可以更直觀的來看進程信息

4.4.2 常用選項

-p:顯示進程的 PID
-u:顯示進程的所屬用戶

4.4.3 應用實例

  1. 請以樹狀的形式顯示進程的 pid

在這裏插入圖片描述

  1. 請以梳狀的形式顯示進程的用戶 id
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章