Linux文件系统和目录结构

                                                                                    Ubuntu文件系统和目录结构

Ubuntu文件系统和目录结构
以下为Ubuntu目录的主要目录结构,您稍微了解它们都包含了哪些文件就可以了,不需要记忆。
 /
根目录
 

 boot/ 启动文件。所有与系统启动有关的文件都保存在这里
 
grub/Grub引导器相关的文件
 

 
dev/ 设备文件
 
proc/ 内核与进程镜像
 

 
mnt/ 临时挂载
 
media/ 挂载媒体设备
 

 
root/ root用户的$HOME目录
 
home/
 
user/普通用户的$HOME目录
 
.../
 

 
bin/ 系统程序
 
sbin/ 管理员系统程序
 
lib/ 系统程序库文件
 
etc/ 系统程序和大部分应用程序的全局配置文件
 
init.d/SystemV风格的启动脚本
 
rcX.d/启动脚本的链接,定义运行级别
 
network/网络配置文件
 
X11/图形界面配置文件
 

 
usr/
 
bin/应用程序
 
sbin/管理员应用程序
 
lib/应用程序库文件
 
share/应用程序资源文件
 
src/应用程序源代码
 
local/
 
soft/ 用户程序
 
.../ 通常使用单独文件夹
 
X11R6/图形界面系统
 

 var/ 动态数据
 

 
temp/ 临时文件
 
lost+found/ 磁盘修复文件


启动流程
========
 Linux
系统主要通过以下步骤启动:
 1
、读取MBR的信息,启动Boot Manager
 Windows
使用NTLDR作为BootManager,如果您的系统中安装多个版本的Windows,您就需要在NTLDR中选择您要进入的系统。
 Linux
通常使用功能强大,配置灵活的GRUB作为BootManager,我们将在启动管理章节中向您介绍它的使用方式。
 2
、加载系统内核,启动init进程
 init
进程是Linux的根进程,所有的系统进程都是它的子进程。
 3
init进程读取/etc/inittab”文件中的信息,并进入预设的运行级别,按顺序运行该运行级别对应文件夹下的脚本。脚本通常以start”参数启动,并指向一个系统中的程序。
 
通常情况下,/etc/rcS.d/”目录下的启动脚本首先被执行,然后是/etc/rcN.d/”目录。例如您设定的运行级别为3,那么它对应的启动目录为/etc/rc3.d/”
 4
、根据/etc/rcS.d/”文件夹中对应的脚本启动Xwindow服务器xorg”
 Xwindow
Linux下的图形用户界面系统。
 5
、启动登录管理器,等待用户登录
 Ubuntu
系统默认使用GDM作为登录管理器,您在登录管理器界面中输入用户名和密码后,便可以登录系统。(您可以在/etc/rc3.d/”文件夹中找到一个名为S13gdm”的链接)
 
更改运行级别
------------
 
/etc/inittab”文件中找到如下内容:
 # The default runlevel.
 id:2:initdefault:
 
 
这一行中的数字2,为系统的运行级别,默认的运行级别涵义如下:
 0
关机
 1
单用户维护模式
 2~5
多用户模式
 6
重启

服务管理
========

更改启动服务
------------
 
在运行级别对应的文件夹中,您可以看到许多文件名以S##”K##”起始的启动脚本链接。
 
例如:
 /etc/rcS.d/S35mountall.sh
挂载文件系统
 /etc/rcS.d/S40networking
启用网络支持
 /etc/rc2.d/S13gdm
启动登录管理器
 /etc/rc2.d/S20makedev
创建设备文件
 /etc/rc2.d/S23xinetd
启动超级进程
 init
进程将以start”为参数,按文件名顺序执行所有以S##”起始的脚本。脚本名称中的数字越小,它将被越早执行。例如在/etc/rc2.d/”文件夹中,S13gdm”文件名中的数字小于S23xinetd”,“S13gdm”将比S23xinetd”先执行。
 
 
如果一个脚本链接,以K##”起始,表示它将以stop”参数被执行。如果相应服务没有启动,则不执行该脚本。
 
例如:
 /etc/rc2.d/K20powernowd
针对某种硬件的电源管理支持

 如果您想禁止某一服务在启动时自动运行,您可以将相应运行级别中的脚本由S##xxx”重命名为K##xxx”

 
