Chinaunix首页 | 论坛 | 博客
  • 博客访问: 718455
  • 博文数量: 67
  • 博客积分: 994
  • 博客等级: 准尉
  • 技术积分: 1749
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-03 14:10
文章分类
文章存档

2014年(11)

2013年(14)

2012年(14)

2011年(28)

分类: LINUX

2011-10-17 10:01:21

       理论上讲,文件是有一系列连续的字节流组成的,最后以一个EOF字符结束。从物理实现来讲,文件实际上是由磁盘上的一系列数据块组成的。而组成文件的数据块不一定连续。
        首先讲普通文件
         普通文件简称文件。所谓文件,实际上是一个命名的数据集合,是一组信息的基本存储单位。每个文件都有一个名字,通过名字对文件数据内容进行处理。
        普通文件可以存储任何数据,存储的内容可以是ASCII文本、源代码、shell脚本、配置数据及各种文档,也可以是二进制程序代码。
         linux里面不会想windows系统一样,对文件进行扩展,如.c形式的源程序,.exe可执行文件。所以在linux中光从文件名我们不能看出文件的类型,那是不是我们就不知道文件的类型,这样不久乱套了?别担心,linux shell中有file命令可以显示文件类型。如:
***@wuyaalan:~$ ls
conf.log    fork1.c      mypipe    oncerun.c     程序    进程  视频  下载
createthread.c    fork.c         offset    sd卡驱动.rar  电子书  课件  图片  音乐
fork        linux-3.0.4  offset.c  typescript    公共的  模板  文档  桌面
***@wuyaalan:~$ file 文档
文档: directory
这就说明了“文档”属于目录。
当然,为了照顾使用windows用户,linux下也对文件进行了扩展,不过此扩展没有任何意义。
从用户角度来看,文件分为文本文件和二进制文件.一般文本文件包括课打印字符,如ASCII字符、中文字符等,而二进制文件中每个字节允许有256种数值,其内容无法直接显示,如果要显示,我们有相应的命令od来显示。
***@wuyaalan:~$  od -c fork
0000000 177   E   L   F 001 001 001  \0  \0  \0  \0  \0  \0  \0  \0  \0
0000020 002  \0 003  \0 001  \0  \0  \0   0 204 004  \b   4  \0  \0  \0
0000040   p 021  \0  \0  \0  \0  \0  \0   4  \0      \0  \b  \0   (  \0
0000060 035  \0 032  \0 006  \0  \0  \0   4  \0  \0  \0   4 200 004  \b
0000100   4 200 004  \b  \0 001  \0  \0  \0 001  \0  \0 005  \0  \0  \0
0000120 004  \0  \0  \0 003  \0  \0  \0   4 001  \0  \0   4 201 004  \b
0000140   4 201 004  \b 023  \0  \0  \0 023  \0  \0  \0 004  \0  \0  \0
0000160 001  \0  \0  \0 001  \0  \0  \0  \0  \0  \0  \0  \0 200 004  \b
0000200  \0 200 004  \b 350 006  \0  \0 350 006  \0  \0 005  \0  \0  \0
     当然我们可能看不懂,但是工程师可以通过转换为ASCII读懂内容,从而找出有用的信息。
    文件基本操作包括打开文件(open)、创建文件(create文件)、读文件(read)、写文件(write)、显示文件(文本文件)。

     显示文件包括cat、more、less等。其中cat显示文件全部内容,more是向下分页显示文件内容(通常文件数据大于一页的显示量),less可以向上显示文件内容。向上或向下使用enter翻页。
      文件的搜索可以通过find、whereis、locate、which命令进行搜索。
      其中find不常用,因为他是从硬盘空间开始搜索文件,速度当然很慢,一般其他命令是通过使用数据库来搜索数据,速度相当快,如果不能找到文件,这时可以用find搜索。
       其中which是用来寻找执行文件的,必须为完整文件名。whereis是寻找特殊文件的。locate功能相当强大,可以给他一部分文件名称进行搜索。

阅读(1187) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~