ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:31.33KB ,
资源ID:10530805      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10530805.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(文件综述.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

文件综述.docx

1、文件综述目录文件综述 21 Linux的文件类型 21.1 普通文件 21.2 目录文件 21.3 设备文件 21.4 套接口文件 31.5 链接文件 31.6 管道文件 42 2 Linux文件扩展名 43 二进制文件和文本文件 53.1文本文件与二进制文件的定义 53.2文本文件与二进制文件的存取 53.3文本文件与二进制文件的优缺点 63.4 的文本读写和二进制读写 64 linux文件命令 74.1 file 74.4 dd 9文件综述1.组名:第三组2.组员:李张杰,徐沛,魏国彬,孙立宁 组长:李张杰3.报告人:魏国彬时间 2010.7.24-2010.7.241 Linux的文件类

2、型1.1 普通文件计算机用户和操作系统用于存放数据、程序等信息的文件。一般都长期地存放在外存储器(磁盘等)中。普通文件一般又分为文本文件和二进制文件。我们用 ls -lh 来查看某个文件的属性,可以看到有类似 -rw-r-r- ,值得注意的是第一个符号是“ -”,这样的文件在Linux中就是普通文件。这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具、归档工具. . 或 cp工具等。这类文件的删除方式是用rm 命令。rootlocalhost # ls -lh install.log-rw-r-r- 1 root root 53K 03-16 08:54 install.log1.

3、2 目录文件目录文件是文件系统中一个目录所包含的目录项组成的文件。目录文件只允许系统进行修改。用户进程可以读取目录文件,但不能对它们进行修改。rootlocalhost # ls -lh-rw-r-r- 1 root root 2 03-27 02:00 fonts.scale-rw-r-r- 1 root root 53K 03-16 08:54 install.log-rw-r-r- 1 root root 14M 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpmdrwxr-xr-x 2 1000 users 4.0K 04-04 23:30 mk

4、uml-2004.07.17drwxr-xr-x 2 root root 4.0K 04-19 10:53 mydirdrwxr-xr-x 2 root root 4.0K 03-17 04:25 Public当我们在某个目录下执行,看到有类似 drwxr-xr-x ,这样的文件就是目录,目录在Linux是一个比较特殊的文件。注意它的第一个字符是d。创建目录的命令可以用 mkdir 命令,或cp命令,cp可以把一个目录复制为另一个目录。删除用rm 或rmdir命令。1.3 设备文件设备文件用于与I/O设备提供连接的一种文件,分为字符设备文件和块设备文件,对应于字符设备和块设备。Linux把对设

5、备的I/O做为普通文件的读取/写入操作内核提供了对设备处理和对文件处理的统一接口。每一种I/O设备对应一个设备文件,存放在/dev目录中,如行式打印机对应/dev/lp。如时您进入/dev目录,列一下文件,会看到类似如下的;rootlocalhost # ls -la /dev/ttycrw-rw-rw- 1 root tty 5, 0 04-19 08:29 /dev/ttyrootlocalhost # ls -la /dev/hda1brw-r- 1 root disk 3, 1 2006-04-19 /dev/hda1我们看到/dev/tty的属性是 crw-rw-rw- ,注意前面第

6、一个字符是 c ,这表示字符设备文件,比如猫等串口设备。我们看到 /dev/hda1 的属性是 brw-r- ,注意前面的第一个字符是b,这表示块设备,比如硬盘,光驱等设备。这个种类的文件,是用mknode来创建,用rm来删除。目前在最新的Linux发行版本中,我们一般不用自己来创建设备文件。因为这些文件是和内核相关联的。1.4 套接口文件当我们启动MySQL服务器时,会产生一个mysql.sock的文件。rootlocalhost # ls -lh /var/lib/mysql/mysql.socksrwxrwxrwx 1 mysql mysql 0 04-19 11:12 /var/lib

7、/mysql/mysql.sock注意这个文件的属性的第一个字符是 s。我们了解一下就行了。1.5 链接文件链接文件又称符号链接文件,它提供了共享文件的一种方法,在链接文件中不是通过文件名实现文件共享,是通过链接文件中含的指向文件的指针来实现对文件的访问。普通用户可以建立链接文件,并通过其指针所指向的文件。使用链接文件可以访问普通文件。还可以访问目录文件和不具有普通文件实态的其它文件。它可以在不同的文件系统之间建立链接关系。rootlocalhost # ls -lh setup.loglrwxrwxrwx 1 root root 11 04-19 11:18 setup.log - inst

8、all.log当我们查看文件属性时,会看到有类似 lrwxrwxrwx,注意第一个字符是l,这类文件是链接文件。是通过ln -s 源文件名 新文件名。上面是一个例子,表示setup.log是install.log的软链接文件。怎么理解呢?这和Windows操作系统中的快捷方式有点相似。符号链接文件的创建方法举例;rootlocalhost # ls -lh kernel-2.6.15-1.2025_FC5.i686.rpm-rw-r-r- 1 root root 14M 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpmrootlocalhost # l

9、n -s kernel-2.6.15-1.2025_FC5.i686.rpm kernel.rpmrootlocalhost # ls -lh kernel*-rw-r-r- 1 root root 14M 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpmlrwxrwxrwx 1 root root 33 04-19 11:27 kernel.rpm - kernel-2.6.15-1.2025_FC5.i686.rpm-rwsr-xr-x指明了myprog01是一个setUid的可执行文件,这是根据第四个字符”s”判断的。-rwxr-sr-x指明了m

10、yprog03是一个setGid的可执行文件,这是根据第七个字符中的”s”判断的。-rwsr-sr-x指明了myprog02是一个setUid加setGid的可执行文件,这是根据第四个和第七个字符中的”s”判断的。drwxrwxrwt 中的第一个”d”字指明了tmp文件是一个目录,最后一个字符”t”指明了该目录被设置了粘着位。1.6 管道文件 管道文件主要用于在进程间传递数据。管道是进程间传递数据的“媒介”。某进程数据写入管道的一端,另一个进程从管道另一端读取数据。Linux对管道的操作与文件操作相同,它把管道作为文件进行处理。管道文件以p命名又称先进先出(FIFO)文件。2 2 Linux文

11、件扩展名基本上,Linux文件是没有“扩展名”的,我们知道,Linux文件能否执行,与它第一列的10个属性有关,与文件名一点关系也没有。这与Windows不同。在Windows中,能执 行的文件扩展名通常是 .com、.exe、.bat等等,而在Linux中,只要属性中有x,例如 -rwx-r-xr-x 即表示这个文件可以执行。不过,可以执行与可执行成功是不一样的。举例来说,在root家目录下的install.log是一个纯文本文件,如果 修改权限成为 -rwxrwxrwx后,这个文件能执行吗?当然不行。因为它的内容根本就没有可执行的数据。所以说,x表示这个文件具有可执行的能力,但能不能执行成

12、 功,当然就要看该文件的内容。虽然扩展名没有什么实际的帮助,不过,由于我们仍然希望可以通过扩展名来了解该文件是什么,所以,通常还是会以适当 的扩展名来表示该文件是什么类型。下面有数种常用的扩展名:i. *.sh:批处理文件(scripts,脚本),因为批处理文件使用shell写 成,所以扩展名就编成 .sh。ii. *Z, *.tar, *.tar.gz, *.zip, *.tgz:经过打包的压缩文件。这是因为压缩软件分别为gunzip、tar等等的,根据不同的压缩软件而取其相关的扩展名。iii. *.html, *.php:网页相关文件,分别表示HTML语法与PHP语法的网页文件。.html

13、的文件可使用网页浏览器来直接打开, .php的文件则可以通过客户端的浏览器来浏览服务器端,以得到运算后的网页结果。另外,还有程序语言如Perl的文件,其扩展名也可能取成 .pl。基本上,Linux上面的文件名只是让你了解该文件可能的用途而已,真正的执行与否仍然需要属性的规范。例如,虽然有一个文件为可执行文件,如有 名的代理服务器软件squid,如果这个文件的属性被修改成无法执行,那么它就不能执行。在文件传送的过程中常发生这种问题。例如,你在网络上下载一个可 执行文件,但是,偏偏在你的Linux系统中就是无法执行。那就是可能文件的属性被改变了。从网络上传送到你的Linux系统中,文件的属性确实是

14、会被改 变的。3 二进制文件和文本文件3.1文本文件与二进制文件的定义 大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。 简单来说,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码)。 从上面可以看出文本文件基本上是定长编码的,基于字符嘛,每个字符在具体编码中是固定的,ASCII码是8个比特的编码,UNICODE一般占16个比特。而二进制文件可看成是变长编码的,因为是值编码

