[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è)軟件包需要的依賴包
c、源代碼安裝
/usr/src/:存放源碼文件的目錄
/var目錄
/var/log:記錄系統(tǒng)及軟件運(yùn)行信息文件所在目錄
/var/log/messages:系統(tǒng)級(jí)別日志文件
記錄系統(tǒng)運(yùn)行行為的文件,
/var/log/seciure:用戶登錄信息日志文件(安全日志文件)
/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、開機(jī)---》2、BIOS自檢(檢查計(jì)算機(jī)硬件)---》3、讀MBR引導(dǎo)(讀硬盤上的引導(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文件(僅用來設(shè)定運(yùn)行級(jí)別)---》8、(優(yōu)先)讀取開機(jī)啟動(dòng)的腳本---》9、初始化系統(tǒng)(設(shè)置主機(jī)名、查看RAID、文件系統(tǒng)地掛載等等)---》10、讀取開機(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:分頁顯示文件內(nèi)容
Less:分頁顯示文件內(nèi)容
Head:顯示文件內(nèi)容的開頭
Tail:顯示文件內(nèi)容的尾部
-f:實(shí)時(shí)跟蹤顯示文件尾部的信息
[if !supportLists]第2章 [endif]?
[if !supportLists]2.1 [endif]?
tr:替換或刪除字符
grep:過濾 篩子。 重要性前三名。
-v(invert) 取反篩選。
-i(ignore? 忽略)?不區(qū)分大小寫。
-n(number)對(duì)輸出的內(nèi)容顯示行號(hào)。
-w(word) 按單詞為單位過濾。
-o? 只輸出匹配的內(nèi)容
-E(extend)擴(kuò)展的grep,即egrep。
-A
after 顯示過濾的字符串和它之后的多少行
-B
before 顯示過濾的字符串和它之前的多少行
[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í)間,類型,權(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è)字符:文件類型
一切皆文件
1、- 普通文件
圖片,視頻,文檔都是文件
三種類型:
[if !supportLists]a.?????? [endif]純文本文件
[if !supportLists]b.????? [endif]數(shù)據(jù)文件
[if !supportLists]c.?????? [endif]二進(jìn)制文件
2、d 目錄
區(qū)分:
[if !supportLists]a.?????? [endif]開頭為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開頭的是字符設(shè)備,貓等串口設(shè)備,以b開頭的是塊設(shè)備
5、套接口(socket)文件,以s開頭
[if !supportLists]3.2 [endif]which(查看命令所在的路徑)
[if !supportLists]3.3 [endif]PATH????*****
命令行命令會(huì)從PATH 對(duì)應(yīng)的路徑中查找命令
PATH 對(duì)應(yīng)的路徑中沒有這個(gè)命令就會(huì)報(bào)command not found
[if !supportLists]3.4 [endif]?
whereis:顯示命令、源碼、說明文檔等的???路徑
[if !supportLists]3.5 [endif]?
find:查找目錄下的的文件
[if !vml]
[endif]
模糊查找:*表示所有
[if !vml]
[endif]
-type:按文件類型查找
[if !vml]
[endif]
-exec:對(duì)查找的文件再處理
[if !vml]
[endif]
轉(zhuǎn)義:
A?? 省長
\省長?返回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:指定過去或未來格式
[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
- 過去
+ 未來
[if !supportLists]3.8 [endif]?tar(打包壓縮)*****
幾何參數(shù)zcvf:
-z? 壓縮
-c? 創(chuàng)建
-v? 輸出打包過程
f?? 文件
t?? 查看文件
-C?指定解壓的目錄
-x? 解壓
-h 跟隨軟鏈接
壓縮包名字:data.tar.gz? #tar表示打包,gz表示gzip格式壓縮。
[if !vml]
[endif]
[if !supportLists]第4章 [endif]?
[if !supportLists]4.1 [endif]?
用戶:管理linux系統(tǒng)而存在的。
用戶一般分為用戶名和用戶ID,相當(dāng)于我們的名字和身份證,名字和學(xué)號(hào)。
用戶名方便管理員使用,用戶ID是唯一區(qū)別一個(gè)用戶(計(jì)算機(jī)只識(shí)別ID)
Linux里所有的用戶和進(jìn)程都要有用戶對(duì)應(yīng)。
文件存在必須對(duì)應(yīng)用戶
進(jìn)程運(yùn)行必須應(yīng)用用戶
Linux用戶分三類:
[if !supportLists]1、[endif]超級(jí)管理員root
權(quán)限堪稱皇帝。UID為0,換句話說UID為0的都有皇帝對(duì)應(yīng)的權(quán)限。
[if !vml]
[endif]
[if !supportLists]2、[endif]虛擬用戶(傀儡)
實(shí)際存在的用戶,但是又不允許它登錄。
價(jià)值何在?
滿足文件或進(jìn)程運(yùn)行屬主的要求。但是又不會(huì)帶來管理風(fēng)險(xiǎn)。
UID 1-499
[if !supportLists]3、[endif]普通用戶
實(shí)際存在的用戶,又允許它登錄。管理員身份創(chuàng)建的,幫助管理員管理系統(tǒng)的。
權(quán)限僅限制在家目錄,在一些系統(tǒng)級(jí)目錄可以讀不可以寫,不可以進(jìn)入/root目錄。
UID C7 1000起步C6 500起步。
[if !vml]
[endif]
[if !supportLists]4.2 [endif]?
用戶組:集合、組織
人的家庭、老男孩58期
Linux里每個(gè)用戶都必須要有一個(gè)組織,這個(gè)組織就叫做用戶組,
用戶組也是給人看,用戶組也有唯一標(biāo)識(shí),group ID 簡(jiǎn)稱GID。
默認(rèn)情況創(chuàng)建用戶,并沒有創(chuàng)建用戶組啊,他會(huì)自動(dòng)創(chuàng)建一個(gè)和用戶名相同的用戶組以及相同的GID。
[if !vml]
[endif]
用戶和用戶組的對(duì)應(yīng)關(guān)系
1、1對(duì)1
2、1對(duì)多個(gè)用戶組
3、多個(gè)用戶對(duì)應(yīng)一個(gè)用戶組
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可寫?????2
x? execute? 可執(zhí)行??1
[if !supportLists]-?????????[endif]?沒有權(quán)限??0
. 是標(biāo)識(shí)selinux的符號(hào)
字符分組:三個(gè)字符是一組
rwx?????????????? r-x??????????? r-x??
用戶的權(quán)限????用戶組權(quán)限????其他權(quán)限
?789列:文件的最后修改時(shí)間
文件時(shí)間有三種:
修改時(shí)間:modify,文件內(nèi)容被改過之后的時(shí)間。
訪問時(shí)間:access,文件內(nèi)容被訪問過的時(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)
最近訪問: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)
類似人的身份證,索引節(jié)點(diǎn)是文件在系統(tǒng)中的唯一標(biāo)識(shí)。
找一個(gè)文件最終都要通過索引節(jié)點(diǎn)才能找到。
索引節(jié)點(diǎn)的概念處在ext文件系統(tǒng)中(ext2 ext4 ext3)
索引節(jié)點(diǎn)是硬盤上的一塊存儲(chǔ)空間。大小256字節(jié)或12字節(jié)。
索引節(jié)點(diǎn)里存放是數(shù)據(jù)是文件的屬性(大小、時(shí)間、用戶和組、權(quán)限等)都在索引節(jié)點(diǎn)里,唯獨(dú)不包含文件名(文件名在上級(jí)目錄的block里)
。
磁盤要想使用,西安分區(qū),格式化(創(chuàng)建文件系統(tǒng))。
格式化創(chuàng)建文件系統(tǒng)時(shí),就會(huì)生成大量的inode和block。
Inode作用存儲(chǔ)文件的屬性信息。同時(shí)存放指向文件實(shí)體(block)的指針(類似軟鏈接),
Block作用是存放文件內(nèi)容的(大片)。
[if !vml]
[endif]
Inode:
[if !vml]
[endif]
Block:
Block叫做磁盤塊,是用來存放實(shí)際數(shù)據(jù)的實(shí)體單元(ext文件系統(tǒng)一般最大為4KB),即用來真正存放數(shù)據(jù),例如:照片、視頻等普通文件數(shù)據(jù),單個(gè)大的文件需要占用多個(gè)Block塊來存儲(chǔ),特別小的單個(gè)文件如果不能占滿整個(gè)Block塊,剩余的空間也無法在利用。
[if !supportLineBreakNewLine]
[endif]
磁盤滿的原因有兩種:
[if !supportLists]1、[endif]inode滿了
[if !supportLists]2、[endif]block滿了
提示:
No space left on device 報(bào)錯(cuò),沒有空間在設(shè)備上了。
檢查步驟:
[if !supportLists]1、[endif]df -h
[if !supportLists]2、[endif]df -i 看是不是inode滿了