Linux基礎(chǔ)

知識(shí)點(diǎn)


  • linux是什么
  • linux歷史
  • linux目錄配置
  • linux用戶和組的概念
  • linux基礎(chǔ)命令:groupadd、useradd、passwd、userdel、su、ls、chgrp、chown、chmod
  • 目錄屬性的意義

linux簡(jiǎn)介


linux是什么

就像我們了解的Windows和Mac OS,linux也是一個(gè)操作系統(tǒng)。如下圖,linux就是系統(tǒng)調(diào)用接口和內(nèi)核那兩層。


操作系統(tǒng)的角色
linux歷史簡(jiǎn)介
  • 操作系統(tǒng)始于二十世紀(jì)五十年代,當(dāng)時(shí)的操作系統(tǒng)能運(yùn)行批處理程序。批處理程序不需要用戶的交互,它從文件或者穿孔卡片讀取數(shù)據(jù),然后輸出到另外一個(gè)文件或者打印機(jī)。
  • 1960年初期麻省理工學(xué)院(MIT)發(fā)展了所謂的“兼容分時(shí)系統(tǒng)”,他可以讓多個(gè)用戶從不同終端聯(lián)機(jī)進(jìn)入主機(jī),來利用主機(jī)的資源進(jìn)行運(yùn)算工作。要注意的是,這時(shí)的終端機(jī)只有輸入和輸出的功能,本身并不具備任何運(yùn)算和軟件安裝能力,而且,比較先進(jìn)的主機(jī)也只能提供30個(gè)不到的終端機(jī)
  • 1965年前后,由貝爾實(shí)驗(yàn)室(Bell)、麻省理工學(xué)院(MIT)以及奇異公司(GE)共同發(fā)起了Multics計(jì)劃,目的是想讓大型主機(jī)可以達(dá)成提供300個(gè)以上的終端機(jī)聯(lián)機(jī)使用的目標(biāo)。但由于資金短缺,計(jì)劃進(jìn)度落后,貝爾實(shí)驗(yàn)室退出計(jì)劃。他們退出后,開發(fā)了自己的一個(gè)操作系統(tǒng)----unix。
  • 1979年,美國(guó)電信大廠AT&T推出System V第七版unix,此版最重要的特色是可以支持x86架構(gòu)的個(gè)人計(jì)算機(jī)系統(tǒng)。同時(shí)AT&T出于商業(yè)考慮,進(jìn)行了版權(quán)宣告,特別提到了“不可對(duì)學(xué)生提供原始碼”的嚴(yán)格限制。
  • 1984年,在學(xué)校教授Unix核心原始碼的Andrew Tanenbaum為避免版權(quán)糾紛,開始撰寫Minix這個(gè)類Unix操作系統(tǒng),于1986年完成。
  • 1991 年 10 月,Linus Torvalds(Linux 之父)在赫爾辛基大學(xué)接觸 UNIX,他希望能在自己的電腦上運(yùn)行一個(gè)類似的操作系統(tǒng)。可是 UNIX 的商業(yè)版本非常昂貴,于是他從 MINIX 開始入手,計(jì)劃開發(fā)一個(gè)比MINIX 性能更好的操作系統(tǒng)。他參考Minix的設(shè)計(jì)理念與書上的程序代碼,仔細(xì)研究386個(gè)人計(jì)算機(jī)的效能優(yōu)化,然后使用GNU [1] 的自由軟件將核心程序代碼和386緊緊地結(jié)合在一起,最終寫出了他所需要的核心代碼。他將此核心放置在網(wǎng)絡(luò)上供大家下載,由于Torvalds放置核心的那個(gè)FTP網(wǎng)站目錄為linux,大家便將這個(gè)核心稱為linux了。同時(shí),Torvalds為了讓自己的Linux能夠兼容于Unix系統(tǒng),他開始參考標(biāo)準(zhǔn)的POSIX [2]規(guī)范修改Linux,如此一來,Linux很容易與Unix兼容共享互有的軟件,并且linux直接放置在網(wǎng)絡(luò)上供大家下載,所以流通很快,使用率大增。
  • 1992-1993 年,Linux 內(nèi)核具備了挑戰(zhàn) UNIX 的所有本質(zhì)特性,包括 TCP/IP 網(wǎng)絡(luò),圖形界面系統(tǒng)(X window ),Linux 同樣也吸引了許多行業(yè)的關(guān)注。一些小的公司開始開發(fā)和發(fā)行 Linux,有幾十個(gè) Linux 用戶社區(qū)成立。1994 年,Linux 雜志也開始發(fā)行。
  • 1994 年 3 月, Linux 內(nèi)核發(fā)布,內(nèi)核的發(fā)布要經(jīng)歷許多開發(fā)周期,直至達(dá)到一個(gè)穩(wěn)定的版本。
  • 1996 年,Torvalds 發(fā)布 Linux-v2.0,確定了 Linux 的吉祥物:企鵝。