15、嘛,多少个比特代表一个值,完全由你决定。大家可能对BMP文件比较熟悉,就拿它举例子吧,其头部是较为固定长度的文件头畔 ?字节用来记录文件为BMP格式,接下来的8个字节用来记录文件长度,再接下来的4字节用来记录bmp文件头的长度。大家可以看出来了吧,其编码是基于值的(不定长的,2、4、8字节长的值都有),所以BMP是二进制文件。3.2文本文件与二进制文件的存取 文本工具打开一个文件的过程是怎样的呢?拿记事本来说,它首先读取文件物理上所对应的二进制比特流(前面已经说了,存储都是二进制的),然后按照你所选择的解码方式来解释这个流,然后将解释结果显示出来。一般来说,你选取的解码方式会是ASCII码形式

16、(ASCII码的一个字符是个比特),接下来,它8个比特8个比特地来解释这个文件流。例如对于这么一个文件流01000000_01000001_01000010_01000011(下划线_,是我为了增强可读性,而手动添加的),第一个8比特01000000按ASCII码来解码的话,所对应的字符是字符A,同理其它3个8比特可分别解码为BCD,即这个文件流可解释成“ABCD”,然后记事本就将这个“ABCD”显示在屏幕上。 事实上,世界上任何东西要与其他东西通信会话,都存在一个既定的协议,既定的编码。人与人之间通过文字联络,汉字“妈”代表生你的那个人,这就是一种既定的编码。但注意到这样一种情况,汉字“妈”

