Linux目錄理解

前言

最近在復習linux,發現有些目錄總是忘記內容,發現有些還是得從原義和實際例子去理解會記憶深刻些。以下是個人的一些理解

Linux目錄

常見的Linux下的目錄如下:
image-20250316225021912

1. 根目錄 / (Root Directory)

  • 英文含義/ 是文件系統的根(root)目錄。它是所有文件和目錄的起點,類似于樹的根,所有其他文件夾和文件都是從這里延伸出來的。
  • 作用:作為文件系統的根目錄,它是所有路徑的起始點。
  • PS:根目錄在系統啟動初期可能是只讀掛載的,普通用戶無法直接在根目錄下創建文件,只有管理員(root 用戶)有權限操作。
  • 實際例子:運行 ls / 可以列出根目錄下的所有子目錄

2. /bin (Binary Files)

  • 英文含義bin 是 “binary”(二進制)的縮寫,表示存放可執行程序的地方。這些二進制文件是操作系統和用戶交互的基本命令。

  • 作用:包含啟動和運行操作系統所需的基本命令。這里的命令是系統和用戶都可以使用的,甚至在單用戶模式下也可以執行。

  • 常見文件

    • /bin/ls:列出當前目錄下的文件和文件夾(ls 是 “list” 的縮寫)。
    • /bin/cp:復制文件或目錄(cp 是 “copy” 的縮寫)。
    • /bin/mv:移動或重命名文件或目錄(mv 是 “move” 的縮寫)。
    • /bin/rm:刪除文件或目錄(rm 是 “remove” 的縮寫)。
  • PS:在現代 Linux 發行版中,/bin 有時會符號鏈接到 /usr/bin,這是因為 Filesystem Hierarchy Standard (FHS) 的演進,旨在統一二進制文件存放位置。

  • 實際例子:運行 which ls 會返回 /bin/ls,告訴你 ls 命令的具體路徑。

image-20250316232449259

3. /sbin (System Binary Files)

  • 英文含義sbin 是 “system binary”(系統二進制)的縮寫,存放的是需要管理員權限來執行的系統管理命令。
  • 作用:包含系統管理和維護所需的命令,普通用戶一般不需要使用這些命令,除非是系統管理員。
  • 常見文件
    • /sbin/init:系統初始化進程,是系統啟動時運行的第一個程序。
    • /sbin/reboot:重啟系統的命令。
    • /sbin/shutdown:關閉系統的命令。
  • PS:這些命令通常需要超級用戶權限(sudo),普通用戶嘗試直接運行會提示權限不足。
  • 實際例子:執行 sudo /sbin/fdisk -l 可以列出磁盤分區信息(需要 root 權限)。這些命令通常用于系統維護和調試。

image-20250316232551196

4. /etc (Etcetera - Configuration Files)

  • 英文含義etc 是 “et cetera”(等等)的縮寫,雖然這個名字沒有直接說明它的內容,但通常用于存放系統配置文件(歷史遺留問題,遺傳unix)。
  • 作用:包含所有系統和程序的配置文件。通常會在這里配置一些與程序、用戶、服務等相關的設置。
  • 常見文件
    • /etc/passwd:存儲用戶賬戶信息的文件。這里包括每個用戶的用戶名、密碼、UID 和 GID 等信息。
    • /etc/fstab:用于系統啟動時掛載文件系統的配置文件。
    • /etc/hostname:存儲系統主機名的文件。
    • /etc/network/interfaces:配置網絡接口的文件。
  • PS/etc 不僅是系統配置的中心,許多服務的配置文件也集中在這里,例如 Apache、Nginx 或 SSH。
  • 常見文件補充
    • /etc/resolv.conf:定義 DNS 服務器地址,用于網絡域名解析。
    • /etc/crontab:系統級別的定時任務配置文件。
  • 實際例子:編輯 /etc/hosts 可以添加本地主機名解析,例如 127.0.0.1 mylocalserver。你可以在這些配置文件中修改系統和服務的行為。

5. /home (Home Directories)

  • 英文含義home 目錄存放的是每個用戶的家目錄。這里是每個用戶存放個人文件的地方。
  • 作用:存放用戶個人文件,會在這里存放自己的代碼、文檔等文件。
  • 常見文件
    • /home/username:每個用戶的個人目錄,username 是你的用戶名。例如,如果你的用戶名是 oy,你的家目錄就是 /home/oy
  • PS:用戶的家目錄通常包含隱藏文件(以 . 開頭),如 .bashrc.profile,用于配置用戶的 shell 環境。
  • 實際例子:在 /home/username 下運行 ls -a 可以看到 .bash_history,記錄用戶執行過的命令歷史。

