linux系統目錄結構的基本特點介紹:
(1)在邏輯上所有的目錄都在最高級別的目錄“/”下,根目錄是linux系統中所有目錄的起始點,根下面的目錄及目錄的子目錄是一個有層次的樹狀結構,很像一顆倒掛着的大樹,這和windows系統按照硬盤分區分割的目錄結構是不同的(windows系統可以理解爲多棵樹,每個分區就是一顆獨立的小數)
linux系統中的這些不同的目錄也是很特別的,不同的目錄可以分佈在不同的硬盤分區以及不同的硬盤設備上。這是windows系統難以做到的,windows系統的不同分區都是獨立存在的。
PS:不同的目錄可以分佈在不同的硬盤分區以及不同的硬盤設備上
什麼是掛載:
掛載:利用一個目錄當成進入點,將磁盤分區的數據放置在該目錄下;也就是說進入該目錄就可以讀取該分區
查詢分區信息:
ls /dev/sda*
查詢掛載情況:
df -h
掛載操作:
1./etc/fstab 記錄了掛載關係的文檔,系統啓動前讀取它根據其信息進行掛載
各列表示信息:設備名 掛載目錄 文件系統類型 掛載選項 備份 是否磁盤檢查
(2)linux系統中的所有目錄內容按照類別組織。例如,linux下的應用程序,它的可執行程序可能在/usr/bin,而它的數據文件和幫助在/usr/share下,運行時加載的配置文件和服務啓動命令卻在/etc下。
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 常用二進制命令所在的目錄。比如ls,cp,mkdir,rm,cut等命令;/bin目錄與/usr/bin類似,只是/usr/bin 一般是用戶自己安裝的而一些程序的命令。 cat,chgrp,chmod,chown,cp,date,dd,df,dmesg(打印或者控制內核信息的緩存),echo,false,hostname,kill,ln,login,ls,mkdir,mknod(創建Linux中的字符設備文件和塊設備文件),more,mount,mv,ps,pwd,unmount,uname |
/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)二進制安裝包(yum,rpm)的配置文件默認路徑 (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 | 一般是用於臨時掛載存儲設備的掛載目錄,比如有cdrom,u盤等目錄。直接插入光驅無法使用,要先掛載後使用。 |
/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,swapon,swapoff,dumpe2fs,mke2fs.... |
/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與名字的對應表,相當於本地LAN內DNS 作用: 1.用於通過域名測試 2.服務器之間的調用可以用域名 |
/etc/fstab | 記錄開機要mount的文件系統 |
/etc/inittab | 設定系統啓動時init進程將把系統設置成什麼樣的runlevel |
/etc/exports | 設定NFS系統用的配置文件路徑 |
/etc/init.d/ | 這個目錄是用來存放系統或服務器以SystemV模式啓動的腳本,這在以systemV模式啓動或初始化的系統中常見。比如用yum,rpm安裝的軟件的啓動命令…..
[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 | 記錄登入系統存取信息的文件,按周自動輪詢,例如pop3,ssh,telnet,ftp 等都會記錄在此。 |
/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核數 |