Linux系統目錄結構介紹

来源:http://www.cnblogs.com/0zcl/archive/2017/05/06/6815417.html
-Advertisement-
Play Games

參考博客: http://www.cnblogs.com/chensiqiqi/p/6243549.html 感謝原博主為我學習Linux指明方向!! linux目錄:一切從“根”開始,“/”是所有目錄的起點(定點) linux每個目錄可以掛載在不同的設備(磁碟)上。 在邏輯上所有目錄(包括目錄下的 ...


參考博客: http://www.cnblogs.com/chensiqiqi/p/6243549.html  感謝原博主為我學習Linux指明方向!!

 

linux目錄:一切從“根”開始,“/”是所有目錄的起點(定點)

linux每個目錄可以掛載在不同的設備(磁碟)上。

 

在邏輯上所有目錄(包括目錄下的子目錄)都在最高級別的目錄“/”下,根(“/”)目錄是linux系統中所有目錄的起始點(丁點),根下麵的目錄及目錄的子目錄是一個有層次的樹狀結構,很像顆倒掛著的一顆大樹,這和Windows系統按照硬碟分區(C:D:E:)分割的目錄結構是不同的(windows系統可以理解為多棵樹,每個分區就是一顆獨立的小樹)。
linux系統中的這些不同的目錄也是很特別的,不同的目錄可以分佈在不同的硬碟分區以及不同的硬碟設備上,這是windows的系統難以做到的,windows系統的不同分區都是獨立存在的。

linux下麵設備不掛載是看不到入口的,沒有視窗沒門的監獄,如果要設備被訪問就必須有一個入口,這個入口就是掛載點,掛載點實質就是目錄

linux系統中的所有目錄內容按照類別組織。例如,Linux下的應用程式,它的可執行程式可能在/usr/bin,而它的數據文件和幫助在/usr/share下,運行時載入的配置文件和服務啟動命令卻在/etc/下。

內容小結

  1. linux系統的所有目錄是一個有層次的倒著的樹狀目錄結構,“/”根是所有目錄的頂點。
  2. 不同的目錄數據可以跨越不同的磁碟分區或不同的磁碟設備
  3. 所有的目錄都是按照一定的類別有規律的組織和命名

 

Unix系統目錄結構的歷史典故

提示:學習目錄結構的歷史典故,目的是讓大家能夠清晰的瞭解linux的目錄結構。

1969年,Ken Thompson和Dennis
Ritchie在小型機PDP-7上發明瞭Unix。1971年,他們將主機升級到了PDP-11.

當時,他們使用一種叫做RK05的存儲盤,盤的容量大約是1.5MB

由於硬碟的容量很小,因此沒多久,操作系統存儲盤數據(根目錄)變的越來越大了,導致一塊盤已經裝不下數據了。於是,他們加上了第二盤RK05,並且作了規定,第一塊盤專門用來存放系統程式相關,第二塊盤專門存放用戶自己的程式,因此,掛載的目錄點取名為/usr。也就是說,根目錄“/”掛載在第一塊盤,“/usr”目錄掛載在第二塊盤。除此之外,兩塊盤裡面的其他的目錄結構是完全相同的,例如:第一塊盤的目錄(/bin,/sbin/lib/tmp...)都在/usr目錄下重新出現一次(/bin,/sbin,/lib)

tmp 思想: 不要輕易刪除東西,可以放在tmp目錄下麵。過1個月後再刪除。

時間不長,第二塊存儲盤也滿了,他們只好又加了第三盤RK05,掛載的目錄取名為/home,並且做了規定,/usr用於存放用戶的程式,/home用於存放用戶的數據。
此後,這種目錄結構起名和定義就這樣延續了下來。隨著設備的發展,硬碟的容量也越來越大,那麼,各個目錄的含義進一步得到了明確。

Linux 目錄結構

目錄層次標準FHS

  • FHS全稱(Filesystem Hierarchy Standard),中文意思是目錄層次標準,是linux的目錄規範標準。
  • 詳細點擊查看
  • FHS定義了兩層規範
  • 第一層:“/”目錄下的各個目錄應該放什麼文件數據,例如:/etc目錄下放置系統的配置文件,例如:/etc/exports,/etc/hosts,而/bin和/sbin放置程式及系統命令。
  • 第二層:是針對/usr(unix software resource|Secondary hierarchy)和/var(Variable data)這兩個目錄的子目錄來定義。例如:/var/log下放置系統日誌文件等
  • 提示:/var分區單獨分出來,硬碟足夠大。我們都有監控,剩餘20%報警

