[if !supportLists]第1章 [endif]?
/etc/hostname:c7主機(jī)名及配置文件
/etc/sysconfig/network:c6主機(jī)名及配置文件
/etc/sysctl.conf:調(diào)整系統(tǒng)、優(yōu)化需要配置的文件
Sysctl-p
/usr/local/:源碼編譯安裝軟件默認(rèn)的位置路徑
a、rpm安裝
Rpm -ivh 軟件包的名字.rpm
b凳怨、yum安裝华临,rpm包管理器,智能幫我們找一個(gè)軟件包需要的依賴(lài)包
c骏啰、源代碼安裝
/usr/src/:存放源碼文件的目錄
/var目錄
/var/log:記錄系統(tǒng)及軟件運(yùn)行信息文件所在目錄
/var/log/messages:系統(tǒng)級(jí)別日志文件
記錄系統(tǒng)運(yùn)行行為的文件节吮,
/var/log/seciure:用戶(hù)登錄信息日志文件(安全日志文件)
/var/log/dmesg:記錄硬件信息加載情況的日志文件
/proc下的重要知識(shí)路徑
/proc/meminfo:查看系統(tǒng)內(nèi)存的文件信息(free -m)
/proc/cpuinfo:查看當(dāng)前CPU信息文件
/proc/loadavg:查看負(fù)載(濕系統(tǒng)繁忙程度的綜合指標(biāo))uptime
當(dāng)負(fù)載的數(shù)字和cpu核數(shù)相當(dāng)?shù)臅r(shí)候,就是負(fù)載的臨界點(diǎn)判耕。
/proc/mounts:當(dāng)前設(shè)備掛載列表信息文件透绩。
Linux啟動(dòng)流程:
Centos6
1、開(kāi)機(jī)---》2壁熄、BIOS自檢(檢查計(jì)算機(jī)硬件)---》3帚豪、讀MBR引導(dǎo)(讀硬盤(pán)上的引導(dǎo)程序)---》4、加載GRUB菜單(選擇啟動(dòng)的操作系統(tǒng))---》5草丧、加載內(nèi)核---》6狸臣、運(yùn)行操作系統(tǒng)的第一個(gè)進(jìn)程(INIT,最早運(yùn)行的進(jìn)程)---》7昌执、讀取init文件(僅用來(lái)設(shè)定運(yùn)行級(jí)別)---》8烛亦、(優(yōu)先)讀取開(kāi)機(jī)啟動(dòng)的腳本---》9、初始化系統(tǒng)(設(shè)置主機(jī)名懂拾、查看RAID煤禽、文件系統(tǒng)地掛載等等)---》10、讀取開(kāi)機(jī)自啟動(dòng)程序---》11岖赋、加載終端
Centos7
運(yùn)行Systemd進(jìn)程---》加載initrd.target文件
vi/vim:純文本編輯器
Echo:顯示輸出和打印
Cat:查看文件內(nèi)容(tac,和cat上下相反)
Cat-n? 對(duì)輸出的內(nèi)容顯示行號(hào)
Rev:橫向翻轉(zhuǎn)文件內(nèi)容
More:分頁(yè)顯示文件內(nèi)容
Less:分頁(yè)顯示文件內(nèi)容
Head:顯示文件內(nèi)容的開(kāi)頭
Tail:顯示文件內(nèi)容的尾部
-f:實(shí)時(shí)跟蹤顯示文件尾部的信息
[if !supportLists]第2章 [endif]?
[if !supportLists]2.1 [endif]?
tr:替換或刪除字符
grep:過(guò)濾 篩子檬果。 重要性前三名。
-v(invert) 取反篩選。
-i(ignore? 忽略)?不區(qū)分大小寫(xiě)选脊。
-n(number)對(duì)輸出的內(nèi)容顯示行號(hào)杭抠。
-w(word) 按單詞為單位過(guò)濾。
-o? 只輸出匹配的內(nèi)容
-E(extend)擴(kuò)展的grep恳啥,即egrep偏灿。
-A
after 顯示過(guò)濾的字符串和它之后的多少行
-B
before 顯示過(guò)濾的字符串和它之前的多少行
[if !supportLists]2.2 [endif]重定向符號(hào)的核心知識(shí)*****(超重點(diǎn))
1>或>輸出重定向,箭頭方向就是數(shù)據(jù)流向钝的,把左邊的數(shù)據(jù)流量到右邊菩混,會(huì)清空右邊之前的數(shù)據(jù)。
清空前一定要備份
清空文件:
[root@shizhenghao~]# > /data/oldboy.txt
[root@shizhenghao~]# cat /data/oldboy.txt
1>>或>>追加輸出重定向扁藕,內(nèi)容追加到文件尾部沮峡。
[root@shizhenghao~]# cat /data/oldboy.txt
iam studying linux
[root@shizhenghao~]# echo "i am studying linux" >> /data/oldboy.txt
[root@shizhenghao~]# cat /data/oldboy.txt
iam studying linux
iam studying linux
0<或<標(biāo)準(zhǔn)輸入重定向,箭頭方向就是數(shù)據(jù)流向
[root@shizhenghao~]# tr "am" "01" < /data/oldboy.txt
i01 studying linux
i01 studying linux
0<<或<<追加輸入重定向亿柑,箭頭方向就是數(shù)據(jù)流向
固定定義:
數(shù)字1? 標(biāo)準(zhǔn)輸出(standard output)
數(shù)字0? 標(biāo)準(zhǔn)輸入(standard input)
數(shù)字2? 錯(cuò)誤輸出(error output)
2>標(biāo)準(zhǔn)錯(cuò)誤輸出重定向邢疙,箭頭方向就是數(shù)據(jù)流向,把左邊的報(bào)錯(cuò)輸出到右邊(覆蓋)望薄。
2>>標(biāo)準(zhǔn)錯(cuò)誤追加輸出重定向疟游,箭頭方向就是數(shù)據(jù)流向,把左邊的報(bào)錯(cuò)輸出到右邊(追加)痕支。
[if !supportLists]第3章 [endif]?
[if !supportLists]3.1 [endif]?
文件屬性:文件大小颁虐,時(shí)間,類(lèi)型卧须,權(quán)限另绩,屬主
索引節(jié)點(diǎn):文件的唯一標(biāo)識(shí)
身份證:人的唯一標(biāo)識(shí)
進(jìn)程號(hào):進(jìn)程的唯一標(biāo)識(shí)
[root@shizhenghao ~]# ls -lih
總用量12K
33574978 -rw-------. 1 root root 1.3K 2月?28 01:48 anaconda-ks.cfg
33575030 drwxr-xr-x? 2 root root??64 3月?? 7 19:36 data1
33575025 drwxr-xr-x? 3 root root??18 3月?? 8 02:00 oldboy
17225902 drwxr-xr-x? 2 root root???6 3月?? 5 01:36 oldboy2
33910922 -rw-r--r--? 1 root root 2.3K 3月?13 17:15 oldboy.txt
33574989 -rw-r--r--? 1 root root??18 3月? 13 19:37 test.txt
50785224 drwxr-xr-x. 3 root root?? 45 3月? 13 03:24 zh
33910910 drwxr-xr-x? 2 root root???6 3月?? 7 20:26 zh11
[if !vml]
[endif]
第二列第一個(gè)字符:文件類(lèi)型
一切皆文件
1、- 普通文件
圖片花嘶,視頻顽照,文檔都是文件
三種類(lèi)型:
[if !supportLists]a.?????? [endif]純文本文件
[if !supportLists]b.????? [endif]數(shù)據(jù)文件
[if !supportLists]c.?????? [endif]二進(jìn)制文件
2基显、d 目錄
區(qū)分:
[if !supportLists]a.?????? [endif]開(kāi)頭為d
[if !supportLists]b.????? [endif]顏色為藍(lán)色
[if !supportLists]c.?????? [endif]ls -p 蹭睡,目錄結(jié)尾加斜線碧浊。
d.ls -F,目錄結(jié)尾加斜線隘击,斜線結(jié)尾侍芝,
3、l軟連接文件
ln (make links between files)創(chuàng)建鏈接
-s (soft)創(chuàng)建軟連接
4埋同、c開(kāi)頭的是字符設(shè)備州叠,貓等串口設(shè)備,以b開(kāi)頭的是塊設(shè)備
5莺禁、套接口(socket)文件留量,以s開(kāi)頭
[if !supportLists]3.2 [endif]which(查看命令所在的路徑)
[if !supportLists]3.3 [endif]PATH????*****
命令行命令會(huì)從PATH 對(duì)應(yīng)的路徑中查找命令
PATH 對(duì)應(yīng)的路徑中沒(méi)有這個(gè)命令就會(huì)報(bào)command not found
[if !supportLists]3.4 [endif]?
whereis:顯示命令窄赋、源碼哟冬、說(shuō)明文檔等的???路徑
[if !supportLists]3.5 [endif]?
find:查找目錄下的的文件
[if !vml]
[endif]
模糊查找:*表示所有
[if !vml]
[endif]
-type:按文件類(lèi)型查找
[if !vml]
[endif]
-exec:對(duì)查找的文件再處理
[if !vml]
[endif]
轉(zhuǎn)義:
A?? 省長(zhǎng)
\省長(zhǎng)?返回A
-mtime:按時(shí)間查找
[if !supportLists]3.6 [endif]?
xargs:從標(biāo)準(zhǔn)輸入執(zhí)行命令
-n + 組數(shù)
[if !vml]
[endif]
-d :指定分隔符楼熄,不指定默認(rèn)是空格。
|:管道
{}:把大括號(hào)當(dāng)做前面查找的結(jié)果find?/data?-type?f?-exec?rm?-f?{}?\;
相當(dāng)于
rm?-f?oldboy1.txt
rm?-f?oldboy2.txt
rm?-f?oldboy3.txt
效率低浩峡。
find?/data?-type?f|xargs?rm?-f
只是一條命令
rm?-f?oldboy1.txt?oldboy2.txt?oldboy3.txt
[if !vml]
[endif]
[if !supportLists]3.7 [endif]date
-s:修改時(shí)間
[if !vml]
[endif]
[root@shizhenghao ~]# date +%F
2019-03-14
[root@shizhenghao ~]# date +%Y
2019
[root@shizhenghao ~]# date +%y
19
[root@shizhenghao ~]# date +%m
03
[root@shizhenghao ~]# date +%d
14
[root@shizhenghao ~]# date +%H
12
[root@shizhenghao ~]# date +%m
03
?[root@shizhenghao ~]# date +%S
44
-d:指定過(guò)去或未來(lái)格式
[root@oldboyedu /data]# date +%F -d"-1day"
2020-09-30
[root@oldboyedu /data]# date +%F -d"+1day"
2020-10-02
[root@oldboyedu /data]# date +%F -d"+1month"
2020-11-01
[root@oldboyedu /data]# date +%F -d"+1Y"
date: invalid date ‘+1Y’
[root@oldboyedu /data]# date +%F -d"+1year"
2021-10-01
- 過(guò)去
+ 未來(lái)
[if !supportLists]3.8 [endif]?tar(打包壓縮)*****
幾何參數(shù)zcvf:
-z? 壓縮
-c? 創(chuàng)建
-v? 輸出打包過(guò)程
f?? 文件
t?? 查看文件
-C?指定解壓的目錄
-x? 解壓
-h 跟隨軟鏈接
壓縮包名字:data.tar.gz? #tar表示打包可岂,gz表示gzip格式壓縮。
[if !vml]
[endif]
[if !supportLists]第4章 [endif]?
[if !supportLists]4.1 [endif]?
用戶(hù):管理linux系統(tǒng)而存在的翰灾。
用戶(hù)一般分為用戶(hù)名和用戶(hù)ID缕粹,相當(dāng)于我們的名字和身份證,名字和學(xué)號(hào)纸淮。
用戶(hù)名方便管理員使用平斩,用戶(hù)ID是唯一區(qū)別一個(gè)用戶(hù)(計(jì)算機(jī)只識(shí)別ID)
Linux里所有的用戶(hù)和進(jìn)程都要有用戶(hù)對(duì)應(yīng)。
文件存在必須對(duì)應(yīng)用戶(hù)
進(jìn)程運(yùn)行必須應(yīng)用用戶(hù)
Linux用戶(hù)分三類(lèi):
[if !supportLists]1咽块、[endif]超級(jí)管理員root
權(quán)限堪稱(chēng)皇帝绘面。UID為0,換句話說(shuō)UID為0的都有皇帝對(duì)應(yīng)的權(quán)限侈沪。
[if !vml]
[endif]
[if !supportLists]2揭璃、[endif]虛擬用戶(hù)(傀儡)
實(shí)際存在的用戶(hù),但是又不允許它登錄亭罪。
價(jià)值何在瘦馍?
滿(mǎn)足文件或進(jìn)程運(yùn)行屬主的要求。但是又不會(huì)帶來(lái)管理風(fēng)險(xiǎn)应役。
UID 1-499
[if !supportLists]3情组、[endif]普通用戶(hù)
實(shí)際存在的用戶(hù),又允許它登錄箩祥。管理員身份創(chuàng)建的呻惕,幫助管理員管理系統(tǒng)的。
權(quán)限僅限制在家目錄滥比,在一些系統(tǒng)級(jí)目錄可以讀不可以寫(xiě)亚脆,不可以進(jìn)入/root目錄。
UID C7 1000起步C6 500起步盲泛。
[if !vml]
[endif]
[if !supportLists]4.2 [endif]?
用戶(hù)組:集合濒持、組織
人的家庭、老男孩58期
Linux里每個(gè)用戶(hù)都必須要有一個(gè)組織寺滚,這個(gè)組織就叫做用戶(hù)組柑营,
用戶(hù)組也是給人看,用戶(hù)組也有唯一標(biāo)識(shí)村视,group ID 簡(jiǎn)稱(chēng)GID官套。
默認(rèn)情況創(chuàng)建用戶(hù),并沒(méi)有創(chuàng)建用戶(hù)組啊,他會(huì)自動(dòng)創(chuàng)建一個(gè)和用戶(hù)名相同的用戶(hù)組以及相同的GID奶赔。
[if !vml]
[endif]
用戶(hù)和用戶(hù)組的對(duì)應(yīng)關(guān)系
1惋嚎、1對(duì)1
2、1對(duì)多個(gè)用戶(hù)組
3站刑、多個(gè)用戶(hù)對(duì)應(yīng)一個(gè)用戶(hù)組
4另伍、多對(duì)多
[if !supportLists]4.3 [endif]文件權(quán)限
嚴(yán)格的權(quán)限,linux安全權(quán)限嚴(yán)格绞旅。
rwxr-xr-x
9個(gè)字符
r?? read可讀取???4
w? write可寫(xiě)?????2
x? execute? 可執(zhí)行??1
[if !supportLists]-?????????[endif]?沒(méi)有權(quán)限??0
. 是標(biāo)識(shí)selinux的符號(hào)
字符分組:三個(gè)字符是一組
rwx?????????????? r-x??????????? r-x??
用戶(hù)的權(quán)限????用戶(hù)組權(quán)限????其他權(quán)限
?789列:文件的最后修改時(shí)間
文件時(shí)間有三種:
修改時(shí)間:modify摆尝,文件內(nèi)容被改過(guò)之后的時(shí)間。
訪問(wèn)時(shí)間:access因悲,文件內(nèi)容被訪問(wèn)過(guò)的時(shí)間堕汞。
變化時(shí)間:change,文件屬性發(fā)生改變的時(shí)間晃琳。
[root@shizhenghao ~]# stat /etc/hosts
? 文件:"/etc/hosts"
? 大芯世省:158?????? ????? 塊:8????????? IO塊:4096?? 普通文件
設(shè)備:fd00h/64768d Inode:16793700??? 硬鏈接:1
權(quán)限:(0644/-rw-r--r--)? Uid:(??? 0/??? root)??Gid:(??? 0/???root)
最近訪問(wèn):2019-03-1516:38:35.467999945 +0800?
最近更改:2013-06-0722:31:32.000000000 +0800
最近改動(dòng):2019-02-2801:44:52.916008285 +0800
創(chuàng)建時(shí)間:-
stat?查看文件屬性
-c 獲取指定文件屬性的一部分?%A顯示字符權(quán)限
[root@shizhenghao ~]# stat -c %A /etc/hosts
-rw-r--r—
[if !supportLists]4.4 [endif]?
[root@shizhenghao ~]# ls -lhi
總用量8.0K
33574978 -rw-------. 1 root root 1.3K 2月?28 01:48 anaconda-ks.cfg
第一列:數(shù)字33374978叫做文件的索引節(jié)點(diǎn)(index
node)
類(lèi)似人的身份證,索引節(jié)點(diǎn)是文件在系統(tǒng)中的唯一標(biāo)識(shí)蝎土。
找一個(gè)文件最終都要通過(guò)索引節(jié)點(diǎn)才能找到视哑。
索引節(jié)點(diǎn)的概念處在ext文件系統(tǒng)中(ext2 ext4 ext3)
索引節(jié)點(diǎn)是硬盤(pán)上的一塊存儲(chǔ)空間。大小256字節(jié)或12字節(jié)誊涯。
索引節(jié)點(diǎn)里存放是數(shù)據(jù)是文件的屬性(大小挡毅、時(shí)間、用戶(hù)和組暴构、權(quán)限等)都在索引節(jié)點(diǎn)里跪呈,唯獨(dú)不包含文件名(文件名在上級(jí)目錄的block里)
。
磁盤(pán)要想使用取逾,西安分區(qū)耗绿,格式化(創(chuàng)建文件系統(tǒng))。
格式化創(chuàng)建文件系統(tǒng)時(shí)砾隅,就會(huì)生成大量的inode和block误阻。
Inode作用存儲(chǔ)文件的屬性信息。同時(shí)存放指向文件實(shí)體(block)的指針(類(lèi)似軟鏈接)晴埂,
Block作用是存放文件內(nèi)容的(大片)究反。
[if !vml]
[endif]
Inode:
[if !vml]
[endif]
Block:
Block叫做磁盤(pán)塊,是用來(lái)存放實(shí)際數(shù)據(jù)的實(shí)體單元(ext文件系統(tǒng)一般最大為4KB)儒洛,即用來(lái)真正存放數(shù)據(jù)精耐,例如:照片、視頻等普通文件數(shù)據(jù)琅锻,單個(gè)大的文件需要占用多個(gè)Block塊來(lái)存儲(chǔ)卦停,特別小的單個(gè)文件如果不能占滿(mǎn)整個(gè)Block塊向胡,剩余的空間也無(wú)法在利用。
[if !supportLineBreakNewLine]
[endif]
磁盤(pán)滿(mǎn)的原因有兩種:
[if !supportLists]1惊完、[endif]inode滿(mǎn)了
[if !supportLists]2僵芹、[endif]block滿(mǎn)了
提示:
No space left on device 報(bào)錯(cuò),沒(méi)有空間在設(shè)備上了专执。
檢查步驟:
[if !supportLists]1、[endif]df -h
[if !supportLists]2郁油、[endif]df -i 看是不是inode滿(mǎn)了