zoukankan      html  css  js  c++  java
  • Linux 文件类型 及文件的扩展名

    作者:北南南北
    来自:LinuxSir.Org
    摘要: Linux文件类型常见的有:普通文件、目录、字符设备文件、块设备文件、符号链接文件等,如果想了解这方面知识的弟兄,就进来了解了解。本文应该说是基础文档。


    目录


    ++++++++++++++++++++++++++++++++++++++
    正文
    ++++++++++++++++++++++++++++++++++++++


    1、Linux文件的扩展名;

    一谈到文件类型,大家就能想到Windows的文件类型,比如file.txt、file.doc、file.sys、file.mp3、file.exe等,根据文件的后缀就能判断文件的类型。但在Linux一个文件是否能被执行,和后缀名没有太大的关系,主要看文件的属性有关。但我们了解一下Linux文件的后缀名还是有必要的,特别是我们自己创建一些文件,最好还是加后缀名,这样做的目的是仅仅是为了我们的在应用时方便。

    现在的Linux桌面环境和Windows一样智能化,文件的类型是和相应的程序关联的。在我们打开某个文件时,系统会自动判断用哪个应用程序打开。如果从这方面来说,Linux桌面环境和Windows桌面没有太大的区别。

    在Linux中,带有扩展名的文件,只能代表程序的关联,并不能说明文件是可以执行,从这方面来说,Linux的扩展名没有太大的意义。

    file.tar.gz file.tgz file.tar.bz2 file.rar file.gz file.zip ... ... 这些大家都熟悉,是归档文件。要通过相应的工具来解压或提取;

    file.php 这个大家都知道吧,是能用php语言解释器进行解释,能用浏览器打开的文件;

    file.so 这类是库文件;

    file.doc file.obt 这是OpenOffice 能打开的文件;

    ... ...

    用一些工具创建的文件,其后缀也不相同,就看我们用什么工具了,比如 Gimp,gedit,OpenOffice 等工具,创建出来的文件后缀名也不一样。


    2、Linux 文件类型;

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

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


    2.1 普通文件;

    [root@localhost ~]# ls -lh install.log
    -rw-r--r-- 1 root root 53K 03-16 08:54 install.log

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


    2.2 目录;

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

    -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.rpm
    drwxr-xr-x 2 1000 users 4.0K 04-04 23:30 mkuml-2004.07.17
    drwxr-xr-x 2 root root  4.0K 04-19 10:53 mydir
    drwxr-xr-x 2 root root  4.0K 03-17 04:25 Public

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


    2.3 字符设备或块设备文件;

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

    [root@localhost ~]# ls -la /dev/tty

    crw-rw-rw- 1 root tty 5, 0 04-19 08:29 /dev/tty

    [root@localhost ~]# ls -la /dev/hda1

    brw-r----- 1 root disk 3, 1 2006-04-19 /dev/hda1

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

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

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


    2.4 套接口文件;

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

    [root@localhost ~]# ls -lh /var/lib/mysql/mysql.sock

    srwxrwxrwx 1 mysql mysql 0 04-19 11:12 /var/lib/mysql/mysql.sock

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


    2.5 符号链接文件;

    [root@localhost ~]# ls -lh setup.log
    lrwxrwxrwx 1 root root 11 04-19 11:18 setup.log -> install.log

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

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

    [root@localhost ~]# 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.rpm

    [root@localhost ~]# ln -s kernel-2.6.15-1.2025_FC5.i686.rpm  kernel.rpm

    [root@localhost ~]# ls -lh kernel*

    -rw-r--r-- 1 root root 14M 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
    lrwxrwxrwx 1 root root  33 04-19 11:27 kernel.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm


    3、关于本文;

    本文是文件系统的一个组成部份,为写文件和目录的属性及操作相关的内容做准备;属于基础篇。内容是少了点。但看样子还是比较容易懂。


    4、后记;

    准备写文件和目录的创建、属性方面的操作等内容;


    5、参考文档;


    6、相关文档

    《简述Linux 文件系统的目录结构》

  • 相关阅读:
    JS原型链与instanceof底层原理
    流程关系图制作---ProcessOn从入门到精通
    VBA比较两个Excel数据的异同
    C# 通过 Quartz .NET 实现 schedule job 的处理
    C# 通过 Quartz .NET 实现Timer Job并将其注册成为Windows Service
    在.Net Framework中调用Python的脚本方法 (以VB和C#为例)
    用Python建立连接直接读取与更改Rockwell Control Logix Controller的tag值
    C#通过第三方组件生成二维码(QR Code)和条形码(Bar Code)
    如何根据条件来确定某个字段是否应该被序列化
    在Asp.Net MVC 中如何用JS访问Web.Config中appSettings的值
  • 原文地址:https://www.cnblogs.com/licheng/p/1072022.html
Copyright © 2011-2022 走看看