linux系统中文件的几种类型

Linux系统是以文件的形式来进行管理的。Linux文件类型常见的有:普通文件、目录、字符设备文件、块设备文件、符号链接文件等,如果想了解这方面知识的弟兄,就进来了解了解。


Linux系统不同于window系统,两者文件类型也有很大的差异。Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。我们通过一般应用程序而创建的比如file.txt、file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普通文件)。

Linux文件类型常见的有:普通文件、目录、字符设备文件、块设备文件、符号链接文件等;现在我们进行一个简要的说明;

1 普通文件:

 
  
  1. [root@localhost~]#ls-lhinstall.log
  2. -rw-r--r--1rootroot53K03-1608:54install.log

我们用 ls -lh 来查看某个文件的属性,可以看到有类似 -rw-r--r-- ,值得注意的是第一个符号是 - ,这样的文件在Linux中就是普通文件。这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具、归档工具... .... 或 cp工具等。这类文件的删除方式是用rm 命令;

2目录:

[root@localhost ~]# ls -lh
总计 14M

  1. -rw-r--r--1rootroot203-2702:00fonts.scale
  2. -rw-r--r--1rootroot53K03-1608:54install.log
  3. -rw-r--r--1rootroot14M03-1607:53kernel-2.6.15-1.2025_FC5.i686.rpm
  4. drwxr-xr-x21000users4.0K04-0423:30mkuml-2004.07.17
  5. drwxr-xr-x2rootroot4.0K04-1910:53mydir
  6. drwxr-xr-x2rootroot4.0K03-1704:25Public

当我们在某个目录下执行,看到有类似 drwxr-xr-x ,这样的文件就是目录,目录在Linux是一个比较特殊的文件。注意它的第一个字符是d。创建目录的命令可以用 mkdir 命令,或cp命令,cp可以把一个目录复制为另一个目录。删除用rm 或rmdir命令。

3 字符设备或块设备文件:

如时您进入/dev目录,列一下文件,会看到类似如下的;

 
  
  1. [root@localhost~]#ls-la/dev/tty
  2. crw-rw-rw-1roottty5,004-1908:29/dev/tty
  3. [root@localhost~]#ls-la/dev/hda1
  4. brw-r-----1rootdisk3,12006-04-19/dev/hda1

我们看到/dev/tty的属性是 crw-rw-rw- ,注意前面第一个字符是 c ,这表示字符设备文件。比如猫等串口设备

我们看到 /dev/hda1 的属性是 brw-r----- ,注意前面的第一个字符是b,这表示块设备,比如硬盘,光驱等设备;

这个种类的文件,是用mknode来创建,用rm来删除。目前在最新的Linux发行版本中,我们一般不用自己来创建设备文件。因为这些文件是和内核相关联的。

4 套接口文件:

当我们启动MySQL服务器时,会产生一个mysql.sock的文件。

 
  
  1. [root@localhost~]#ls-lh/var/lib/mysql/mysql.sock
  2. srwxrwxrwx1mysqlmysql004-1911:12/var/lib/mysql/mysql.sock

注意这个文件的属性的第一个字符是 s。我们了解一下就行了。

5 符号链接文件:

 
  
  1. [root@localhost~]#ls-lhsetup.log
  2. lrwxrwxrwx1rootroot1104-1911:18setup.log->install.log

当我们查看文件属性时,会看到有类似 lrwxrwxrwx,注意第一个字符是l,这类文件是链接文件。是通过ln -s 源文件名 新文件名 。上面是一个例子,表示setup.log是install.log的软链接文件。怎么理解呢?这和Windows操作系统中的快捷方式有点相似。以上介绍Linux文件类型。

符号链接文件的创建方法举例;

 
  
  1. [root@localhost~]#ls-lhkernel-2.6.15-1.2025_FC5.i686.rpm
  2. -rw-r--r--1rootroot14M03-1607:53kernel-2.6.15-1.2025_FC5.i686.rpm
  3. [root@localhost~]#ln-skernel-2.6.15-1.2025_FC5.i686.rpmkernel.rpm
  4. [root@localhost~]#ls-lhkernel*
  5. -rw-r--r--1rootroot14M03-1607:53kernel-2.6.15-1.2025_FC5.i686.rpm
  6. lrwxrwxrwx1rootroot3304-1911:27kernel.rpm->kernel-2.6.15-1.2025_FC5.i686.rpm

文件的几种类型。

1.普通文件
     普通文件就是一般意义上的文件,它们作为数据存储在系统磁盘中,可以随机访问文件的内容。Linux系统中的文件是面向字节的,文

件的内容以字节为单位进行存储与访问。


2.目录
    在Linux系统中,目录也是一种特殊的文件,它们用来包含文件,文件一定在某个目录下。


3.管道
    管道是Linux系统中一种进程通信的机制。通常,一个进程写一些数据到管道中,这些数据就可以被另一个进程从这个管道中读取
    出来。管道可以分为两种类型:无名管道与命名管道。
     >.无名管道由进程在使用时创建,读写结束关闭文件后消失。之所以成为无名管道,是因为它们并不存在于文件系统中,
     没有文件名称。
     >.命名管道在形式上就是文件系统中的一个文件,虽然并不占用存储文件内容的磁盘空间,但有自己的文件名。命名管道
     通常称为FIFO。


4.设备文件
    设备文件形式上也是文件系统中的文件,与普通文件不同的是,它没有具体的内容,对设备文件的读写操作实际上是与某个设备的

    输入输出操作关联在一起。设备文件有两种类型:字符设备文件与块设备文件。
    >.字符设备能够以字符(一个字节)为单位进行输入输出操作,内核不会对设备输入输出的数据进行缓冲和排序。
    >.块设备的输入输出以块为单位,每个块有固定的字节数(一般为512字节的整数倍)并且有唯一的地址,可以进行随机

    访问。块设备的最大特点就是可以容纳一个文件系统,有文件系统的块设备可以被挂载到某个目录中。对块设备的访问
    将被内核缓冲并且有可能重新编排访问请求的顺序,以提高数据的读写效率。


5.符号链接
  符号链接是一种特殊的文件,它的内容是指向另一个文件的路径。当对符号链接进行操作时,系统根据情况会对这个操作转移到它
  所指向的文件上去,而不是对它本身进行操作。例如,读一个符号链接时,实际读到的是它所指向的文件的内容。


6.socket
  socket(或称套接字)也是一种进程间通信的方式。与管道不同的是,它们可以在不同主机上的进程间通信,实际上就是网络通信

  。socket在Linux系统上也是以文件的方式进行操作的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值