Linux學習筆記(五)系統目錄結構、ls命令、文件類型、alias命令

首先用xshell登陸centos7,

一、系統目錄結構

在命令窗口輸入

ls  /

ls是list的縮寫,用於列出指定目錄或者文件

/是linux操作系統的根目錄,所有文件與目錄都在它下面;

此時將會顯示如下

1.png

/bin:bin是Binary的縮寫,該目錄下存放的是最常用的命令。

/boot:該目錄下存放的是啓動Linux時使用的一些核心文件,包括一些連接文件以及鏡像文件。

/dev:dev是Device(設備)的縮寫。該目錄下存放的是Linux的外部設備。在Linux中,訪問設備的方式和訪問文件的方式是相同的。

/etc:該目錄下存放的是所有系統管理所需要的配置文件和子目錄。

/home:這是用戶的主目錄。在Linux中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的。

/lib和/lib64:這兩個目錄下存放的是系統最基本的動態連接共享庫,其作用類似於Windows裏的DLL文件,幾乎所有的應用程序都需要用到這些共享庫。其中/lib64爲64位的軟件包的庫文件所在目錄。

/media:系統會自動識別一些設備(如U盤、光驅等),當識別後,Linux會把識別的設備掛載到該目錄下。

/mnt:系統提供該目錄是爲了讓用戶臨時掛載別的文件系統。我們可以將光驅掛載到/mnt/上,然後進入該目錄查看光驅裏的內容。

/opt:這是給主機額外安裝軟件所設置的目錄,該目錄默認爲空。比如你要安裝一個ORACLE數據庫,可以放到該目錄下。

/proc:該目錄是一個虛擬的目錄,是系統內存的映射,我們可以通過直接訪問來獲取系統信息。該目錄的內容在內存裏,我們可以直接修改裏面的某些文件。比如可以通過下面的命令來屏蔽主機的ping命令,使其他人無法ping你的機器。後續,在日常工作中,你會經常用到類似的用法。


    

/root:該目錄是系統管理員的用戶主目錄。

/run:這個目錄其實和/var/run是同一個目錄,這裏面存放的是一些服務的pid,一個服務啓動完後,是有一個pid文件的。至於爲什麼說是同一個目錄,Linux是如何做到的,後續我們再介紹。

/sbin:s就是Super User的意思,該目錄存放的是系統管理員使用的系統管理程序。

/srv:該目錄存放的是一些服務啓動之後需要提取的數據。

/sys:該目錄存放的是與硬件驅動程序相關的信息。

/tmp:該目錄是用來存放一些臨時文件的。

/usr:這是一個非常重要的目錄,類似於Windows下的Program Files目錄,用戶的很多應用程序和文件都存放在該目錄下。後面的章節中,我們會多次用到這個目錄。

/usr/bin:該目錄存放的是系統用戶使用的應用程序。

/usr/sbin: 該目錄存放的是超級用戶使用的比較高級的管理程序和系統守護程序。

/usr/src :該目錄是內核源代碼默認的放置目錄。

/var:該目錄存放的是在不斷擴充且經常被修改的目錄,包括各種日誌文件或者pid文件,剛剛提到的/var/run就是在/var目錄下面

在Linux系統中,有幾個重要的目錄需要注意,不要誤刪除或者隨意更改其內部文件。

/etc目錄下是系統的配置文件,如果更改了該目錄下的某個文件可能會導致系統無法正常啓動。 

/bin、/sbin、/usr/bin和/usr/sbin目錄是系統預設的執行文件的放置目錄,其中/bin和/usr/bin目錄下是供系統用戶使用的指令(除root外的通用賬戶),而/sbin和/usr/sbin目錄下則是供root使用的指令。比如ls指令就存放在/bin/目錄下。 

/var也是一個非常重要的目錄,系統上運行各個程序時所產生的日誌都被記錄在該目錄下(即/var/log目錄中),另外mail指令的預設也放置在這裏。 

二、ls命令

輸入 

man ls

可以查看ls的具體用法

2.png看這個比較抽象,特別是對於我這種英文不太好的人來說,下面來舉幾個例子執行一下

3.png

以上做法的解釋如下:

  • 後面不加任何選項也不跟目錄名或者文件名:會列出當前目錄下的文件和目錄,不包含隱藏文件;

  • 後面加-a選項、不加目錄或者文件名:會列出當前目錄下的文件和目錄,包含隱藏文件;

  • 後面加-l選項、不加目錄或文件名:會列出當前目錄下除了隱藏文件之外的所有文件、文件夾的詳細信息,包含其權限、所屬用戶、所屬組及文件創建日期和時間;

  • 後面不加選項只跟文件名:會列出該文件,通常與-l連用,查看文件詳細信息;

  • 後面不加選項只跟目錄名:會列出指定目錄下的文件和目錄

