【系統知識點】linux目錄結構

linux系統目錄結構的基本特點介紹:

1)在邏輯上所有的目錄都在最高級別的目錄“/”,根目錄是linux系統中所有目錄的起始點,根下面的目錄及目錄的子目錄是一個有層次的樹狀結構,很像一顆倒掛着的大樹,這和windows系統按照硬盤分區分割的目錄結構是不同的(windows系統可以理解爲多棵樹,每個分區就是一顆獨立的小數

          linux系統中的這些不同的目錄也是很特別的,不同的目錄可以分佈在不同的硬盤分區以及不同的硬盤設備上。這是windows系統難以做到的,windows系統的不同分區都是獨立存在的。

PS:不同的目錄可以分佈在不同的硬盤分區以及不同的硬盤設備上

什麼是掛載:

掛載:利用一個目錄當成進入點,將磁盤分區的數據放置在該目錄下;也就是說進入該目錄就可以讀取該分區

查詢分區信息:

ls /dev/sda*

查詢掛載情況:

df -h

掛載操作:

1./etc/fstab 記錄了掛載關係的文檔,系統啓動前讀取它根據其信息進行掛載

各列表示信息:設備名 掛載目錄 文件系統類型 掛載選項 備份 是否磁盤檢查

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

wKiom1hfUeCQa9hiAAKv5IO27ko986.png-wh_50

linux目錄結構:

1.FHS:Filesystem Hierarchy Standard(文件系統層次化標準)的縮寫,多數Linux版本採用這種文件組織形式,類似於Windows操作系統中c盤的文件目錄,FHS採用樹形結構組織文件。FHS定義了系統中每個區域的用途、所需要的最小構成的文件和目錄,同時還給出了例外處理與矛盾處理。

FHS定義了兩層規範,第一層是, / 下面的各個目錄應該要放什麼文件數據,例如/etc應該要放置設置文件,/bin與/sbin則應該要放置可執行文件等等。第二層則是針對/usr及/var這兩個目錄的子目錄來定義。例如/var/log放置系統登錄文件、/usr/share放置共享數據等等。

2.根目錄結構

tree -L X / #查看根目錄的X級目錄

例:

[root@rex ~ 02:33:51]# tree -L 1 /

/

├── bin

├── boot

├── dev

├── etc

├── home

├── lib

├── lib64

├── lost+found

├── media

├── misc

├── mnt

├── net

├── opt

├── proc

├── root

├── sbin

├── selinux

├── srv

├── sys

├── tes

├── testing

├── tmp

├── usr

└── var

 

根目錄下重要的目錄解析:

/bin

/bin 常用二進制命令所在的目錄。比如lscpmkdirrmcut等命令;/bin目錄與/usr/bin類似,只是/usr/bin  一般是用戶自己安裝的而一些程序的命令。

catchgrpchmodchowncpdatedddfdmesg(打印或者控制內核信息的緩存),echofalsehostnamekilllnloginlsmkdirmknod(創建Linux中的字符設備文件和塊設備文件),moremountmvpspwdunmountuname

/boot

/boot 存放靜態文件(很少有變動,所以100-200M夠了),linux的內核及引導系統程序所需的文件目錄。安裝系統分區的時候一般要分一個boot分區。

[root@rex ~  02:46:02]# ll /boot

total 28279

-rw-r--r--. 1 root  root   105195 Nov 11  2013 config-2.6.32-431.el6.x86_64

drwxr-xr-x. 3 root  root     1024 Mar  7   2015 efi

drwxr-xr-x. 2 root  root     1024 Jun  4   2015 grub

-rw-------. 1 root  root 17435649 Mar  7  2015 initramfs-2.6.32-431.el6.x86_64.img

-rw-------. 1 root  root  4547972 Mar  7   2015 initrd-2.6.32-431.el6.x86_64kdump.img

drwx------. 2 root  root    12288 Mar  7   2015 lost+found

-rw-r--r--. 1 root  root   193758 Nov 11  2013 symvers-2.6.32-431.el6.x86_64.gz

-rw-r--r--. 1 root  root  2518236 Nov 11  2013 System.map-2.6.32-431.el6.x86_64

-rwxr-xr-x. 1 root  root  4128944 Nov 11  2013 vmlinuz-2.6.32-431.el6.x86_64

/dev

設備文件的目錄,比如聲卡,磁盤,光驅....

/dev/null /dev/null看作"黑洞". 它非常等價於一個只寫文件. 所有寫入它的內容都會永遠丟失.

/dev/zero  /dev/zero---該設備無窮盡地提供0(ASCII 0 就是NULL),可以使用任何你需要的數目——設備提供的要多的多。他可以用於向設備或文件寫入NULL

/dev/tty  當前進程的控制終端的設備特殊文件。

/etc

1)二進制安裝包(yumrpm)的配置文件默認路徑 2)服務啓動命令存放的目錄/etc/init.d

[root@rex ~  02:55:22]# ll /etc/init.d/

total 368

-rwxr-xr-x. 1 root  root  1288 Aug 14  2013 abrt-ccpp

-rwxr-xr-x. 1 root  root  1628 Aug 14  2013 abrtd

-rwxr-xr-x. 1 root  root  1642 Aug 14  2013 abrt-oops

-rwxr-xr-x. 1 root  root  1725 Dec  3   2009 acpid

-rwxr-xr-x. 1 root  root  2062 Jan 20  2012 atd

-rwxr-xr-x. 1 root  root  3378 Mar 14  2012 auditd

-rwxr-xr-x. 1 root  root  4043 Oct 30  2013 autofs

-r-xr-xr-x. 1 root  root  1340 Oct 30  2013 blk-availability

-rwxr-xr-x. 1 root  root   710 Jun 30  2010 bluetooth

-rwxr-xr-x. 1 root  root  2094 Jan 12  2013 certmonger

-rwxr-xr-x. 1 root  root 11355 Aug  2  2013 cpuspeed

-rwxr-xr-x. 1 root  root  2826 Sep 12  2013 crond

-rwxr-xr-x. 1 root  root  3034 Aug  7   2013 cups

-rwxr-xr-x. 1 root  root  1702 Jan  4   2013 dnsmasq

-rwxr-xr-x. 1 root  root  3245 Jul  9   2013 firstboot

-rw-r--r--. 1 root  root 18586 Oct 10  2013 functions

............

/home

普通用戶的家目錄默認數據存放目錄

/lib

共享庫&內核庫文件存放的目錄

/lost+found

ext3文件系統中,當系統意外崩潰或機器意外關機,會產生一些文件碎片在這裏。當系統在開啓啓動的過程中fsck工具會檢查這裏,並修復已經損壞的文件系統。當系統發生問題,可能會有文件被移到這個目錄中,可能需要用手工的方式來修復,或移動文件到原理的位置上。

/mnt

一般是用於臨時掛載存儲設備的掛載目錄,比如有cdromu盤等目錄。直接插入光驅無法使用,要先掛載後使用。

/opt

表示的是可選擇的意思,有些軟件包也會被安裝在這裏,也就是自定義軟件包,我們自己編譯的軟件包,就可以安裝在這個目錄中;通過源碼包安裝的軟件,可以通過./configure --prefix=/opt/目錄,非必須這樣,視習慣而定。

/proc

操作系統運行時,進程信息以及內核信息(比如cpu,硬盤分區,內存信息等)存放在這裏。/proc目錄僞裝的文件系統proc的掛載目錄,proc並不是真正的文件系統,它的定義可以參見/etc/fstab

[root@rex ~  03:28:24]# grep proc /etc/fstab

proc                    /proc                   proc    defaults        0 0

[root@rex ~ 03:28:33]# cat /proc/meminfo  #查看內存信息

MemTotal:        2046584 kB

MemFree:         1458020 kB

Buffers:           47964 kB

Cached:           296076 kB

SwapCached:            0 kB

Active:           221968 kB

Inactive:         204872 kB

Active(anon):      83032 kB

……

[root@rex ~ 03:29:16]# cat /proc/cpuinfo #查看cpu信息

processor        :  0

vendor_id        :  GenuineIntel

cpu  family        : 6

model                :  42

model  name        : Intel(R) Core(TM)  i5-2450M CPU @ 2.50GHz

stepping        :  7

……

/root

linux超級權限用戶root的家目錄

/sbin

大多是涉及系統管理的命令存放,是超級權限用戶root的可執行命令存放地,這個目錄和/usr/sbin;/usr/X11R6/sbin/usr/local/sbin目錄是相似的

如:fdisk,fsck,halt(關機),ifconfig,init,mkfs,mkswap,reboot,route,swaponswapoffdumpe2fsmke2fs....

/tmp

臨時文件目錄,有事用戶運行程序的時候,會產生臨時文件,該目錄就是存放這些文件的,權限比較特殊。/var/tmp目錄和這個目錄相似。

/usr

第二個主要目錄,這個是系統存放程序的目錄,比如命令,幫助文件等。這個目錄下面有很多文件和目錄。當我們按照一個linux發行版官方提供的軟件包時,大多安裝在這裏。

如果有涉及服務器配置文件的,會把配置文件安裝在/etc目錄中。

/usr/bin #用戶可執行文件目錄

/usr/include#程序的頭文件存放目錄

/usr/lib #庫文件存放

/usr/share/font #字體目錄

/usr/share/man #幫助目錄

/usr/share/doc #文檔目錄

/usr/src  #源代碼

………….

/var

這個目錄的內容是經常變動的,看名字就知道,我們可以理解爲vary的縮寫,/var下有/log用來存放系統日誌的目錄,如:系統日誌路徑/var/log/messages/var/www目錄是定義Apache的服務器站點存放目錄。/var/lib 用來存放一些庫文件,比如mysql的,以及mysql數據庫的存放地

/var/cache  程序緩存數據

/var/local  /usr/local的常變數據

/var/lock  lock文件

/var/log日誌文件

/var/log/lastlog  每個用戶的最近一次登錄

/var/log/messages  系統日誌文件

/var/spool/cron  定時任務的配置文件路徑

 