linux系統的目錄結構最頂端是“/”,一切目錄從根開始。 我們可以通過tree命令得到根(/)下的目錄結構。

小結:重要目錄回顧

  • /dev 設備目錄
  • etc/ 系統配置及服務配置文件,服務啟動命令目錄/etc/init.d
  • /proc 顯示內核及進程信息的虛擬文件系統
  • /tmp 臨時文件目錄,
  • /home 普通用戶家目錄
  • /root 超級管理員家目錄
  • var 變化的目錄,一般是日誌文件(/var/log),cache目錄。/var/log/messages,/var/log/secure
  • /usr 用戶程式及數據,幫助文件,二進位命令等目錄(usr/local/)
  • bin 普通用戶命令的目錄
  • /sbin 和/usr/sbin/:超級用戶命令的目錄

重要子目錄說明

必須要掌握的linux目錄路徑知識

修改網卡配置文件

  • etc/sysconfig/network-scripts/ifcfg-eth0
  • 查看eth0(第二塊eth1)
  • 通過setup===>"network configuration"修改網卡配置就是再改這個文件
  • 固定IP地址
  • 重啟網卡/etc/init.d/network restart(影響所有網卡)
  • ifdown eth0 && ifup eth0只針對eth0網卡

註意

  • 設置文件ifcfg-interface-name包含了初始化介面所需要的大部分周詳的信息。其中interface-name將根據網卡的類型和排序而不同,一般名字為eth0,eth1,ppp0等,其中eth表示以太(eth0)類型網卡,0表示第一塊網卡,1表示第二塊網卡,而ppp0則表示第一個point-to-poirt protocol網路介面。在ifcfg文件中定義
    的各項目取決於介面類型。
    下麵的值較為常見:
  • DEVICE=name,其中,name是物理設備名
  • IPADDR=addr,其中addr是IP地址
  • NETMASK=mask,其中,mask是網路掩碼值
  • GATEWAY=addr,其中addr是網關地址
  • ONBOOT=answer,其中answer是yes(引導時激活設備)或no(引導時不激活設備)
  • USERCTL=answer,其中,answer是yes(非root用戶能控制該設備)或no
  • BOOTPROTO=proto,其中,proto取下列值之一:none,引導時不使用協議;static靜態分配地址;bootp,使用BOOTP協議,或dhcp,使用DHCP協議

 

上圖設置實際上修改的是/etc/resolv.conf這個文件

[zcl@chengliang ~]$ cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search localdomain zhang
nameserver 8.8.8.8
nameserver 202.106.0.20
[zcl@chengliang ~]$

小結

1、linux客戶端DNS可以在網卡配置文件里設置(ifcfg-eth0)

2、linux客戶端DNS也可以在/etc/resolv.conf里設置

3、網卡裡的設置DNS優先於/etc/resolv.conf,如果重啟網路網卡的dns會覆蓋/etc/resolv.conf的設置
4、/etc/hosts:設定用戶IP與名字(功能變數名稱)的對應解析表,相當於本地LAN區域網內的DNS解析文件
5、/etc/sysconfig/network:可修改主機名及網卡啟動,網關等配置。永久更改主機名,需同時修改以下兩項:
(1)vi /etc/sysconfig/network
(2)hostname 主機名

/etc/目錄下的重要目錄和文件

  • /etc/issue(/etc/issue.net):記錄用戶登錄前顯示的系統版本等信息
  • /etc/motd:登錄提醒(裡面寫的任何東西都會在所有用戶登錄前顯示出來)
  • /etc/redhat-release:包括一行聲明RedHat版本號和名稱的信息。
  • /etc/group:設定用戶的組名與相關信息
  • /etc/passwd:用戶賬號信息文件
  • /etc/shadow:用戶密碼信息文件
  • /etc/gshadow:組密碼文件
  • /etc/sudoers:可以執行使用sudo命令的配置文件(許可權提升)
  • /etc/securetty:設定哪些中斷可以讓root登錄
  • /etc/login.defs:所有用戶登陸時的預設配置
  • /etc/modprobe.conf:內核模塊額外參數設定
  • /etc/rsyslog.conf:日誌設置文件(僅限centos6.x)

