linux學習--1. 文件系統

来源:https://www.cnblogs.com/masterb/archive/2020/02/27/12368296.html
-Advertisement-
Play Games

文件目錄結構 閑話篇: linux我也是最近才開始學,寫隨筆是為分享學習經驗的同時也留著供自己以後來參考。因為linux一切皆文件的基本哲學思想。所以我決定從文件目錄開始寫。 正文: 首先linux文件系統格式為ext3/4(ext是extended的縮寫,意為擴展,全稱linux擴展文件系統),這 ...


文件目錄結構

閑話篇:

  linux我也是最近才開始學,寫隨筆是為分享學習經驗的同時也留著供自己以後來參考。因為linux一切皆文件的基本哲學思想。所以我決定從文件目錄開始寫。

正文:

  首先linux文件系統格式為ext3/4(ext是extended的縮寫,意為擴展,全稱linux擴展文件系統),這個簡單提下。

  然後linux文件系統是樹狀結構,所有的文件皆在一個叫 / 的目錄下,所以這個 / 也叫做根目錄

  而根目錄(/)下的一級文件目錄大多也是規定好的,由下圖這幾個關鍵目錄(骨幹)組成,這些目錄(文件夾)下各自存放了用於完成不同工作的文件,下圖截取自fhs文檔,感興趣的可以訪問這個網站查看並下載最新的fhs的pdf文檔http://www.pathname.com/fhs/ ,這個文檔是專門講linux文件系統的,最權威

 下麵就是我的翻譯工作:

  /bin :存放基本的二進位指令文件,一般我們在Linux命令行里輸的命令都是來自於/bin目錄下

  /boot :存放系統的開機引導文件,內核會根據/boot分區下的文件配置一步步載入磁碟內的文件開機,相當於Windows的引導分區,占用空間不大,一般幾百M

  /dev :存放訪問硬體設備的文件,用來訪問硬碟,記憶體等各個硬體

  /etc :存放系統配置文件,開機登陸界面,命令行字元格式,用戶管理都在這個目錄下可以改,相當於Windows下的註冊表

  /lib :存放靜態庫文件,應該是給開發程式調用的,相當於Windows下的system32目錄

  /media :作為可移動存儲設備的掛載點,用來訪問u盤,cd光碟的內容

  /mnt :作為暫時訪問其他文件系統的掛載點,應該訪問windows分區或其他文件格式的設備用的,fhs文檔里對他就四行講解,所以我覺得不重要(其實是我沒怎麼理解)

  /opt :存放附加程式安裝包的,也就是後來自己想下的軟體安裝包可以放這裡,我就理解了這些,要求挺多的,詳見fhs文檔3.13處,感覺不重要

  /sbin :存放給系統還有root用戶調用的基本二進位文件,許多時候普通用戶執行命令提示許可權不足的命令大多放在這個文件目錄下,還有就是在/usr/sbin目錄下

  /srv :存放系統服務產生的數據,但我在centos7系統上查看了它裡面的內容,結果連個隱藏文件都沒有,結合fhs文檔所言,這個文檔具體做什麼沒明確規定(可能是我翻譯問題,但感覺這個不重要)

  /tmp :存放臨時數據的文件,這個目錄可以,一般我想做什麼實驗都在這個目錄,做完實驗就把文件清了,所以是垃圾文件集中地,一般存儲空間不夠就問他要點比較安全

  /usr :存放共用可讀文件(不可寫,也就是裡面文件內容大多不能改的),linux文件系統第二重要的目錄(第一重要的目錄被我扔了不好意思),它裡面的/bin子目錄下存放了大多數用戶使用的命令,/include子目錄下放了c語言的頭文件,/lib子目錄下放了庫文件,還有/local,/sbin,/share這些子目錄都相當於工具包,可以理解為Windows下program文件夾,裡面有各類軟體還有軟體用到的庫文件,頭文件,總之對這個目錄能去用裡面的工具但不能去亂改裡面的內容

  /var :存放變數數據,跟/tmp目錄差不多,也是臨時數據,但它裡面放的不是垃圾文件,它更傾向於記錄,它裡面記錄了所有程式的日誌還有系統日誌等,當然這些日誌文件也是可以刪的,當然要空間首選還是/tmp目錄

 