17、在日本文字里有可能是你生下的那个人,所以当一个中国人与日本之间用“妈”这个字进行交流,出现误解就很正常的。用记事本打开二进制文件与上面的情况类似。记事本无论打开什么文件都按既定的字符编码工作(如ASCII码),所以当他打开二进制文件时,出现乱码也是很必然的一件事情了,解码和译码不对应嘛。例如文件流00000000_00000000_00000000_00000001可能在二进制文件中对应的是一个四字节的整数int 1,在记事本里解释就变成了NULL_NULL_NULL_SOH这四个控制符。3.3文本文件与二进制文件的优缺点因为文本文件与二进制文件的区别仅仅是编码上不同,所以他们的优缺点就是编码

18、的优缺点,这个找本编码的书来看看就比较清楚了。一般认为,文本文件编码基于字符定长,译码容易些;二进制文件编码是变长的,所以它灵活,存储利用率要高些,译码难一些(不同的二进制文件格式,有不同的译码方式)。关于空间利用率,想想看,二进制文件甚至可以用一个比特来代表一个意思(位操作),而文本文件任何一个意思至少是一个字符很多书上还认为,文本文件的可读性要好些,存储要花费转换时间(读写要编译码),而二进制文件可读性差,存储不存在转换时间(读写不要编解码,直接写值)这里的可读性是从软件使用者角度来说的,因为我们用通用的记事本工具就几乎可以浏览所有文本文件,所以说文本文件可读性好;而读写一个具体的二进制文

