• 三、Linux系统中的文件类型和文件扩展名


    .sock文件也是一类特殊的文件,这类文件通常用在网络之间进行数据连接,如:我们可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行通信: 

     linux中的文件类型

    文件类型介绍

    Linux系统不同于windows系统,两者文件类型和文件扩展名也有很大差别。Linux中的文件类型和Linux文件的文件扩展名多代表的意义和windows系统中是不同的。

    通过一般应用程序或命令创建的文件,比如file.txtfile.tar,gz,这些文件虽然要用不同的程序或命令打开,但在linux中,都是常规文件(也称为普通文件)。

    后面附带的后缀文件扩展名,除了让曾经习惯windows的用户易读外,大多数对于linux系统来说没有特别实际的意义,而在windows系统中的扩展名就是实实在在表示文件的类型格式。

    Linux中的文件类型

        Linux系统中,可以说一切设备(包括目录、普通文件)皆为文件。文件类型包含有普通文件、目录、字符设备文件、块设备文件、符号链接文件等等;下面分别来说明:

    当执行ls -lls -la命令后显示的结果中,

    [root@localhost ~]# ls -l
    total 60
    -rw------- 1 root root   937 Apr 30 17:27 anaconda-ks.cfg
    drwxr-xr-x 2 root root  4096 Apr 30 21:40 Desktop
    -rw-r--r-- 1 root root 28884 Apr 30 17:26 install.log

      第一列第2~10个字符(比如rwxr-xr-x)就是来描述文件权限的。而第一列中的第一个字符就是描述文件类型的,比如上面结果就有-,d等类型。

    ls -l显示文件属性内容后,第一列的第一个字符就是用来区分文件类型;

    d:表示这是一个目录
    -:表示这是一个普通文件
    l:表示这是符号链接文件,实际上它指向
    b、c:分别表示块设备和其他的外围设备
    S、p:这些文件关系到系统的数据结构和管道
    特别提醒:初学者先掌握d、l、-这三种即可。

    文件类型分别介绍

    普通文件(regular file):

    [root@localhost ~]# ls -l test.txt 
    -rw-r--r-- 1 root root 0 Apr 30 22:18 test.txt

    通过用ls -l来查看test.txt的属性,可以看到第一列内容为-rw-r--r--,值得注意的是第一个符号是-(英文字符减号),在linux中,这样的字符开头就表示普通文件。

    这些文件一般是用相关的应用程序或系统命令创建,比如touchcptar等工具命令。普通命令的删除方式可以使用rm命令。

    提示:windows下的docpptzipjpg等格式的文档在linux下都属于普通文件。

    目录文件(directoy):

    [root@localhost ~]# ls -ld /home/zgy/
    drwx------ 3 zgy zgy 4096 Apr 30 21:40 /home/zgy/

    如上所示,当执行 ls -ld /home/zgy/时,可以看到第一列内容为drwx------ ,这种开头带有d字符的文件就表示目录,目录在Linux中是一个比较特殊的文件。

    小技巧:如果仅仅想看目录权限属性时,可以使用ls-d参数,搭配组合为ls -ld 目录名。

    创建目录的命令可以用mdkir命令,或cp可以把一个目录复制为另一个目录。删除用rm -rrmdir(删除空目录才可以)命令。

    同步提示:下面的执行ls -F的结果,在写脚本时可以直接区别目录和文件,每个目录的后面多了个斜线。

    [root@localhost ~]# ls -F
    anaconda-ks.cfg  Desktop/  install.log  install.log.syslog  test.txt

    在生产环境中,一般是通过以下办法过滤出所有目录文件的:

    [root@localhost ~]# ls -F /etc/ |grep "/"
    [root@localhost ~]# ls -F /etc/ |grep "^d"

    =======涉及到的正则表达式部分简要说明=============

    ^:表示以....开头,如”^d”表示以d开头
    
    $:表示以....结尾,如”d$”表示以d结尾

     

     字符设备或块设备文件:

     

    如果你进入/dev目录,列一下文件,会看到类似的内容:

    [root@localhost ~]# ls -al /dev/sda
    brw-r----- 1 root disk 8, 0 Apr 30 10:25 /dev/sda
    [root@localhost ~]# ls -al /dev/tty
    crw-rw-rw- 1 root tty 5, 0 Apr 30 10:26 /dev/tty

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

    可以看到/dev/sda的属性是brw-r----- ,注意前面一个字符是b,这表示块设备,比如硬盘,光驱等设备。

    特别提示:linux中查看硬件改动的方法:

    [root@localhost ~]# /etc/init.d/kudzu start
    Checking for hardware changes [  OK  ]

     套接口文件

     当启动MySQL服务时,会产生一个mysql.sock。这个文件的属性的第一个字符是s

     .sock文件也是一类特殊的文件,这类文件通常用在网络之间进行数据连接,如:我们可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行通信:

     mysql -uroot -ppass -S /data/3306/mysql.sock,这个就是数据库客户端程序连接服务器端命令,通过套接字文件和数据库服务器通信的例子。

    例子:

     

    Linux中的文件扩展名

    一般来说,linux中的文件是不需要扩展名的,这点与windows的区别很大,我们知道在windows中可执行文件扩展名结尾通常是.exe .com .bat,而在linux中文件可否执行就是看权限位的x位是否有x,图片文件扩展名通常是.jpg .jpeg .gif .bmp .png.

    Linux 下扩展名的作用

     linux中,虽然扩展名没什么实际意义,但是为了兼容windows,同时便于我们大多数习惯了linux的用户区分文件的不同,我们还是习惯通过扩展名来表示不同文件的类型。举例如下

     附录1find-type的文件类型的参数

     

  • 相关阅读:
    2016 多校赛3 A 水 B 期望,规律 C 各种博弈 J 物理题,积分 K 暴力,水
    2016 多校赛4 A dp,KMP E(待补) F(待补) J LIS变形,套路 K 水 L 水
    2016-12-27 spoj MINSUB 二分,单调栈 spoj INTSUB 思维
    sqlmap用户手册
    用PROXYCHAINS实现SSH全局代理
    linux之sort用法
    PHP 变量定义及使用
    查漏补缺
    总结2
    最近
  • 原文地址:https://www.cnblogs.com/zhongguiyao/p/9021593.html
Copyright © 2020-2023  润新知