linux distribution

通過上面的說明,我們知道了 Linux 其實(shí)就是一個(gè)操作系統(tǒng)最底層的核心及其提供的核心工具,任何人均可取得核心碼與可執(zhí)行這個(gè)核心程序,并且可以修改。此外,由于linux參考POSIX設(shè)計(jì)規(guī)范,于是 兼容UNIX操作系統(tǒng),故可稱為Unix Like的一種。
為了讓一般使用者能夠接觸到linux,很多的商業(yè)公司和非盈利團(tuán)體,就將linux kernal(含tools)與可運(yùn)行的軟件整合起來,加上自己具有創(chuàng)意的工具程序,這個(gè)工具程序可以讓用戶以光盤/DVD或者透過網(wǎng)絡(luò)直接安裝和管理linux系統(tǒng)。這個(gè)kernal+softwares+tools的可完全安裝,我們稱其為linux distribution(可完全安裝套件、linux發(fā)布商套件)

linux的目錄配置


對(duì)于linux來說,所有的程序和系統(tǒng)裝置都是文件,一切都是文件。

linux目錄配置的依據(jù)---FHS

由于利用 Linux 來開發(fā)產(chǎn)品或distributions 的社群/公司與個(gè)人很多,若是每個(gè)人都用自己的想法來配置文件放置的目錄,就會(huì)造成個(gè)人不能使用他人的linux系統(tǒng)的PC。因?yàn)槟愀静恢酪恍┗镜呐渲茫募谀睦?,這就造成了混亂。所以,就有所謂的Filesystem Hierarchy Standard(FHS)標(biāo)準(zhǔn)出爐了。
也就是說,F(xiàn)HS 的重點(diǎn)在于規(guī)范每個(gè)特定的目錄下應(yīng)該要放置什么樣子的數(shù)據(jù)而已。
事實(shí)上,這個(gè) FHS僅是規(guī)范出在根目錄 ( / ) 底下各個(gè)主要的目錄應(yīng)該是要放置什么樣的文件而已。 FHS 定義出兩層規(guī)范出來,第一層是 / 底下的各個(gè)目錄應(yīng)該要放置什么樣內(nèi)容的文件數(shù)據(jù),例如 /etc 應(yīng)該要放置設(shè)定檔, /bin 與 /sbin 則應(yīng)該要放置可執(zhí)行檔等等。第二層則是針對(duì) /usr 及 /var 這兩個(gè)目錄的次目錄來定義的。 例如 /var/log 放置系統(tǒng)登錄文件、 /usr/share放置共享數(shù)據(jù)等等。

目錄配置的內(nèi)容

在一個(gè)文件系統(tǒng)中,我們總有一個(gè)被稱為根目錄的東西,這個(gè)根目錄里包含了所有其他目錄和文件。
在Windows中,可以有好幾個(gè)根目錄,比如說C盤(C:\)是你的硬盤的根目錄,H盤可能是你的光盤驅(qū)動(dòng)器的根目錄。
Linux中有且只有一個(gè)根目錄,就是 / 。