6. /var (Variable Files)

  • 英文含義var 是 “variable”(可變的)的縮寫,表示存放那些內容經常變化的文件。通常包括日志、緩存、隊列等。
  • 作用:存放程序運行時產生的動態數據,比如日志文件、緩存文件等。
  • 常見文件
    • /var/log:存放日志文件的目錄。可以在這里查看系統和應用程序的日志信息,用來調試程序。
    • /var/tmp:存放臨時文件的目錄,這些文件在系統重啟后可能還會存在。
    • /var/spool:存放程序任務隊列文件,比如郵件隊列、打印隊列等。
  • PS/var 的內容通常與系統運行時間相關,占用空間可能會隨時間增長,因此需要定期清理(如日志文件)。
  • 常見文件補充
    • /var/mail:存放用戶郵件的目錄(如果系統配置了郵件服務)。
  • 實際例子:運行 tail -f /var/log/syslog 可以實時查看系統日志,用于調試。

7. /lib/lib64 (Libraries)

  • 英文含義lib 是 “library”(庫)的縮寫,包含了程序運行所依賴的共享庫文件。
  • 作用:存放系統和應用程序使用的共享庫文件。共享庫文件包含了程序運行時需要的函數、代碼等。
  • 常見文件
    • /lib/libc.so:C 標準庫的共享庫文件,很多程序都依賴它。
    • /lib64/libc.so:64 位版本的 C 標準庫共享庫文件。
  • PS/lib64 只存在于 64 位系統上,用于區分 32 位和 64 位庫文件。32 位庫可能存放在 /lib32
  • 實際例子:運行 ldd /bin/ls 可以查看 ls 命令依賴的共享庫文件路徑。

image-20250316232757176

8. /tmp (Temporary Files)

  • 英文含義tmp 是 “temporary”(臨時的)的縮寫,表示存放臨時文件的地方。
  • 作用:用于存儲系統或應用程序在運行過程中產生的臨時文件。通常這些文件不會永久保留,系統重啟后有時會被清除。
  • 常見文件
    • /tmp:存放臨時文件的目錄,程序在運行時可能會創建文件存放在這里。比如安裝程序臨時解壓的文件、應用程序的緩存文件等。
  • PS/tmp 的內容通常由系統服務(如 tmpfiles.d)或重啟時自動清理,清理規則可能在 /etc/tmpfiles.d/ 中定義。
  • 實際例子:運行 echo "test" > /tmp/testfile 創建臨時文件,重啟后檢查是否被清除。在處理臨時數據時,可能會使用這個目錄來存放文件,確保數據不會占用永久存儲空間。

9. /dev (Device Files)

  • 英文含義dev 是 “devices”(設備)的縮寫,表示設備文件的目錄。
  • 作用:存放所有設備文件,這些設備文件讓用戶和應用程序可以與硬件設備進行交互。設備文件可以是硬盤、鍵盤、顯示器、串口等設備的接口。
  • 常見文件
    • /dev/sda:表示系統中的第一個硬盤。
    • /dev/tty:表示終端設備,用于用戶與系統交互的控制臺。
    • /dev/null:空設備,寫入它的所有數據都會丟失。常用它來丟棄不需要的輸出。
  • PS:Linux 遵循“一切皆文件”的哲學,設備文件分為字符設備(如 /dev/tty)和塊設備(如 /dev/sda)。
  • 常見文件補充
    • /dev/random/dev/urandom:生成隨機數的偽設備文件,常用于加密或測試。
  • 實際例子:運行 cat /dev/urandom | head -c 10 可以生成 10 字節的隨機數據。常常會通過設備文件來與硬件設備進行交互,例如讀寫硬盤,控制外部設備等。

10. /mnt (Mount Points)

  • 英文含義mnt 是 “mount”(掛載)的縮寫,表示掛載點的目錄。
  • 作用:用于臨時掛載文件系統的目錄。當你掛載一個磁盤或其他文件系統時,它的內容會顯示在 /mnt 下的子目錄中。
  • 常見文件
    • /mnt:這個目錄通常為空,系統管理員可以在這里掛載外部存儲設備或分區。比如,掛載一個 USB 驅動器時,可能會在 /mnt/usb 下顯示該驅動器的文件系統。
  • PS:與 /mnt 類似,/media 也常用于掛載,但 /media 更傾向于用戶手動掛載的設備(如 U 盤)。
  • 實際例子:運行 sudo mount /dev/sdb1 /mnt 將第二個硬盤的第一個分區掛載到 /mnt。有時會使用這個目錄來掛載外部存儲或進行調試。

