首页 > 代码库 > 【系统知识点】linux目录结构
【系统知识点】linux目录结构
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核数 |
本文出自 “走在产品路上的运维dog~” 博客,转载请与作者联系!
【系统知识点】linux目录结构