Ubuntu 系统目录架构

转自:http://blog.csdn.net/zhouzhiwengang/article/details/22688761

Ubuntu 系统目录架构_第1张图片

bin
        说明:binary, 存放二进制执行文件 如基本的命令
    boot
        说明:引导目录, 跟系统启动相关
        vmlinuz-2.6.32-279.el6.i686 (文件)   : Linux内核, 3.7M
        initramfs-2.6.32-279.el6.i686.img(文件) : 驱动 插件 等模块
        grub(目录) : 引导程序目录
    dev
        说明: device, 计算机所有硬件设备, 被抽象成文件的形式
    etc
        说明: Editable Text Configuration.存放程序的配置文件, 通常以 ".cnf" ".conf" 结尾的文本文件 
    home
        说明:存放非root用户的用户目录,名称与用户名相同
    lib
        说明: library, 库文件
    media
        说明: 挂载媒体设备
    mnt
        说明: mount, 挂载.临时挂载.USB设备的目录 加载后,会在mnt里多出相应设备的目录
    opt
        说明: Optional application software packages, 通常装大型软件, 如Oracle
    proc
        说明:proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。
        参考 http://blog.csdn.net/zdwzzu2006/article/details/7747977
    sbin
        说明: super binary, 只有root用户才能使用的命令
    sys
        说明: 底层硬件信息
    temp
        说明: 临时文件目录
    usr
        说明: Unix System Resource, 存放软件程序
    var
        说明: 动态数据, 保存经常变化的信息.
        
