三、Linux系统中的文件类型和文件扩展名
.sock文件也是一类特殊的文件,这类文件通常用在网络之间进行数据连接,如:我们可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行通信:
linux中的文件类型
文件类型介绍
Linux系统不同于windows系统,两者文件类型和文件扩展名也有很大差别。Linux中的文件类型和Linux文件的文件扩展名多代表的意义和windows系统中是不同的。
通过一般应用程序或命令创建的文件,比如file.txt、file.tar,gz,这些文件虽然要用不同的程序或命令打开,但在linux中,都是常规文件(也称为普通文件)。
后面附带的后缀文件扩展名,除了让曾经习惯windows的用户易读外,大多数对于linux系统来说没有特别实际的意义,而在windows系统中的扩展名就是实实在在表示文件的类型格式。
Linux中的文件类型
在Linux系统中,可以说一切设备(包括目录、普通文件)皆为文件。文件类型包含有普通文件、目录、字符设备文件、块设备文件、符号链接文件等等;下面分别来说明:
当执行ls -l或ls -la命令后显示的结果中,
[root@localhost ~]# ls -l
total
-rw------- root root Apr : anaconda-ks.cfg
drwxr-xr-x root root Apr : Desktop
-rw-r--r-- root root Apr : 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-- root root Apr : test.txt
通过用ls -l来查看test.txt的属性,可以看到第一列内容为-rw-r--r--,值得注意的是第一个符号是-(英文字符减号),在linux中,这样的字符开头就表示普通文件。
这些文件一般是用相关的应用程序或系统命令创建,比如touch、cp、tar等工具命令。普通命令的删除方式可以使用rm命令。
提示:windows下的doc、ppt、zip、jpg等格式的文档在linux下都属于普通文件。
目录文件(directoy):
[root@localhost ~]# ls -ld /home/zgy/
drwx------ zgy zgy Apr : /home/zgy/
如上所示,当执行 ls -ld /home/zgy/时,可以看到第一列内容为drwx------ ,这种开头带有d字符的文件就表示目录,目录在Linux中是一个比较特殊的文件。
小技巧:如果仅仅想看目录权限属性时,可以使用ls的-d参数,搭配组合为ls -ld 目录名。
创建目录的命令可以用mdkir命令,或cp可以把一个目录复制为另一个目录。删除用rm -r或rmdir(删除空目录才可以)命令。
同步提示:下面的执行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----- root disk , Apr : /dev/sda
[root@localhost ~]# ls -al /dev/tty
crw-rw-rw- root tty , Apr : /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的用户区分文件的不同,我们还是习惯通过扩展名来表示不同文件的类型。举例如下

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

