Linux文件类型介绍
在linux系统中,一切(包括目录、普通文件、设备文件等)皆为文件。文件类型包括普通文件、目录、字符设备文件、块设备文件、符号链接文件、管道符文件等。
[root@centos6 ~]# ls -l
total 52
-rw-r--r--. 1 root root 8 May 16 2018 123.log
-rw-------. 1 root root 1038 May 15 2018 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 Apr 16 01:18 cheshi
-rw-r--r--. 1 root root 21736 May 15 2018 install.log
-rw-r--r--. 1 root root 5890 May 15 2018 install.log.syslog
drwxr-xr-x. 7 root root 4096 Apr 15 00:23 oldboy
普通文件(regular file):第一个属性为“-”
1. 纯文本文件(ascll):文件内容可以直接读到数据
2. 二进制文件(binary):linux中的命令程序就属于二进制文件
3. 数据格式文件(data):有些程序在运行的过程中会读取某些特定格式的文件,这些特定格式的文件也被成为数据文件。
通过file命令查看文件类型
[root@centos6 ~]# file install.log
install.log: ASCII text
[root@centos6 ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
[root@centos6 ~]# file /var/log/lastlog
/var/log/lastlog: data
目录文件:
创建目录:mkdir命令或者cp -r或者-a参数
删除目录:rmdir(删除空目录)或rm -r
区分目录:
ls -F /etc/ |grep "/$"
ls -l /etc/ |grep "^d"
tree -Ld 1 /etc/
字符设备和块设备文件:
查看块设备:find /dev -type b |xargs ls -l
brw-rw---- 1 root disk 8, 1 5月 18 10:07 /dev/sda1
brw-rw---- 1 root disk 8, 2 5月 18 2018 /dev/sda2
brw-rw---- 1 root disk 8, 3 5月 18 10:07 /dev/sda3
查看字符设备:find /dev -type c |xargs ls -l
crw-rw---- 1 vcsa tty 7, 129 5月 18 10:07 /dev/vcsa1
crw-rw---- 1 vcsa tty 7, 130 5月 18 10:07 /dev/vcsa2
crw-rw---- 1 vcsa tty 7, 131 5月 18 10:07 /dev/vcsa3
套接字文件:
.sock 文件 这类文件通常用在网络之间进行数据连接
符号连接文件(软连接文件):
find /etc -type l -name "init.d" |xargs ls -ld
lrwxrwxrwx. 1 root root 11 5月 8 00:00 /etc/init.d -> rc.d/init.d
管道文件(FIFO.pipe):
FIFO也是特殊文件类型,主要是解决多个程序同时访问文件所造成的错误
文件扩展名:
Linux环境下一个文件是否能被执行,和后缀名没有太大的关系,主要看文件的属性有关。但是了解一下Linux文件的后缀名还是有必要的,特别是创建一些文件,最好还是加后缀名,这样做的目的是仅仅是为了在应用时方便。
常见的文件扩展名:
1. tar、.tra.gz、.tgz、.zip、.tar.bz 表示压缩文件
2. .sh表示shell脚本文件,通过shell语言开发的程序
3. .pl表示perl语言文件,通过perl语言开发的程序
4. .py表示python语言文件,通过Python语言开发的程序
5. .html、.htm、.php、.jsp、.do表示网页语言文件
6. .conf表示系统的配置文件
7. .rpm表示rpm安装包文件