第三列:硬鏈接數(shù)
1结笨、 什么是硬鏈接许饿?
具有相同inode節(jié)點(diǎn)號的文件互為硬鏈接。
2、 硬鏈接的原理胸嘴?
3诽嘉、 測試
ln創(chuàng)建硬鏈接
作用:
1挺举、 備份捐名,防止誤刪。
目錄的硬鏈接
不支持人工創(chuàng)建目錄硬鏈接
軟鏈接:
本質(zhì)是快捷方式谜嫉,指向源文件實(shí)體萎坷,本身和源文件是不同的文件。
工作中為什么使用軟鏈接沐兰?
第二個用途:
/etc/對應(yīng)的分區(qū)要滿了哆档,沒法放很多文件
軟鏈接和硬鏈接的區(qū)別?
Linux文件的刪除原理:
1住闯、 靜態(tài)文件:沒有進(jìn)程或程序正在訪問的文件瓜浸。
所有的硬鏈接數(shù)為0(i link),即所有的硬鏈接都被干掉了寞秃,包括自身斟叼。
硬鏈接的數(shù)量的代表變量符號
rm -f 文件名 執(zhí)行完 其實(shí)文件也沒刪偶惠。
a. 系統(tǒng)定時清理沒有文件名的inode
b. 磁盤檢查會清理.
c. 增加新文件時優(yōu)先占用沒有文件名的inode
恢復(fù)的工具:debugfs,ext3grep等等(亡羊補(bǔ)牢其實(shí)不可取的春寿,違反運(yùn)維的大核心原則)
多備份,操作前備份忽孽,異服務(wù)器和異地備份绑改。
2谢床、 動態(tài)文件:有程序或進(jìn)程訪問的文件
刪除:
a. i_link為0
b. i_count為0 i_count是進(jìn)程調(diào)用文件的數(shù)量(引用計數(shù))所有進(jìn)程調(diào)用都要停止
第10章 Linux通配符與特殊符號知識應(yīng)用實(shí)踐
1、 基本含義
通配符簡單說就是鍵盤上的一些特殊字符厘线,可以實(shí)現(xiàn)某些特殊的功能识腿,
例如用*代表所有模糊搜索系統(tǒng)中的文件
第11章 Linux正則表達(dá)式與三劍客知識應(yīng)用實(shí)踐
1、什么 是正規(guī)表達(dá)式造壮?
作用 和特殊字符一樣渡讼;正規(guī)表達(dá)式是為處理大量的字符串及文本而定義的一套規(guī)則和方法。
2耳璧、為什么要用正規(guī)表達(dá)式成箫?
提高效率,快速獲取到想要的內(nèi)容
適合于三劍客命令grep(egrep)旨枯、sed蹬昌、 awk
4、Linux三劍客的正規(guī)表達(dá)式有什么特點(diǎn)攀隔?
易混淆事項(xiàng)
1皂贩、和通配字符區(qū)別
2、開發(fā)人員正規(guī)昆汹,一般是perl兼容正規(guī)表達(dá)式明刷。
3、Linux系統(tǒng)三劍客正規(guī)表達(dá)式
環(huán)境準(zhǔn)備:
export LC_ALL=C
5满粗、sed:流編輯器(Linux三劍客之老二)*****
sed是操作遮精、過濾和轉(zhuǎn)換文本內(nèi)容的強(qiáng)大工具。
常用功能有對文件實(shí)現(xiàn)快速增刪改查(增加败潦、刪除本冲、修改、查詢)劫扒,
其中查詢的功能中最常用的2大功能是過濾(過濾指定字符串)和取行(取出指定行)檬洞。
sed [選項(xiàng)] [sed內(nèi)置命令字符] [輸入文件]
選項(xiàng):
-n 取消默認(rèn)sed的輸出,常與sed內(nèi)置命令的p連用
-i 直接修改文件內(nèi)容沟饥,而不是輸出到終端添怔。
sed的內(nèi)置命令字符
s 替換
g 全局(global)
p 打印(print)
d 刪除 (delete)
問題1:輸出oldboy.txt的第2-3行內(nèi)容贤旷。
sed -n '2,3p' oldgirl.txt
問題2:過濾出含有oldboy字符串的行广料。
sed -n '/oldboy/p' oldgirl.txt
問題3:刪除含有oldboy字符串的行。
sed '/oldboy/d' oldgirl.txt
問題4:將文件中的oldboy字符串全部替換為oldgirl幼驶。
sed 's#oldboy#oldgirl#g' oldgirl.txt
永久生效:sed -i 's#oldboy#oldgirl#g' oldgirl.txt
問題5:將文件中的oldboy字符串全部替換為oldgirl艾杏,同時將QQ號碼49000448改為31333741。
sed -e 's#oldboy#oldgirl#g' -e 's#49000448#31333741#g' oldgirl.txtsed:
在第二行插入多行文本sed '2i I teacher linux.i\n內(nèi)容\n內(nèi)容' oldgirl.txt
在第二行的下面一行插入文本:sed '2a I teacher linux ' oldgirl.txt
刪除指定行:
sed -i '3d' oldboy.txt
sed -i '5盅藻,8d' oldboy.txt
取出Linux中執(zhí)行ifconfig eth0 后對應(yīng)的IP地址
ifconfig eth0|sed -n 2p|sed 's#^.inet ##g'|sed 's# netm.1 第一列
0 整行
(NF-1) 倒數(shù)第二列
第12章Linux系統(tǒng)權(quán)限知識及應(yīng)用實(shí)踐
12.1 Linux基礎(chǔ)權(quán)限硕噩,是rwxr-xr-x
分三組;
前三個字符是表示用戶(屬主)的權(quán)限位 user(用戶)
中三個字符是表示用戶組的權(quán)限位 group(用戶組)
后個字符是表示其他人的權(quán)限位 others(其他用戶)
同一組的三個字符權(quán)限也是有位置的:
r--第一個字符的位置讀的權(quán)限位
第二個字符的位置寫的權(quán)限位
第三個字符的位置是執(zhí)行的權(quán)限位
1)可讀r:表示具有讀取缭贡、瀏覽文件內(nèi)容(即讀取文件實(shí)體block)的權(quán)限
2)可寫w:表示具有新增炉擅、修改、刪除文件內(nèi)容的權(quán)限阳惹。
3)可執(zhí)行x:表示具有執(zhí)行文件的權(quán)限坑资。
對可讀r說明:
① 如果沒有可讀r配合,那么使用vi編輯文件時會提示無法編輯(但強(qiáng)制編輯)穆端,可以使用echo等命令進(jìn)行重定向或追加袱贮;
② 刪除文件或創(chuàng)建文件的權(quán)限是受父目錄(上一級目錄)的權(quán)限控制的(因?yàn)槲募]有存放在Inode里,而是在上級目錄的block里存放著的体啰,若修改上級目錄的block(刪除文件本質(zhì))當(dāng)然會受上級目錄的Inode的權(quán)限控制)攒巍,和文件本身的權(quán)限無關(guān),因此文件本身的可寫w權(quán)限和文件是否能被刪除和改名無關(guān)荒勇。
對于可執(zhí)行x柒莉,需要注意的事項(xiàng):
① 首先文件的本身要能執(zhí)行(命令或腳本)。
② 如果是普通用戶沽翔,同時還需要具備可讀r的權(quán)限才能執(zhí)行文件兢孝。
③ 而root用戶只要有可執(zhí)行x的權(quán)限就能執(zhí)行文件
1、 可讀r:表示具有瀏覽目錄下面文件及子目錄內(nèi)容的權(quán)限仅偎。
2跨蟹、 可寫w:表示具有增加、修改橘沥、刪除目錄內(nèi)文件內(nèi)容的權(quán)限窗轩,但是,如果沒有可執(zhí)行x的配合座咆,即使有w權(quán)限痢艺,也無法刪除或創(chuàng)建文件及子目錄。
3介陶、 可執(zhí)行x:表示具有進(jìn)入目錄的權(quán)限堤舒。
設(shè)置及更改文件和目錄權(quán)限的命令
Linux權(quán)限有兩種表現(xiàn)形式
1、 數(shù)字表示法
r 4
w 2
x 1
“- ” 0
實(shí)際的權(quán)限表示就是將每3位相加即可
2哺呜、 字符表示法
chmod命令 修改文件權(quán)限
-R 遞歸修改
chown命令 改變文件用戶和組
-R 遞歸修改
修改文件屬性的用戶和組
chown 用戶.用戶組 文件 這里的.可以用:替換
chown 用戶 文件
chown .用戶組 文件 ====chgrp 用戶組 文件
12.2企業(yè)環(huán)境下文件和目錄的安全核心知識
安全權(quán)限臨界點(diǎn):
文件不想被修改:644(默認(rèn)) -rw-r—r—
目錄的臨界點(diǎn):
目錄不想被修改(刪除移動創(chuàng)建)被執(zhí)行(進(jìn)入):755
網(wǎng)站文件被篡改解決方案:
1舌缤、 備份
2、 找到被修改的文件
3、 批量刪除
4友驮、 找到文件被篡改的來源漂羊,并進(jìn)行優(yōu)化調(diào)整驾锰。
5卸留、 寫總結(jié) 故障報告。
文件:
12.3 控制默認(rèn)權(quán)限的東西 umask (臨時修改umask值)
創(chuàng)建文件默認(rèn)最大的權(quán)限666(-rw-rw-rw-)
基于文件:默認(rèn)權(quán)限規(guī)則
從666計算
umask都是偶數(shù) 默認(rèn)權(quán)限用減法
umask都是奇數(shù) 默認(rèn)權(quán)限用減法 然后奇數(shù)位加1
基于目錄:默認(rèn)權(quán)限規(guī)則
從777計算
默認(rèn)權(quán)限用減法
12.4 Linux系統(tǒng)特殊權(quán)限位知識
1椭豫、suid位:針對二進(jìn)制命令的耻瑟,給一個二進(jìn)制命令
suid作用:
suid的作用就是讓普通用戶可以在執(zhí)行某個設(shè)置了suid位的命令或程序是,擁有和root管理員一樣的身份和權(quán)限
suid核心知識小結(jié)
sgid
2赏酥、sgid位:
sgid的作用就是讓普通用戶可以在執(zhí)行某個設(shè)置了sgid位的命 令時喳整,擁有和命令
3、sticky(粘滯位):
第13章 Linux系統(tǒng)定時任務(wù)Cron(d)服務(wù)應(yīng)用實(shí)踐裸扶,
13.1 Cron(d)介紹
13.1.1 什么是定時任務(wù)框都?
周期性的執(zhí)行任務(wù)計劃的軟件,Linux定時任務(wù)的常用軟件crond呵晨。
13.1.2 使用定時任務(wù)軟件魏保,可以每天,每小時按你需求重復(fù)的執(zhí)行一項(xiàng)工作摸屠。
備份 需要寫一個程序?qū)崿F(xiàn)自動備份谓罗,然后讓定時任務(wù)軟件幫你執(zhí)行。
13.1.3 怎么用定時任務(wù)季二?
(1)系統(tǒng)定時任務(wù)計劃
不用管理員干預(yù)檩咱,系統(tǒng)自動執(zhí)行
也可以利用系統(tǒng)任務(wù)為管理員服務(wù)
(2)用戶定時任務(wù)計劃
在Linux系統(tǒng)中
cron是定時任務(wù)的軟件名
crond是服務(wù)進(jìn)程名,真正實(shí)現(xiàn)定時任務(wù)服務(wù)
crontab命令是用來設(shè)置定時任務(wù)的
要想配置定時任務(wù)胯舷,首先啟動crond服務(wù)
systemctl start crond.service 啟動
systemctl stop crond.service 關(guān)閉
systemctl status crond.service 檢查
crontab命令
定時任務(wù)內(nèi)容存放的位置/var/spool/cron/
-l 列表 查看已經(jīng)設(shè)置的定時任務(wù)*
-e 編輯 編輯定時任務(wù)*
-u user 查看特點(diǎn)用戶下的定時任務(wù)
crontab -l=cat /var/spool/cron/root
crontab -e=vim /var/spool/cron/root
編寫定時任務(wù)的語法:
共六列:
第一列:分 (0-59)
第二列:時(0-23)
第三列:日(1-31)
第四列:月(1-12)
第五列:周(0-7)
第六列:要執(zhí)行的任務(wù)命令或程序特殊符號:
- 表示的 每或每一 的意思
- 連續(xù)區(qū)間 1-10
刻蚯,列舉 1,2桑嘶,3芦倒,4
/n 每隔n單位的時間
實(shí)踐:
1、 每分鐘追加一次oldboy字符串到/tmp/log/oldboy.log
a. 命令行執(zhí)行成功不翩。
b. 配置定時任務(wù)crontab -e 編輯配置
c. 檢查
2兵扬、 讓服務(wù)器時間每5分鐘和互聯(lián)網(wǎng)時間做一次同步。
3口蝠、 每天晚上0點(diǎn)器钟,把站點(diǎn)目錄/var/www/html下的內(nèi)容打包備份到/data目錄下,并且要求每次生成不同的備份包名妙蔗。(用腳本文件進(jìn)行設(shè)置定時任務(wù)錯誤率更低)
mkdir /server/scripts -p #存放腳本的文件
cd /server/scripts
① 命令行執(zhí)行
② 盡量用腳本文件
③ 編輯定時任務(wù)
檢查正式結(jié)果生產(chǎn)環(huán)境下的定時cron書寫要領(lǐng)
要領(lǐng)1:為定時任務(wù)規(guī)則加必要的注釋
要領(lǐng)2:所有的定時任務(wù)盡量都已腳本的形式執(zhí)行
要領(lǐng)3:在執(zhí)行的shell腳本前加上/bin/sh
要領(lǐng)4:定時任務(wù)中命令或腳本的結(jié)尾加》/dev/nill 2>&1
要領(lǐng)5:在指定用戶下執(zhí)行相關(guān)定時任務(wù)
要領(lǐng)6:在生產(chǎn)任務(wù)計劃程序中不要隨意打印輸出信息
要領(lǐng)7:定時任務(wù)執(zhí)行的腳本要存放到規(guī)范路徑下
要領(lǐng)8:配置定時任務(wù)要規(guī)范操作過程傲霸,減少出錯
要領(lǐng)9:定時任務(wù)腳本中程序命令及路徑盡量用全路徑
要領(lǐng)10:時間變量%號要用反斜線轉(zhuǎn)義
要領(lǐng)11:若腳本中調(diào)用了系統(tǒng)環(huán)境變量,要重新定時