1. 程式人生 > >Linux之文檔與目錄結構

Linux之文檔與目錄結構

基本 目錄配置 pat cat rhel 7 $path code 輸入 包含

一.Linux文件系統結構

Linux目錄結構的組織形式和Windows有很大的不同。首先Linux沒有“盤(C盤、D盤、E盤)”的概念。已經建立文件系統的硬盤分區被掛載到某一個目錄下,用戶通過操作目錄來實現磁盤讀寫。

Linux不像Windows那樣的系統目錄,Linux使用正斜杠” / “而不是反斜杠” \ “來標識目錄。

1.Windows目錄:

技術分享圖片

2.Linux

技術分享圖片

3.登陸系統後,在當前命令窗口輸入命令:

ls /

結果:

技術分享圖片

在Linux底下,所有的文件與目錄都是由根目錄開始,是目錄與文件的源頭,然後一個個的分支下來,如同樹枝狀,因此稱為這種目錄配置為:目錄樹。

4.目錄樹的特點

  • 目錄樹的起始點是根目錄(/,root)
  • 每一個目錄不止能使用本地的文件系統,也可以使用網絡上的文件系統,可以利用NFS服務器掛載特定的目錄
  • 每一個文件在此目錄樹中的文件名,包含完整路徑都是獨一無二的

二.目錄樹架構示意圖:

技術分享圖片

1.理解:

技術分享圖片

    • /bin
      bin是Binary的縮寫, 這個目錄存放著最經常使用的命令。

    • /boot:
      這裏存放的是啟動Linux時使用的一些核心文件,包括一些連接文件以及鏡像文件。

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

    • /etc:
      這個目錄用來存放所有的系統管理所需要的配置文件和子目錄。

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

    • /lib
      這個目錄裏存放著系統最基本的動態連接共享庫,其作用類似於Windows裏的DLL文件。幾乎所有的應用程序都需要用到這些共享庫。

    • /lost+found
      這個目錄一般情況下是空的,當系統非法關機後,這裏就存放了一些文件。

    • /media
      linux系統會自動識別一些設備,例如U盤、光驅等等,當識別後,linux會把識別的設備掛載到這個目錄下。

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

    • /opt
      這是給主機額外安裝軟件所擺放的目錄。比如你安裝一個ORACLE數據庫則就可以放到這個目錄下。默認是空的。

    • /proc
      這個目錄是一個虛擬的目錄,它是系統內存的映射,我們可以通過直接訪問這個目錄來獲取系統信息。
      這個目錄的內容不在硬盤上而是在內存裏,我們也可以直接修改裏面的某些文件,比如可以通過下面的命令來屏蔽主機的ping命令,使別人無法ping你的機器:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

    • /root
      該目錄為系統管理員,也稱作超級權限者的用戶主目錄。

    • /sbin
      s就是Super User的意思,這裏存放的是系統管理員使用的系統管理程序。

    • /selinux
      這個目錄是Redhat/CentOS所特有的目錄,Selinux是一個安全機制,類似於windows的防火墻,但是這套機制比較復雜,這個目錄就是存放selinux相關的文件的。

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

    • /sys
      這是linux2.6內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個文件系統 sysfs 。

      sysfs文件系統集成了下面3種文件系統的信息:針對進程信息的proc文件系統、針對設備的devfs文件系統以及針對偽終端的devpts文件系統。該文件系統是內核設備樹的一個直觀反映。當一個內核對象被創建的時候,對應的文件和目錄也在內核對象子系統中被創建。
    • /tmp
      這個目錄是用來存放一些臨時文件的。

    • /usr
      這是一個非常重要的目錄,用戶的很多應用程序和文件都放在這個目錄下,類似於windows下的program files目錄。

    • /usr/bin:
      系統用戶使用的應用程序。

    • /usr/sbin:
      超級用戶使用的比較高級的管理程序和系統守護程序。

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

    • /var
      這個目錄中存放著在不斷擴充著的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日誌文件。

三.目錄的相關操作

1.切換目錄指令:cd

.    :當前目錄
..   :上一層目錄
-    :前一個工作目錄
~    :當前【用戶】所在的家目錄