19、件需要一个具体的文件解码器,所以说二进制文件可读性差,比如读BMP文件,必须用读图软件而这里的存储转换时间应该是从编程的角度来说的,因为有些操作系统如windows需要对回车换行符进行转换(将n,换成rn,所以文件读写时,操作系统需要一个一个字符的检查当前字符是不是n或rn).这个在存储转换在Linux操作系统中并不需要,当然,当在两个不同的操作系统上共享文件时,这种存储转换又可能出来(如Linux系统和Windows系统共享文本文件)。关于这个转换怎样进行,我将在下一篇文章Linux文本文件与Windows文本文件间的转换给出_3.4 的文本读写和二进制读写应该说的文本读写与二进制的读写是一

20、个编程层次上的问题,与具体的操作系统有关,所以用文本方式读写的文件一定是文本文件,用二进制读写的文件一定是二进制文件这类观点是错误的下面的讲述非明确指出操作系统类型,都暗指windows的文本方读写与二进制读写的差别仅仅体现在回车换行符的处理上 文本方式写时,每遇到一个n(0AH换行符),它将其换成rn(0D0AH,回车换行),然后再写入文件;当文本读取时,它每遇到一个rn将其反变化为n,然后送到读缓冲区正因为文本方式有nrn之间的转换,其存在转换耗时二进制读写时,其不存在任何转换,直接将写缓冲区中数据写入文件总地来说,从编程的角度来说,中文本或二进制读写都是缓冲区与文件中二进制流的交互,只是

21、文本读写时有回车换行的转换所以当写缓冲区中无换行符n(0AH),文本写与二进制写的结果是一样的,同理,当文件中不存在rn(0DH0AH)时,文本读与二进制读的结果一样4 linux文件命令4.1 file 1.作用 file通过探测文件内容判断文件类型,使用权限是所有用户。 2.格式 file options 文件名 3.options主要参数 -v:在标准输出后显示版本信息,并且退出。 -z:探测压缩过的文件类型。 -L:允许符合连接。 -f name:从文件namefile中读取要分析的文件名列表。 4.简单说明 使用file命令能知道某个文件究竟是二进制(ELF格式)的可执行文件, 还是

22、Shell Script文件,或是其他的什么格式。file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。 5.应用实例 如果我们看到一个没有后缀的文件grap,能使用下面命令: $ file grap grap: English text 此时系统显示这是个英文文本文件。需要说明的是,file命令不能探测包括图像、音频、视频等多媒体文件类型。 4.2 mkdir 1.作用 mkdir命令的作用是建立名称为dirname的子目录,和MS DOS下的md命令类似,他的使用权限是所有用户。 2.格式 mkdir options 目录名

23、 3.options主要参数 m, mode=模式:设定权限;,和chmod类似。 p, parents:需要时创建上层目录;如果目录早已存在,则不当作错误。 v, verbose:每次创建新目录都显示信息。 version:显示版本信息后离开。 4.应用实例 在进行目录创建时能设置目录的权限,此时使用的参数是“m”。假设要创建的目录名是“tsk”,让所有用户都有rwx(即读、写、执行的权限),那么能使用以下命令: $ mkdir m 777 tsk 4.3 grep 1.作用 grep命令能指定文件中搜索特定的内容,并将含有这些内容的行标准输出。grep全称是Global Regular E

24、xpression Print,表示全局正则表达式版本,他的使用权限是所有用户。 2.格式 grep options 3.主要参数 options主要参数: c:只输出匹配行的计数。 I:不区分大小写(只适用于单字符)。 h:查询多文件时不显示文件名。 l:查询多文件时只输出包含匹配字符的文件名。 n:显示匹配行及行号。 s:不显示不存在或无匹配文本的错误信息。 v:显示不包含匹配文本的所有行。 pattern正则表达式主要参数: :忽略正则表达式中特别字符的原有含义。 :匹配正则表达式的开始行。 $: 匹配正则表达式的结束行。 ;:到匹配正则表达式的行结束。 :单个字符,如A即A符合需求 。