11. /opt (Optional Add-on Software Packages)

  • 英文含義opt 是 “optional”(可選的)的縮寫,表示可選的附加軟件包。
  • 作用:存放可選的第三方軟件包及其相關文件。與 /usr 目錄類似,但 /opt 通常用于那些不屬于系統基礎安裝的軟件。
  • 常見文件
    • /opt:存放附加軟件的目錄。比如你安裝了一些額外的第三方應用程序,它們通常會存放在這里。
  • PS/opt 中的軟件通常自成體系,包含自己的子目錄(如 /opt/appname/bin),便于獨立管理。
  • 實際例子:安裝 Google Chrome 時,它可能被放置在 /opt/google/chrome。一般會在這里安裝一些額外的應用程序或庫,以便開發自己的應用。

12. /usr (User Programs)

  • 英文含義usr 是 “user”(用戶的)或 “Unix System Resources”(Unix 系統資源)的縮寫。
  • 作用:存放系統和應用程序的可執行文件、庫文件以及共享數據等。這個目錄包含了大部分的用戶程序和資源文件。
  • 常見文件
    • /usr/bin:存放用戶應用程序的命令。
    • /usr/lib:存放系統和程序使用的庫文件。
    • /usr/share:存放共享數據文件,如文檔、圖標、語言文件等。
    • /usr/local:存放本地安裝的應用程序,通常由管理員手動安裝,不屬于系統默認軟件。
  • PS/usr 是系統安裝后的大本營,通常占用較多磁盤空間。/usr/local 是用戶自定義安裝的首選位置,避免與系統包管理器沖突。
  • 常見文件補充
    • /usr/include:存放 C/C++ 的頭文件,編譯程序時需要。

image-20250316232911181

  • 實際例子:運行 /usr/bin/python3 啟動系統安裝的 Python 解釋器。通常會在 /usr 下存放安裝的軟件包和共享資源。

13. /srv (Service Data)

  • 英文含義srv 是 “service”(服務)的縮寫,表示服務數據的目錄。
  • 作用:存放服務提供的數據,通常是系統服務或者用戶服務的文件。例如,網站的頁面文件、數據庫文件等。
  • 常見文件
    • /srv/www:存放 Web 服務器的數據文件,如網站的文件。
    • /srv/ftp:存放 FTP 服務器的數據文件。
  • PS/srv 的使用因系統而異,有些發行版可能不默認使用,管理員可以根據需要自定義。
  • 實際例子:運行 Nginx 時,可以將網站文件放在 /srv/www/html。可能會在這里放置由服務器提供的數據或文件,如網站文件、數據庫文件等。

14. /sys (System Information)

  • 英文含義sys 是 “system”(系統)的縮寫,表示系統信息的目錄。
  • 作用:提供關于系統內核和硬件的實時信息。這里存放了很多虛擬文件,它們代表了系統的狀態,可以通過讀取這些文件來獲取系統的運行狀態。
  • 常見文件
    • /sys/class:存放系統硬件的信息,如網絡設備、存儲設備等。
    • /sys/fs:存放文件系統的信息,如掛載的文件系統。
  • PS/sys 是 sysfs 文件系統的一部分,與 /proc 類似,但更專注于硬件和內核參數。

15. /proc (Process Information)

  • 英文含義proc 是 “process”(進程)的縮寫,表示進程信息的目錄。
  • 作用:提供關于運行中的進程、內核等信息。這個目錄下的文件是虛擬文件,它們不存儲數據,而是內核實時生成的數據。可以用它來監控系統狀態,獲取進程信息。
  • 常見文件
    • /proc/cpuinfo:顯示 CPU 信息。
    • /proc/meminfo:顯示內存使用情況。
    • /proc/[pid]:每個進程都有一個對應的目錄,[pid] 是進程 ID。你可以在這里查看進程的內存、CPU 使用情況等。
  • PS/proc 是 procfs 文件系統,內容完全動態生成,占用內存而非磁盤空間。
  • 常見文件補充
    • /proc/uptime:顯示系統運行時間(秒)和空閑時間。
  • 實際例子:運行 cat /proc/self/stat 查看當前進程(即 cat 命令本身)的狀態。可以通過 /proc 目錄獲取系統資源的詳細信息,用于性能監控或調試。

