首页
/
每日頭條
/
圖文
/
linux 哪個命令定義shell
linux 哪個命令定義shell
更新时间:2025-07-06 03:43:14
目錄1. Shell命令以及運行原理Linux嚴格意義上說的是一個操作系統,我們稱之為“核心(kernel)“ ,但我們一般用戶,不能直接使用kernel。而是通過kernel的“外殼”程序,也就是所謂的shell,來與kernel溝通。
  • 如何理解?為什麼不能直接使用kernel?
從技術角度,Shell的最簡單定義:命令行解釋器(command Interpreter)主要包含:

将使用者的命令翻譯給核心(kernel)處理。 同時,将核心的處理結果翻譯給使用者。

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)1

注意:shell 是所有外殼程序的統稱,bash 是一種具體的shell。例如:centos 7外殼程序 :bash
  • 對比windows GUI ,我們操作windows 不是直接操作windows内核,而是通過圖形接口,點擊,從而完成我們的操作 (比如進入D盤的操作,我們通常是雙擊D盤盤符.或者運行起來一個應用程序) 。
  • shell 對于linux ,有相同的作用,主要是 對我們的指令進行解析,解析指令給Linux内核 。反饋結果在通過内核運行出結果,通過shell解析給用戶。
  • shell運行原理

shell是做命令行解釋的 對系統有危害性的命令會被阻止從而保護操作系統 其好處為子進程出現任何問題都不會影響父進程shell

  • 幫助理解:
  • 如果說你是一個悶騷且害羞的程序員,那shell就像媒婆
  • 操作系統内核就是你們村頭漂亮的且有讓你心動的MM小花。
  • 你看上了小花,但是有不好意思直接表白,那就讓你你家人找媒婆幫你提親
  • 所有的事情你都直接跟媒婆溝通,由媒婆轉達你的意思給小花
  • 而我們找到媒婆姓王,所以我們叫它王婆,它對應我們常使用的bash。
2. Linux權限2.1 權限的概念
  • Linux下有兩種用戶:超級用戶(root)、普通用戶。
  • 超級用戶 :可以再linux系統下做任何事情,不受限制
  • 普通用戶 :在linux下做有限的事情。
  • 超級用戶的命令提示符是“#”,普通用戶的命令提示符是“$”。

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)2

  • 用戶切換的命令

命令 : su [用戶名]

功能:切換用戶。

例如,要從root用戶切換到普通用戶user,則使用 su user。 要從普通用戶user切換到root用戶則使用 suroot(root可以省略),此時系統會提示輸入root用戶的口令。

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)3

  • 切換到root :用su -,我們可以切換到root用戶( 此時輸入root賬号密碼,密碼是不會回顯在屏幕上的 )
  • 切換回普通用戶 :用su - 用戶名 切回普通用戶,( 此時不用輸入密碼,但是我們不建議這樣切回,因為使用su -命令時,會創建更多的bash進程 )
  • 推薦的切換回普通用戶 : 輸入exit或者敲擊Ctrl d ,回退到普通用戶
2.2 權限管理
  • 什麼是權限
權限本質上是決定某件事情,某人能否做。
  • 針對人: 例如我是這間房子的主人所以我可以自由進出這個房子
  • 針對事物: 我想去吃一台電腦、我想在面包上玩英雄聯盟、看電影。面包能吃,但是電腦不能吃、你可以吃面包,但是不能吃電腦;這裡面包括了兩個屬性。

文件受人的影響和文件受本身自身特點 (事物屬性) 的影響 所以 文件權限 = 人 事物屬性

文件權限屬性:r(讀)、w(寫)、x(執行權限)

人 (不是特定具體的人,而是一種角色):擁有者、所屬組、other (其它)

  • 文件訪問者的分類(人)
  • 文件和文件目錄的所有者:u—User(中國平民 法律問題)
  • 文件和文件目錄的所有者所在的組的用戶:g—Group(不多說)
  • 其它用戶:o—Others (外國人)
  • 文件類型和訪問權限(事物屬性)

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)4

使用命令 ls -l (ll) 顯示的多列屬性的第一列對應的字符來區分它的文件類型。

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)5

不需要列出other,因為不是擁有者和所屬組的就是other了
  • 幫助理解 - 擁有者和所屬組

我們舉個簡單的例子,在一家公司内部,兩個項目組,要完成同樣的代碼任務,他們之間彼此是互相競争的關系,但是公司給他們提供的服務器隻有一個,他們完成的代碼要提交上去,這是你寫的代碼,肯定隻是想讓你和你的組員組長能看到,不想你的競争對手組看到,這就産生了所屬組的概念。

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)6

  • 文件類型

d:文件夾

-:普通文件

l:軟鍊接(類似Windows的快捷方式)

b:塊設備文件(例如硬盤、光驅等)

p:管道文件