與第三方系統比較:

  許多基於linux底層的第三方系統都繼承了一個好習慣,如下圖,左圖是我的虛擬機裝的centos7系統下執行tree命令看到的根目錄結構,可以跟右圖對比:一個不漏

                                             

 如果你也有裝有centos系統的主機可以執行以下命令查看

  1. 安裝tree軟體,一般預設可能沒安裝,可以先在命令行里輸個tree看看找不找得到這個命令,沒有就執行下麵這條命令安裝tree,如果提示許可權不足的話命令前面加個sudo

  yum -y install tree

  2.tree的用法,下麵的命令是查看根目錄 / 下的一級目錄,這裡-L 後面跟的1就是查看一級目錄,2就是二級目錄

  tree -L 1 /

  3.查看tree的所有用法的幫助,下麵兩種命令都可以查看這個命令的細緻用法

  man tree
  tree --help

  玩法很多,自行體驗咯

奇怪的地方

  既然都看到這裡了,我就再寫點linux文件系統里神奇的地方吧,就在我們提過的/dev目錄下,有三個特殊的子目錄,如下圖所示,還有神奇的英語介紹

  下麵又是我的奇怪翻譯:

  /dev/null :所有寫到這個設備(目錄)下的數據都是被刪除的,從這裡讀數據只會返回EOF狀態,其實就是回收站,你可以把不要的垃圾文件mv(move,移動命令)到這裡。

  /dev/zero :這個設備是用來輸出0的,任何寫到這個設備的數據都會被扔掉,只能從這個設備里讀取數值0,但這有什麼用呢,如果你要測試硬碟性能,可以從這個設備里讀數據0寫到文件里看看用了多少時間。如下麵的命令就是從zero設備里讀取0寫到我們要測試的boot分區里的1gb文件,bs設置塊大小1m,count也就是寫入塊的個數為1024,那麼總共就是寫入1個g的內容然後會返回測試數據,多大的數據用了多久完成,速度是xxxM/s

  dd if=/dev/zero of=/boot/1gb.file bs=1M count=1024

  /dev/tty :這個設備相當於終端進程,一旦這個設備打開,所有讀寫操作都會像實際打開的終端一樣在它上面實現(顯示),也就是你打開tty,就能控制對應tty視窗的輸入輸出,終端(terminal)你可以理解成Windows下的桌面,現在windows10可以開多個桌面,而linux也有多個終端可以輸入輸出顯示。   

互動環節:

  最後想請教各位,linux文件系統里第一重要的目錄是哪個?還有那些我感覺不重要的目錄是不是我遺忘了什麼?寫了隨筆才發現原來自己還是挺多不清楚的。有問題還望大家及時指出,別讓我坑害了像我一樣的新人。


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

-Advertisement-
Play Games
更多相關文章
  • redis 3.2 鏡像製作及驗證 鏡像製作 1.安裝redis yum install redis yum install epl release yum install python pip git gcc pip2 install redis pip2 install hiredis vim ...
  • 1. LVM的工作原理 LVM( Logical Volume Manager)邏輯捲管理,是在磁碟分區和文件系統之間添加的一個邏輯層,來為文件系統屏蔽下層磁碟分區佈局,提供一個抽象的盤捲,在盤捲上建立文件系統。管理員利用LVM可以在磁碟不用重新分區的情況下動態調整文件系統的大小,並且利用LVM管理 ...
  • find 解釋 語法 示例 ...
  • ln 解釋 語法 示例 軟鏈接 硬鏈接 軟鏈接和硬鏈接區別 ...
  • 目錄 mkdir cd pwd rmdir cp mv rm mkdir 解釋 語法 示例 cd 解釋 語法 示例 pwd 解釋 語法 示例 rmdir 解釋 語法 示例 cp 解釋 語法 示例 mv 解釋 語法 示例 rm 解釋 語法 示例 ...
  • 目錄 touch cat more less head tail touch 解釋 語法 示例 cat 解釋 語法 示例 more 解釋 語法 示例 less 解釋 語法 示例 head 解釋 語法 示例 tail 解釋 語法 示例 ...
  • 目錄處理命令:ls 解釋 語法 ls 列出當前目錄下的所有文件(沒有隱藏的) ls a ls l 列出當前目錄下所有的文件的詳細信息 詳細解釋 第一個單獨解釋 ls lh 列出文件詳細信息,文件單位由系統判定顯示,或顯示K,或現實M 解釋 ls ld 查看目錄的詳細信息,而不是文件夾下的文件信息 l ...
  • 距離centos8.0(現在已經更新到8.1了)的發佈已經過去幾個月了,作為一個剛剛接觸過幾個月centos的萌新來說,本文想通過實際的操作體驗來說對比一下centos8代與7代 首先,centos8 dvd版的鏡像有7G大,也是我目前安裝過最大的操作系統鏡像了,首先從官網下載後,安裝的時候就踩了一 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...