你好
我是你们的雨嘉叔

08-文件和目录的属性及权限之文件类型及文件扩展名

一、Linux中的文件类型
在Linux系统中,可以说一切(包括目录、普通文件、设备文件等)皆为文件。文件类型包含有普通文件、目录、字符设备文件、设备文件、符号链接文件、管道文件等等,当执行ls -l 或ls – al命令后可显示当前目录下的所有文件及文件夹:

    [root@centos ~]# ls -l
    总用量 40
    -rw-------. 1 root root  1140 2月   5 04:28 anaconda-ks.cfg
    -rw-r--r--. 1 root root 21736 2月   5 04:28 install.log
    -rw-r--r--. 1 root root  5890 2月   5 04:25 install.log.syslog

其中,第一列的第一个字符就是用来区分文件类型的,常见的文件类型如下表所示:

d(directory)    表示这是一个目录,在ext2fs中,目录是一个特殊文件。
-(regular file) 表示这是一个普通的文件。
l(link) 表示这是一个符号链接文件,实际上它指向另一个文件。
b(bock) 表示块设备和其他的外围设备,是特殊类型的文件。
c(character)    表示字符设备文件。
s(socket)   表示socket文件。
p(name pipe)    表示管道文件。

二、文件类型分别介绍
1、普通文件(regular file)
在Linux中,以-开头的文件就表示普通文件。这些文件一般是用相关的应用程序或系统命令创建,比如touch、cp、tar、echo、cat等。普通文件的删除方式可以使用rm命令。
普通文件大略还可以分为:
①纯文本文件(ascll):文件内容可以直接读到数据,例如:字母、数字、特殊符号等。可以用cat命令读文件,比如配置文件几乎都是这种类型的。
②二进制文件(binary):Linux中的命令文件就属于这个格式。例如cat命令就是一个二进制文件。
③数据格式文件(data):有些程序在运行的过程中会读取某些特定格式的文件,那些特定格式的文件可以被称为数据文件。例如:Linux在用户登录时,都会将登录的数据记录在/var/log/wtmp(last命令的数据库文件)那个文件内,该文件时一个数据文件。通过last命令读出来,cat命令会读出乱码,因为他书序一种特殊格式文件。lastlog(/var/log/lastlog)
补充:通过file命令可以查看文件类型
[root@centos ~]# file /bin/cat
/bin/cat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
2、目录文件(directory)
在Linux中,以d字符开头的文件就表示目录。创建目录的命令可以用mkdir命令或cp命令(带-r或-a参数),cp可以把一个目录复制为另一个目录。删除目录用rm -r或rmdir(删除空目录才可以)命令。
3、字符设备或块设备文件
若第一个字符为c,则代表字符设备文件,例如猫等串口设备;若第一个字符是b,则表示块设备,例如硬盘、光驱等都属于块设备。我们可以用find /dev -type b |xargs ls -l查看块设备,用find /dev -type c |xargs ls -l查看字符设备。
4、套接字(socket)文件
在Linux中,以.socket为后缀的文件表示套接字文件,一般用于网络通信。
5、符号链接文件
符号链接文件也被称之为软链接文件,可以理解为Windows中的快捷方式。
6、管道文件(FIFO.pipe)
在Linux中,若第一个字符为p则代表管道文件。FIFO(fifo-first-in first-out)是一个特殊的文件类型,主要是解决多个程序同时访问一个文件所造成的错误。


三、Linux下常用的扩展名的作用
一般来说,Linux是不区分扩展名的。但是扩展名也代表一定的意义,例如:
①.tar(.tar.gz、.tgz、.zip、.tar.bz)表示压缩文件,创建命令一般为tar、gzip、unzip等。
②.sh表示shell脚本文件,通过shell语言开发的程序。
③.pl表示perl语言文件,通过perl语言开发的程序。
④.py表示python语言文件,通过python语言开发的程序。
⑤.html(.htm)、.php、.jsp、.do表示网页语言的文件。
⑥.conf表示系统的配置文件。
⑦.rpm表示rpm安装包文件。


欢迎关注
新浪微博:https://weibo.com/yougazhang0506
微信公众平台:张雨嘉

我的网站:https://www.zhangyujia.cn
51CTO博客:http://blog.51cto.com/11099293
CSDN博客:http://blog.csdn.net/u013260195
GitHub:https://github.com/zhangyujia0506/

赞(0)
未经允许不得转载:嘉叔的博客 » 08-文件和目录的属性及权限之文件类型及文件扩展名
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址