鳥哥的Linux私房菜筆記第五章,文件許可權與目錄配置(二)

来源:https://www.cnblogs.com/Johnson-lin/archive/2019/05/16/10877622.html
-Advertisement-
Play Games

[toc] Linux目錄配置的依據 FHS 因為利用Linux來開發產品的公司太多,例如,CentOS、Ubuntu、ReHat...,導致了配置文件存放的目錄沒有統一的標準。後來就有了FHS(Filesystem Hierarchy Standard)的標準出來了。 四種交互作用的形態 1.可分 ...


目錄

Linux目錄配置的依據--FHS

因為利用Linux來開發產品的公司太多,例如,CentOS、Ubuntu、ReHat...,導致了配置文件存放的目錄沒有統一的標準。後來就有了FHS(Filesystem Hierarchy Standard)的標準出來了。

四種交互作用的形態

1.可分享的: 可以分享給其他系統掛載使用的目錄,所以包括執行文件與用戶的郵件等數據,是能夠分享給網路上其他主機掛載用的目錄。(總結就是對系統運作沒影響的文件)
2.不可分享的: 自己機器上面運作的裝置文件或是與程式有關的socket文件等,由於僅與自身機器有關,所以當然就不適合分享給其他主機了。(總結就是會對系統運作有影響的文件)
3.不變的: 有些數據時不會經常變動的,跟隨著distribution而不變動的。例如函式庫、主機服務配置文件等。
4.可變動的: 經常改變的數據,例如登錄文件、一般用戶可自行操作的文件。

根目錄(/)的意義與內容

根目錄是整個系統最重要的一個目錄。因為不但所有目錄都是由根目錄衍生出來的,並且根目錄還有開機/還原/系統修複等動作有關。所以可以看出根目錄是有多麼的重要。
因此FHS標準建議:根目錄(/)所在的分區槽應該越小越好(其實就是根目錄下的目錄越少越好,但是必要的還是不可少),且應用程式鎖安裝的軟體最好不要與根目錄放在同一個分區槽內,保持根目錄越小越好。如此不但性能較佳,根目錄所在的文件系統也較不容易發生問題。

由於上述的說明,FHS定義的根目錄(/)底下應該有下麵這些目錄

目錄 放置文件內容
/bin 存放的是root與一般賬號鎖使用的可執行文件目錄,主要有:cat,chmod,chown,date,mv,mkdir,cp,bash等常用指令。
/boot 這個目錄主要放置開機會使用到的文件
/dev 任何裝置和介面設備都是以文件的形態存在於這個目錄當中
/etc 系統主要的配置文件幾乎都放置在這個目錄內,例如人員的賬號密碼文件、各種服務的啟始文件等
/lib 開機時會用到的函式庫
/media 放置移除的裝置,如軟盤、光碟、DVD等都是掛載於此目錄。
/mnt 在早些時候,這個目錄用途和/media相同,後來這個目錄就用來暫時掛載的。
/opt 第三方軟體放置的目錄
/run 開機後所產生的各項信息文件
/sbin 開機過程所需要的指令,例如開機、修複、還原系統等指令
/srv 可視為service的縮寫,是一些網路服務啟動之後,這些服務所需要的數據目錄。例如服務www,www伺服器所需要的網頁子類就可以放置到/srv/www/裡面。
/tmp 臨時存放目錄,重要的文件不要放這裡!切記切記。
/usr 下麵再詳細介紹
/var 下麵再詳細介紹
/home 系統預設用戶的家目錄, cd ~ 就會回到你自己家啦。
/root 系統管理員(root)的家目錄。
/lost+found 這個目錄是使用標準的ext2/ext3/ext4文件系統格式才會產生的一個目錄,目的在於當文件系統發生錯誤時,將一些遺失的片段放置到這個目錄下。如果是xfs文件系統就不放存放到這。
/proc 放置的數據都是在記憶體當中的,例如系統核心、進程信息、裝置的狀態以及網路狀態等等。
/sys 與/proc類似,主要記錄核心與系統硬體信息。

/usr的意義與內容

/usr裡面放置的數據屬於可分享與不可變動的內容。很多讀者都會誤會/usr為/user的縮寫(其實我也是),其實是Unix Software Resources的縮寫,即Unix操作系統軟體資源。