Windows中是用反斜杠 \ 來標(biāo)明目錄的層級(jí)與包含關(guān)系的。

windows的目錄結(jié)構(gòu).png

而在Linux中,是用斜杠 / 來表示目錄的層級(jí)與包含關(guān)系的。
linux目錄結(jié)構(gòu).png

如果以較為完整的樹狀目錄來視察的話, 可以將整個(gè) Linux 的樹狀目錄繪制成下圖:

目錄樹.png

下面簡(jiǎn)單說下幾個(gè) FHS 定義出來的目錄內(nèi)應(yīng)該放置的文件內(nèi)容,詳細(xì)請(qǐng)點(diǎn)擊:
linux文件權(quán)限與目錄配置查看

  • / :根目錄 root (/),一般建議在根目錄底下只接目錄,文件不要直接在 / 底下。
  • /boot—引導(dǎo)加載程序文件 :主要放置開機(jī)會(huì)使用到的文件,包括Linux核心文件以及開機(jī)選單與開機(jī)所需設(shè)定檔等等。 Linux kernel常用的檔名為:vmlinuz ,如果使用的是grub這個(gè)開機(jī)管理程式,則還會(huì)存在/boot/grub/這個(gè)目錄!
  • /dev—設(shè)備文件 :在Linux系統(tǒng)上,任何裝置與周邊設(shè)備都是以文件的型態(tài)存在于這個(gè)目錄當(dāng)中。 只要通過存取這個(gè)目錄下的某個(gè)文件,就等于存取某個(gè)裝置。
  • /bin—用戶二進(jìn)制文件 :系統(tǒng)的所有用戶使用的命令都設(shè)在這里,例如:ps,ls,ping,grep,cp等。
  • /sbin—系統(tǒng)二進(jìn)制文件 :放置一些系統(tǒng)管理員才會(huì)動(dòng)用到的執(zhí)行指令,對(duì)系統(tǒng)進(jìn)行維護(hù)。例如: fdisk, mke2fs, fsck,mkswap, mount 等等。
  • /etc—配置文件 :系統(tǒng)主要的設(shè)定文件幾乎都放置在這個(gè)目錄內(nèi),例如人員的賬號(hào)密碼文件、 各種服務(wù)的啟始檔等等。一般來說,這個(gè)目錄下的各文件屬性是可以讓一般使用者查閱的, 但是只有 root 有權(quán)力修改。
  • /var—變量文件 :主要放置的是針對(duì)系統(tǒng)執(zhí)行過程中, 常態(tài)性變動(dòng)的文件放置的目錄。舉例來說,例如快取文件(cache) 或者是隨時(shí)變更的登錄檔文件(log file) 都是放在這個(gè)目錄中的。此外,某些軟件執(zhí)行過程中會(huì)寫入的數(shù)據(jù)庫(kù)文件, 例如 MySQL 數(shù)據(jù)庫(kù),也都寫入在這個(gè)目錄中!
    /var/log/message:所有的登錄文件存放目錄,/var/spool/mail:郵件存放的目錄,/var/run:程序或服務(wù)啟動(dòng)后,其PID存放在該目錄下。
  • /usr—用戶文件 :主要放置系統(tǒng)的主要程序、 圖形接口所需要的文件、額外的函式庫(kù)、本機(jī)端所自行安裝的軟件,以及共享的目錄與文件等等。事實(shí)上,他有點(diǎn)像是 Windows 操作系統(tǒng)當(dāng)中的Program files與WinNT這兩個(gè)目錄的結(jié)合!
    /usr/bin存放應(yīng)用程序,/usr/share存放共享數(shù)據(jù),/usr/lib存放不能直接運(yùn)行的,卻是許多程序運(yùn)行所必需的一些函數(shù)庫(kù)文件。/usr/local:存放軟件升級(jí)包。/usr/share/doc:系統(tǒng)說明文件存放目錄。/usr/share/man: 程序說明文件存放目錄
  • /home—用戶家目錄 :這是系統(tǒng)預(yù)設(shè)的使用者家目錄 (home directory)。在你新增一個(gè)一般使用者賬號(hào)時(shí), 預(yù)設(shè)的使用者家目錄都會(huì)規(guī)范到這里來。比較重要的是,家目錄有兩種代號(hào):
    ~:代表目前這個(gè)使用者的家目錄,而
    ~dmtsai :則代表 dmtsai 的家目錄!

Linux用戶和組的概念


Linux多用戶、多任務(wù)的特性

Linux是一個(gè)真實(shí)的、完整的多用戶多任務(wù)的操作系統(tǒng),多用戶多任務(wù)就是可以在系統(tǒng)上建立多個(gè)用戶,而多個(gè)用戶可以在同一時(shí)間內(nèi)登錄同一系統(tǒng)執(zhí)行各自不同的任務(wù),而互不影響。例如某臺(tái)Linux服務(wù)器上有4個(gè)用戶,分別是root、www、ftp和MySQL,在同一時(shí)間內(nèi),root用戶可能在查看系統(tǒng)日志,管理維護(hù)系統(tǒng);www用戶在修改自己的網(wǎng)頁(yè)程序;FTP用戶可能在上傳軟件到服務(wù)器;MySQL用戶在執(zhí)行自己的sql查詢,每個(gè)用戶互不干擾,有條不紊地進(jìn)行著自己的工作,而每個(gè)用戶不能越權(quán)訪問,比如www用戶不能執(zhí)行MySQL用戶的查詢操作,F(xiàn)TP用戶不能修改www用戶的網(wǎng)頁(yè)程序,由此可知,不同用戶具有不同的權(quán)限,每個(gè)用戶在權(quán)限允許的范圍內(nèi)完成不同的任務(wù),Linux正是通過這種權(quán)限的劃分與管理,實(shí)現(xiàn)了多用戶多任務(wù)的運(yùn)行機(jī)制。

Linux下角色的分類

Linux下用戶是根據(jù)角色定義的,具體分為三種角色:
超級(jí)用戶:系統(tǒng)管理員,擁有對(duì)系統(tǒng)的最高管理權(quán)限,默認(rèn)是root用戶
普通用戶:只能對(duì)自己目錄下的文件進(jìn)行訪問和修改,具有登錄系統(tǒng)的權(quán)限,例如上面的www、FTP用戶等
虛擬用戶:也叫“偽”用戶,這類用戶最大的特點(diǎn)就是不能登錄系統(tǒng),他們的存在主要是方便系統(tǒng)管理,滿足相應(yīng)的系統(tǒng)進(jìn)程對(duì)文件屬主的要求。例如系統(tǒng)默認(rèn)的bin、adm、nobody用戶等,一般運(yùn)行的web服務(wù),默認(rèn)就是使用的nobody用戶,但是nobody用戶是不能登錄系統(tǒng)的。

用戶和組的概念

Linux是一個(gè)多用戶多任務(wù)的分時(shí)操作系統(tǒng),如果要使用系統(tǒng)資源,就必須向系統(tǒng)管理員申請(qǐng)一個(gè)賬戶,然后通過這個(gè)賬戶進(jìn)入系統(tǒng)。這個(gè)賬戶和用戶是一個(gè)概念,通過建立不同屬性的用戶,一方面,可以合理的利用和控制系統(tǒng)資源,另一方面也可以幫助用戶組織文件,提供對(duì)用戶文件的安全性保護(hù)。
每個(gè)用戶有用一個(gè)唯一的用戶名和用戶口令。
用戶組是具有相同特征用戶的邏輯集合,有時(shí)我們需要讓多個(gè)用戶具有相同的權(quán)限,比如查看、修改某一個(gè)文件的權(quán)限,一種方法是分別對(duì)多個(gè)用戶進(jìn)行文件訪問授權(quán),如果有10個(gè)用戶的話,就需要授權(quán)10次,顯然這種方法不太合理;另一種方法就是建立一個(gè)組,讓這個(gè)組具有查看、修改此文件的權(quán)限,然后將所有需要訪問此文件的用戶放入這個(gè)組中,那么所有的用戶就具有了和組一樣的權(quán)限,這就是用戶組。用戶分組是Linux系統(tǒng)中對(duì)用戶進(jìn)行管理及控制訪問權(quán)限的一種手段,通過定義用戶組,很大程度上簡(jiǎn)化了管理工作。