c:字符設備文件(例如屏幕等串口設備)

s:套接口文件

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)7

  • 基本權限

i.讀(r/4):Read對文件而言,具有讀取文件内容的權限;對目錄來說,具有浏覽該目錄信息的權限

ii.寫(w/2):Write對文件而言,具有修改文件内容的權限;對目錄來說具有删除移動目錄内文件的權限

iii.執行(x/1):execute對文件而言,具有執行文件的權限;對目錄來說,具有進入目錄的權限

iv.“—”表示不具有該項權限

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)8

2.3 文件權限值的表示方法

字符表示方法

Linux表示

說明

Linux

說明

r - -

隻讀

- w -

僅可寫

- - x

僅可執行

r w -

可讀可寫

- w x

可寫可執行

r - x

可讀可執行

r w x

可讀可寫可執行

- - -

無權限

八進制數值表示方法

權限符号 (讀寫執行)

八進制

二進制

r

4

1 0 0

w

2

0 1 0

x

1

0 0 1

r w

6

1 1 0

r x

5

1 0 1

w x

3

0 1 1

r w x

7

1 1 1

- - -

0

0 0 0

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)9

  • 權限更改

$ chmod 777 text.c

$ chmod 000 text.c

$ chmod 640 text.c

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)10

2.4 文件訪問權限的相關設置方法

chmod

  • 功能 :設置文件的訪問權限
  • 格式 :chmod [參數] 權限 文件名
  • 常用選項:

R -> 遞歸修改目錄文件的權限

說明:隻有文件的擁有者和root才可以改變文件的權限

  • chmod命令權限值得格式
① 用戶表示符 /-=權限字符
  • :向權限範圍增加權限代号所表示的權限
  • -:向權限範圍取消權限代号所表示的權限
  • =:向權限範圍賦予權限代号所表示的權限用戶符号:
  • u:擁有者
  • g:擁有者同組用
  • o:其它用戶
  • a:所有用戶
示例:

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)11

注意:chmod可以給擁有者,所屬組,其他用戶同時修改權限,中間用逗号隔開如果要修改不是自己的文件的時候需要sudo臨時權限提升或者直接切成root身份
  • sudo chmod 用戶表示符 /-=權限字符 文件名

chown

功能:修改文件的擁有者

格式:chown [參數] 用戶名 文件名

實例:

$ sudo chown root test.c//修改擁有者

$ sudo chown lighthouse test.c//修改擁有者

$ sudo chown :lighthouse test.c//修改所屬組

$ sudo chown lighthouse:lighthouse test.c//可以将擁有者、所屬組同時修改

$ sudo chown root:root test.c//可以将擁有者、所屬組同時修改

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)12

chgrp

功能: 修改文件或目錄的所屬組格式 : chgrp [參數] 用戶組名 文件名常用選項 : -R 遞歸修改文件或目錄的所屬組

實例:

$ sudo chgrp root text.c

$ sudo chgrp lighthouse text.c

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)13

2.4 修改文件的掩碼

umask

功能:查看或修改文件掩碼

語法:umask 權限值

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)14

新建文件夾默認權限=0666

新建目錄默認權限=0777

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)15

但是我們觀察到,新建的文件和目錄并不是默認的起始權限,這裡是什麼原因呢?

原因就是創建文件或目錄的時候還要受到umask的影響。假設默認權限是mask,則實際創建的出來的文件權限是: umask & ~umask

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)16

  • 我們也可以通過修改文件的umask碼值來修改文件的權限:

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)17

說明:将現有的存取權限減去權限掩碼後,即可産生建立文件時預設權限。超級用戶默認掩碼值為0022,普通用戶默認為0002。

2.5 file指令

file

功能說明:辨識文件類型。

語法:file [選項] 文件或目錄…

常用選項:

-c 詳細顯示指令執行過程,便于排錯或分析程序執行的情形。

-z 嘗試去解讀壓縮文件的内容。

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)18

3. 目錄權限面試題:進入一個目錄要什麼權限?
  • 可讀權限 : 如果目錄沒有可讀權限, 則無法用ls等命令查看目錄中的文件内容.
  • 可寫權限 : 如果目錄沒有可寫權限, 則無法在目錄中創建文件, 也無法在目錄中删除文件.
  • 可執行權限 :如果沒有目錄可執行權限, 則無法cd到目錄中

x r w

4. 粘滞位新發現:

就是隻要用戶具有目錄的寫權限, 用戶就可以删除目錄中的文件, 而不論這個用戶是否有這個文件的寫權限. 我創建的一個文件, 憑什麼被你一個外人可以删掉

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)19

結論:

如果目錄本身對other具有w權限,other可以删掉任何目錄下的東西如果目錄本身對other沒有w權限,other則不可以删除

我們的需求:other可以在特定的目錄下創建文件并寫入,但是不想讓任何人删除掉自己的文件