在開機時,linux會把/etc/rc.local里的內容執行一遍

其他目錄

  • /lib:系統會使用到的函數庫
  • /lib/modules:kernel的相關模塊
  • /var/lib/rpm:rpm套件安裝處
  • /usr/bin:這個目錄是可執行程式的目錄;當我們從系統自帶的軟體包安裝一個程式時,他的可執行文件大多會放在這個目錄。
  • lib64:庫文件存放目錄
  • /usr/sbin:這個目錄也是可執行程式的目錄,但大多存放涉及系統管理的命令;相似目錄是/sbin或/usr/local/sbin或/usr/X11R6/sbin等;
  • /usr/local:這個目錄一般用來存放用戶自編譯安裝軟體的存放目錄;一般是通過源碼包安裝的軟體,如果沒有特別指定安裝目錄的話,一般是安裝在這個目錄中。
  • /usr/local/bin:用戶安裝的小的應用程式,和一些在/usr/local目錄下大應用程式的符號連接
  • /usr/local/sbin:系統全局環境目錄,可放置一些不需要加路徑執行的腳本
  • /usr/share:系統共用的東西存放地,比如/usr/share/doc和/usr/share/man幫助文件
  • /usr/src:內核源碼存放目錄,比如下麵有內核源碼目錄,比如linux,linux-2.xxx.xx目錄等。

1,rpm -ivh(存在rpm包,又無法使用yum的時候)
2,yum install
(習慣:線上對外的伺服器很少安裝apache,nginx,mysql,功能性軟體會用yum)
3,源碼(./configure,make,make install),定製。大中小企業重要服務。
門戶:源碼---定製RPM包---製作yum倉庫----yum安裝

  • /usr/bin:使用者可執行的binary file目錄
  • /usr/local/bin:使用者可執行的binary file目錄
  • /usr/lib:系統會使用到的函數庫
  • /usr/local/lib:系統會使用到的函數庫

 

/var目錄下的路徑知識

  • /var:日誌文件
  • /var/log:各種系統日誌存放地
  • /var/log/messages:系統信息預設日誌文件,非常重要。按周自動輪循
  • /var/log/secure:記錄登入系統存取信息的文件,按周自動輪循,例如:pop3,ssh,telnet,ftp都會記錄在此。系統安全的日誌文件。
  • /var/spool:定時任務預設路徑,按用戶名命名的文件(/var/spool/cron/root)
  • var/spool/clientmqueue:sendmail 臨時郵件文件目錄,有很多原因會導致這個目錄碎文件很多,比如crontab定時任務命令不加>/dev/null等。工作中偶爾會因為該目錄文件太多,導致/var所在的分區inode數量被消耗盡,無法寫入文件的情況(centos6.x不會裝sendmail,所以不會有這個問題)

 

/proc下的重要路徑知識

top:看cpu等

  • /proc:虛擬目錄,是記憶體的映射,內核和進程的虛擬文件系統目錄
  • /proc/version:內核版本
  • /proc/sys/kernel:系統內核功能
  • /proc/sys/net/ipv4:修改proc的配置時臨時生效。
  • (/etc/sysctl.conf內核參數里配置才是永久生效。兩個路徑的修改效果是一樣的。net.ipv4.tcp_tw_reuse=1實際上就是修改/proc/sys/net/ipv4/tcp_tw_reuse的內容)
  • /proc/cpuinfo:關於處理器的信息,如類型,廠家,型號和性能等
  • /proc/meminfo:系統記憶體信息,free -m
  • /proc/devices:當前運行內核所配置的所有設備清單
  • /proc/dma:當前正在使用的DMA通道
  • /proc/filesystems:當前運行內核所配置的文件系統
  • /proc/initerrupts:正在使用的中斷,和曾經有多少個中斷。
  • /proc/ioports:當前正在使用的I/O埠。
  • /proc/loadavg:系統負載平均值信息(系統的繁忙情況,比較準確,但是不夠細緻系統性能指標),uptime的結果。(負載值不要超過CPU的核數。看負載top,uptime,w)

  • /proc/mounts:設備的掛載信息,df -h類似

 