手动控制服务
------------

 您也可以手动运行带有以下参数的启动脚本,来控制系统服务。
 start
启动
 stop
停止
 restart
重启
 
例如:
 /etc/rc2.d/K20powernowd start
 
 
有时您并不清楚当前运行级别,该运行级别下未必有相应脚本;而且此类脚本的前三位字符并不固定,不便于记忆。这时,您可以直接使用/etc/init.d/”文件夹中的启动脚本(/etc/rcX.d/”中的启动脚本链接到/etc/init.d/”文件夹下相应脚本),这也是我们向您推荐的方式。
 
例如:
 /etc/init.d/powernowd start

Tips:以上命令的位置并没有包含在环境变量的搜索路径中,所以要输入完整路径。


常用系统服务
============
 acpi-support
高级电源管理支持
 acpid acpi
守护程序.这两个用于电源管理,非常重要
 alsa
声音子系统
 alsa-utils
 anacron cron
的子系统,将系统关闭期间的计划任务,在下一次系统运行时执行。
 apmd acpi
的扩展
 atd
类似于cron的任务调度系统。建议关闭
 binfmt-support
核心支持其他二进制的文件格式。建议开启
 bluez-utiles
蓝牙设备支持
 bootlogd
启动日志。开启它
 cron
任务调度系统,建议开启
 cupsys
打印机子系统。
 dbus
消息总线系统(message bussystem)。非常重要
 dns-clean
使用拨号连接时,清除dns信息。
 evms