用戶和組的關(guān)系

用戶和用戶組的關(guān)系有:
一對(duì)一:即一個(gè)用戶可以存在一個(gè)組中,也可以是組中的唯一成員
一對(duì)多:即一個(gè)用戶可以存在多個(gè)用戶組中,那么此用戶具有多個(gè)組的共同權(quán)限。
多對(duì)一:多個(gè)用戶可以存在一個(gè)組中,這些用戶具有和組相同的權(quán)限
多對(duì)多:多個(gè)用戶可以存在多個(gè)組中。

linux常用基礎(chǔ)命令


linux的語(yǔ)言是c語(yǔ)言寫的,c語(yǔ)言是嚴(yán)格區(qū)分大小寫的,linux命令中大小寫也是完全不同的。

終端展現(xiàn):
登錄linux終端后,linux默認(rèn)的命令行提示信息的格式:


意思是:[當(dāng)前用戶的賬號(hào)名稱@主機(jī)名的第一個(gè)名字 工作目錄的最后一層目錄名]提示字符
如果是root用戶,提示字符是#,如果是普通用戶,提示字符是:$

  1. groupadd
    用于創(chuàng)建一個(gè)新的工作組。用戶組的所有信息都存放在/etc/passwd

groupadd (選項(xiàng)) (參數(shù))
選項(xiàng)
-g:指定新建工作組的id;
-r:創(chuàng)建系統(tǒng)工作組,系統(tǒng)工作組的組ID小于500;
-o:允許添加組ID號(hào)不唯一的工作組。
參數(shù)
組名:指定新建工作組的組名。
實(shí)例:建立一個(gè)新組,并設(shè)置組ID

  1. useradd
    用于創(chuàng)建的新的系統(tǒng)用戶,使用useradd指令所建立的帳號(hào),實(shí)際上是保存在/etc/passwd文本文件中。

useradd (選項(xiàng)) (參數(shù))
選項(xiàng)
-d:指定用戶登入時(shí)的主目錄,替換系統(tǒng)默認(rèn)值/home/<用戶名>
-g 用戶組 指定用戶所屬的用戶組。值可以是組名也可以是GID。用戶組必須已經(jīng)存在的。默認(rèn)值為100,即users。
-G 用戶組,用戶組 指定用戶所屬的附加組。
-m:自動(dòng)建立用戶的登入目錄。
參數(shù)
用戶名:要?jiǎng)?chuàng)建的用戶名。
實(shí)例:創(chuàng)建一個(gè)新用戶test1,指定其主目錄為/tmp/test1,主要組為users,次要組為tmn、liuth

  1. passwd
    用于設(shè)置用戶的認(rèn)證信息,包括用戶密碼、密碼過期時(shí)間等。系統(tǒng)管理者則能用它管理系統(tǒng)用戶的密碼。只有管理者可以指定用戶名稱,一般用戶只能變更自己的密碼。

passwd (選項(xiàng)) (參數(shù))
選項(xiàng)
-d:刪除密碼,僅有系統(tǒng)管理者才能使用;當(dāng)我們清除一個(gè)用戶的密碼后,此用戶登錄時(shí)就無需密碼。
-k:設(shè)置只有在密碼過期失效后,方能更新;
-l:鎖住密碼;僅有系統(tǒng)管理者才能使用;
-s:列出密碼的相關(guān)信息,僅有系統(tǒng)管理者才能使用;
-u:解開已上鎖的帳號(hào)。僅有系統(tǒng)管理者才能使用;
參數(shù)
用戶名:需要設(shè)置密碼的用戶名。
實(shí)例
root修改新用戶的密碼,直接passwd 用戶名即可;普通用戶如果想更改自己的密碼,直接運(yùn)行passwd即可,比如當(dāng)前操作的用戶是test1。

  1. userdel
    用于刪除給定的用戶,以及與用戶相關(guān)的文件。若不加選項(xiàng),則僅刪除用戶帳號(hào),而不刪除相關(guān)文件。

