一、剩余指令的補(bǔ)充
1.tar指令
- tar指令(重要):打包/解包,不打開它,直接看內(nèi)容
- 語法:tar [-cxtzjvf] 文件與目錄 … 參數(shù):
常用的為:
(1)-c :建立一個(gè)壓縮文件的參數(shù)指令(create 的意思);
(2)-z :是否同時(shí)具有 gzip 的屬性?亦即是否需要用 gzip 壓縮
(3)-f :使用檔名,請(qǐng)留意,在 f 之后要立即接檔名喔!不要再加參數(shù)
(4)-v :壓縮的過程中顯示文件!
(5)-x :解開一個(gè)壓縮文件的參數(shù)指令!
(6)-C : 解壓到指定目錄
我們一般用-czf就夠了!
-v把打包的過程顯示出來:
3. tar的解壓:只需將-czf / -cvzf 中的 c 變成 x 即可!
總結(jié):
(1)zip和tar都是:打包
(2)unzip和tar都是:壓縮
2.bc指令
Linux下的計(jì)算器:
如果退出要么:Ctrl+C / quit + 回車
通過重定向(echo)和管道(|)算一串連續(xù)的數(shù)字:
3.uname
1.uname:查L(zhǎng)inux下的系統(tǒng)架構(gòu):
4.熱鍵
(1)Ctrl+C :終止命令。
(2)Tab鍵:具有命令補(bǔ)齊的功能!
(3)按兩次Ctrl+D 就直接退出關(guān)閉XShell
(4)Ctrl+R:在歷史命令中進(jìn)行搜索
二、Shell命令運(yùn)行原理
1.Shell
Linux作為一個(gè)操作系統(tǒng),稱為"kernel",一般用戶不能直接使用kernel,而通過"kernel"的外殼程序"Shell"和kernel進(jìn)行溝通。
所以廣義上Linux發(fā)行版=Linux內(nèi)核+外殼程序,狹義上Linux發(fā)行版=Linux內(nèi)核。
Shell作為外殼程序,包裹在Linux內(nèi)核外層,是一個(gè)應(yīng)用程序,通過一系列的Linux命令對(duì)操作系統(tǒng) 發(fā)出相關(guān)治療提供人際界面。它連接了用戶和Linux內(nèi)核,讓用戶更加高效、安全、低成本地使用Linux內(nèi)核,這就是Shell的本質(zhì)。bash是Shell的一種。
Shell命令的執(zhí)行過程:
Shell有兩個(gè)作用:
(1)傳遞請(qǐng)求指令,讓操作系統(tǒng)執(zhí)行命令
(2)保護(hù)內(nèi)核
2.為什么Linux不讓用戶直接使用kernel
對(duì)比windows GUI,用戶操作windows 不是直接操作windows內(nèi)核,而是通過圖形接口,點(diǎn)擊,從而完成用戶操作(比如進(jìn)入D盤的操作,用戶通常通過雙擊D盤盤符而進(jìn)入D盤)。
shell 對(duì)于Linux,有相同的作用,主要是對(duì)用戶的指令進(jìn)行解析,解析指令給Linux內(nèi)核。反饋結(jié)果在通過內(nèi)核運(yùn)行出結(jié)果,通過shell解析給用戶。
三、Linux權(quán)限概念
- 權(quán)限與人扮演的角色有關(guān),權(quán)限也與事物的屬性有關(guān),權(quán)限==人(角色)+ 事物的屬性!
- 在Linux下有兩種用戶,一是超級(jí)用戶(root),二級(jí)是普通用戶,超級(jí)用戶與普通用戶的命令提示符不一樣:超級(jí)用戶的命令提示符是"#“,普通用戶的命令提示符是”$"。
- 超級(jí)用戶:root 可以在Linux下做任何事情不受限制!
- 超級(jí)用戶與普通用戶之間可以相互切換(但是如果你普通用戶切換到超級(jí)用戶系統(tǒng)會(huì)讓你輸入一個(gè)密碼,這個(gè)密碼是root的密碼,但是你root切換到普通用戶不需要輸入任何密碼)
四、Linux權(quán)限管理
1.文件訪問的用戶分類
- 文件訪問的用戶分類,分為3類:
(1)擁有者:User(u)
(2)所屬組:Group(g)
(3)other:Other(o)
2.文件類型和訪問權(quán)限
(1)文件類型
???????在Linux中,不以文件后綴作為區(qū)分文件類型的方式,而是以文件詳細(xì)列表的第一位進(jìn)行標(biāo)識(shí)區(qū)分:
在Linux中,我們現(xiàn)階段只學(xué)常用的文件類型有:
d:目錄文件
-:普通文件(包括文本、各種靜態(tài)庫、可執(zhí)行程序、源程序)
- 眾所周知,windows是如何區(qū)分文件類型的,就是通過后綴名,但是Linux不通過后綴來區(qū)分文件類型,但是Linux并不是說不用后綴。( Linux區(qū)分文件類型是根據(jù)前面的第一列字符,現(xiàn)在就知道 - (普通文件)和 d (目錄文件)就行了)
我們對(duì)Linux中文件后綴的態(tài)度是可以使用,但并不代表Linux系統(tǒng)下的工具不用后綴來做區(qū)分,比如說編譯器gcc就需要以后綴名來區(qū)分文件類型。
(2)訪問權(quán)限
linux對(duì)文件有3種訪問權(quán)限:
r:read,對(duì)文件而言,具有讀取文件內(nèi)容的權(quán)限;對(duì)目錄來說,具有瀏覽該目錄信息的權(quán)限
w:write,對(duì)文件而言,具有修改文件內(nèi)容的權(quán)限;對(duì)目錄來說具有刪除移動(dòng)目錄內(nèi)文件的權(quán)限
x:execute,對(duì)文件而言,具有執(zhí)行文件的權(quán)限;對(duì)目錄來說,具有進(jìn)入目錄的權(quán)限
3.權(quán)限的表示方法
(1)字符表示法:
(1)快速掌握修改權(quán)限的做法:
(2)一次性加減多名角色的權(quán)限:
(3)權(quán)限的訪問對(duì)用戶身份只識(shí)別一次,如果匹配成功,那么就結(jié)束識(shí)別!
按 擁有者->所屬組->other的順序進(jìn)行匹配!
(1)如何證明Linux對(duì)用戶身份只識(shí)別一次?
對(duì)用戶身份只識(shí)別一次:如果匹配成功就按成功的來,如果對(duì)擁有者匹配不成功就自動(dòng)匹配所屬組,如果兩個(gè)都不成功,那就說明是other。
注意:“識(shí)別”和“匹配”不一樣?。。。ㄆヅ涑晒δ遣沤凶R(shí)別了一次?。?/strong>
(2)八進(jìn)制表示法:
4.權(quán)限的設(shè)置
(1)chmod修改文件訪問權(quán)限
只有文件的擁有者和root可以設(shè)置文件的訪問權(quán)限:
chmod 【參數(shù)】 權(quán)限 文件名
①用戶符號(hào)+/-/=權(quán)限字符:
+:向權(quán)限范圍增加權(quán)限代號(hào)所表示的權(quán)限
-:向權(quán)限范圍取消權(quán)限代號(hào)所表示的權(quán)限
=:向權(quán)限范圍賦予權(quán)限代號(hào)所表示的權(quán)限
用戶符號(hào):
u:擁有者
g:擁有者同組用
o:其它用戶
a:所有用戶
(2)chown修改文件擁有者
修改文件擁有者:
chown 【參數(shù)】 用戶名 文件名
(3)chgrp修改文件或者目錄的所屬組
chgrp 【參數(shù)】 用戶組名 文件名
chmod chown chgrp 的語法總結(jié):
(4)umask查看或者修改文件掩碼
新創(chuàng)建一個(gè)文件,訪問權(quán)限按理來說,應(yīng)該是777,但是卻發(fā)現(xiàn)新創(chuàng)建的目錄的權(quán)限是755:
umask:是Linux中的默認(rèn)權(quán)限掩碼
(5)目錄的權(quán)限
①可讀權(quán)限: 如果目錄沒有可讀權(quán)限, 則無法用ls等命令查看目錄中的文件內(nèi)容。
②可寫權(quán)限: 如果目錄沒有可寫權(quán)限, 則無法在目錄中創(chuàng)建文件, 也無法在目錄中刪除文件。
③可執(zhí)行權(quán)限: 如果目錄沒有可執(zhí)行權(quán)限, 則無法cd到目錄中
(6)粘滯位
在root的根目錄下,有一個(gè)tmp文件夾,這個(gè)文件夾下存放的是臨時(shí)文件,用戶在保存文件之前,文件都存放在tmp文件夾中,這個(gè)文件夾下存放用戶的臨時(shí)文件,可以看到它的權(quán)限有個(gè)t:
這個(gè)文件夾對(duì)擁有者和所屬組的權(quán)限都是rwx,對(duì)other的權(quán)限是rwt。這個(gè)t是什么屬性?和r、w、x有什么區(qū)別?
先來看下面的例子,root用戶在根目錄下創(chuàng)建了一個(gè)文件夾test,并在這個(gè)文件夾中創(chuàng)建了2個(gè)文件test1和test2,然后又root用戶切換為yjl用戶,此時(shí)發(fā)現(xiàn)yjl竟然可以刪掉test中的文件:
這怎么能忍,我創(chuàng)建的文件,怎么能夠被別人隨隨便便的刪除掉了?test的目錄對(duì)other有w和x的權(quán)限,一旦有w的權(quán)限,那么也就是說other可以對(duì)他進(jìn)行創(chuàng)建文件和刪除文件的操作,但是不希望一個(gè)用戶創(chuàng)建的文件被別的用戶刪除刪除掉,我們?cè)撛趺崔k呢?在這種場(chǎng)景下我們就需要粘滯位。
當(dāng)一個(gè)目錄被設(shè)置了粘滯位以后,即使用戶對(duì)該目錄有寫的權(quán)限,但是也不能刪除該目錄中其他用戶的文件。只有文件的擁有者和root用戶才可以刪除。這就達(dá)到了各個(gè)用戶可以在目錄中讀,寫,修改,刪除文件,但是不能隨意的刪除其他用戶的文件的目的。
但是最后發(fā)現(xiàn)他報(bào)錯(cuò)了,你沒有訪問權(quán)限。
因此,當(dāng)一個(gè)目錄被設(shè)置為"粘滯位"(chmod +t),則該目錄下的文件只能由
(1)超級(jí)管理員刪除
(2)該目錄的所有者刪除
(3)該文件的所有者刪除文章來源:http://www.zghlxwxcb.cn/news/detail-839620.html
好了,今天的分享就到這里了
如果對(duì)你有幫助,記得點(diǎn)贊??+關(guān)注哦!
我的主頁還有其他文章,歡迎學(xué)習(xí)指點(diǎn)。關(guān)注我,讓我們一起學(xué)習(xí),一起成長(zhǎng)吧!文章來源地址http://www.zghlxwxcb.cn/news/detail-839620.html
到了這里,關(guān)于【Linux】Shell命令運(yùn)行原理和權(quán)限詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!