課堂筆記

[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滿了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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