userdel (選項(xiàng)) (參數(shù))
選項(xiàng)
-f:強(qiáng)制刪除用戶,即使用戶當(dāng)前已登錄;
-r:刪除用戶的同時(shí),刪除與用戶相關(guān)的所有文件。
參數(shù)
用戶名:要?jiǎng)h除的用戶名。
實(shí)例:刪除lth用戶及其家目錄及文件一并刪除

  1. su
    用于切換當(dāng)前用戶身份到其他用戶身份,變更時(shí)須輸入所要變更的用戶帳號(hào)與密碼。

su (選項(xiàng)) (參數(shù))
說明:小括號(hào)()代表非必填,都不填時(shí),默認(rèn)切換到root
選項(xiàng)
-c<指令>或--command<指令>:執(zhí)行完指定的指令后,即恢復(fù)原來的身份;
參數(shù)
用戶:指定要切換身份的目標(biāo)用戶。

實(shí)例 : 變更帳號(hào)為root并在執(zhí)行ls指令后退出變回原使用者:
su -c ls root

注意
su 和su - 都是切換到用戶root的命令
su – root 是切換到root賬號(hào)使用,使用的是root用戶的環(huán)境變量
su root 則是取得root的特權(quán),以root的身份執(zhí)行程序,但保留原來的用戶環(huán)境

說明:有些命令即使你使用su root 切換到root用戶,仍無法執(zhí)行。所以還是建議使用su – root

  1. ls
    檢視文件與目錄

在學(xué)習(xí)ls命令之前,我們先了解一下文件擁有者、文件所屬群組、其他人的概念
linux的每個(gè)文件中,依據(jù)權(quán)限分為擁有者,文件所屬群組與其他人三種身份,即每種身份對(duì)此文件的權(quán)限不同,例如文件使用者可以對(duì)文件內(nèi)容增刪改查、所屬群組里的人員只能查看此文件的內(nèi)容,而其他人完全不能查看文件內(nèi)容
其實(shí)群組很有效的功能之一就是團(tuán)隊(duì)開發(fā)資源。
舉個(gè)例子來說好了,假如在我的主機(jī)上面有兩個(gè)項(xiàng)目組,第一個(gè)項(xiàng)目組名稱為 A,他的成員有A1、 A2、A3 ,第二個(gè)項(xiàng)目組名稱為B,他的成員為 B1, B2,B3,這兩個(gè)項(xiàng)目組需要各自管理自己組的項(xiàng)目資源和成果,組內(nèi)成員可以查看和修改自己所屬組內(nèi)的成果, 且不能讓非項(xiàng)目組的其它人看到本項(xiàng)目的資源和成果!這個(gè)時(shí)候怎么辦?
在 Linux 底下可就很簡(jiǎn)單!我們可以經(jīng)由簡(jiǎn)易的文件權(quán)限設(shè)定,就能限制非自己團(tuán)隊(duì)( 群組 )的其它人不能夠閱覽內(nèi)容!而且也可以讓自己的團(tuán)隊(duì)成員可以修改我所建立的文件! 同時(shí),如果我自己還有私人隱密的文件,仍然可以設(shè)定成讓自己的團(tuán)隊(duì)成員也看不到我的文件數(shù)據(jù)。