企业卷管理系统(EnterpriseVolumn Managementsystem
 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
2345运行级别中停止bootlogd服务
 sudo
检查sudo状态。重要
 sysklogd
系统日志
 udev & udev-mab
用户空间dev文件系统(userspace devfilesystem)。重要
 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 xxxxxx_`date+%y%m%d_%H:%M`”
 
当然这很麻烦,您可以新建一个名为bak”的文件,内容如下:
 #!/bin/bash
 sudo cp $1 $1_`date+%y%m%d_%H:%M`
 
把它放在您能够记住的目录下,比如/home”,执行命令sh /home/bakxxx”,就可以将当前文件夹下的文件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目录的主要目录结构,您稍微了解它们都包含了哪些文件就可以了,不需要记忆。
 /
根目录
 

 
boot/ 启动文件。所有与系统启动有关的文件都保存在这里
 
grub/Grub引导器相关的文件
 

 
dev/ 设备文件
 
proc/ 内核与进程镜像
 

 
mnt/ 临时挂载
 
media/ 挂载媒体设备
 

 
root/ root用户的$HOME目录
 
home/
 
user/普通用户的$HOME目录
 
.../
 

 
bin/ 系统程序
 
sbin/ 管理员系统程序
 
lib/ 系统程序库文件
 
etc/ 系统程序和大部分应用程序的全局配置文件
 
init.d/SystemV风格的启动脚本
 
rcX.d/启动脚本的链接,定义运行级别
 
network/网络配置文件
 
X11/图形界面配置文件
 

 
usr/
 
bin/应用程序
 
sbin/管理员应用程序
 
lib/应用程序库文件
 
share/应用程序资源文件
 
src/应用程序源代码
 
local/
 
soft/ 用户程序
 
.../ 通常使用单独文件夹
 
X11R6/图形界面系统
 

 
var/ 动态数据
 

 
temp/ 临时文件
 
lost+found/ 磁盘修复文件


启动流程
========
 Linux
系统主要通过以下步骤启动:
 1
、读取MBR的信息,启动Boot Manager
 Windows
使用NTLDR作为BootManager,如果您的系统中安装多个版本的Windows,您就需要在NTLDR中选择您要进入的系统。
 Linux
通常使用功能强大,配置灵活的GRUB作为BootManager,我们将在启动管理章节中向您介绍它的使用方式。
 2
、加载系统内核,启动init进程
 init
进程是Linux的根进程,所有的系统进程都是它的子进程。
 3
init进程读取/etc/inittab”文件中的信息,并进入预设的运行级别,按顺序运行该运行级别对应文件夹下的脚本。脚本通常以start”参数启动,并指向一个系统中的程序。
 
通常情况下,/etc/rcS.d/”目录下的启动脚本首先被执行,然后是/etc/rcN.d/”目录。例如您设定的运行级别为3,那么它对应的启动目录为/etc/rc3.d/”
 4
、根据/etc/rcS.d/”文件夹中对应的脚本启动Xwindow服务器xorg”
 Xwindow
Linux下的图形用户界面系统。
 5
、启动登录管理器,等待用户登录
 Ubuntu
系统默认使用GDM作为登录管理器,您在登录管理器界面中输入用户名和密码后,便可以登录系统。(您可以在/etc/rc3.d/”文件夹中找到一个名为S13gdm”的链接)
 
更改运行级别
------------
 
/etc/inittab”文件中找到如下内容:
 # The default runlevel.
 id:2:initdefault:
 
 
这一行中的数字2,为系统的运行级别,默认的运行级别涵义如下:
 0
关机
 1
单用户维护模式
 2~5
多用户模式
 6
重启

服务管理
========

更改启动服务
------------
 
在运行级别对应的文件夹中,您可以看到许多文件名以S##”K##”起始的启动脚本链接。
 
例如:
 /etc/rcS.d/S35mountall.sh
挂载文件系统
 /etc/rcS.d/S40networking
启用网络支持
 /etc/rc2.d/S13gdm
启动登录管理器
 /etc/rc2.d/S20makedev
创建设备文件
 /etc/rc2.d/S23xinetd
启动超级进程
 init
进程将以start”为参数,按文件名顺序执行所有以S##”起始的脚本。脚本名称中的数字越小,它将被越早执行。例如在/etc/rc2.d/”文件夹中,S13gdm”文件名中的数字小于S23xinetd”,“S13gdm”将比S23xinetd”先执行。
 
 
如果一个脚本链接,以K##”起始,表示它将以stop”参数被执行。如果相应服务没有启动,则不执行该脚本。
 
例如:
 /etc/rc2.d/K20powernowd
针对某种硬件的电源管理支持

 如果您想禁止某一服务在启动时自动运行,您可以将相应运行级别中的脚本由S##xxx”重命名为K##xxx”

 
手动控制服务
------------

 您也可以手动运行带有以下参数的启动脚本,来控制系统服务。
 start
启动
 stop
停止
 restart
重启
 
例如:
 /etc/rc2.d/K20powernowd start
 
 
有时您并不清楚当前运行级别,该运行级别下未必有相应脚本;而且此类脚本的前三位字符并不固定,不便于记忆。这时,您可以直接使用/etc/init.d/”文件夹中的启动脚本(/etc/rcX.d/”中的启动脚本链接到/etc/init.d/”文件夹下相应脚本),这也是我们向您推荐的方式。
 
例如:
 /etc/init.d/powernowd start

Tips:以上命令的位置并没有包含在环境变量的搜索路径中,所以要输入完整路径。


常用系统服务
============
 acpi-support
高级电源管理支持
 acpid acpi
守护程序.这两个用于电源管理,非常重要
 alsa
声音子系统
 alsa-utils
 anacron cron
的子系统,将系统关闭期间的计划任务,在下一次系统运行时执行。
 apmd acpi
的扩展
 atd
类似于cron的任务调度系统。建议关闭
 binfmt-support
核心支持其他二进制的文件格式。建议开启
 bluez-utiles
蓝牙设备支持
 bootlogd
启动日志。开启它
 cron
任务调度系统,建议开启
 cupsys
打印机子系统。
 dbus
消息总线系统(message bussystem)。非常重要
 dns-clean
使用拨号连接时,清除dns信息。
 evms
企业卷管理系统(EnterpriseVolumn Managementsystem
 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
2345运行级别中停止bootlogd服务
 sudo
检查sudo状态。重要
 sysklogd
系统日志
 udev & udev-mab
用户空间dev文件系统(userspace devfilesystem)。重要
 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 xxxxxx_`date+%y%m%d_%H:%M`”
 
当然这很麻烦,您可以新建一个名为bak”的文件,内容如下:
 #!/bin/bash
 sudo cp $1 $1_`date+%y%m%d_%H:%M`
 
把它放在您能够记住的目录下,比如/home”,执行命令sh /home/bakxxx”,就可以将当前文件夹下的文件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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值