目錄 應放置文件內容
/usr/bin/ 所有一般用戶能夠使用的指令都放在這裡,CentOS 7 已將全部用戶的指令放到這裡,而且使用連接檔(暫時理解為快捷方式,後續文章會對其詳解)的方式將/bin連結到此。
/usr/lib/ /lib的連結檔
/usr/local/ 系統管理員在本機自行安裝的軟體,建議安裝到此目錄。
/usr/sbin/ /sbin的連結檔
/usr/share/ 只讀的數據文件,也包括共用文件,我們的男人 man(聯機幫助文件)就是存放於此
/usr/games/ 游戲相關文件
/usr/include/ c/c++等程式語言的文件頭(header)與引用文件(include)放置處。
/usr/libexec/ 某些不被一般使用者管用的執行文件或腳本
/usr/src/ 一般的源碼建議放到這裡,src有source的意思。

/var的意義與內容

如果/usr是安裝時會占用較大的硬碟的目錄,那麼/var就是在系統運行後才會漸漸占用硬碟容量的目錄,因為/var目錄主要針對常態性變動的文件。包括緩存(cache)、登錄文件、以及某些軟體運行時所產生的文件

目錄 應防止文件內容
/var/cache/ 應用程式本身運行過程產生的一些暫存文件(緩存文件)。
/var/lib/ 程式執行過程所需要的數據文件放置的目錄。如MYSQL資料庫放置到/var/lib/mysql/
/var/lock/ 某些資源一次只能被一個應用所使用到的。就放置在此目錄,因為lock上鎖嘛~
/var/log/ 灰常重要!登錄文件放置的目錄!如/var/lib/messages
/var/mail 放置個人電子郵箱的目錄
/var/run 某些程式或服務啟動後,會將他們的PID放置到這個目錄下。
/var/spool 這個目錄通常存放一些隊列數據,如數據隊列。

絕對路徑與相對路徑

絕對路徑

由根目錄(/)開始寫起的文件名或目錄名稱,例如:/home/vagrant/

相對路徑

相對於目前路徑的文件名寫法。例如: ../home,比較特殊的連個目錄:

  1. . 代表當前目錄,也可以使用 ./
  2. .. 代表上層目錄,也可以使用../
作者:Johnson木木
出處:https://www.cnblogs.com/Johnson-lin/
本文以學習、研究和分享為主,如需轉載,請標明作者和出處,非商業用途

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • C#開發過程中針對字元串String類型的操作是常見操作,有時候需要判斷某個字元串是否包含在另一個字元串,此時可以使用IndexOf方法以及Contain方法來實現此功能,Contain方法返回True和False,而IndexOf方法可以返回所在的索引位置,如果為查找到對應的字元串,則返回-1。 ...
  • 在C#的List操作中,有時候我們需要對List集合對象的某個屬性進行求和操作,此時可以使用Lambda表達式中的Sum方法來快速實現此求和操作,使用Sum方法可使代碼簡潔易讀,並且省去寫for迴圈或者foreach遍歷List的繁瑣語句。 例如,在訂單集合List<Order> orderList ...
  • 很多時候操作List集合的過程中,我們需要根據特定的查詢條件,獲取List集合中有多少個實體對象符合查詢條件,例如一批產品的對象List集合,如果這批產品的不合格數量大於10則重點備註。在C#中可以自己寫for迴圈語句來逐條判斷條件來實現,其實還有種更簡單的方法就是使用Lambda表達式中的Coun ...
  • 等待一個中午的時間終於下載安裝完成,vs版本Enterprise 2019 16.0.4 官方可直接下載安裝引導程式: https://visualstudio.microsoft.com/zh-hans/downloads/ 網上找了個Visual Studio 2019(VS2019) 企業版 ...
  • 在C#的List集合的操作中,有時候我們需要根據相關條件快速從List集合中獲取到第一個符合條件的實體對象,例如有個全校班級的List集合,我們需要根據班級代碼快速從List集合中查找出班級信息。可以使用傳統的for或者foreach迴圈來單獨比對查詢來實現,其實還可以通過Lambda表達式中的Fi ...
  • 今天開發一個ASP.NET MVC網站時,有個頁面使用到了FCKEditor富文本編輯器,通過Post方式提交內容時候拋出異常,仔細分析後得出應該是伺服器阻止了帶有HTML標簽內容的提交操作,ASP.NET認為客戶端提交的數據中包含大量Html標簽是危險數據,請求直接就被終止了,然後拋出異常。可設置 ...
  • Ubuntu16.04初始化 清理系統 刪除libreoffice: 刪除Amazon鏈接: 刪除firefox: 刪除其他不用的軟體: 安裝軟體 搜狗拼音: 1. 從官網下載安裝包: 2. 執行安裝命令: 3. 安裝依賴: 4. 配置: 添加 刪除其他輸入法。 Source Code Pro字體 ...
  • 在終端輸入: 即可得解。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...