1.为什么要了解Linux的目录体系结构?
Linux是一个操作系统,操作系统都会使用某种方式来管理系统中的文件,Linux使用的
是文件系统来管理的.那么Linux支持很多种文件系统,为什么我们无论使用哪种文件系统
,也无论你使用哪个Linux发行版本,他们的配置文件,命令,每个目录内放置的东西怎么都
是那么的相似?这是因为有FHS(Filesystem Hirerarchy Standard)来规划每个文件该放置
在哪,安装软件应该往哪些目录安装.要想学会熟练使用Linux系统,你首要做的事就是熟悉
Linux的目录体系结构,Linux有那么多的文件和目录,不会是我都必须知道他们存放在哪吧?
这当然不是了,正是因为有了FHS的规范,所有很多文件存放的位置是有依据的,详细参见:FHS
2.Linux的目录结构
Linux中最重要的目录是根目录,以符号/表示,在安装Linux系统时必须将根目录挂在某
个磁盘分区上.其他所有目录都是根目录的子目录.
/bin 系统中很多用户都可以执行的指令存放的目录,也就是说该目录中的命令是多个用
户共享的.如cat,chmod,chown,date,cp等你可以用ls /bin |less 命令查看
/boot 这个目录主要存放系统引导时要用到的文件,包含Linux内核文件以及开机菜单与
开机需要用到的配置文件等.常用的引导程序grub的配置文件目录也在该目录中
/dev 这个目录存放的是设备文件,每一个可用的设备都在该目录有一个相应的文件,因为
在Linux中所有设备皆文件,因此你可以像操作文件方式操作这些设备,如你可以这样
echo "hello world">/dev/tty1 来向tty1终端输出一条信息
/etc 这个命令保存着系统重要的配置文件,这些文件都是全局配置的,有些私人的配置
存放在用户主目录中(是隐藏文件方式存放的)
/home 这个目录是在创建一个普通用户时,普通用户主目录存放在该目录下,也就是说每
创建一个可以登录系统的普通用户时都会在该目录下创建一个以该普通用户名相同
的目录
/lib 这个目录存放的是系统的库函数,当然也包括Linux的模块文件(/lib/modules目录下)
/lost+found 这个目录存放在系统突然断电,在断电之前你还没保存且又找不到存放目录的
文件
/media 这个目录存放的是可移出媒介的挂载目录的,如光盘通常挂载到/media/cdrom
/mnt 这个目录存放的是暂时挂载的额外设备。
/opt 这个目录是你在安装大型的第三方软件时的安装目录 ,如libreoffice的安装目录
所谓的第三方软件就是指独立成为项目的,但可以安装到Linux的软件,如KDE等
/proc 这个目录是内存中内容导出的虚拟文件,也就是说通过查看该目录的文件的内容
你可以获取到当前内存中的内容,如cat /proc/mounts可以用来查看当前挂载的
文件系统信息,这个目录不占用任何物理磁盘,通常我们在备份整个系统时一般
不需要备份该目录的。该目录中有一个特殊的目录/proc/sys,你可以通过修改该
目录的内容来修改Linux内核的行为(详细参见:sysctl手册页)
/root 这个目录是系统超级管理员root的用户主目录,普通用户的在/home/用户名 中
/sbin 这个目录类似/bin目录,是用来存放命令的,但是该目录中的命令只有管理员
能够运行如fsck等
/tmp 临时文件存放的目录,该目录的权限为1777.
/usr 这个系统中最大的目录之一了,该目录中存放的数据为不可改变的,一般安装软件
都会安装到/usr/local目录中,该目录的体系结构类似根目录
/var 这个目录存放的是系统中经常变更的数据,如日志文件等。若你要安装一个web服务
器的话,一般将该目录独立挂载在一个单独的分区上,并且尽量多分些磁盘给它
详细情况参见:FHS
3.使用Tar备份和还原系统
3.1 备份系统
cd /
tar zcvpf backup.tgz / --exclude=backup.tgz --exclude=/dev --exclude=/proc --exclude=/mnt --exclude=/media --exclude=/tmp
3.2 还原系统
cd /
tar xzpvf backup.tgz -C /
mkdir /{dev,proc,mnt,media}
install -m 1777 /tmp
说明:使用这个还原的话必须用LiveCD盘进入,将根目录磁盘挂载到LiveCD系统的某个目录上