這裡為了解決這個不科學的問題,Linux引入了粘滞位的概念

粘滞位

語法: chmod t 目錄名

功能: 給目錄加上粘滞位

注意:

隻能對目錄設置 ,一般是 限制other 權限的,對設置粘滞位的目錄,在該目錄下, 隻能有文件的擁有者和root用戶可以删除 ,其他人不能删除

示例:

linux 哪個命令定義shell(shell命令以及運行原理和Linux權限詳解)20

有多個人或者系統會有很多的臨時數據,所有的臨時文件都放在系統的*/tmp*目錄下。所有的權限需要放開,但是隻想讓文件的擁有者删除自己的文件,這需要設置粘滞位

5. 總結
  • 目錄的可執行權限是表示你可否在目錄下執行命令。
  • 如果目錄沒有-x權限,則無法對目錄執行任何命令,甚至無法cd 進入目, 即使目錄仍然有-r 讀權限(這個地方很容易犯錯,認為有讀權限就可以進入目錄讀取目錄下的文件)
  • 而如果目錄具有-x權限,但沒有-r權限,則用戶可以執行命令,可以cd進入目錄。但由于沒有目錄的讀權限
  • 所以在目錄下,即使可以執行ls命令,但仍然沒有權限讀出目錄下的文檔。
,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
台州必爬的12大名山你去過幾座(黃岩兩大名山與東漢)
台州必爬的12大名山你去過幾座(黃岩兩大名山與東漢)
     第二洞天内      第二洞天外      東華帝君      大有宮      東皇镛   台州通   東華帝君,姓王,名玄甫,又稱東君、東木公、東王(皇)公、青童君、元陽父、方諸君、東皇太一、扶桑大帝等。東王公于漢代有記載,跟漢代的陰陽觀念有關,是代表“陽”的男神。   東王公就是東華帝君   漢代記載的東王公,可能與先秦楚地的太陽神——東君等...
2025-07-06
300英雄上線時間(300英雄WCA第三賽季SOLO賽報名火熱開啟)
300英雄上線時間(300英雄WCA第三賽季SOLO賽報名火熱開啟)
  《300英雄》電信新區“真理之門”定檔十月秋風漫改季。漫界大佬悉數登場,絕贊皮膚無差别登陸。就提前感受次元秋收的盛況吧!      号外号外!繼WCA團隊賽比賽進入白熱化以後,本屆WCA的個人SOLO賽報名也将隆重開啟。   即日起至9月28日24點,凡購買過WCA第三賽季門票(購買活動地址戳這裡)的用戶,均可至WCA第三賽季賽事頁面(賽事頁面地址戳這裡...
2025-07-06
太倉沙溪親子遊攻略(太倉這些迷人的)
太倉沙溪親子遊攻略(太倉這些迷人的)
  每年6月的第2個星期六是我國的文化和自然遺産日      在太倉悠揚的江南絲竹唇齒留香的肉松熱鬧歡騰的滾燈、龍獅……無數傳承跨越千年為我們留下了寶貴的财富   今天,跟着小布一起來解鎖這些迷人的“老寶貝”吧!      太倉,是江南絲竹的發源地。江南絲竹旋律抒情優美,風格清新流暢,以絲弦樂器(二胡、弦子、提琴、琵琶等)和吹管樂器(笛、箫等)為主,組成器樂...
2025-07-06
讓女生心動的撩人情話表白必備(讓女生無法拒絕的表白情話)
讓女生心動的撩人情話表白必備(讓女生無法拒絕的表白情話)
     1、遇上你的感覺,大概是走了很久的路,終于到家了!   2、我是很慢熱的人,但是我保溫性能很好,一旦熱起來,就不會涼下去,比如喜歡你!   3、我雖然不善言辭,但關于愛你,我無法掩飾!   4、我沒有取悅你的天分,但我比誰都認真。   5、對你遷就一生,是我能給你的,蕞好的聘禮!   6、我的生活,就像一杯白開水,但是你的出現,像是在裡面偷偷加了一...
2025-07-06
又感人又甜的甜寵劇推薦(下飯又助眠的甜寵劇)
又感人又甜的甜寵劇推薦(下飯又助眠的甜寵劇)
  甜寵劇下飯又助眠,是當下電視劇(網劇)市場的一大主流。   在最簡單的世界裡,談最純粹的戀愛,讓人感受歲月靜好。   這些劇的特點是從頭到尾男女主“抱抱親親舉高高”,外加各種花式“高甜撒糖”。   看了這種甜膩款戀愛,有沒有想戀愛的感覺?你該如何安放一顆少女心?            劇名:我與你的光年距離   主演: 宋威龍 / 周雨彤 / 王以綸  ...
2025-07-06
Copyright 2023-2025 - www.tftnews.com All Rights Reserved