必須掌握的路徑及文件

  • /etc/sysconfig/network-scripts/ifcfg-eth0(第一塊網卡配置文件)
  • /etc/resolv.conf(DNS的配置文件,網卡配置文件優先resolv.conf)
  • /etc/hosts(ip與功能變數名稱(主機名)解析表)
  • /etc/sysconfig/network(主機)
  • /etc/fstab(開機自動掛載列表)
  • /etc/rc.local(開機自啟動文件,自啟動命令,腳本)
  • /etc/inittab (Linux開機運行級別配置文件)
  • /etc/init.d(服務啟動命令腳本目錄)
  • /etc/profile(全局環境變數)
  • /etc/bashrc(別名)
  • /usr/local(編譯安裝軟體預設安裝目錄)
  • /var/log/message(系統日誌)
  • /var/log/secure(系統安全日誌)
  • /var/spool/cron/root(定時任務,root目錄)
  • /proc/cpuinfo(系統cpu信息)
  • /proc/meminfo(系統記憶體信息)
  • /proc/loadavg(系統cpu負載程度)
  • /proc/mounts(系統掛載信息)

討論:cpu什麼情況下算是負載很繁忙?

當cpu平均負載率大於CPU的核數的時候,我們就可以說,伺服器cpu的負載已經很繁忙了。

 


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

-Advertisement-
Play Games
更多相關文章
  • 註冊ocx時出現ole初始化錯誤或OCX載入錯誤 問題原因:安裝文件不能放在包含空格的文件夾名字中 解決辦法:oracle安裝的時候最好安裝在盤符的根目錄下,不要使用中文 ora-00922(缺少或無效選項) 問題原因:配置管理員密碼時,採用了數字開頭的密碼 解決辦法:將密碼改為英文開頭(配置密碼時 ...
  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當在唯一索引所對應的列上鍵入重覆值時,會觸發此異常。 ORA-00017: 請求會話以設置跟蹤事件 ORA-00018: 超出最大會話數 ORA-00019: 超出最大會話許可數 ORA-00020: 超出最大進程數 () ORA-00021... ...
  • 主要是看《SQL必知必會》第四版的書,而寫的一些SQL筆記,紅色的是方便以後查詢的sql語句,工作中主要是使用mysql資料庫,所以筆記也是圍繞mysql而寫的。 下文調試的數據表sql語句,如果要嘗試的調試的話可以複製過去運行即可 1 # Host: localhost (Version: 5.5 ...
  • 一、首先創建兩張表stu,sc --說明: 外鍵必須建立索引; FOREIGN key(sid) 設置外鍵,把sid設為外鍵 REFERENCES stu(sid) 引用作用。引用stu表中的sid ON DELETE CASCADE 級聯刪除ON UPDATE CASCADE 級聯更新 二、向兩張 ...
  • Linux Unix 免費 收費 開源 不開源 硬體無要求 有要求 IBM Sun Hp 主流的Linux的髮型版本: RedHat Fedora Mandriva Ubuntu CentOS Debian Getoo ...
  • Fedora是一個Linux發行,基於Redhat,算是Redhat的測試版本。而Fedora workstation預設使用的桌面環境是Gnome,使用Xfce作為桌面環境的Fedora較之稍顯輕量,不過呢,沒有經過配置的Xfce Fedora是很朴素的。 得益於Fedora中文源的出現能讓一些w ...
  • Bash 的若幹基本問題 這裡介紹一些bash啟動前、後的問題,以及一些使用bash需要註意的基本問題。 1、Bash的介紹 Bash是一種Shell程式,它是一般的Linux系統中的預設的Shell程式,一般情況下Bash指的是/bin/bash這個軟體。 一個Linux系統中有多少個可用的She ...
  • linux tcp GSO和TSO實現 ——lvyilong316 (註:kernel版本:linux 2.6.32) 概念 TSO(TCP Segmentation Offload): 是一種利用網卡來對大數據包進行自動分段,降低CPU負載的技術。 其主要是延遲分段。 GSO(Generic Se ...
一周排行
    -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 ...