三、Linux系统中的文件类型和文件扩展名的更多相关文章
- Linux系统中查找、删除重复文件,释放磁盘空间。
在Linux系操作系统中查找并删除重复文件的方法的确有很多,不过这里介绍的是一款非常简单实用的软件FSlint.FSlint是一个重复文件查找工具,可以使用它来清除不必要的重复文件,笔者经常使用它来释 ...
- 在Linux系统中使用Vim读写远程文件
大家好,我是良许. 今天我们讨论一个 Vim 使用技巧--用 Vim 读写远程文件.要实现这个目的,我们需要使用到一个叫 netrw.vim 的插件.从 Vim 7.x 开始,netrw.vim 就被 ...
- Linux系统中 Sublime Text 中文 GBK 文件乱码问题
Sublime Text 是一个很不错编辑器,具有漂亮的界面和强大的功能.再加上丰富的插件,而且还跨平台,绝对是一款实打实的神器啊! 众所周知,Sublime Text 对中文支持的极差,可以说几乎就 ...
- 详解Linux系统中的文件名和文件种类以及文件权限
Linux文件种类与副文件名 一直强调一个概念,那就是:任何装置在Linux底下都是文件, 不仅如此,连资料沟通的介面也有专属的文件在负责-所以,你会瞭解到,Linux的文件种类真的很多- 除了前面提 ...
- find查找文件命令 - Linux系统中的常用技巧整理
“find”在Linux系统中是比较常用的文件查找命令,使用方法有很多,可以拥有查找文件.文件目录.文件更新时间.文件大小.文件权限及对比文件时间.下面是整理的“find”常用方法,方便以后需要的时候 ...
- linux系统中,文件的三种特殊权限
背景介绍 在linux系统中,我们熟知有rwx三种权限,对应所有者,同组用户,其他用户三种用户的权限,一共9个位来指定一个文件的权限情况,通过chmod xxx 来更改权限属性,其中xxx是已八进制表 ...
- linux系统中文件的几种类型
Linux系统是以文件的形式来进行管理的.Linux文件类型常见的有:普通文件.目录.字符设备文件.块设备文件.符号链接文件等,如果想了解这方面知识的弟兄,就进来了解了解. Linux系统不同于win ...
- linux(八)linux系统中查找文件二
前面介绍的是find命令,我们发现一个find命令居然有那么多的命令,我看到都要晕了,不管没有关系,加油.相信自己! 一.grep命令 1.1.作用 Linux系统中grep命令是一种强大的文本搜索工 ...
- linux系统中的文件权限详解(转)
一.在<Linux系统中如何查看文件属性>中介绍了通过ls指令来查看文件的属性,具体如下: [命令] letuknowit@ubuntu:/$ cd /tmp letuknowit@ubu ...
随机推荐
- Mysql 表与表之间的关系
一.前言 二.表与表之间的关系 (一) 一对多 (二) 一对一 (三) 多对多 一.前言 研究表与表之间的关系前,先要知道将所有数据存放在一张表中的弊端: 1.结构不清晰 ---> 不致命 2. ...
- 第一次看CCControl
Control中有九种可能的事件,定义在.h文件中,另外还定义四种状态,用来表示控件高亮等. 在初始化控件的时候: bool Control::init() { if (Layer::init()) ...
- $POJ2442\ Sequence$ 堆
正解:堆 解题报告: 传送门$QwQ$ 全场除了我都切了系列$kk$ 首先看$n=2$的情况. 首先暴力不说?就记录一个$sum$再分别记录$xy$两维的下标存到堆里面每次取队头并继续扩展就完事$Qw ...
- $CF809C\ Find\ a\ car$ 数位$dp$
正解:数位$dp$ 解题报告: 传送门! 然后因为没有翻译所以先放个翻译$QAQ$ 有一个无穷大的矩阵,第$i$行第$j$列的数是$(i-1)\ xor\ (j-1)+1$,有$q$次询问,每次询问一 ...
- $Noip2011/Luogu1315$ 观光公交 贪心
$Luogu$ $Sol$ 觉得这题贪心要想很多事情,不适合我这种没脑子选手$ovo$.看题解还理解了很久. 最开始是这样想的:把所有的路段上的乘客按大小排个序用加速器就好了,这个想法被自己轻松$ha ...
- PostgreSQL基础操作
1. 查看版本信息 1.1 查看客户端版本信息 黑窗口中输入:psql --version(有两条横线) 没有配置全局的环境变量时,就只能在PostgreSQL安装目录的bin目录中打开黑窗口执行该命 ...
- Centos7 编译安装PHP7
Centos7 编译安装PHP7 编译安装的方式可以让组件等设置更加合理,但需要你对PHP的代码及各种配置非常的熟悉,以下为大致的安装流程,大家可以参考 1.下载编译工具 yum groupinsta ...
- 【转】Java多线程面试问题集锦
如果你即将去一家从事大型系统研发的公司进行Java面试,不可避免的会有多线程相关的问题.下面是一些针对初学者或者新手的问题,如果你已经具备良好的基础,那么你可以跳过本文,直接尝试针对进阶水平的Java ...
- CountDownLatch,CyclicBarrier,Semaphore用法
1.让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒. 2.CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,调用线程会被阻塞.其它线程调用countDown方法会 ...
- Java8 新特性(三) - 日期时间对象以及一些其他特性
日期时间对象 关于日期时间的操作可以分为两种: 转换:与字符串的互相转换,与时间戳的互相转换 计算:计算两个时间点之间的间隔.时间点与时间段的计算(计算下周N.下个月D日.去年M月D日等等) Java ...