image-20250317000349165

16. /boot (Boot Loader Files)

  • 英文含義boot 是 “bootstrap”(引導)的縮寫,表示系統啟動相關文件。
  • 作用:存放啟動加載程序(bootloader,如 GRUB)和內核映像文件。
  • 常見文件
    • /boot/vmlinuz:壓縮的 Linux 內核文件。
    • /boot/grub/grub.cfg:GRUB 引導配置文件。

17. /run (Runtime Data)

  • 英文含義run 表示運行時數據。
  • 作用:存放系統運行時的臨時文件(如 PID 文件或鎖文件),通常在重啟后清空。
  • 常見文件
    • /run/lock:存放鎖文件,防止多個進程沖突。
  • 實際例子:運行 cat /run/mysqld/mysqld.pid 查看 MySQL 服務的進程 ID。

image-20250317001316555

18. /lost+found

  • 英文含義:表示“丟失并找到”的文件。
  • 作用:在文件系統檢查(如 fsck)后,損壞或未鏈接的文件會存放在這里。

建議

自己手動查看一下目錄

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/73746.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/73746.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/73746.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

gitee AI使用

gitee AI使用 gitee AI使用 gitee AI使用簡介正文開始1. 安裝openai2. 測試2.1 不使用流2.2 使用流 2.3 使用curl工具 簡介 發現gitee 推出了個ai幫助多數人使用ai,突破算力和模型的壁壘,我就遵從開源精神,測試了下,希望可以幫助…

c++領域展開第十七幕——STL(vector容器的模擬實現以及迭代器失效問題)超詳細!!!!

文章目錄 前言vector——基本模型vector——迭代器模擬實現vector——容量函數以及push_back、pop_backvector——默認成員函數vector——運算符重載vector——插入和刪除函數vector——實現過程的問題迭代器失效memcpy的淺拷貝問題 總結 前言 上篇博客我們已經詳細介紹了vecto…

WPF 開發從入門到進階(五)

一、WPF 簡介與開發環境搭建 1.1 WPF 概述 Windows Presentation Foundation(WPF)是微軟推出的用于構建 Windows 桌面應用程序的強大 UI 框架。它融合了矢量圖形、動畫、多媒體等多種技術,能讓開發者創建出具有高度視覺吸引力和交互性的應用…

DICOM醫學影像數據訪問控制與身份驗證技術應用的重要性及其實現方法詳解

DICOM醫學影像數據訪問控制與身份驗證技術應用的重要性及其實現方法詳解 在現代醫療體系中,DICOM(數字成像和通信醫學標準)作為醫學影像數據的核心標準,扮演著至關重要的角色。隨著醫療信息化的深入發展,DICOM醫學影像數據的安全性和隱私保護成為醫療機構亟需解決的關鍵問…

植物知識分享論壇畢設

1.這四個文件直接是什么關系?各自都是什么作用?他們之間是如何聯系的? 關系與聯系 UserController.java 負責接收外部請求,調用 UserService.java 里的方法來處理業務, 而 UserService.java 又會調用 UserMapper.jav…

Business processes A bridge to SAP and a guide to SAP TS410 certification

Business processes A bridge to SAP and a guide to SAP TS410 certification

算法 之 ST表

文章目錄 區間最大值 ST表(Sparse Table)是一種高效處理靜態數據區間查詢的數據結構,主要的作用是用于快速查詢區間的最值,區間GCD,區間按位與或 在這里以區間最大值為例子說明st表的模版 總體的思想就是定義dp[i][j]表示下標為i長度為2^j的區間的最大值…

Deepseek X 文心智能體:諧音梗廣告創意大師

體驗鏈接 飛書文檔 一、引言 在當今競爭激烈的市場環境下,廣告創意對于產品或服務的推廣至關重要。諧音廣告以其獨特的語言魅力,能夠迅速吸引受眾的注意力并留下深刻印象。本智能體旨在利用 DeepSeek 模型強大的語言分析和推理能力,為用戶…

libilibi項目優化(2)視頻文件分塊上傳

第一版 文件分片上傳過程總結 整個文件分片上傳過程分為三個主要步驟:預上傳、分片上傳和獲取已上傳分塊信息。以下是每個步驟的詳細描述: 1. 預上傳(preUploadVideo) 功能:生成唯一的上傳 ID,并將文件…

