Linux目录树详解(转)

Linux目录树详解(转)

linux有四种基本文件系统类型:
普通文件:如文本文件、c语言源代码、shell脚本等,可以用cat、less、more、vi等来察看内容,用mv来改名;
目录文件:包括文件名、子目录名及其指针,可以用ls列出目录文件;
链接文件:是指向一索引节点的那些目录条目,用ls来查看时,链接文件的标志用l开头,而文件后以”->”指向所链接的文件;
特殊文件:如磁盘、终端、打印机等都在文件系统中表示出来,常放在/dev目录内.可以用file命令来识别。


核心

linux系统中,所有的文件与目录都是由根目录/开始,不是以/开头的就是相对路径;
.:表示当前目录,也可以用./表示;
..:表示上一级目录,也可以用../表示;
~:代表用户自己的宿主目录;

根目录、bin及dev

  • /:处于Linux文件系统树形结构的最顶端,我们称它为Linux文件系统的root,它是Linux文件系统的入口。所有的目录、文件、设备都在/之下,它是Linux文件系统最顶层的唯一的目录;
  • 一般建议在根目录下面只有目录,不要直接存放文件;根目录是linux系统启动时系统第一个载入的分区,所以启动过程中用到的文件应该都放在这个分区中,其中/etc、/bin、/dev、/lib、/sbin这5个子目录都应该要与根目录连在一起,不可独立成为某个分区;
  • /bin:存放所有用户都可以使用的linux基本操作命令;(目录中多是可执行的二进制文件)
  • /dev:设备文件目录,虚拟文件系统,主要存放所有系统中device的相关信息,不论是使用的或未使用的设备,只要有可能使用到,就会在/dev中建立一个相对应的设备文件;设备文件分为2种类型:字符设备文件和块设备文件(目录中基本上都是设备文件,如硬盘设备文件/dev/sda)

dev目录

  1. /dev/console:系统控制台,也就是直接和系统连接的监视器;
  2. /dev/hd:IDE设备文件;
  3. /dev/sd:sata、usb、scsi等设备文件;
  4. /dev/fd:软驱设备文件;
  5. /dev/tty:虚拟控制台设备文件;
  6. /dev/pty:提供远程虚拟控制台设备文件;
  7. /dev/null:所谓”黑洞”,所有写入该设备的信息都将消失,如当想要将屏幕上的输出信息隐藏起来时,只要将输出信息输入到/dev/null中即可;

home目录

  1. /home:默认存放用户的宿主目录(除了root用户)
  2. /home/~/.bashrc:提供bash环境中所需使用的alias.html’target=’_blank’>别名;
  3. /home/~/.bash_profile:提供bash环境所需的变量;一般先执行.bashrc后,才会再执行.bash_profile;
  4. /home/~/.bash_history:用户历史命令文件,记录用户曾经输入过的所有命令;(默认为1000条,可以通过HISTSIZE变量更改)
  5. /home/~/.bash_logout:当用户注销的同时,系统会自动执 行.bash_logout文件,如果管理员需要记录用户注销的一些额外记录、动作或其他信息,就可以利用这个机制去完成;

proc目录

/proc:虚拟文件系统,此目录是kernel加载后,在内存里面建立的一个虚拟目录,有专属的文件系统,主要提供系统一些实时的信息,此目录下不能建立和删除文件;(某些文件可以修改)
/proc主要作用可以整理为:
–整理系统内部的信息;
–存放主机硬件信息;
–调整系统执行时的参数;
–检查及修改网络和主机的参数;
–检查及调整系统的内存和性能;
/proc下常用的信息文件有:
/proc/cpuinfo:cpu的硬件信息,如类型、厂家、型号和性能等
/proc/devices:记录所有在/dev目录中相关的设备文件分类方式
/proc/filesystems:当前运行内核所配置的文件系统
/proc/interrupts:可以查看每一个IRQ的编号对应到哪一个硬件设备
/proc/loadavg:系统”平均负载”,3个数据指出系统当前的工作负载
/proc/dma:当前正在使用的DMA通道
/proc/ioports:将目前系统上所有可看到的硬件对应到内存位置的分配表的详细信息呈现出来
/proc/kcore:系统上可以检测到的物理内存,主机内存多大,这个文件就有多大
/proc/kmsg:在系统尚未进入操作系统阶段,把加载kernel和initrd的信息先记录到该文件中,后续会将日志信息写入/var/log/message文件中
/proc/meminfo:记录系统的内存信息
/proc/modules:与lsmod命令查看到的模块信息完全一致
/proc/mtrr:负责内存配置的机制
/proc/iomem:主要用于储存配置后所有内存储存的明细信息
/proc/partitions:这个文件可以实时呈现系统目前看到的分区
/proc/数字目录:数字目录很多,它们代表所有目前正在系统中运行的所有程序
/proc/bus:有关该主机上现有总线的所有信息,如输入设备、PCI接口、PCMCIA扩展卡及USB接口信息
/proc/net目录:存放的都是一些网络相关的虚拟配置文件,都是ASCII文件,可以查看(与ifconfig、arp、netstat等有关)
/proc/scsi:保存系统上所有的scsi设备信息(包括sata和usb设备的信息)
/proc/sys目录:存放系统核心所使用的一些变量,根据不同性质的文件而存放在不同的子目录中,可以通过/etc/sysctl.conf文件设置和更改其默认值;变量时实时的变更,有很多设置很象是开关,设置后马上生效;
/proc/tty:存放有关目前可用的正在使用的tty设备的信息
/proc/self:存放到查看/proc的程序的进程目录的符号连接,当2个进程查看proc时,这将会是不同的连接;主要便于程序得到它自己的进程目录;
/proc/stat:系统的不同状态信息;
/proc/uptime:系统启动的时间长度;
/proc/version:系统核心版本;

user目录

/usr:安装除操作系统本身外的一些应用程序或组件,一般可以认为linux系统上安装的应用程序默认都安装在此目录中;
/usr/bin:一般用户有机会使用到的程序,或者该软件默认就是要让所有用户使用才会放在该目录中;
/usr/sbin:一些系统有可能会用到的系统命令,与/sbin比起来,都是一些较次要的文件;
/usr/etc:自行安装或非系统主要的配置文件目录;
/usr/games:只要是电脑游戏相关的软件,就都安装到这个目录;
/usr/include:存放的文件都是一些系统中用户所会使用到的C语言header文件,保存的都是”.h”的文件;
/usr/kerberos:kerberos是一种安全机制,让用户可以直接使用支持kerberos机制系统上的部分资源;
/usr/lib:存放一些函数库、执行文件及连接文件,特别的是,存放在这里面的文件都是不希望直接被用户或shell脚本所使用的文件,在/usr/lib中有非常多的子目录,每一个软件都有其各自所需的函数库;
/usr/libexec:这个目录下的文件及文件夹应该都可以放置在/usr/lib下;
/usr/local:linux系统中安装的共享软件程序最好的方式是安装在/usr/local下,按照linux标准目录结构,新建立的软件都应该放在/usr/local下;
/usr/local/bin:存放软件执行文件的目录;
/usr/local/sbin:同样存放软件执行文件的目录,但此目录专门针对系统所使用的文件;
/usr/local/lib:软件相关的函数库;
/usr/local/share:当文件性质不好归属时就会放在此,man手册就放在这个目录下;
/usr/local/src:所安装软件的源代码放置在此;
/usr/share:此目录都是一些共享信息,最常被用到的就是/usr/share/man这个目录,/usr/share里的信息时跨平台的;
/usr/share/doc:放置一些系统帮助文件的地方;
/usr/share/man:manpage的文件存放目录,也是使用man查看手册页时查询的路径;
/usr/src:主要储存内核源代码的文件;
/usr/X11R6:存放一些Xwindows系统的相关文件;

重要的根目录下的文件夹

/lib:需要共享的函数库与kernel模块,系统kernel启动所使用的函数库,或者当执行一些在/bin和/sbin中的命令时使用的函数库;
/media:移动存储设备默认挂载点;(如光盘)
/mnt:临时挂载用的设备挂载点;(如磁盘分区,网络共享)
/opt:额外所安装的应用程序目录,有些软件包我们可以将它安装在该目录中;(一般为空,某些应用软件安装需要这个目录)
/root:管理员root的宿主目录
/sys:虚拟文件系统,被建立在内存中,是在2.6版的kernel之后才被加入到正式的文件系统中,以分类的方式将系统的信息存放在这个目录中,以方便linux用户通过不同的分类找出系统相关的信息;
/tmp:临时文件存放区域;(默认被设置了粘滞位)

var目录

/var:动态文件或数据存放目录,默认日志文件都存放在这个目录下,一般建议把此目录单独划分一个分区;
/var/account:是linux系统下的审核机制(psacct)对应的目录;
/var/cache:该目录下的文件时所有程序所产生的缓存数据,也就是当应用程序启动时,会将数据留一份在这个目录中;
/var/empty:默认是sshd程序用到的这个目录,当建立ssh连接,ssh服务器必须使用该目录下的sshd子目录;
/var/ftp:ftp服务器软件一般默认会将匿名登陆的用户的宿主目录;
/var/gdm:gdm所使用的目录,里面存放一些系统当前所占用的console记录及通过gdm执行的Xwindows记录,只有通过gdm窗口的日志才会存放在此;
/var/lib:该目录下存放很多与应用程序名称同名的子目录,每个子目录下都是应用执行的状态信息;
/var/lock:每个服务一开始都会在这个目录下产生一个该服务的空文件,主要是避免服务启动冲突;
/var/log:常用目录,专门用来存放所有日志文件的目录,里面存放很多系统、软件、用户等相关的日志信息;里面有一些文件是比较常用的;
lastlog:记录用户最后一次登录的信息,使用lastlog命令读取;
message:记录系统的几乎所有信息,主要包括启动信息,syslogd服务记录的信息等;
wtmp:记录所有用户登陆及注销的信息,使用last命令读取;
secure:记录登录系统访问数据的文件,如sshpop3telnetftp等都会记录在此文件中
/var/log/httpd/access_log:httpd访问日志
/var/log/httpd/error_log:httpd错误日志
btmp:记录失败的用户登录
utmp:纪录当前登录的每个用户
xferlog:ftp会话日志