註意:【.】和【..】分別代表當前目錄和上層目錄

命令    :ls -la /
查看命令解釋: man ls(Linux下的幫助指令)
結論:ls - list directory contens(列出目錄內容)
ls -la / 以豎狀格式化顯示出/目錄所有內容

技術分享圖片

2.常用的目錄處理指令:

cd    :change directory,更改目錄
pwd   :顯示當前目錄
mkdir    :建立一個新目錄
rmdir    :刪除一個空目錄

3.cd命令,變更目錄

技術分享圖片

4.mkdir,建立新目錄

mkdir是make directory的縮寫,用來建立新目錄,在默認情況下,目錄得一級一級的建立。

高效創建目錄用 -p 參數,可以直接執行命令【mkdir -p /home/yinliao/wahaha】,系統會自動添加上/home,/home/yinliao,/home/yinliao/wahaha依次建立目錄

5.rmdir,刪除空目錄

當想刪除一個空目錄時,就用rmdir,但是註意rmdir只能刪除空目錄

技術分享圖片

刪除命令可以使用rm -rf

6.Linux的路徑PATH

相信都會配置windows下的環境變量(PATH),都知道系統會按照PATH的設定,去每個PATH定義的目錄下搜索可執行文件,那麽該如何查看Linux下的PATH環境變量

執行命令:
echo $PATH
echo命令是有打印的意思
$符號後面跟上PATH,表示輸出PATH的變量

技術分享圖片

PATH(一定是大寫的)這個變量是由一堆目錄組成的,分隔符為“ :”,而不同於windows的“ ;”。

修改PATH為:

vim /etc/profile

技術分享圖片

7.絕對路徑與相對路徑

Linux中非常重要的概念--路徑,路徑用來定位如何找到某個文件

Linux下特別註意文件名/路徑的寫法,可以將所謂的路徑(path)定義為絕對路徑(absolute)和相對路徑(relative)這兩種文件名/相對路徑的寫法依據是這樣的:

  • 絕對路徑:由根目錄(/)為開始寫起的文件名或者目錄名稱,如/home/hehe/test.py;
  • 相對路徑:相對於目前路徑的文件名寫法。例如./home/hehe/exam.py

  或../../home/heihei/exam.py,簡單來說只要開頭不是/,就是屬於相對路徑

相對路徑:以你當前所在的路徑的相對路徑來表示

這個 . .. 目錄概念非常重要,平時經常會看到cd .. 或者python ../home/hehe/exam.py 就是代表進入上一層與執行相對路徑的python代碼

Linux是以 / 開始的樹狀目錄結構, tree查看
常用文件文件目錄操作命令是ls, cd, mkdir, rmdir, touch
Linux的PATH查看是echo $PATH,可以修改/etc/profile文件永久生效,以冒號分割
絕對路徑,相對路徑的查看
文件權限chmod chgrp chown

8.Linux的文件系統

用戶在硬件存儲設備中執行的文件建立,寫入,讀取,修改,轉存與控制等操作都是依賴文件系統完成的。文件系統的作用是合理規劃硬盤,保證用戶正常使用。

Linux系統支持數十種文件系統,常見文件系統如下。

  • Ext3 是一款日誌文件系統,能夠在系統異常宕機時避免文件系統資料丟失,並能 自動修復數據的不一致與錯誤。
  • Ext4 Ext3 的改進版本,作為 RHEL 6 系統中的默認文件管理系統,它支持的存儲容 量高達 1EB(1EB=1,073,741,824GB),且能夠有無限多的子目錄。另外,Ext4 文件系統能夠批量分配 block 塊,從而極大地提高了讀寫效率。
  • XFS 是一種高性能的日誌文件系統,而且是 RHEL 7 中默認的文件管理系統,它的優勢在發生意外宕機後尤其明顯,即可以快速地恢復可能被破壞的文件,而且強大的 日誌功能只用花費極低的計算和存儲性能。並且它最大可支持的存儲容量為 18EB, 這幾乎滿足了所有需求。
/etc/fstab是用來存放文件系統的靜態信息的文件
cat /etc/fstab #檢查linux的文件系統

Linux之文檔與目錄結構