参考
/   根目录 
    ├boot/  启动文件。Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;
    │   └grub/      Grub引导器相关的文件 
    ├dev/   设备文件。设备文件用特定的约定命名,这在设备列表中说明 (见[Anv])。设备文件在安装是产生,以后可以用 /dev/MAKEDEV 描述。 /dev/MAKEDEV.local 是系统管理员为本地设备文件(或连接)写的描述文稿 (即如一些非标准设备驱动不是标准MAKEDEV 的一部分)。
    ├opt/   表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包,比如在Fedora Core 5.0中,OpenOffice就是安装在这里。有些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过 ./configure --prefix=/opt/目录 。
    ├proc/  是一个假的文件系统。它不存在在磁盘某个磁盘上。而是由核心在内存中产生。用于提供关于系统的信息(originally about processes, hence the name)。/proc 文件系统在proc man页中有更详细的说明。
    │   ├1/         关于进程1的信息目录。每个进程在/proc 下有一个名为其进程号的目录。
    │   ├cpuinfo    处理器信息,如类型、制造商、型号和性能。
    │   ├devices    当前运行的核心配置的设备驱动的列表。
    │   ├dma        显示当前使用的DMA通道。
    │   ├filesystems核心配置的文件系统。
    │   ├interrupts 显示使用的中断,and how many of each there have been.
    │   ├ioports    当前使用的I/O端口。
    │   ├kcore      系统物理内存映象。与物理内存大小完全一样,但不实际占用这么多内存;it is generated on the fly as programs access it. (记住:除非你把它拷贝到什么地方,/proc 下没有任何东西占用任何磁盘空间。)
    │   ├kmsg       核心输出的消息。也被送到syslog 。
    │   ├ksyms      核心符号表。
    │   ├loadavg    系统"平均负载";3个没有意义的指示器指出系统当前的工作量。
    │   ├meminfo    存储器使用信息,包括物理内存和swap。
    │   ├modules    当前加载了哪些核心模块。
    │   ├net        网络协议状态信息。
    │   ├self       到查看/proc 的程序的进程目录的符号连接。当2个进程查看/proc 时,是不同的连接。这主要便于程序得到它自己的进程目录。
    │   ├stat       系统的不同状态,such as the number of page faults since the system was booted.
    │   ├uptime     系统启动的时间长度。
    │   └version    核心版本。 
    ├mnt/   临时挂载。这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。可以参看/etc/fstab的定义。有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。
    │   └cdrom      光驱。
    ├media/ 挂载媒体设备 
    ├root/  root用户的$HOME目录 
    ├home/  普通用户的$HOME目录 
    │   ├user/      用户
    │   └.../ 
    ├bin/   系统程序。系统所需要的那些命令位于此目录,比如ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命令就是放在这里。
    ├sbin/  管理员系统程序。大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的;我们记住就行了,凡是目录sbin中包含的都是root权限才能执行的。
    ├lib/   程序所需的共享库。
    │   └modules    核心可加载模块,特别是那些恢复损坏系统时引导所需的(例如网络和文件系统驱动)。
    ├etc/   系统程序和大部分应用程序的全局配置文件 
    │   ├init.d/    SystemV风格的启动脚本 
    │   ├rcX.d/     启动脚本的链接,定义运行级别 
    │   ├network/   网络配置文件 
    │   ├X11/       图形界面配置文件 
    │   ├rc or rc.d or rc?.d    启动、或改变运行级时运行的scripts或scripts的目录。
    │   ├passwd     用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息。格式见passwd 的man页。
    │   ├fdprm      软盘参数表。说明不同的软盘格式。用setfdprm 设置。更多的信息见setfdprm 的man页。
    │   ├fstab      启动时mount -a命令(在/etc/rc 或等效的启动文件中)自动mount的文件系统列表。 Linux下,也包括用swapon -a启用的swap区的信息。见4.8.5节和mount 的man页。
    │   ├group      类似/etc/passwd ,但说明的不是用户而是组。见group 的man页。
    │   ├inittab    init 的配置文件。
    │   ├issuegetty 在登录提示符前的输出信息。通常包括系统的一段短说明或欢迎信息。内容由系统管理员确定。
    │   ├magicfile  的配置文件。包含不同文件格式的说明,file 基于它猜测文件类型。见magic 和file 的man页。
    │   ├motd       Message Of The Day,成功登录后自动输出。内容由系统管理员确定。经常用于通告信息,如计划关机时间的警告。
    │   ├mtab       当前安装的文件系统列表。由scripts初始化,并由mount 命令自动更新。需要一个当前安装的文件系统的列表时使用,例如df 命令。
    │   ├shadow     在安装了影子口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow 中,而后者只对root可读。这使破译口令更困难。
    │   ├login      defslogin 命令的配置文件。
    │   ├printcap   类似/etc/termcap ,但针对打印机。语法不同。
    │   ├profile,csh.login,csh.cshrc    登录或启动时Bourne或C shells执行的文件。这允许系统管理员为所有用户建立全局缺省环境。各shell见man页。
    │   ├securetty  确认安全终端,即哪个终端允许root登录。一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权。
    │   ├shells     列出可信任的shell。chsh 命令允许用户在本文件指定范围内改变登录shell。提供一台机器FTP服务的服务进程ftpd 检查用户shell是否列在 /etc/shells 文件中,如果不是将不允许该用户登录。
    │   └termcap    终端性能数据库。说明不同的终端用什么"转义序列"控制。写程序时不直接输出转义序列(这样只能工作于特定品牌的终端),而是从 /etc/termcap 中查找要做的工作的正确序列。这样,多数的程序可以在多数终端上运行。见termcap 、 curs_termcap 和terminfo 的man页。
    ├usr/   这个是系统存放程序的目录,比如命令、帮助文件等。这个目录下有很多的文件和目录。当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。如果有涉及服务器配置文件的,会把配置文件安装在/etc目录中。
    │   ├bin/       几乎所有用户命令。有些命令在/bin 或/usr/local/bin 中。 
    │   ├sbin/      根文件系统不必要的系统管理命令,例如多数服务程序。
    │   ├lib/       应用程序库文件,程序或子系统的不变的数据文件
    │   ├share/     应用程序资源文件 
    │   │   ├fonts      字体目录
    │   │   └man 或 doc  帮助目录 
    │   ├src/       应用程序源代码 
    │   ├local/     本地安装的软件和其他文件放在这里。
    │   │   ├soft/      用户程序       
    │   │   └.../           通常使用单独文件夹 
    │   ├X11R6/     图形界面系统 
    │   └include/   C编程语言的头文件。为了一致性这实际上应该在/usr/lib 下,但传统上支持这个名字。
    ├var/   动态数据。这个目录的内容是经常变动的;
    │   ├www/       目录是定义Apache服务器站点存放目录;
    │   ├catman/    当要求格式化时的man页的cache。man页的源文件一般存在/usr/man/man* 中;有些man页可能有预格式化的版本,存在/usr/man/cat* 中。而其他的man页在第一次看时需要格式化,格式化完的版本存在/var/man 中,这样其他人再看相同的页时就无须等待格式化了。 (/var/catman 经常被清除,就象清除临时目录一样。)
    │   ├lib/       系统正常运行时要改变的一些库文件,比如MySQL的,以及MySQL数据库的的存放地 
    │   ├local/     安装的程序的可变数据(即系统管理员安装的程序)。注意,如果必要,即使本地安装的程序也会使用其他/var 目录,例如/var/lock 。
    │   ├lock/      锁定文件。许多程序遵循在/var/lock 中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件。其他程序注意到这个锁定文件,将不试图使用这个设备或文件。
    │   ├log/       各种程序的Log文件,特别是login (/var/log/wtmp log所有到系统的登录和注销) 和syslog (/var/log/messages 里存储所有核心和系统程序信息。 /var/log 里的文件经常不确定地增长,应该定期清除。
    │   ├run/       保存到下次引导前有效的关于系统的信息文件。例如, /var/run/utmp 包含当前登录的用户的信息。
    │   ├spool/     mail, news, 打印队列和其他队列工作的目录。每个不同的spool在/var/spool 下有自己的子目录,例如,用户的邮箱在/var/spool/mail 中。
    │   └tmp/       比/tmp 允许的大或需要存在较长时间的临时文件。 (虽然系统管理员可能不允许/var/tmp 有很旧的文件。)
    ├temp/          临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。
    └lost+found/    在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。 有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。

~~~~~~~~~~~~~~~~~~~~~~~~

用系统服务

acpi-support  高级电源管理支持 
acpid acpi守护程序.这两个用于电源管理,非常重要
alsa 声音子系统
alsa-utils
anacron cron的子系统,将系统关闭期间的计划任务,在下一次系统运行时执行。
apmd acpi的扩展
atd 类似于cron的任务调度系统。建议关闭
binfmt-support 核心支持其他二进制的文件格式。建议开启
bluez-utiles 蓝牙设备支持
bootlogd 启动日志。开启它
cron 任务调度系统,建议开启
cupsys 打印机子系统。
dbus 消息总线系统(message bus system)。非常重要
dns-clean 使用拨号连接时,清除dns信息。
evms 企业卷管理系统(Enterprise Volumn Management system)
fetchmail 邮件用户代理,用于收取邮件
gdm gnome登录和桌面管理器。
gdomap
gpm 终端中的鼠标支持。
halt 别动它。
hdparm 调整硬盘的脚本,配置文件为“/etc/hdparm.conf”。
hibernate 系统休眠
hotkey-setup 笔记本功能键支持。支持类型包括: HP, Acer, ASUS, Sony, Dell,和IBM。
hotplug and hotplug-net 即插即用支持,比较复杂,建议不要动它。
hplip HP打印机和图形子系统
ifrename 网络接口重命名脚本。如果您有十块网卡,您应该开启它
inetd 在文件“/etc/inetd.conf”中,注释掉所有你不需要的服务。
如果该文件不包含任何服务,那关闭它是很安全的。
klogd 重要。
linux-restricted-modules-common 受限模块支持。
“/lib/linux-restricted-modules/”文件夹中的模块为受限模块。
例如某些驱动程序,如果您没有使用受限模块,就不需要开启它。
lvm 逻辑卷管理系统支持。
makedev 创建设备文件,非常重要。
mdamd 磁盘阵列
module-init-tools 从/etc/modules加载扩展模块,建议开启。
networking 网络支持。按“/etc/network/interfaces”文件预设激活网络,非常重要。
ntpdate 时间同步服务,建议关闭。
pcmcia pcmcia设备支持。
powernowd 移动CPU节能支持
ppp and ppp-dns 拨号连接
readahead 预加载库文件。
reboot 别动它。
resolvconf 自动配置DNS
rmnologin 清除nologin
rsync rsync守护程序
sendsigs 在重启和关机期间发送信号
single 激活单用户模式
ssh ssh守护程序。建议开启
stop-bootlogd 在2,3,4,5运行级别中停止bootlogd服务
sudo 检查sudo状态。重要
sysklogd 系统日志
udev & udev-mab用户空间dev文件系统(userspace dev filesystem)。重要
umountfs 卸载文件系统
urandom 随机数生成器
usplash 开机画面支持
vbesave 显卡BIOS配置工具。保存显卡的状态
xorg-common 设置X服务ICE socket。
adjtimex 调整核心时钟的工具
dirmngr 证书列表管理工具,和gnupg一起工作。
hwtools irqs优化工具
libpam-devperm 系统崩溃之后,用于修理设备文件许可的守护程序。
lm-sensors 板载传感器支持
mdadm-raid 磁盘陈列管理器
screen-cleanup 清除开机屏幕的脚本
xinetd 管理其他守护进程的一个inetd超级守护程序

 

重要配置文件

  无论任何情况下,在修改配置文件之前,请您先备份它!

  建议您使用这个命令:“sudo cp xxx xxx_`date +%y%m%d_%H:%M`”。

  当然这很麻烦,您可以新建一个名为“bak”的文件,内容如下:

  #!/bin/bash

  sudo cp $1 $1_`date +%y%m%d_%H:%M`

  把它放在您能够记住的目录下,比如“/home”,执行命令“sh /home/bak xxx”,就可以将当前文件夹下的文件“xxx”另存为“xxx_yymmdd_HH:MM”的格式了

  全局配置文件

系统初始化 
/etc/inittab 运行级别、控制台数量
/etc/timezone 时区
/etc/inetd.conf 超级进程
文件系统
/etc/fstab 开机时挂载的文件系统
/etc/mtab 当前挂载的文件系统
用户系统
/etc/passwd 用户信息
/etc/shadow 用户密码
/etc/group 群组信息
/etc/gshadow 群组密码
/etc/sudoers Sudoer列表(请使用“visudo”命令修改此文件,而不要直接编辑)
Shell
/etc/shell 可用Shell列表
/etc/inputrc ReadLine控件设定
/etc/profile 用户首选项
/etc/bash.bashrc bash配置文件
系统环境
/etc/environment 环境变量
/etc/updatedb.conf 文件检索数据库配置信息
/etc/issue 发行信息
/etc/issue.net
/etc/screenrc 屏幕设定
网络
/etc/iftab 网卡MAC地址绑定
/etc/hosts 主机列表
/etc/hostname 主机名
/etc/resolv.conf 域名解析服务器地址
/etc/network/interfaces 网卡配置文件

  用户配置文件

  “/etc/”目录下的所有文件,只有root用户才有修改权限。应用软件的全局配置文件,普通用户也不能够修改,如果您想配置软件,以适应您的需求,您可以修改它的用户配置文件。

  用户配置文件通常为全局配置文件的同名隐藏文件,放在您的$HOME目录下,例如:

  /etc/inputrc /home/user/.inputrc

  /etc/vim/vimrc /home/user/.vim/vimrc

  也有少数例外,通常是系统程序

  /etc/bash.bashrc /home/user/.bashrc



Ubuntu 系统目录架构_第2张图片


参考:http://blog.csdn.net/zhouzhiwengang/article/details/22688991

http://blog.csdn.net/arnoyshell/article/details/9379475

你可能感兴趣的:(Ubuntu 系统目录架构)