25、 - :范围,如A-Z,即A、B、C一直到Z都符合需求 。 。:所有的单个字符。 * :有字符,长度能为0。 正则表达式是Linux/Unix系统中非常重要的概念。正则表达式(也称为“regex”或“regexp”)是个能描述一类字符串的模式(Pattern)。如果一个字符串能用某个正则表达式来描述,我们就说这个字符和该正则表达式匹配(Match)。这和DOS中用户能使用通配符“*”代表任意字符类似。在Linux系统上,正则表达式通常被用来查找文本的模式,及对文本执行“搜索替换”操作和其他功能。 4.应用实例 查询DNS服务是日常工作之一,这意味着要维护覆盖不同网络的大量IP地址。有时IP地址

26、会超过2000个。如果要查看nnn.nnn网络地址,不过却忘了第二部分中的其余部分,只知到有两个句点,例如nnn nn.。要抽取其中所有nnn.nnn IP地址,使用09 3 .003。含义是任意数字出现3次,后跟句点,接着是任意数字出现3次,后跟句点。 $grep 09 3 .003 ipfile 补充说明,grep家族还包括fgrep和egrep。fgrep是fix grep,允许查找字符串而不是个模式;egrep是扩展grep,支持基本及扩展的正则表达式,但不支持q模式范围的应用及和之相对应的一些更加规范的模式。 4.4 dd 1.作用 dd命令用来复制文件,并根据参数将数据转换和格式化

27、。 2.格式 dd options 3.opitions主要参数 bs=字节:强迫 ibs=;及obs=;。 cbs=字节:每次转换指定的;。 conv=关键字:根据以逗号分隔的关键字表示的方式来转换文件。 count=块数目:只复制指定;的输入数据。 ibs=字节:每次读取指定的;。 if=文件:读取;内容,而非标准输入的数据。 obs=字节:每次写入指定的;。 of=文件:将数据写入;,而不在标准输出显示。 seek=块数目:先略过以obs为单位的指定;的输出数据。 skip=块数目:先略过以ibs为单位的指定;的输入数据。 4.应用实例 dd命令常常用来制作Linux引导盘。先找一个可引

28、导内核,令他的根设备指向正确的根分区,然后使用dd命令将其写入软盘: $ rdev vmlinuz /dev/hda $dd ifvmlinuz of/dev/fd0 上面代码说明,使用rdev命令将可引导内核vmlinuz中的根设备指向/dev/hda,请把“hda”换成自己的根分区,接下来用dd命令将该内核写入软盘。 4.5 find 1.作用 find命令的作用是在目录中搜索文件,他的使用权限是所有用户。 2.格式 find pathoptionsexpression path指定目录路径,系统从这里开始沿着目录树向下查找文件。他是个路径列表,相互用空格分离,如果不写path,那么默认为

29、当前目录。 3.主要参数 options参数: depth:使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容。 maxdepth levels:表示至多查找到开始目录的第level层子目录。level是个非负数,如果level是0的话表示仅在当前目录中查找。 mindepth levels:表示至少查找到开始目录的第level层子目录。 mount:不在其他文件系统(如Msdos、Vfat等)的目录和文件中查找。 version:打印版本。 expression是匹配表达式,是find命令接受的表达式,find命令的所有操作都是针对表达式的。他的参数非常多,这里只介绍一些常用的参数

30、。 ?name:支持统配符*和?。 atime n:搜索在过去n天读取过的文件。 ctime n:搜索在过去n天修改过的文件。 group grpoupname:搜索所有组为grpoupname的文件。 user 用户名:搜索所有文件属主为用户名(ID或名称)的文件。 size n:搜索文件大小是n个block的文件。 print:输出搜索结果,并且打印。 4.应用技巧 find命令查找文件的几种方法: (1)根据文件名查找 例如,我们想要查找一个文件名是lilo.conf的文件,能使用如下命令: find / name lilo.conf find命令后的“/”表示搜索整个硬盘。 (2)快速查找文件 根据文件名查找文件会遇见一个实际问题,就是要花费相当长的一段时间,特别是大型Linux文件系统和大容量硬盘文件放在非常深的子目录中时。如果我们知道了这个文件存放在某个目录中,那么只要在这个目录中往下寻找就能节省非常多时间。比如smb.conf文件,从他的文件后缀“.conf”能判断这是个设置文件,那么他应该在

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1