boot.log:记录开机或一些服务启动时所显示的启动和关闭信息
/var/log/maillog或/var/log/mail/*:记录邮件访问或往来的用户信息
cron:记录crontab例行服务的内容
dmesg:开机引导日志信息
sudolog:纪录使用sudo发出的命令
sulog:纪录使用su命令的使用
/var/named:bind软件实现的DNS服务器的区域数据文件都存放在这个目录下;
/var/nis和/var/yp:都是NIS服务机制所使用的目录,nis主要记录所有网络中每一个client的连接信息;yp是linux的nis服务的日志文件存放的目录;
/var/run:此目录中的大部分文件都记载目前系统正在执行程序的PID值,每一个文件都是以个独立的PID记录;此目录下存放一个特殊文件utmp,此文件记录目前谁在使用系统,必须使用utmpdump命令才能看到其中的内容;
/var/spool:里面主要都是一些临时存放,随时会被用户所调用的数据;打印机、邮件、代理服务器等假脱机目录存放在该目录下;
/var/tmp:专门为了一些应用程序在安装或执行时,需要在重启后使用的某些文件时,能将该文件暂时存放在这个目录中,完成后再行删除;
/var/www:apache网页服务器的宿主目录;


etc目录

/etc:主机、系统或网络配置文件存放目录;
简单的将/etc目录分为以下几类:

–基本文件:所有直接放在/etc目录下的文件归类为基本文件;

aliases:用于设置邮件别名;
auto.*:代表的是一系列autofs服务所需要的配置文件,这个服务主要是让管理员可以事先定义出一些网络、本机或光驱等默认的路径;
auto.master:负责规划目录的分配与使用,目前默认提供三种自动挂载模式;
auto.misc:文件中的配置都以实体连接本机的磁盘驱动器为主;
auto.net:并不是一个配置文件,而是一个脚本文件,在使用上其实不须做任何调整;;
auto.smb:与auto.net一样,都是以个脚本文件;
bashrc:用户登录功能配置,全局配置,对所有用户生效,主要配置别名;
profile:与系统环境配置或初始化软件的相关配置,全局配置,对所有用户生效,主要配置变量;
DIR_COLORS:用于配置ls命令的颜色,主要针对tty登录的用户;
DIR_COLORS.xterm:用于配置ls命令的颜色,主要针对xterm登录的用户;
fstab:系统启动时自动挂载文件系统的配置文件;
inittab:启动时系统所需要的第一个配置文件;也即是init进程的配置文件;
issue:用户本机登录时,看到的欢迎信息;
issue.net:用户网络登录时,看到的欢迎信息;
ld.so.conf:包含ld.so.conf.d/.conf配置;主要是ld.so.conf.d/.conf目录的作用;
localtime:系统所使用的时区对应的配置文件;对应的时区文件都存在于/usr/share/zoneinfo/
motd:登录成功的用户显示的信息对应的配置文件;
mtab:可以当做是检查当前文件系统挂载情况的配置文件;与mount命令结果一致;
prelink.conf:定义哪些执行文件和函数库是需要预先连接的;
securetty:主要是login程序在使用的,只要是列在该文件中的接口,就表示是可以使用的接口,相反,若从列表中删除,则无法使用该接口;
shells:记录目前系统所拥有shell种类的路径,通过cssh命令使用;
sudoers:sudo命令对应的配置文件,用于配置权限的分配方式;
sysctl.conf:主要是帮助用户配置/proc/sys目录下所有文件的值,与sysctl命令对应;
syslogd.conf:是syslogd服务的配置文件
host.conf:主机名解析配置文件,主要说明解析的方式及顺序;
hosts:主机名解析配置文件,主要列出所有需要本地解析的主机名与IP地址的对应关系;
hosts.allow和hosts.deny:linux网络安全机制TCPWrapper对应的配置文件;
nsswitch.conf:主要记录系统应如何查询主机名、密码、用户组、网络等,或是查询顺序的编排;
resolv.conf:记录DNS服务器地址,用于DNS域名解析;
services:定义了网络服务的默认端口号;
xinetd.conf:xinetd的主配置文件,目的是为xinetd.d下的所有子服务建立一个标准的规范使其可以遵循;
anacrontab:属于一种任务计划软件的配置文件,anacrontab软件和crond其实有点相辅相成,crond负责任务计划,而anacrontab则是负责以”间隔多久”为主要的目标;
crontab:crontab的主配置文件,crond默认会执行的文件可以参考此配置文件;
cron.deny:该文件属于拒绝列表,只要被记录在其中的用户,就无法使用crond所提供的任务计划服务;
cron.allow:与cron.deny刚好相反;
exports:是NFS服务的主配置文件,主要目的就是将本机的目录共享到网络上,供其他人使用;
group与gshadow:用户组配置文件,group主要保存用户组信息,gshadow主要保存群组密码;
login.defs:设置系统在建立账号时所参考的配置;
passwd:主要保存系统用户账号的信息;
shadow:linux系统通常包经过”hash”处理后的密码存储在这个文件中;
protocols:通信协议对应端口号的一个对照表,包含协议名称、协议号码、注释等;
wgetrc:wget程序对应的配置文件,其中有quota、mailheader、重传文件的预设次数、firewall和proxy等相关设置;
init.d:RHEL中所有服务的默认启动脚本都存放在这里;这个是链接文件,链接到/etc/rc.d/init.d;
csh.cshrc和csh.login:用户启动cshells执行的初始化配置文件;
printcap:linux系统中打印机设备对应的配置文件;

服务器目录:如samba、http、vsftpd等服务器配置相关目录;

cups:linux下的打印机服务器,目录下存放的是打印机服务的配置文件;
dnsmasq.d:dnsmasq是一种DNS的”轻薄机种”,转为区域或小型网络所设计,拥有比一般DNS更为方便简易的配置;
httpd:apache网页服务器的配置文件所在目录;
mail:MailServer组件的主要配置目录,如sendmail;
ntp:网络时间服务器的配置目录,其主要配置文件为/etc/ntp.conf;
snmp:简单网络管理软件的配置文件目录,存在snmpd.conf主配置文件;
squid:这是linux下的代理服务器squid的配置文件目录,主配置文件是squid.conf;
ssh:SSH服务的主要配置目录,主配置文件是sshd_config;
vsftpd:vsftpd服务器的主要配置目录,主配置文件是vsftpd.conf;
bluetooth:linux下使用蓝牙设备所需的配置文件;启动蓝牙检测的主要服务仍是/etc/rc.d/init.d/bluetooth,该程序使用的是hcid.conf配置文件;
dbus-1:D-BUS的主要配置目录,D-BUS也是一种IPC交流的方式;
default:这里是存放一些系统软件默认值的目录,存放某些软件执行时的基本参数;
firmware:这个目录所存放的东西是非常底层的信息,是CPU所需的microcode的实体文件;
isdn:ISDN服务的主要配置目录,里面包含可拨号的用户、电话、联机方式等;
logrotate.d:此目录对系统管理员来说,是十分重要的一个目录,因为目录中的文件,记录了如何定期备份系统所需要备份的系统或软件日志文件及备份方式,目录是由logrotate组件所提供的,而里面所有文件是由各软件各自产生的;其主要配置文件是/etc/logrotate.conf;
logwatch:logrotate主要是实现如何备份日志文件,这个目录就是记载如何分析日志文件并告诉用户的软件logwatch的配置目录;
lsb-release.d:LSB是一个由很多人所执行的项目,其目的是将所有的Linux发行版定义为一些共同的标准;
lvm:这个目录是LVM的基本配置文件,但配置或操作一般都只需要通过LVM提供的命令,而不会用到这个目录,除非要使用到很高级的配置才会更改此文件;
netplug和netplug.d:这两个目录和网络接口的联机与否由直接关系,因为主要是控制联机时的接口操作;
opt:此目录原本是定义为存放所有额外安装软件的主机配置文件,但目前并没有被使用到,此目录为空;
pcmcia:这是PCMCIA的配置文件目录,PCMCIA是笔记本电脑不可或缺的接口,需要即插即用的方式,此接口使用较少;
pm:由pm-utils组件所提供的目录,pm-utils是一套电源管理的工具软件,其中/usr/lib/pm-utils也是主要目录之一;
ppp:ppp相关的配置文件都放在这个目录中;
profile.d:这个目录存放的是系统部分的软件配置,但会按不同的shell执行不同的文件,默认所使用的bash会直接执行该目录下所有扩展名为.sh的文件;
redhat-lsb:都lsb-release.d目录都是由程序redhat-lsb所提供的;
rwtab.d:这个目录是一个在启动时会去参考的目录,主要的文件在/etc/rwtab;这是一个系统初期的备份机制;
sane.d:这是在系统下要使用扫描仪所需的配置目录,主要配置文件是sane.conf,sane为了方便用户在各式的扫描仪连接时都可以使用,因此,在这一目录中放置了很多种不同类型扫描仪的硬件信息,让系统在检测到扫描仪时可以直接使用;
setuptool.d:这个目录是”setup”系统配置工具的主要配置目录;
skel:用于初始化用户宿主目录的配置目录,当建立一个用户时,会把此目录下的所有文件复制一份到用户的宿主目录,作为用户的初始化配置;
sysconfig:非常重要的系统配置文件的存放目录,里面放置了大量系统启动及运行相关的配置文件;
sysconfig/network-scripts/ifcfg-eth0:网卡eth0对应的配置文件,设置内容包括设备名称、IP地址、广播地址、网关地址、网段、开机是否激活等参数
udev:udev程序本身是一套设备的管理机制,udev通过sysfs的文件系统,可以正确地掌握目前系统上存在的硬件设备,以及针对每一个硬件设备做出不同的判断与执行;
yum和yum.repos.d:这两个都是yum的配置目录,是一套在linux下可以自动帮助用户安装、更新、移除等的管理组件,可用来替代rpm包管理方式,主配置文件是/etc/yum.conf;yum是更新方式及外挂程序的配置目录,yum.repos.d是存放定期更新组件内容的信息;

安全性目录:如selinux或pam.d等管理系统安全性的目录;

其他文件或目录

/lost+found:当系统在运行时,有时会无法避免宕机、断电或不正常重启动,在这样的情况下,当系统重新启动时,发现某些文件写入未完成或其他问题产生,一般会使用fsck进行文件修复,而这些被修复或救回的文件,就会被放在这个目录下,只要是一个文件系统,系统就会自动在该文件系统所在的目录下建立”lost+found”目录
/misc:自动挂载服务目录,对应autofs服务;
/boot:存放开机启动加载程序的核心文件;(如kernel和grup)
config-2.6.18-164.el5:系统kernel的配置文件,内核编译完成后保存的就是这个配置文件;
lost+found:说明/boot是一个独立的ext3文件系统;
vmlinuz-2.6.18-164.el5:系统使用kernel,非常重要;
grub:多系统启动管理程序grub的目录,里面存放的都是grub在启动时所需要的画面、配置及各阶段的配置文件;其中grub.conf是grub的配置文件;
symvers-2.6.18-164.el5.gz
initrd-2.6.18-164.el5.img:此文件是linux系统启动时的模块供应主要来源,initrd的目的就是在kernel加载系统识别cpu和内存等核心信息之后,让系统进一步知道还有那些硬件是启动所必须使用的;
System.map-2.6.18-164.el5:是系统kernel中的变量对应表;(也可以理解为是索引文件)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值