完成这一章,你能做以下事情:
使用文件操作命令对文件进行操作。
解释排队打印队列的作用。
认识和使用 交互性的排队打印命令。
监视排队打印系统的状态。
&">nbsp;
1 什么是文件
一个数据的容器或者是一个设备的链接
?每一个文件有一个名字,文件可能保存有存储在磁盘上的数据
?有几种不同类别的文件:
- 普通文件
-?文本文件,数据文件,图片
-?可执行的程序
-?目录
-?设备文件
UNIX系统中的每一事物都是一个文件,包括:
普通文件: 文本,邮件信息,数据,图片,程序源代码
程序: 可执行的程序,例如 ksh,who,date,man,和ls
目录: 特殊的文件,记录有所包含的文件和目录的名字和文件系统中的标识。
设备文件: 一种特殊的文件,提供到11585.html">硬件设备的接口,包括有磁盘,终端,打印机,内存
简单地说,文件就是联接存储在一个存储设备(通常是磁盘)上的数据的一个名字,
在UNIX之前的操作系统中,文件仅仅是一个数据字节流的定义。没有预定义的记录,域,记录结束标志,文件结束标志。这为应用开发人员提供了许多的灵活性,他们可以定义自己的内部文件的描述。
普通文件通常包含有ASCII 码的字符,典型的普通文件的创建是在终端上使用一个文本编辑器。
程序文件是包含可执行指令的普通文件。通常包含在终端上不能显示的编译过的代码 如(mail,who,date),或者是可以显示到终端上的UNIX系统shell命令,(通常是shell 脚本)
目录是一个特殊的包含它下面的文件和目录的名字的文件,目录同时也存储了每个条目的inode (i节点号),inode号标识有文件信息和数据在文件系统中存储的地址。(注意:目录不是普通的文本文件)
设备文件是一种特殊的文件,它提供了内核与实际硬件设备的接口,由于这些文件是作为接口存在的,它们不会存储有任何实际的数据。它们一般都在/dev目录下,你的计算机的每一个需要联接的硬件设备都会有一个设备文件相对应。
我们能够对文件进行什么操作?
ls 查看一个文件的描述
cat 查看一个文件的内容
more 查看一个文件的内容,一次一屏
lp 打印一个文件
cp 制造一个文件的一个拷贝。
mv 改变一个文件或者目录的名字
mv 将一个文件移动到另外一个目录中去
ln 为一个文件创建另外一个文件
rm 删除一个文件
在UNIX系统上的大多数活动是围绕文件和目录进行的,有许多的命令来操作文件和目录。
你已经知道一些目录操作的命令,在这一章中,我们会介绍其他的用于文件和目录的命令。
你也许会创建文件和处理文件中的内容。这通常可以使用编辑器来完,例如vi.。
2 文件的描述
一个文件有几个相关的描述,可以用ls –l 来显示这些描述
类型 ????普通文件或是特殊文件
权限或模式? 文件的存取定义
链接数 ???与一个独立的数据集相关联的文件名的数目
属主 ????文件所有者的用户标识
组 ?????文件存取得组的标识
大小 ????文件包含的字节数
时间标志 ??最后更改的日期
名字 ????最大14个字符(如果长文件名支持,最大255个字符)
文件命名规范
最大14个字符
最大255个字符,(如果长文件名支持)。
一般由字母(a-zA-Z),数字(0-9),点(.),短横线(-)和下划线(_),组成。
有许多其他的字符在shell中有“特殊”的意义,例如空格和反斜杠,所以你一般不能用这些字符组成一个文件名。其他的特殊字符有,*,<,>,\,$,|。如果你试图用这些字符组成一个文件名,你经常会得到不能预料的结果。
两个单词组成的文件名一般由下划线来联接:
$cd a dir 错误的语法
cd 看到两个参数
$cd a_dir 合法的语法
cd只看到一个参数
在UNIX 系统中,点(.)是一个普通的字符,所以,它能出现在文件名的任何位置,文件名a.bcdefg,a.b.c.d,和a…b都是合法的文件名。点只有一点特殊,就是作为一个文件名的第一个字符的时候,在这种情况下它指明这是一个隐藏文件。你可以使用ls –a来显示一个隐藏文件。
文件类型
UNIX系统支持很多的文件类型,使用ls –l 输出的第一个字符表示文件类型。普通的文件类型包括:
普通文件
d 目录
l 链接文件
n 网络专用文件
c 字符设备文件(终端,打印机)
b 块设备文件(磁盘)
p 命名的管道(一种内部过程通信通道)