Day 16天 操作系統(tǒng)文件屬性介紹和正則符號(hào)

00. 課程介紹部分

  1. 文件屬性索引信息 inode/block 讀取數(shù)據(jù)原理
  2. 文件屬性鏈接概念 硬鏈接/軟鏈接
  3. 系統(tǒng)正則符號(hào)介紹
    系統(tǒng)基礎(chǔ)符號(hào)
    系統(tǒng)通配符號(hào)
    系統(tǒng)正則符號(hào) 基礎(chǔ)正則 擴(kuò)展正則

02.回顧 文件屬性介紹

文件屬性中文件權(quán)限概念: rwx - 權(quán)限賦予用戶(9位) 數(shù)值表示權(quán)限 rwx-w--wx 723
根據(jù)權(quán)限找出相應(yīng)文件數(shù)據(jù):
根據(jù)權(quán)限找出相應(yīng)文件數(shù)據(jù):-perm 權(quán)限參數(shù)

[root@oldboy66 oldboy]# find /oldboy -type f -perm 666
/oldboy/oldboy.txt
[root@oldboy66 oldboy]# find /oldboy -type f -perm 644
/oldboy/1.log
/oldboy/2.log
/oldboy/3.log
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt

文件屬性中時(shí)間信息概念: 時(shí)間分類(atime訪問 mtime修改 ctime修改屬性) date
根據(jù)時(shí)間信息查找文件數(shù)據(jù):


image.png

find /oldboy -type f -mtime +7
+7: 7天以前的數(shù)據(jù)信息
7: 正好距離當(dāng)前第7天的數(shù)據(jù)
-7: 7天以內(nèi)的數(shù)據(jù)信息

[root@oldboy66 oldboy]# find /oldboy -type f -mtime +2
[root@oldboy66 oldboy]# find /oldboy -type f -mtime +1
/oldboy/1.log
/oldboy/2.log
/oldboy/3.log
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy02/a.txt

find命令找東西做處理方法:

配合xargs命令使用

[root@oldboy66 oldboy]# find /oldboy -type f -mtime +1|xargs -n2 rm   -n2---兩列
[root@oldboy66 oldboy]# ll
total 0
drwxr-xr-x. 2 root root  6 Jul 22 09:06 oldboy01
drwxr-xr-x. 2 root root  6 Jul 22 09:06 oldboy02
drwxr-xr-x. 2 root root  6 Jul 22 09:06 oldboy03
drwxr-xr-x. 3 root root 21 Jul 19 14:31 oldboy1

[root@oldboy66 oldboy]# find /oldboy -type f|xargs ls
/oldboy/oldboy1.txt  /oldboy/oldboy4.txt
/oldboy/oldboy2.txt  /oldboy/oldboy5.txt
/oldboy/oldboy3.txt

配合反引號(hào)使用

[root@oldboy66 oldboy]# rm -f `find /oldboy -type f`
[root@oldboy66 oldboy]# ll
total 0
drwxr-xr-x. 2 root root  6 Jul 22 09:06 oldboy01
drwxr-xr-x. 2 root root  6 Jul 22 09:06 oldboy02
drwxr-xr-x. 2 root root  6 Jul 22 09:06 oldboy03
[root@oldboy66 oldboy]# touch oldboy{1..5}.txt
[root@oldboy66 oldboy]# ll
total 8
-rw-r--r--. 1 root root 35 Jul 19 11:01 oldboy01.txt
drwxr-xr-x. 3 root root 21 Jul 19 10:32 oldboy1
-rw-r--r--  1 root root  0 Jul 22 09:12 oldboy1.txt
-rw-r--r--  1 root root  0 Jul 22 09:12 oldboy2.txt
-rw-r--r--  1 root root  0 Jul 22 09:12 oldboy3.txt
-rw-r--r--  1 root root  0 Jul 22 09:12 oldboy4.txt
-rw-r--r--  1 root root  0 Jul 22 09:12 oldboy5.txt

