Unix文件系统
文件的概念
文件是字节流。
文件类型
-普通文件
-目录文件:目录内文件名的列表
-特殊文件:代表系统中的设备,在/dev目录
路径名
目录操作
相关概念
-用户主目录
-当前目录,工作目录
相关命令
- pwd (print working directory)
- cd (change diredtory):不带参数时,到用户的主目录,或 cd $HOME
- mkdir:新创建的目录下包含两个项目,“.”表示这是一个目录,“..”表示这是一个子目录,依存于上级父目录。
- rmdir:只能删除空的子目录
- ls
ls 的选项
- a
- R 显示所有的子目录的内容
- l 详细信息。文件类型:-普通,d目录,c字符设备,b块设备,p管道。文件保护模式:owner,group,other。
- C
- F
- m
- p
- s 以块为单位表示文件的大小。块的大小=512*2^n
- i 显示inode编号。文件名称存贮在目录中,其他显示的信息存储在inode表中。
一次操作多个目录
使用-p选项
mkdir a1/a2/a2 逐级创建目录
rmdir a1/a2/a3
文件结构
物理设备、逻辑设备
- 存贮介质:随机存取、顺序存取
- 随机存取的存储介质划分成一个或多个存储区域,每个区域像一个独立的物理设备。这样的存贮区域,既是逻辑设备。
- 在逻辑设备上按照一定的格式进行划分,就构成了逻辑文件系统。
逻辑文件系统的存储结构
- 引导块
- 超级块:存放文件系统总的信息。
- i节点表:存放文件的静态信息。一个文件对应一个i节点表项。
- 数据存储区:以块为单位存取。
文件系统的建立
#mkfs logic_device_name blocksize gap blocks
文件系统的安装和卸载
建立好的文件系统在使用时,必须安装到一个目录下。通过对目录的访问,就可以访问设备。
# mount logic_device_name direcotry
# unmount logic_device_name direcotry | directory
在unix系统中,所有静态的对象(如目录、设备)都属于“文件”的范畴,目的是规范和简化上层应用程序的接口。
与“文件”对应的概念是“进程”。
目录结构
- 目录是一个特殊的文件,存放所包含的文件和子目录的信息。
- 每一个目录条目包括:文件名(或子目录名),inode序号
访问文件的过程
指定文件名-》找到相关的inode序号-》访问inode表-》找到文件位置-》访问文件中包含的数据
目录文件
(file, inode) ----------> inode表项 -----------> 普通文件
(file, inode) ----------> inode表项 -----------> 目录文件
文件操作
文件名及其规范
- 文件名可用字符:字母、数字、下划线、小数点(不能有空格)。
- Unix系统中字母的大小写是有区别的。
- 对文件名的含义不作任何解释。
- Unix中没有文件扩展名。
Touch 命令
作用
- 创建文件;
- 修改文件的最后一次更改时间;
cp 拷贝文件
Cp source targe
cp file1 file2 ... target-dir
选项:
-i
-r
mv 移动文件或重命名
Mv source dest //重命名
mv source target-dir //移动文件
注:文件的数目不变
rm 删除文件
Rm file1 file2
-i 给出确认
-r 删除目录及子目录,即:删除整个目录结构
注:删除后无法恢复
ln
给已经存在的文件再取一个名。
对文件的任何一个名字的操作具有完全相同的效果。
cat, pg, more 显示文件内容
Cat: 只能显示ASIC字符组成的纯文本文件。
More: 分屏显示文件内容。
Pg: linux无此命令
lp 打印文件
Lp file1 file2 ...
ref: lpstat, cancel
pr 格式化输出文件
Cut 切取文件的一部分
# Cut -d “ ” -f 1,2 user_list //输出指定的字段
# cut -c 26-30 user_list // 输出指定的列范围
paste 将文件按行连接
# paste -d: first second // 指定分隔符为: