前言: 本文是聽的b站韓順平老師 linux 課程的 52~62 集所做的筆記,大家可以配套該文章學習韓老師的 Linux 課程,大家可以收藏起來,以后要用時,隨用隨查,
文章目錄
- 1. crond 任務調度
- 1.1 crontab 進行定時任務的設定
- 1.2 at 定時任務
- 2. Linux 磁盤磁區、掛載
- 2.1 磁區原理
- 2.2 硬碟說明
- 2.3 增加一塊硬碟的方式
- 2.3.1 虛擬機添加硬碟
- 2.3.2 磁區
- 2.3.3 格式化(給磁區指定檔案型別)
- 2.3.4 掛載
- 2.3.5 設定可以自動掛載/永久掛載
- 2.4 磁盤情況實用指令
- 2.4.1 查看所有設備掛載情況
- 2.4.2 查詢系統整體磁盤使用情況
- 2.4.3 查詢指定目錄的磁盤占用情況
- 2.4.4 統計某個目錄檔案夾下檔案的個數
- 2.4.5 統計某個目錄檔案夾下目錄的個數
- 2.4.6 以樹狀顯示目錄結構
1. crond 任務調度
什么是任務調度呢?
是指系統在某個時間執行的特定的命令或程式
任務調度分類
- 系統作業:有些重要的作業必須周而復始地執行,如病毒掃描等
- 個別用戶作業:個別用戶可能希望執行某些程式,如對 mysql 資料庫的備份
1.1 crontab 進行定時任務的設定
指令:crontab [選項]
常用選項:
| 選項 | 描述 |
|---|---|
| -e | 編輯 crontab 定時任務 |
| -l | 查詢 crontab 任務 |
| -r | 洗掉當前用戶所有的 crontab 任務 |
示例一:我們如果要將這個任務 ls -l /etc/ > /tmp/to.txt
設定個人任務調度指令:
crontab -e接著輸入任務到調度檔案,如:
*/1**** ls -l /etc/ > /tmp/to.txt其中5個 “*” 號占位符說明:
含義 第一個 “*” 一小時當中的每分鐘都執行一次 0-59( */1:表示每隔一分鐘執行一次)第二個 “*” 一天當中的每小時都執行一次 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分鐘就執行一遍命令
1.2 at 定時任務
介紹:
- at 命令是一次性定時任務,at 的守護行程 atd 會以后臺模式運行,檢查作業佇列來運行
- 默認情況下,atd 守護行程每60秒檢查作業佇列,有作業時,會檢查作業運行時間,如果時間與當前時間匹配,則運行此作業
- at 命令時一次性定時計劃任務,執行完成一個任務后不會再執行此任務了
- 在使用 at 命令時,一定要保證 atd 行程的啟動,可以使用相關指令來查看
指令:at [選項] [時間]
結束 at 命令輸入指令:ctrl + d(輸入兩次)
檢測當前所有運行的行程資訊指令:ps -ef
檢查當前有無運行的 atd 行程指令:ps -ef | grep atd
選項介紹:
| 選項 | 含義 |
|---|---|
| -m | 當指定的任務被完成后,將給用戶發送郵件,即使沒有標準輸出 |
| -I | atq 的別名 |
| -d | atrm 的別名 |
| -v | 顯示任務將被執行的時間 |
| -c | 列印任務的內容到標準輸出 |
| -V | 顯示版本資訊 |
| -q 指定佇列 | 使用指定佇列 |
| -f 檔案 | 從指定檔案讀入任務而不是從標準輸入讀入 |
| -t 時間引數 | 以時間引數的形式提交要運行的任務 |
at 指定時間的方法:
- 接受在當天的 hh:mm(小時:分鐘)式的時間指定,假如該時間已過去,那么就在第二天執行
- 使用 midnight(深夜)、noon(中午)、teatime(飲茶時間,一般是下午4點)等比較模糊的詞語來指定時間
- 采用12小時計時制,即在時間后面加上 AM(上午)或 PM(下午)來說明是上午還是下午
- 指定命令執行的具體日期,指定格式為:month day(月 日)或 mm/dd/yy(月/日/年)或 dd.mm.yy(日.月.年),指定的日期必須跟在指定時間的后面
- 使用相對計時法,指定格式為:now + count time-untis,now 就是當前時間,time-untis 是時間單位,這個單位可以是:minutes(分鐘)、hour(小時)、days(天)、weeks(星期),count 是時間的數量,
- 直接使用 today(今天)、tomorrow(明天)來指定完成命令的時間
2. Linux 磁盤磁區、掛載
2.1 磁區原理
-
Linux 無論有幾個磁區,分給哪一目錄使用,它歸根結底就只有一個根目錄,一個獨立且唯一的檔案結構,Linux 中每個磁區都是用來組成整個檔案系統的一部分,
-
Linux 采用了一種叫”載入“的處理方式,它的整個檔案系統中包含了一整套的檔案和目錄,且將一個磁區和一個目錄聯系起來,這時要載入的一個磁區將使它的存盤空間在一個目錄下獲得,
2.2 硬碟說明
-
Linux 硬碟分 IDE 硬碟和 SCSI 硬碟,目前基本上是 SCSI 硬碟
-
對于 IDE 硬碟,驅動器識別符號為
hdx~,其中-
hd:表明磁區所在設備的型別,這里是指 IDE 硬碟 -
x:為盤號(a:基本盤,b:基本從屬盤,c:輔助盤,d:輔助從屬盤) -
~:代表磁區,前四個磁區用數字1到4表示,它們是主磁區或擴展區,從5開始就是邏輯磁區, -
示例1:hda3 表示為第一個 IDE 硬碟上的第三個主磁區或擴展磁區
-
示例2:hdb2 表示為第二個 IDE 硬碟上的第二個主磁區或擴展磁區
-
-
對于 SCSI 硬碟,驅動識別符號為
sdx~SCSI 硬碟是用
sd來表示區分所在的設備的型別,其余則和 IDE 硬碟的表示方法一樣
2.3 增加一塊硬碟的方式
2.3.1 虛擬機添加硬碟
在虛擬機選單中,選擇設定,然后設備串列里添加硬碟,然后一路下一步,中間只有選擇磁盤大小的地方需要修改,直到完成,然后重啟系統
2.3.2 磁區
磁區指令:fdisk /dev/磁盤名
輸入上述指令開始對新磁盤進行磁區操作:
開始磁區后輸入n,新增磁區,然后選擇p,讓磁區型別為主磁區,兩次回車默認剩余全部空間,最后輸入w寫入磁區并退出
一些磁區操作選項:
m:顯示命令串列
p:顯示磁盤磁區
n:新增磁區
d:洗掉磁區
w:寫入并退出
注意:
磁區最后一定要輸入w寫入并退出,如果不保存退出則輸入q
2.3.3 格式化(給磁區指定檔案型別)
格式化磁盤磁區指令:mkfs -t 檔案型別 /dev/磁區名
2.3.4 掛載
掛載就是將一個磁區與一個目錄聯系起來
掛載指令:mount 設備名稱 掛載目錄
示例:mount /dev/sdb1 /newdisk/
卸載指令:umount 設備名稱 或 umount 掛載目錄
注意:
- 卸載后原來磁區記憶體放的檔案一九存在
- 用命令列掛載后,如果重啟之前掛載的就會失效
2.3.5 設定可以自動掛載/永久掛載
通過修改 /etc/fstab 實作永久掛載
先 vim /etc/fstab,然后在里面添加要掛載的資訊,如圖
紅框框的為添加的掛載資訊,UUID 那塊除了寫掛載時的 UUID,也可以寫 設備名稱,
最后再保存退出
添加完成后,再執行 mount -a ,則即刻生效
2.4 磁盤情況實用指令
2.4.1 查看所有設備掛載情況
指令:lsblk 或 `lsblk -f
2.4.2 查詢系統整體磁盤使用情況
指令:df -h
2.4.3 查詢指定目錄的磁盤占用情況
指令:du -h /目錄(不帶目錄的話默認為當前目錄)
常用引數:
-s:指定目錄占用大小匯總
-h:帶計量單位
-a:含檔案
--max-depth=1:子目錄深度為1
-c:列出明細的同時,增加匯總量
2.4.4 統計某個目錄檔案夾下檔案的個數
指令1:ls -l 目錄 | grep "^-" | wc -l (不包含子檔案夾里的)
指令2:ls -lR 目錄 | grep "^-" | wc -l (包含子檔案夾里的)
2.4.5 統計某個目錄檔案夾下目錄的個數
指令1:ls -l 目錄 | grep "^d" | wc -l (不包含子檔案夾里的)
指令:ls -lR 目錄 | grep "^d" | wc -l (不包含子檔案夾里的)
2.4.6 以樹狀顯示目錄結構
指令:tree 目錄
注意:
如果沒有 tree,則需要通過指令
yum install tree進行安裝
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/317751.html
標籤:其他
上一篇:反序列化漏洞復現總結
下一篇:Linux-shell編程入門