常用的必須熟記的子目錄:

 /etc/sysconfig/network-scripts/ifcfg-eth0

配置網絡地址及GW;使網卡生效(1/etc/init.d/network restart,ifdown eth0&&ifup eth0

/etc/resolv.conf

設置本機的客戶端DNS

/etc/hosts

設定用戶ip與名字的對應表,相當於本地LANDNS

作用:

1.用於通過域名測試

2.服務器之間的調用可以用域名

/etc/fstab

記錄開機要mount的文件系統

/etc/inittab

設定系統啓動時init進程將把系統設置成什麼樣的runlevel

/etc/exports

設定NFS系統用的配置文件路徑

/etc/init.d/

這個目錄是用來存放系統或服務器以SystemV模式啓動的腳本,這在以systemV模式啓動或初始化的系統中常見。比如yumrpm安裝的軟件的啓動命令…..

 

[root@vrfblog ~]#  ls -l /etc/init.d

lrwxrwxrwx. 1 root  root 11 Dec 25  2014 /etc/init.d -> rc.d/init.d

 

[root@vrfblog ~]#  ls /etc/init.d/

acpid   blk-availability  functions   ip6tables   killall       messagebus  netfs     ntpdate  quota_nld    rsyslog     single   udev-post

atd     bootlocal         halt       iptables    lvm2-lvmetad  mysqld       network  postfix  rdisc         sandbox    sshd     vsftpd

auditd  crond             httpd      irqbalance  lvm2-monitor  netconsole   ntpd     psacct   restorecond  saslauthd   sysstat

/etc/xinetd.d/

如果服務器是通過xinitd模式運行的,它的腳本要放在這個目錄下面。

vim /etc/profile

設置全局環境變量的配置路徑;修改完之後,. /etc/profile 使其生效

/etc/profile.d/

放置開機就要運行的腳本,命令或文件獨立存在!



/etc/issue

記錄用戶登錄前顯示的信息

/etc/motd

登陸提醒

/etc/redhat-release

[root@vrfblog  xinetd.d]# cat /etc/redhat-release

CentOS release 6.5  (Final)

/etc/group

設定用戶的組名與相關信息

/etc/passwd

賬號信息文件

/etc/shadow

密碼信息文件

/etc/sudoer

配置可以執行sudo命令的用戶

/etc/securetty

設定哪些終端可以讓root登陸

/etc/login.defs

所有用戶登錄時的缺省配置

/etc/modprobe.conf

內核模塊額外參數設定

/etc/syslog.conf  or /etc/rsyslog.conf

日誌設置文件



/lib

系統會使用到的函數庫

/lib/modules

kernel的相關模塊

/var/lib/rpm

rpm套件安裝處

/lib64

庫文件存放目錄



/usr/local

存放用戶自編譯安裝軟件的存放目錄

/usr/local/bin

用戶安裝的小的應用程序和一些在/usr/local目錄下大應用程序的符號鏈接

/usr/share

系統共用的東西存放地

/usr/src

內核源碼存放目錄



/var/log

各種系統日誌存放地

/var/log/messages

系統信息默認日誌文件,非常重要。按周自動輪詢。

[root@vrfblog ~]#  ll /var/log/messages*

-rw------- 1 root  root   218 Dec 18 06:54  /var/log/messages

-rw------- 1 root  root   100 Nov 26 21:57  /var/log/messages-20161127

-rw------- 1 root  root   431 Dec  3 21:11 /var/log/messages-20161204

-rw------- 1 root  root 29878 Dec  9 12:56  /var/log/messages-20161211

-rw------- 1 root  root 29394 Dec 16 13:03 /var/log/messages-20161218

/var/log/secure

記錄登入系統存取信息的文件,按周自動輪詢,例如pop3sshtelnetftp 等都會記錄在此。

/var/log/wtmp

記錄登陸者信息的文件last

/var/spool /var/spool/cron/root

定時任務crontab默認目錄,按用戶名命令的文件

/var/spool/mail

系統用戶郵件存放目錄

/var/spool/clientmqueue

臨時郵件文件目錄,有很多原因會導致這個目錄碎文件很好,比如crontab定時任務命令不加>/dev/null等。工作中偶爾會因爲該目錄文件太多,導致/var所在分區inode數量被消耗盡,無法寫入文件的情況



/proc

虛擬目錄,是內存的映射

/proc/version

內核版本

/proc/sys/kernel/

系統內核功能

/etc/sysctl.conf

內核參數配置路徑;修改的是/proc/sys/net/ipv4/下對應的一些參數,如net.ipv4.tcp_tw_reuse---/proc/sys/net/ipv4/tcp_tw_reuse

/proc/cpuinfo

關於處理器的信息

/proc/meminfo

系統內存信息

/proc/devices

當前運行內核所配置的所有設備清單

/proc/dma

當前正在使用DMA通道

/proc/filesystems

當前運行內核所配置的文件系統

/proc/interrupts

正在使用的中斷和曾經有多少箇中斷

/proc/iports

當前正在使用的IO端口

/proc/loadavg

系統負載信息(系統的繁忙情況,比較準確,但不夠細緻) 閾值是cpu核數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章