以下爲用法介紹:

  • -a:顯示所有檔案及目錄(ls內定將檔案名或目錄名稱爲“.”的視爲影藏,不會列出);

  • -A:顯示除影藏文件“.”和“..”以外的所有文件列表;

  • -C:多列顯示輸出結果。這是默認選項;

  • -l:與“-C”選項功能相反,所有輸出信息用單列格式輸出,不輸出爲多列;

  • -F:在每個輸出項後追加文件的類型標識符,具體含義:“*”表示具有可執行權限的普通文件,“/”表示目錄,“@”表示符號鏈接,“|”表示命令管道FIFO,“=”表示sockets套接字。當文件爲普通文件時,不輸出任何標識符;

  • -b:將文件中的不可輸出的字符以反斜線“”加字符編碼的方式輸出;

  • -c:與“-lt”選項連用時,按照文件狀態時間排序輸出目錄內容,排序的依據是文件的索引節點中的ctime字段。與“-l”選項連用時,則排序的一句是文件的狀態改變時間;

  • -d:僅顯示目錄名,而不顯示目錄下的內容列表。顯示符號鏈接文件本身,而不顯示其所指向的目錄列表;

  • -f:此參數的效果和同時指定“aU”參數相同,並關閉“lst”參數的效果;

  • -i:顯示文件索引節點號(inode)。一個索引節點代表一個文件;

  • --file-type:與“-F”選項的功能相同,但是不顯示“*”;

  • -k:以KB(千字節)爲單位顯示文件大小;

  • -l:以長格式顯示目錄下的內容列表。輸出的信息從左到右依次包括文件名,文件類型、權限模式、硬連接數、所有者、組、文件大小和文件的最後修改時間等;

  • -m:用“,”號區隔每個文件和目錄的名稱;

  • -n:以用戶識別碼和羣組識別碼替代其名稱;

  • -r:以文件名反序排列並輸出目錄內容列表;

  • -s:顯示文件和目錄的大小,以區塊爲單位;

  • -t:用文件和目錄的更改時間排序;

  • -L:如果遇到性質爲符號鏈接的文件或目錄,直接列出該鏈接所指向的原始文件或目錄;

  • -R:遞歸處理,將指定目錄下的所有文件及子目錄一併處理;

  • --full-time:列出完整的日期與時間;

  • --color[=WHEN]:使用不同的顏色高亮顯示不同類型的。

三、文件類型

輸入ls -l

第一列第一個字符就是文件類型

  • 'd' 表示該文件爲目錄;

  • '-' 表示該文件爲普通文件;

  • 'l' 表示該文件爲鏈接文件(linux file),上邊提到的軟鏈接即爲該類型;

  • 'b' 表示該文件爲塊設備,比如 /dev/sda 就是這樣的文件。

  • 'c' 表示該文件爲串行端口設備,例如鍵盤、鼠標。

  • 's' 表示該文件爲套接字文件(socket),用於進程間通信。

  • 後邊的9位,每三個爲一組。均爲rwx 三個參數的組合。其中r 代表可讀,w代表可寫,x代表可執行。前三位爲所屬主(user)的權限,中間三位爲所屬組(group)的權限,最後三位爲其他非本羣組(others)的權限。下面拿一個具體的例子來述說一下。

  • 一個文件的屬性爲 ‘-rwxr-xr–.’ ,它代表的意思是,該文件爲普通文件,文件擁有者可讀可寫可執行,文件所屬組對其可讀不可寫可執行,其他用戶對其只可讀。對於一個目錄來講,打開這個目錄即爲執行這個目錄,所以任何一個目錄必須要有x權限才能打開並查看該目錄。例如一個目錄的屬性爲 ‘drwxr–r–.’ 其所屬主爲root,那麼除了root外的其他用戶是不能打開這個目錄的。

  • 關於第一列的最後一位的 .,之前的CentOS 5 是沒有這個點的,這主要是因爲新版本的ls把selinux或者acl的屬性加進來了,當文件或者目錄只使用了selinux context的屬性,這裏是一個點。如果設置了acl,後面將是一個加號 ‘+’. 關於selinux 和 acl 

  • 第2列,表示爲鏈接佔用的節點(inode), [1] 爲目錄時,通常與該目錄底下還有多少目錄有關係。

  • 第3列,表示該文件的所屬主。

  • 第4列,表示該文件的所屬組。

  • 第5列,表示該文件的大小。

  • 第6列、第7列和第8列爲該文件的最近的修改日期,分別爲月份日期以及時間,也就是所謂的mtime.

  • 第9列,文件名。

5.png

常見的文件類型有

1)普通文件(regular file):就是一般類型的文件,當用 ls -l 查看某個目錄時,第一個屬性爲 ‘-‘ 的文件就是正規文件,或者叫普通文件。正規文件又可分成純文字文件(ascii)和二進制文件(binary)。純文本文件是可以通過cat, more, less等工具直接查看內容的,而二進制文件並不能。例如我們用的命令/bin/ls 這就是一個二進制文件。

2)目錄(directory):這個很容易理解,就是目錄,跟windows下的文件夾一個意思,只不過在linux中我們不叫文件夾,而是叫做目錄。ls -l 查看第一個屬性爲 ‘d’.

3)鏈接文件(link):ls -l 查看第一個屬性爲 ‘l’, 類似windows下的快捷方式。這種文件在linux中很常見,而且日常的系統運維工作中用的很多,所以要特意留意一下這種類型的文件。

4)設備(device):與系統周邊相關的一些檔案,通常都集中在 /dev 這個目錄之下! 通常又分爲兩種:塊(block)設備 :就是一些儲存數據,以提供系統存取的接口設備,簡單的說就是硬盤。例如你的一號硬盤的代碼是 /dev/sda1, 第一個屬性爲 ‘b’;另一種是字符(character)設備 :是一些串行端口的接口設備,例如鍵盤、鼠標等等,第一個屬性爲 ‘c’.

四、alias命令

別名

6.png

可見 ll 是ls -l 的別名 即是由命令加選項結合而成的一個新的命令

輸入alias命令可以查看系統中有哪些別名,

7.png

下面來手動指定別名

8.png

如圖,將ls -l指定別名chinantfy

通過which chinantfy

可以看到chinantfy是ls -l 的別名,

取消別名可以使用  unalias  chinantfy

之後再輸入chinantfy就顯示未找到命令,別名已經成功取消

9.png




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章