1.1 文件系统
l 引导块 (boot block)
n 文件开头,一个扇区,含有系统引导代码,每个文件系统都有一个引导块
l 超级块(super block)
n 描述文件系统的状态,大小、存储能力,空闲空间,等
l 索引节点表 (inode list)
n 在超级块的后面,是一张索引的节点表,
l 数据块 (data block)
n 在索引节点表结束之后开始,并且保护文件数据与管理数据,一个已被分配的数据块能且仅能属于文件系统中的一个文件
1.1.1 文件连接
n 硬连接系、
u 系统调用link在文件系统结构中连接到另外一个新的名字上,也就是为被连接的文件的索引节点创建了一个新的目录项,通过连接操作,一个文件可以有两个以上不同的名字,系统可以通过其中任意一个名字来访问文件,内核并不知道哪个名字是最初的文件名,这种为所应节点创建新目录项的连接方式,成为“硬连接”
n 符号连接
u 内核按照“硬连接”为新名字创建了一个新的目录项,当目录项中并不包含索引节点号,而是含有从当前目录下访问被连接文件的相对路径名和绝对路径名。当进程使用新名字访问文件是,内核首先读出被连接文件的路径名,俺吃路径名访问指定的文件。符号连接可以跨文件系统,而硬连接是不可以跨文件系统。
1.1.2 文件系统类型
l ext2
l ext3
l msdos,8.3
l vfat,长文件名支持
l reserfs:大容量日志文件系统,具有文件系统修复功能
l nfs:网络文件系统,允许多台计算机之间共享文件的一种文件系统
l umsdos:专为Linux使用的扩展DOS文件类型,在msdos上基础上增加了对长文件名的支持和对文件属主、POSIX文件保护和特殊文件(设备、管道)的支持,同时也保持了对msdos的兼容,他可以在一个msdos分区的目录中安装linux,
l iso9660:一种常用的CD-ROM的文件系统类型
l hpfs:IBM的操作系统OS/2使用的一种高性能文件系统
l sysv:Unix system V使用的系统
l minix: Minix操作系统中使用的一种,缺点,最大只能使用64M的分区,使用短文件名,单一时间标签等,因为出现早,现在有时还用在软盘和内存虚拟盘中。
l smb:支持Windows for workgroups Windows NT和Lan Manager等系统中使用的SMB协议的网络文件系统类型。
l ncpfs:支持Novel Netware 使用的NCP协议的网络文件系统类型。
每个文件类型存储数据的基本格式都是不一样的,但不同的操作系统中文件系统包含的信息不同,在MSDOS中,文件系统没有问价按属主的概念,但是在Linux下的文件系统就需要这些属性
1.2 Linux的目录结构1.2.1 文件系统标准
Filesystem Hierarchy Standard, FHS
l 根文件系统(/)
n 引导和运行Linux系统所需的文件,
n /bin 常用系统命令
n /dev 与硬件设备驱动程序有关的特殊文件和字符文件
n /etc 系统配置文件,系统状态等
n /lib 存放常用程序的库函数文件
n /mnt 用用户安装临时文件系统的目录,通常为空
n /sbin 存放系统自举和系统恢复时所用程序
n /tmp 暂存区
l /usr文件系统
n 含有可以被共享的命令和系统管理数据库,包括机器特定的可共享文件和与机器无关的可共享文件,
n /usr/bin 一般用户常用命令及使用程序
n /usr/include C头文件
n /usr/lib 用户程序的库函数
n /usr/sbin 系统管理命令
n /usr/share 存放不同体系结构可以共享的文件,网络共享文件一般都存在于此
n /usr/local 通常存放为本地用户共享使用的文件
n
l /var文件系统
n 包括用于管理和维护本地计算机的文件,这些主要是一些进程频繁变动的文件,如系统日志,邮箱文件,应用软件包等
n /var/log 存放系统日志和记账文件
n /var/cron 存放corn日志文件
u 系统管理员通常需要在每天,每周,每月做备份和运行其他的进程。虽然这些进程都可以手工运行,但是通常都需要安排它们自动运行。cron守护进程的作用就在与此。cron守护进程在系统引导的时候和系统管理员和其他用户执行时间调度任务提交的时候启动。你可以用ps 命令来检查是否cron守护进程正在运行。 # ps –ef |grep cron #cron正在运行吗
n /var/lp 存放打印机活动的日志
n /var/mail 存放用户的邮件文件
n /var/spool 存放临时假脱机缓冲文件
n /var/uucp 存放uucp系统日志和状态文件
l /home文件系统
n 存放用户文嘉,在默认条件下,每个用户的注册目录都放在/home目录下
n 每新建一个用户,/home目录下就会多一个以用户名明明的新目录
l /boot文件系统
n 非常特殊
n 包含了系统引导内核及相关工具,如引导管理程序Grub及Lilo,但他需要建在根文件系统下
n 启动文件及启动后装入和执行的核心程序,都在这个目录下面,他们是Linux系统必须的部分,因此必须放在系统的根目录下才能保证Linux系统核心的成果装载。
1.3 管理文件和目录1.3.1 识别和使用文件类型
l Bz2 使用bizp2压缩的文件
l Gz 使用gzip压缩的文件
l Tar 使用tar(磁带归档tap archive)压缩的文件,
l Tbz 用tar和bzip压缩的文件
l Tgz 用tar和gzip压缩的文件
l Conf 配置文件
l Loch lock文件,用来判定程序或设备是否正在使用
l Rpm 用来安装软件的软件包管理器文件
l Pl perl文件
l So 库文件
l Tcl tcl脚本
1.3.2 归档文件(archive file)和压缩文件(compressed file)
归档文件是一个文件和目录的集合,而存在在一个目录中,归档文件一般不压缩
1.3.3 常用压缩命令和解压缩
l Bzip2和bunzip2
n 压缩时,源文件会被删除
n 压缩比大约为5.5倍
n 处理多个文件时,文件名用可个隔开,分别生成多个文件
l Gzip和gunzip
n 压缩比比前者略小
n 加参数 –r可以将多个文件和目录压缩在一个文件中
l Zip和unzip
1.3.4 在shell下给文件归档
tar
l 创建文件
n Touch
l 创建目录
n Mkdir
l 复制文件
n Cp
l 移动文件
n Mv
l 删除文件和目录
n Rm
n Rmdir (不能删除正在使用和非空文件夹)
n
1.4 管理磁盘
l Df 查看磁盘使用情况
1.4.1 磁盘分区
Parted
1.4.2 优化Linux系统硬盘
优化措施
l 清理磁盘
l 整理磁盘碎片
l 从IDE升级到SCSI
n IDE需要度访问CPU,而SCSI不需要
l 获取更快的控制器和磁盘驱动器
l 使用多个控制器
l 调整硬盘参数
n Hdparm
l 使用软件RAID
l 配置内核参数
l Tweak内存性能