第十一天預(yù)習(xí)筆記
第八章、Linux文件屬性即查找命令實踐
1昭卓、文件或目錄屬性包括:索引節(jié)點(inode)愤钾,文件類型瘟滨,權(quán)限屬性,連接數(shù)
所屬的用戶和用戶組能颁,最近修改時間
[root@oldboyedu ~]# ll -lhi
total 20K
33575038?? -rw-r--r--.? 1? root? root? 11? Oct? 3?? 03:29?? a.txt
33575035? drw-r--r--.?? 2? root?? root? 34?? Oct? 3? 01:56?? d
1???????? 2??? 3???? 4??? 5??? 6??? 7??? 8?? 9??? 10
第一列:inode借鑒杂瘸,索引節(jié)點,相當(dāng)于人的身份證伙菊,唯一編碼
第二列:文件類型败玉,-代表文件,d代表目錄
第三列:權(quán)限
第四列:硬鏈接數(shù)
第五列:屬主镜硕,也就是所屬用戶运翼,在Linux系統(tǒng)里文件和程序的存在必須要有用戶和組滿足相應(yīng)的需求
第六列:屬組,文件或目錄所屬的組
第七列:文件或目錄的大小
第八-十列:文件或目錄的修改時間
2兴枯、Linux中的文件類型
- 表示普通文件血淌,包括純文本文件、二進(jìn)制文件
d 表示目錄
l 軟連接文件
b 拜師設(shè)備文件硬盤念恍,磁盤
c 字符設(shè)備文件
s 套接字文件
p 管道文件
3六剥、文件及其目錄查找命令
3.1、file顯示文件類型
語法:file文件
[root@oldboyedu ~]# file oldboy.txt
oldboy.txt: ASCII text
3.2峰伙、which顯示命令的全路徑
語法:which選項命令名
[root@oldboyedu ~]# which ls
alias ls='ls --color=auto'
?????? /usr/bin/ls
3.3疗疟、whereis顯示命令及其相關(guān)文件的全路徑
語法:whereis選項文件名
選項:-b僅僅查找位置路徑
[root@oldboyedu ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
[root@oldboyedu ~]# whereis -b ls
ls: /usr/bin/ls
3.6、find查找目錄下的文件
語法:find選項路徑操作語句
操作語句
-mtime按照文件的修改時間來查找文件
-name按照文件名查找
-type查找某一類型的d目錄f文件l軟連接
-exec對匹配的文件執(zhí)行該參數(shù)所給出的shell命令
瞳氓! 取反
-a? 取交集
-o? 取并集
例子
[root@oldboyedu ~]# find /root/ -type d -name "???" -exec cp -r {} /tmp/ \;[root@oldboyedu ~]# find /root/ -type d -name "??"
/root/sa
[root@oldboyedu ~]# find /root/ -type d -name "??" -exec rm -rf {} \;
find: ‘/root/sa’: No such file or directory
[root@oldboyedu ~]# ll
total 24
-rw-r--r--. 2 root root 11 Oct? 3 03:29 aa.txt
-rw-r--r--. 2 root root 11 Oct? 3 03:29 a.txt
-rw-r--r--. 1 root root 34 Oct? 3 01:56 b.txt
-rw-r--r--. 1 root root 34 Oct? 3 02:43 c.txt
-rw-r--r--. 1 root root? 6 Oct? 3 03:33 oldboy.txt
-rw-r--r--. 1 root root 18 Oct? 3 03:42 test.txt
-exec后面跟的是command命令策彤,最后以;作為結(jié)束標(biāo)識匣摘,考慮到各個系統(tǒng)中分號的不同意思
所以前面要加上反斜杠轉(zhuǎn)義
注意:
{}的作用:指代前面find命令查找到的內(nèi)容
{}前后都要加上空格
Command可以是其它的命令店诗,如ls ,cp
使用xargs執(zhí)行的語句必須加入xargs –i
[root@oldboyedu ~]# find? /etc/ -type d -name? "??" |xargs -i cp -r {} /tmp/
[root@oldboyedu ~]# ll /tmp/
total 4
drwxr-xr-x. 6 root root 61 Oct? 3 05:25 CA
drwx------. 2 root root 44 Oct? 3 05:25 nx
drwxr-xr-x. 9 root root 93 Oct? 3 05:25 pm
drwx------. 2 root root 44 Oct? 3 05:25 su
-rw-r--r--. 1 root root 18 Oct? 3 05:23 test.txt
3.7、xargs參數(shù)轉(zhuǎn)換音榜,將標(biāo)準(zhǔn)輸入轉(zhuǎn)換成命令行參數(shù)
它能夠?qū)⒐艿阑蛘邩?biāo)準(zhǔn)輸入傳遞的數(shù)據(jù)轉(zhuǎn)換成xargs命令后所跟命令的
命令含參數(shù)
語法:? xargs選項
選項:
-n指定每行最大參數(shù)n庞瘸,可以將標(biāo)準(zhǔn)輸入的文本劃分多行,每行n個參數(shù)赠叼,默認(rèn)空行
-d自定義分隔符
-i以{}替代前面的結(jié)果
-p提示讓用戶確認(rèn)是否執(zhí)行后面的目錄
例子
[root@oldboyedu ~]# cat aa.txt
12 34 56 7 8 9 0
[root@oldboyedu ~]# xargs -n4 < aa.txt
12 34 56 7
8 9 0
tar打包壓縮命令
語法:tar選項文件或目錄
選項:zcvf壓縮擦囊;zxvf解壓;tf查看嘴办;-C指定解壓到的目錄瞬场;-h打包軟連接
[root@oldboyedu ~]# tar zcvf aa.tar.gz aa.txt
aa.txt
[root@oldboyedu ~]# tar zxvf aa.tar.gz? -C /tmp/
aa.txt
[root@oldboyedu ~]# ll /tmp/
total 8
-rw-r--r--. 1 root root 17 Oct? 3 05:20 aa.txt
drwxr-xr-x. 6 root root 61 Oct? 3 05:25 CA
drwx------. 2 root root 44 Oct? 3 05:25 nx
drwxr-xr-x. 9 root root 93 Oct? 3 05:25 pm
drwx------. 2 root root 44 Oct? 3 05:25 su
-rw-r--r--. 1 root root 18 Oct? 3 05:23 test.txt
8.5、date顯示與設(shè)置系統(tǒng)時間
語法:date選項+日期格式
選項:-s設(shè)置系統(tǒng)時間
-d時間字符串顯示指定字符串所描述的時間涧郊,而非當(dāng)前時間
Clock? -w把當(dāng)前時間更新到BIOS里面
例子
[root@oldboyedu ~]# date -s "20190316 18:02:30"
Sat Mar 16 18:02:30 CST 2019
[root@oldboyedu ~]# date
Sat Mar 16 18:02:32 CST 2019
[root@oldboyedu ~]# clock –w
第十二天預(yù)習(xí)筆記
第九章贯被、Linux文件核心屬性知識
.2、用戶和用戶組
用戶和用戶組是Linux系統(tǒng)里面重要的知識,彤灶,如下
33575038 -rw-r--r--. 1 root root? 17 Oct? 3? 2020 aa.txt
2.1看幼、多用戶跟多任務(wù)
2.2Linux是一個多任務(wù),多用戶的操作系統(tǒng)
2.3用戶分為不同的角色幌陕,桌吃,用戶的角色是通過UID和GID來識別的
UID:用戶ID,相當(dāng)于人類的身份證苞轿,唯一標(biāo)識
GID:用戶組ID茅诱,相當(dāng)于家庭
2.4用戶在Linux里面有三種角色:超級管理員、普通用戶搬卒、虛擬用戶
2.5用戶和用戶組的關(guān)系
1對1瑟俭;1對多;多對1契邀;多對多
2.6創(chuàng)建用戶:useradd? oldboy
3摆寄、文件或目錄的屬性
rwx??????? r-x?????? r-x
用戶主用戶組其它用戶
R(read) :可讀權(quán)限,對應(yīng)數(shù)字是4
W (write):可寫入權(quán)限坯门,對應(yīng)數(shù)字是2
X(execute):可執(zhí)行微饥,對應(yīng)數(shù)字是1
-:沒有權(quán)限,對應(yīng)數(shù)字是0
4古戴、索引節(jié)點
索引節(jié)點inode欠橘,它本質(zhì)上是一小塊具備唯一數(shù)字編號的存儲空間
Inode存儲的屬性信息,包括但不限于文件大小现恼、屬主肃续、歸屬的用戶組、問價權(quán)限叉袍、文件類型始锚、修改時間等,還包括文件的實體指針等喳逛。
Block叫做磁盤塊瞧捌,是用來存放數(shù)據(jù)數(shù)據(jù)的實體單元(1,2,4KB),即用來存放真正數(shù)據(jù)的地方
4.2润文、inode跟block的特點
Inode:一個非空文件至少有唯一的inode和至少一個block
Inode節(jié)點號相同的文件姐呐,互為硬鏈接,可以認(rèn)為是一個文件的不同入口
Inode在某一個文件系統(tǒng)內(nèi)是唯一的
Block:磁盤讀取數(shù)據(jù)是以block為單位讀取的
每讀取一個block就會消耗一次磁盤I/O
若文件比較大转唉,一個文件可能占用多個block
若文件比較小皮钠,一個block剩余空間會浪費稳捆,無論內(nèi)容有多小
5赠法、查看文件系統(tǒng)inode總量跟剩余df? -i
[root@oldboyedu ~]# df -i
Filesystem????? Inodes IUsed?? IFree IUse% Mounted on
/dev/sda3????? 9586176 60429 9525747??? 1% /
devtmpfs??????? 121762?? 359? 121403??? 1% /dev
查看磁盤使用情況,df -h
[root@oldboyedu ~]# df -h
Filesystem????? Size? Used Avail Use% Mounted on
/dev/sda3??????? 19G? 1.6G?? 17G?? 9% /
devtmpfs??????? 476M???? 0? 476M?? 0% /dev
tmpfs?????????? 487M???? 0? 487M?? 0% /dev/shm
tmpfs?????????? 487M? 7.6M? 479M?? 2% /run
磁盤空間不足導(dǎo)致企業(yè)故障的案例
檢查磁盤使用情況df? -h
檢查inode是不是占滿了df? -i
請描述Linux中軟連接和硬鏈接的區(qū)別
答分類:在Linux里面,連接分為2種砖织,一種叫做硬鏈接款侵,另一種叫做符號鏈接或軟連接
答概念:硬鏈接與源文件的inode節(jié)點數(shù)字相同,而軟連接相當(dāng)于Windows下的快捷鍵
答創(chuàng)建:默認(rèn)不帶參數(shù)的下的ln命令創(chuàng)建的是硬鏈接侧纯,帶-s參數(shù)的是創(chuàng)建軟連接
答特點:
A新锈、不能對目錄創(chuàng)建硬鏈接,但可以創(chuàng)建軟連接眶熬,對目錄的軟連接經(jīng)常用到
B妹笆、軟連接可以跨文件系統(tǒng),硬鏈接不可以跨文件系統(tǒng)
C娜氏、刪除軟連接文件拳缠,對源文件及硬鏈接文件無任何影響
D、刪除硬鏈接文件贸弥,對源文件及軟連接文件無任何影響
E窟坐、刪除鏈接文件的源文件,對硬鏈接無影響绵疲,但會導(dǎo)致軟連接文件失效
F哲鸳、同時刪除源文件跟硬鏈接文件,整個文件才會被真正刪除
第十章盔憨、通配符與特殊符號知識應(yīng)用
1徙菠、通配符符號集合
*匹配任意(0個或多個)字符或字符串,包括空字符串
郁岩?匹配任意一個字符懒豹,有且只有一個字符
[abcd]匹配abcd中的任何一個字符,abcd也可以是其它任意不連續(xù)字符
[a-z]匹配a到z的任意一個字符驯用,字符前后要連續(xù)脸秽,也可以用連續(xù)數(shù)字1-9
[!abcd]表示不匹配括號里面的任何一個字符蝴乔,也可書寫為【记餐!a-z】
例子:
[root@oldboyedu ~]# ll *.txt
-rw-r--r--. 1 root root 17 Oct? 3? 2020 aa.txt
-rw-r--r--. 2 root root? 0 Mar 17 10:31 b.txt
[root@oldboyedu ~]# ll ?.txt
-rw-r--r--. 2 root root? 0 Mar 17 10:31 b.txt
-rw-r--r--. 1 root root 34 Oct? 3? 2020 c.txt
[root@oldboyedu ~]# ll [a-z].txt
-rw-r--r--. 2 root root? 0 Mar 17 10:31 b.txt
-rw-r--r--. 1 root root 34 Oct? 3? 2020 c.txt
[root@oldboyedu ~]# ll [!a-z].txt
-rw-r--r--. 1 root root 0 Mar 17 10:51 1.txt
-rw-r--r--. 1 root root 0 Mar 17 10:51 2.txt
[root@oldboyedu ~]# find /etc/ -type f -name "?[opq][!a-r]ts"
/etc/hosts
Linux特殊符號知識
~用戶的家目錄,超級用戶為/root薇正,普通用戶為/home
代表上一次(相當(dāng)于當(dāng)前路徑)用戶所在的路徑
.代表當(dāng)前目錄
..代表上一級目錄
片酝;表示一個命令的結(jié)束,也是命令間的分割
#????? 1挖腰、表示注釋的部分2雕沿、root用戶的命令提示符
|管道,將一個命令處理后的中間內(nèi)容輸出給下一個命令繼續(xù)處理
$????? 1猴仑、字符串前面加上$符號审轮,代表字符串變量內(nèi)容
2、代表普通用戶的命令提示符
\逃脫符,即將特殊含義的符號
{}?? 1疾渣、生成序列2篡诽、引用變量作為變量于普通字符的分隔符
bash中邏輯操作符號
&&前一個命令執(zhí)行成功,再執(zhí)行后一個命令
||前一個命令執(zhí)行失敗榴捡,再執(zhí)行后一個命令
杈女!1、在bash中表示取反2吊圾、在vim中表示強制3达椰、!ls表示找出最近一次以ls開頭的命令
重定向符號
表示標(biāo)準(zhǔn)輸入stdin项乒,配合<? <<使用砰碴,數(shù)據(jù)流從右向左
表示標(biāo)準(zhǔn)輸出stdin,配合> >>使用板丽,數(shù)據(jù)流從左向右
表示標(biāo)準(zhǔn)錯誤stderr配合> >>使用呈枉,數(shù)據(jù)流從左向右
0 <或<標(biāo)準(zhǔn)輸入重定向,清空已有內(nèi)容埃碱,數(shù)據(jù)從文件流向處理的命令
0 <<或<<標(biāo)準(zhǔn)輸入重定向猖辫,追加內(nèi)容到底部,數(shù)據(jù)從文件流向處理的命令
或>標(biāo)準(zhǔn)輸出重定向砚殿,正常輸出重定向到文件啃憎,會清空已有內(nèi)容
1>>或>>標(biāo)準(zhǔn)輸出追加重定向,將內(nèi)容追加到文件底部似炎,辛萍,不清空已有內(nèi)容
錯誤輸出重定向,將標(biāo)準(zhǔn)錯誤內(nèi)容重定向到文件羡藐,如文件存在則內(nèi)容清空
2>>錯誤輸出追加重定向贩毕,將標(biāo)準(zhǔn)錯誤內(nèi)容追加到文件底部,不會清空已有內(nèi)容