TCP簡單鏈接的編程實現

TCP簡單鏈接的編程實現 本文主要介紹TCP應用層的編碼實現。 TCP是一種面向連接的、可靠的、基于字節流的傳輸層協議,它是互聯網協議套件(TCP/IP)中的核心協議之一,廣泛應用于需要可靠數據傳輸的場景,如:網…

使用Multiprocessing模塊創建子進程,需要放到__main__中

1 場景說明 在Python中,使用multiprocessing模塊創建子進程時,將創建子進程的代碼放在if __name__ __main__: 塊之外,如下面代碼: import multiprocessing import timedef test_func(name):print(f"子進程 {name} 開始運行…

描述<canvas>標簽的主要用途,如何在其上繪制簡單圖形?

大白話描述標簽的主要用途&#xff0c;如何在其上繪制簡單圖形&#xff1f; <canvas> 標簽的主要用途 <canvas> 標簽是 HTML5 中新增的一個標簽&#xff0c;它就像是一塊“畫布”&#xff0c;你可以在網頁上用它來繪制各種圖形、動畫、制作游戲等。簡單來說&…

【RHCE實驗】搭建主從DNS、WEB等服務器

目錄 需求 環境搭建 配置nfs服務器 配置web服務器 配置主從dns服務器 主dns服務器 從dns服務器 配置客戶端 客戶端測試 需求 客戶端通過訪問 www.nihao.com 后&#xff0c;能夠通過 dns 域名解析&#xff0c;訪問到 nginx 服務中由 nfs 共享的首頁文件&#xff0c;內容…

Shell條件判斷

一、使用if選擇結構 if單分支的語法組成&#xff1a; if 條件測試;then 命令序列 fi if雙分支的語法組成&#xff1a; if 條件測試;then 命令序列1 else 命令序列2 fi if多分支的語法組成&#xff1a; if 條…

理解langchain langgraph 官方文檔示例代碼中的MemorySaver

以下是langchain v0.3官方示例代碼 from langgraph.checkpoint.memory import MemorySaver from langgraph.graph import START, MessagesState, StateGraph# 可以理解為&#xff1a;定義一個流程&#xff0c;這個流程中用到的數據類型是Messages。 <---定義一個有向圖&…

【HarmonyOS Next之旅】DevEco Studio使用指南(三)

目錄 1 -> 一體化工程遷移 1.1 -> 自動遷移 1.2 -> 手動遷移 1.2.1 -> API 10及以上歷史工程遷移 1.2.2 -> API 9歷史工程遷移 1 -> 一體化工程遷移 DevEco Studio從 NEXT Developer Beta1版本開始&#xff0c;提供開箱即用的開發體驗&#xff0c;將SD…

vuex持久化存儲,手動保存到localStorage

vuex持久化存儲&#xff0c;手動保存到localStorage 一、vue21. 手動存儲到localStoragestore/index.js 2. 使用持久化存儲插件store/index.jsstore/modules/otherData.js保存到localStorage 二、vue31. index.ts2. store/modules/globalData.ts3. 在組件中使用App.vue 一、vue…

nodejs使用 mysql2 模塊獲取 mysql 中的 json字段,而不是 mysql

mysql 模塊獲取的 json 字段&#xff0c;是字符串mysql2 模塊獲取的 json 字段&#xff0c;是符合預期的 json 對象 mysql mysql2 最后編輯于&#xff1a;2025-02-24 22:16:53 © 著作權歸作者所有,轉載或內容合作請聯系作者 喜歡的朋友記得點贊、收藏、關注哦&#xff01;…

鴻蒙(OpenHarmony)開發實現 息屏/亮屏 詳情

官網參考鏈接 實現點擊關閉屏幕&#xff0c;定時5秒后喚醒屏幕 權限 {"name": "ohos.permission.POWER_OPTIMIZATION"}代碼實現 import power from ohos.power;Entry Component struct Page3 {private timeoutID: number | null null; // 初始化 timeout…

【網工第6版】第1章 計算機網絡概論

目錄 1計算機網絡形成和發展 ■計算機網絡 ■我國互聯網發展 ■計算機網路分類 ■計算機網絡應用 2 OSI和TCP/IP參考模型 ■網絡分層的意義 ■OSI參考模型 ■TCP/IP參考模型 ■TCP/IP參考模型協議 3 數據封裝與解封過程 ■封裝 ■解封 1計算機網絡形成和發展 ■計…