配合find 命令參數(shù) -exec使用

root@oldboy66 oldboy]# find ./ -type f -exec rm {} \;
[root@oldboy66 oldboy]# ll
total 0
drwxr-xr-x. 3 root root 21 Jul 19 10:32 oldboy1
[root@oldboy66 oldboy]#
[root@oldboy66 oldboy]# touch oldboy{1..5}.txt
[root@oldboy66 oldboy]# ll
total 0
drwxr-xr-x. 3 root root 21 Jul 19 10:32 oldboy1
-rw-r--r--  1 root root  0 Jul 22 09:17 oldboy1.txt
-rw-r--r--  1 root root  0 Jul 22 09:17 oldboy2.txt
-rw-r--r--  1 root root  0 Jul 22 09:17 oldboy3.txt
-rw-r--r--  1 root root  0 Jul 22 09:17 oldboy4.txt
-rw-r--r--  1 root root  0 Jul 22 09:17 oldboy5.txt

配合find 命令參數(shù)-delete使用

[root@oldboy66 oldboy]# find ./ -type f -delete
[root@oldboy66 oldboy]# ll
total 0
drwxr-xr-x. 3 root root 21 Jul 19 10:32 oldboy1

03文件屬性--文件索引

QQ圖片20190727160609.png

inode 用于存儲(chǔ)文件屬性信息/存儲(chǔ)文件指針信息搞疗,1個(gè)文件使用一個(gè)inode

創(chuàng)建文件系統(tǒng)(格式化)
查看:df - i
block 用于存儲(chǔ)文件數(shù)據(jù)信息
1個(gè)文件最多可以有 多個(gè)block 512 字節(jié)
創(chuàng)建文件系統(tǒng)(格式化)
查看:df
1個(gè)block默認(rèn)512字節(jié) 多個(gè)block
block調(diào)節(jié)小一些: 存儲(chǔ)小文件更加有力
存儲(chǔ)大文件. 占用多個(gè)block, 讀一個(gè)blcok和寫一個(gè)block 都會(huì)消耗磁盤I/O
企業(yè): 默認(rèn)block大小 4k

block調(diào)節(jié)大一些: 存儲(chǔ)大文件更加有力
企業(yè): 視頻網(wǎng)站. 調(diào)整磁盤block更大

04文件屬性--硬鏈接數(shù)

硬鏈接:

概念: inode號(hào)碼一致的數(shù)據(jù)互為硬鏈接
相當(dāng)于給數(shù)據(jù)多開個(gè)門
創(chuàng)建: ln oldboy.txt oldboy_hard_link.txt
特點(diǎn):
1.源文件刪除,鏈接文件依然生效
2.硬鏈接創(chuàng)建成功,不會(huì)占用新的inode和block
3.硬鏈接對目錄不能進(jìn)行處理,不能創(chuàng)建硬鏈接目錄
4.默認(rèn)目錄硬鏈接數(shù)為2,默認(rèn)文件硬鏈接數(shù)為1
作用:
硬鏈接文件可以用于數(shù)據(jù)恢復(fù) 防止數(shù)據(jù)誤刪除(無法防止文件誤修改)
完整備份數(shù)據(jù)使用cp進(jìn)行備份
面試題: 在查看一個(gè)目錄時(shí),硬鏈接數(shù)表示什么意思?
[root@oldboy66 oldboy]# ll -id /etc/
16777281 drwxr-xr-x. 83 root root 8192 Jul 22 12:21 /etc/
解:
01. 硬鏈接概念: .默認(rèn)目錄硬鏈接數(shù)為2
02. 解釋此題硬鏈接數(shù)為什么是83
在/etc目錄中有81個(gè)子目錄

補(bǔ)充: 根據(jù)硬鏈接文件inode號(hào)碼恢復(fù)數(shù)據(jù)
find / -type f -inum 3213

軟鏈接:

概念:數(shù)據(jù)信息的快捷方式
創(chuàng)建: ln -s oldboy.txt oldboy/oldboy_soft_link.txt
特點(diǎn):
01. 源文件刪除, 鏈接文件失效
02. 軟鏈接創(chuàng)建成功, 不會(huì)占用新的block, 但會(huì)占用新的inode
03. 軟鏈接對目錄可以進(jìn)行處理, 可以創(chuàng)建軟鏈接目錄
作用:
01. 方便開發(fā)人員調(diào)取系統(tǒng)環(huán)境數(shù)據(jù)

[root@oldboy66 oldboy]# ln oldboy.txt  oldboy_hard_link.txt-----創(chuàng)建硬鏈接
[root@oldboy66 oldboy]# ll
total 8
-rw-r--r--  1 root root  0 Jul 23 19:57 od.log
drwxr-xr-x. 3 root root 21 Jul 19 10:32 oldboy1
-rw-r--r--  2 root root 79 Jul 22 11:23 oldboy_hard_link.txt
-rw-r--r--  2 root root 79 Jul 22 11:23 oldboy.txt

 [root@oldboy66 oldboy]# ln -s oldboy.txt  oldboy_soft_link.txt -----創(chuàng)建軟連接 
[root@oldboy66 oldboy]# ll
total 8
-rw-r--r--  1 root root  0 Jul 23 19:57 od.log
drwxr-xr-x. 3 root root 21 Jul 19 10:32 oldboy1
-rw-r--r--  2 root root 79 Jul 22 11:23 oldboy_hard_link.txt
lrwxrwxrwx  1 root root 10 Jul 23 21:43 oldboy_soft_link.txt -> oldboy.txt
-rw-r--r--  2 root root 79 Jul 22 11:23 oldboy.txt
[root@oldboy66 oldboy]# rm -f oldboy.txt 
[root@oldboy66 oldboy]# ll
total 4
-rw-r--r--  1 root root  0 Jul 23 19:57 od.log
drwxr-xr-x. 3 root root 21 Jul 19 10:32 oldboy1
-rw-r--r--  1 root root 79 Jul 22 11:23 oldboy_hard_link.txt
lrwxrwxrwx  1 root root 10 Jul 23 21:43 oldboy_soft_link.txt -> oldboy.txt
[root@oldboy66 oldboy]#
1.png
[root@oldboy66 oldboy]# echo oldgirl63 >oldboy.txt
[root@oldboy66 oldboy]# ll
total 8
-rw-r--r--  1 root root  0 Jul 23 19:57 od.log
drwxr-xr-x. 3 root root 21 Jul 19 10:32 oldboy1
-rw-r--r--  1 root root 79 Jul 22 11:23 oldboy_hard_link.txt
lrwxrwxrwx  1 root root 10 Jul 23 21:43 oldboy_soft_link.txt -> oldboy.txt
-rw-r--r--  1 root root 10 Jul 23 21:48 oldboy.txt
[root@oldboy66 oldboy]# cat oldboy_soft_link.txt
oldgirl63
QQ圖片20190727160621.png

05系統(tǒng)正則符號(hào)概念:

1)系統(tǒng)基礎(chǔ)符號(hào)

基礎(chǔ)符號(hào):
#: 表示注釋信息 ; 表示登錄用戶信息 root用戶登錄提示符
$ : 普通用戶登錄信息提示符; 表示調(diào)取變量信息$PATH ;表示調(diào)取列信息 awk ‘{print $1}’ /oldboy/oldboy.txt
!:表示強(qiáng)制意思q!;表示取反 ! -path ;用于調(diào)取歷史命令( ! 歷史命令信息開頭字母,較危險(xiǎn)搜索出來直接執(zhí)行)
find /oldboy -type f ! -path /oldboy/oldboy01*----排除01目錄,不進(jìn)行查找
|:管道;將前一個(gè)命令執(zhí)行的結(jié)果交由后面的命令繼續(xù)執(zhí)行
練習(xí):找出/oldboy下面所有.txt結(jié)尾的文件,并進(jìn)行壓縮,將壓縮文件保存到/oldboy目錄中
:調(diào)取變量信息示例:

[root@oldboy66 ~]# oldboy=123
[root@oldboy66 ~]# echo $oldboy
123
[root@oldboy66 ~]# cat  /oldboy/oldboy.txt
oldboy01 old boy 01
oldboy02 old boy 02
oldboy03 old boy 03
 [root@oldboy66 ~]# awk '{print $1}' /oldboy/oldboy.txt ---用awk調(diào)取第一列
oldboy01
oldboy02
oldboy03
[root@oldboy66 ~]# awk '{print $2}' /oldboy/oldboy.txt ---用awk調(diào)取第二列
old
old
old
find /oldboy -type f |xargs :find 與| 結(jié)合應(yīng)用示例:
[root@oldboy66 ~]# find /oldboy -type f -name "oldboy.txt"|xargs sed 's#oldboy#oldgirl#g'
oldgirl01 old boy 01
oldgirl02 old boy 02
oldgirl03 old boy 03
[root@oldboy66 ~]# cat  /oldboy/oldboy.txt |sed 's#oldboy#oldgirl#g'
oldgirl01 old boy 01
oldgirl02 old boy 02
oldgirl03 old boy 03

練習(xí):找出oldboy下面所有.txt結(jié)尾的文件,并進(jìn)行壓縮 將壓縮文件保存到/oldboy目錄中

方法一: 批量壓縮

[root@oldboy66 oldboy]# find /oldboy -type f -name "*.txt"|xargs tar zcvf /oldboy/oldboy.tar.gz
tar: Removing leading `/' from member names
/oldboy/oldboy01.txt
/oldboy/oldboy02.txt
/oldboy/oldboy03.txt
/oldboy/oldboy04.txt

方法二:

[root@oldboy66 oldboy]#  tar zcvf /oldboy/oldboy.tar.gz  `find /oldboy -type f -name "*.txt"`
tar: Removing leading `/' from member names
/oldboy/oldboy01.txt
/oldboy/oldboy02.txt
/oldboy/oldboy03.txt

方法三: +把所有東西找完了,統(tǒng)一放括號(hào)里

[root@oldboy66 oldboy]# find /oldboy -type f -name "*.txt" -exec tar zcvf /oldboy/oldboy.tar.gz {} +;
tar: Removing leading `/' from member names
/oldboy/oldboy01.txt
/oldboy/oldboy02.txt
/oldboy/oldboy03.txt
/oldboy/oldboy04.txt

方法四: exclude 排除

[root@oldboy66 oldboy]# tar zcvf /oldboy/oldboy.tar.gz --exclude=*.jpg /oldboy/
tar: Removing leading `/' from member names
/oldboy/
/oldboy/oldboy.tar.gz

方法五:

[root@oldboy66 oldboy]# ls /oldboy/*.txt|xargs tar zcvf /oldboy/oldboy.tar.gz
tar: Removing leading `/' from member names
/oldboy/oldboy01.txt
/oldboy/oldboy02.txt

引號(hào)符號(hào)系列:
‘’:所見即所得
“”:輸入即輸出,會(huì)將部分符號(hào)內(nèi)信息解析處理$ \$()等價(jià)于$() 將引號(hào)里的命令執(zhí)行結(jié)果交給外面的命令處理
沒引號(hào):和雙引號(hào)功能類似,識(shí)別序列信息

[root@oldboy66 oldboy]# echo oldgirl63>oldboy.txt
[root@oldboy66 oldboy]# cat oldboy.txt
oldgirl63
[root@oldboy66 oldboy]# echo oldboy63>>oldboy.txt
[root@oldboy66 oldboy]# cat oldboy.txt
oldgirl63
oldboy63
 [root@oldboy66 oldboy]# grep oldboy oldboy.txt
oldboy63
[root@oldboy66 oldboy]# grep 'oldboy' oldboy.txt
oldboy63
[root@oldboy66 oldboy]# grep "oldboy" oldboy.txt
oldboy63
 [root@oldboy66 oldboy]# echo "oldboy $oldboy `pwd`"
oldboy 123 /oldboy
 [root@oldboy66 oldboy]# echo "oldboy $oldboy $(pwd)"
oldboy 123 /oldboy
[root@oldboy66 oldboy]#

路徑符號(hào)系列:
~:切換到用戶家目錄 cd~/cd
-:快速切換到上一次所在路徑 cd-/cd$oldboy
.:切換到當(dāng)前所在路徑 cd.
..:切換到上一級所在路徑 cd../ cd../../..
[root@oldboy66 oldboy]# pwd
/oldboy
[root@oldboy66 oldboy]# vim ../etc/hosts
10.0.0.201 www.baidu.com
定向符號(hào)系列:
1>/>:標(biāo)準(zhǔn)輸出重定向
1>>/>>:標(biāo)準(zhǔn)輸出追加重定向
2>:錯(cuò)誤輸出重定向
2>>:錯(cuò)誤輸出追加重定向

[root@oldboy66 oldboy]# eco oldboy >>/oldboy/ok.log 2>&1
[root@oldboy66 oldboy]# cat ok.log
-bash: eco: command not found
  echo oldboy &>>/oldboy/ok.log

<:標(biāo)準(zhǔn)輸入重定向
tr ‘a(chǎn)-z’ ‘A-Z’</oldboy/oldboy.txt
xargs -n2 </oldboy/oldboy.txt
<<:標(biāo)準(zhǔn)輸入追加重定向
cat >/oldboy/oldboy.txt<<EOF
邏輯符號(hào)系列:
&&: 表示前一個(gè)命令執(zhí)行成功,再執(zhí)行后面命令
mkdir /oldboy && touch /oldboy/oldboy01.txt
||: 表示前一個(gè)命令執(zhí)行失敗,在執(zhí)行后面命令
rmx /oldboy || touch /oldboy/oldboy02.txt

 輸入錯(cuò)誤信息時(shí)提示信息: 錯(cuò)誤輸出重定向
        [root@oldboy66 oldboy]# echo oldboy &>/tmp/ok.log && echo ok || echo failed
ok
[root@oldboy66 oldboy]# ech oldboy &>/tmp/ok.log && echo ok || echo failed
failed
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末咸产,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌铸磅,老刑警劉巖功炮,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異肋演,居然都是意外死亡抑诸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門袖扛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來佑颇,“玉大人锅铅,你說我怎么就攤上這事〔懔幔” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辛块。 經(jīng)常有香客問我畔派,道長,這世上最難降的妖魔是什么润绵? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任线椰,我火速辦了婚禮,結(jié)果婚禮上尘盼,老公的妹妹穿的比我還像新娘憨愉。我一直安慰自己,他們只是感情好卿捎,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布配紫。 她就那樣靜靜地躺著,像睡著了一般午阵。 火紅的嫁衣襯著肌膚如雪笨蚁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天趟庄,我揣著相機(jī)與錄音括细,去河邊找鬼。 笑死戚啥,一個(gè)胖子當(dāng)著我的面吹牛奋单,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播猫十,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼览濒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了拖云?” 一聲冷哼從身側(cè)響起贷笛,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宙项,沒想到半個(gè)月后乏苦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡尤筐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年汇荐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盆繁。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡掀淘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出油昂,到底是詐尸還是另有隱情革娄,我是刑警寧澤倾贰,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站拦惋,受9級特大地震影響匆浙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜架忌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一吞彤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧叹放,春花似錦饰恕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至俱恶,卻和暖如春雹嗦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背合是。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工了罪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人聪全。 一個(gè)月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓泊藕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親难礼。 傳聞我的和親對象是個(gè)殘疾皇子娃圆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容