ls (選項(xiàng)) (參數(shù))
選項(xiàng)

  1. 無選項(xiàng):列出當(dāng)前目錄的文件或目錄名,看不到其他信息輸出
  2. -a :顯示隱藏文件。在linux中,以“.”開頭的文件是隱藏文件。

    從上圖可以看到,linux預(yù)設(shè)中,ls 顯示結(jié)果以不同的顏色來區(qū)分文件類別。深藍(lán)色代表目錄,灰色代表普通文件,綠色代表可執(zhí)行文件,紅色代表壓縮文件,淺藍(lán)色代表鏈接文件
    我們也可以讓ls顯示的結(jié)果不依據(jù)文件的特性來顏色顯示,使用如下參數(shù)
  3. --color=never:不依據(jù)文件的特性來顏色顯示
    --color=always:顯示顏色
    --color=auto:系統(tǒng)自行依據(jù)設(shè)定來判斷是否顯示顏色
  4. -d:只顯示目錄
  5. -R:遞歸列出子目錄
  6. -l :會(huì)顯示當(dāng)前目錄的長(zhǎng)列表
    一共7列,每列含義如下:
    文件的屬性 文件數(shù) 擁有者 所屬的group 文件的大小 建檔日期 文件名

解析:
第一列:表示文件的屬性,第一個(gè)字母d意味著內(nèi)容是目錄;如果是“-”(減號(hào)),意味著他的內(nèi)容是文件;如果是l(L),意味著這是鏈接文件;b意味著內(nèi)容是設(shè)備文件;c意味著為裝置文件里的串行端口設(shè)備,例如鼠標(biāo)、鍵盤。
后面的9個(gè)字符是關(guān)于文件權(quán)限的,linux文件基本分為3個(gè)屬性:r:可讀、w:可寫、X:可執(zhí)行。前三個(gè)rwx字符是文件的擁有者的權(quán)限,第二組rwx是文件的所有組的權(quán)限,最后的rwx是對(duì)其他人訪問文件的權(quán)限。如果是“-”(減號(hào)),意味著角色沒有此權(quán)限。
第二列:表示文件個(gè)數(shù)。如果是文件的話,自然是1,如果是目錄的話,那么他的個(gè)數(shù)就是該目錄下的文件的個(gè)數(shù)。
第三列:表示所屬的用戶
第四列:表示所屬的組
第五列:表示文件的大小。用byte(字節(jié))表示。而空目錄一般是1026byte,也可以使用其他參數(shù)是文件顯示的單位不同,如使用ls –k就是用kb來顯示一個(gè)文件的大小單位。
第六列:表示最后修改日期。以“月 日 時(shí)間”格式表示。

ls 最常被使用到的功能還是那個(gè) -l 的參數(shù),為此,很多 distribution 在預(yù)設(shè)的情況中, 已經(jīng)將 ll (L 的小寫) 設(shè)定成為 ls -l 的意思了!
  1. chgrp
    改變文件或目錄所屬的用戶組。文件名可以是由空格分開的文件列表,也可以是由通配符描述的文件集合。只有文件的擁有者和root才有權(quán)修改文件所屬群組;文件擁有者只能修改文件的群組為自己所屬群組。要注意的是,要改變成為的群組必須是在 /etc/group 里面存在的名稱才行,否則就會(huì)顯示錯(cuò)誤!

chgrp (選項(xiàng)) 新組 目錄名/文件名
選項(xiàng)
-R或--recursive:遞歸處理,將制定目錄下的所有文件及子目錄一并處理;常用在變更某一目錄的情況
注意

  • 新組:可以是組ID也可以是組名,但必須存在
  • 目錄名/文件名:指定要改變所屬組的文件列表。多個(gè)文件或者目錄之間使用空格隔開。
  1. chown
    改變某個(gè)文件或目錄的所有者和所屬的組,該命令可以向某個(gè)用戶授權(quán),使該用戶變成指定文件的所有者或者改變文件所屬的組。用戶可以是用戶或者是用戶ID,用戶組可以是組名或組ID。文件名可以使由空格分開的文件列表,在文件名中可以包含通配符。
    只有root才可以使用該命令。

chown(選項(xiàng)) 賬號(hào)名稱 文件或者目錄
chown(選項(xiàng)) 賬號(hào)名稱:群組名稱 文件或者目錄
選項(xiàng)
-R或--recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理;

  1. chmod
    變更文件與目錄的權(quán)限,設(shè)置方式采用符號(hào)或數(shù)字代號(hào)皆可。文件擁有者和root均有此命令的權(quán)限。
  • 數(shù)字類型改變文件權(quán)限
    linux文件的基本屬性有9個(gè),分別是 owner/group/others 組別的read、write、excute 屬性:-rwxrwxrwx
    這九個(gè)屬性是三個(gè)三個(gè)一組!其中,我們可以使用數(shù)字來代表各個(gè)屬性,各屬性的對(duì)照表如下:r:4 w:2 x:1
    同一組 (owner/group/others) 的三個(gè)屬性 (r/w/x) 是需要累加的,例如當(dāng)屬性為 [-rwxr-xrw-] 則是:
    owner=rwx=4+2+1=7 group=r-x=4+0+1=5 other=rw-=4+2+0=6
    所以設(shè)定屬性的變更時(shí),該屬性的數(shù)字就是756了,變更屬性的指令 chmod 的語(yǔ)法是這樣的:

chmod (選項(xiàng)) xyz 文件或者目錄
選項(xiàng)
-R或--recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理

  • 符號(hào)類型改變文件權(quán)限
    linux文件的9個(gè)基本屬性,分別是 1)user、 2)group、3)others 3個(gè)群。那么就用u、g、o來代表這三個(gè)群的屬性。此外,a代表all,即全部的三群。也就是可以用下面的方式來修改權(quán)限:

    例如:修改一個(gè)文件的屬性為“-rwxr-xr-x ”
    分析:
    user(u):具有可讀、可寫、可執(zhí)行的權(quán)限
    group(g)和others(o):都具有可讀和執(zhí)行的權(quán)限
    請(qǐng)注意, u=rwx,og=rx 這一段文字之間并沒有空格符隔開
    當(dāng)只想增加或者刪去文件的某個(gè)屬性時(shí),可以使用

  • 目錄屬性的意義
    r(read contents in directory):表示具有讀取目錄結(jié)構(gòu)清單的權(quán)限,所以當(dāng)您具有讀取 (r)一個(gè)目錄的權(quán)限時(shí), 您就可以利用 ls 這個(gè)指令將該目錄的內(nèi)容列表顯示出來!
    w(modify contents of directory):具有異動(dòng)該目錄結(jié)構(gòu)清單的權(quán)限,也就是底下這些權(quán)限:
    1、建立新的文件與目錄
    2、刪除已經(jīng)存在的文件和目錄(不論該文件是誰(shuí)的)
    3、將已存在的文件或目錄更名
    4、搬移該目錄內(nèi)的文件、目錄的位置
    注意:如果一個(gè)用戶對(duì)某目錄A有w的權(quán)限,但是對(duì)此目錄A下的某個(gè)不為空目錄B沒有w的權(quán)限,則此用戶是不能刪除目錄B的

x(access directory):x 與能否進(jìn)入該目錄有關(guān)




  1. GNU計(jì)劃由Richard Mathew Stallman在1984年發(fā)起,目的是建立一個(gè)自由、開放的UNIX操作系統(tǒng)。此計(jì)劃對(duì)于現(xiàn)今的自由軟件風(fēng)潮,有不可磨滅的地位。 ?

  2. POSIX 是一種標(biāo)準(zhǔn)規(guī)范,主要針對(duì)在 Unix 操作系統(tǒng)上面跑的程序來進(jìn)行規(guī)范。 若您的操作系統(tǒng)符合 POSIX ,則符合 POSIX 的程序就可以在您的操作系統(tǒng)上面運(yùn)作。 Linux 由于支持 POSIX ,因此很多 Unix 上的程序可以直接在 Linux 上運(yùn)作, 因此程序的移植相當(dāng)簡(jiǎn)易!也讓大家容易轉(zhuǎn)換平臺(tái),提升 Linux 的使用率。 ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容