Linux文件类型和扩展名的相关知识

东村首富

东村首富

2016-02-19 15:37

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐Linux文件类型和扩展名的相关知识,希望大家看完后也有个好心情,快快行动吧!

我们都知道系统文件的类型是有很多种的,如果不了解文件类型就无法知道某些文件的具体作用,那么Linux系统的文件类型都有哪些呢?下面图老师小编就给大家详细介绍下Linux系统的文件类型及扩展名的知识。

 Linux文件类型和扩展名的相关知识

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

一、文件类型

Linux文件类型常见的有:普通文件、目录文件、字符设备文件和块设备文件、符号链接文件等(详见系统之家Linux中使用file命令识别文件类型的方法),现在我们进行一个简要的说明。

1. 普通文件

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

1》。 纯文本档(ASCII):

这是Linux系统中最多的一种文件类型,称为纯文本档是因为内容为我们人类可以直接读到的数据,例如数字、字母等等。几乎只要我们可以用来做为设定的文件都属于这一种文件类型。 举例来说,你可以用命令: cat ~/.bashrc 来看到该文件的内容。(cat 是将一个文件内容读出来的指令)。

2》。 二进制文件(binary):

Linux系统其实仅认识且可以执行二进制文件(binary file)。Linux当中的可执行文件(scripts, 文字型批处理文件不算)就是这种格式的文件。 刚刚使用的命令cat就是一个binary file。

3》。 数据格式文件(data):

有些程序在运作的过程当中会读取某些特定格式的文件,那些特定格式的文件可以被称为数据文件 (data file)。举例来说,我们的Linux在使用者登录时,都会将登录的数据记录在 /var/log/wtmp那个文件内,该文件是一个data file,他能够透过last这个指令读出来! 但是使用cat时,会读出乱码~因为他是属于一种特殊格式的文件?

2. 目录文件

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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)

3. 字符设备或块设备文件

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

代码如下:

[root@localhost ~]# ls -al /dev/tty《/p》 《p》crw-rw-rw- 1 root tty 5, 0 11-03 15:11 /dev/tty《/p》 《p》[root@localhost ~]# ls -la /dev/sda1《/p》 《p》brw-r----- 1 root disk 8, 1 11-03 07:11 /dev/sda1

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

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

与系统周边及储存等相关的一些文件, 通常都集中在/dev这个目录之下!通常又分为两种:

区块(block)设备档 :

就是一些储存数据, 以提供系统随机存取的接口设备,举例来说,硬盘与软盘等就是啦! 你可以随机的在硬盘的不同区块读写,这种装置就是成组设备!你可以自行查一下/dev/sda看看, 会发现第一个属性为[ b ]!

字符(character)设备文件:

亦即是一些串行端口的接口设备, 例如键盘、鼠标等等!这些设备的特色就是一次性读取的,不能够截断输出。举例来说,你不可能让鼠标跳到另一个画面,而是滑动到另一个地方!第一个属性为 [ c ]。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)

4. 数据接口文件(sockets):

数据接口文件(或者:套接口文件),这种类型的文件通常被用在网络上的数据承接了。我们可以启动一个程序来监听客户端的要求,而客户端就可以透过这个socket来进行数据的沟通了。第一个属性为 [ s ],最常在/var/run这个目录中看到这种文件类型了。

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

代码如下:

[root@localhost ~]# ls -lh /var/lib/mysql/mysql.sock 《/p》《p》srwxrwxrwx 1 mysql mysql 0 04-19 11:12 /var/lib/mysql/mysql.sock

注意这个文件的属性的第一个字符是 s。

5. 符号链接文件:

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

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

代码如下:

[root@localhost test]# ls -lh log2012.log《/p》 《p》-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log《/p》 《p》[root@localhost test]# ln -s log2012.log linklog.log《/p》 《p》[root@localhost test]# ls -lh *.log《/p》 《p》lrwxrwxrwx 1 root root 11 11-22 06:58 linklog.log -》 log2012.log《/p》 《p》-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log

6. 数据输送文件(FIFO,pipe):

FIFO也是一种特殊的文件类型,他主要的目的在解决多个程序同时存取一个文件所造成的错误问题。 FIFO是first-in-first-out的缩写。第一个属性为[p] 。

二、 Linux文件扩展名

1. 扩展名类型

基本上,Linux的文件是没有所谓的扩展名的,一个Linux文件能不能被执行,与他的第一栏的十个属性有关, 与档名根本一点关系也没有。这个观念跟Windows的情况不相同喔!在Windows底下, 能被执行的文件扩展名通常是 .com .exe .bat等等,而在Linux底下,只要你的权限当中具有x的话,例如[ -rwx-r-xr-x ] 即代表这个文件可以被执行。

不过,可以被执行跟可以执行成功是不一样的~举例来说,在root家目录下的install.log 是一个纯文本档,如果经由修改权限成为 -rwxrwxrwx 后,这个文件能够真的执行成功吗?当然不行~因为他的内容根本就没有可以执行的数据。所以说,这个x代表这个文件具有可执行的能力, 但是能不能执行成功,当然就得要看该文件的内容。

虽然如此,不过我们仍然希望可以藉由扩展名来了解该文件是什么东西,所以,通常我们还是会以适当的扩展名来表示该文件是什么种类的。底下有数种常用的扩展名:

*.sh : 脚本或批处理文件 (scripts),因为批处理文件为使用shell写成的,所以扩展名就编成 .sh

*Z, *.tar, *.tar.gz, *.zip, *.tgz: 经过打包的压缩文件。这是因为压缩软件分别为 gunzip, tar 等等的,由于不同的压缩软件,而取其相关的扩展名!

*.html, *.php:网页相关文件,分别代表 HTML 语法与 PHP 语法的网页文件。 .html 的文件可使用网页浏览器来直接开启,至于 .php 的文件, 则可以透过 client 端的浏览器来 server 端浏览,以得到运算后的网页结果。

基本上,Linux系统上的文件名真的只是让你了解该文件可能的用途而已,真正的执行与否仍然需要权限的规范才行。例如虽然有一个文件为可执行文件,如常见的/bin/ls这个显示文件属性的指令,不过,如果这个文件的权限被修改成无法执行时,那么ls就变成不能执行。

上述的这种问题最常发生在文件传送的过程中。例如你在网络上下载一个可执行文件,但是偏偏在你的 Linux系统中就是无法执行!呵呵!那么就是可能文件的属性被改变了。不要怀疑,从网络上传送到你的 Linux系统中,文件的属性与权限确实是会被改变的。

2. Linux文件名长度限制:

在Linux底下,使用预设的Ext2/Ext3文件系统时,针对文件名长度限制为:

单一文件或目录的最大容许文件名为 255 个字符

包含完整路径名称及目录 (/) 之完整档名为 4096 个字符

是相当长的档名!我们希望Linux的文件名可以一看就知道该文件在干嘛的,所以档名通常是很长很长。

3. Linux文件名的字符的限制:

由于Linux在文字接口下的一些指令操作关系,一般来说,你在设定Linux底下的文件名时, 最好可以避免一些特殊字符比较好!例如底下这些:

* ? 》 《 ; & ! [ ] | ‘ ` ( ) { }

因为这些符号在文字接口下,是有特殊意义的。另外,文件名的开头为小数点。时, 代表这个文件为隐藏文件!同时,由于指令下达当中,常常会使用到 -option 之类的选项, 所以你最好也避免将文件档名的开头以 - 或 + 来命名。

上面就是Linux文件类型和扩展名的知识介绍了,文件的类型有很多,要想全部都掌握是比较困难的,我们只需记住一些比较常用的文件类型即可。

展开更多 50%)
分享

猜你喜欢

Linux文件类型和扩展名的相关知识

电脑入门
Linux文件类型和扩展名的相关知识

如何在Windows 8中显示已知文件类型的扩展名

电脑入门
如何在Windows 8中显示已知文件类型的扩展名

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

android 获取文件的扩展名和去掉文件扩展名的小例子

编程语言 网络编程
android 获取文件的扩展名和去掉文件扩展名的小例子

AMR扩展名是什么文件?

电脑入门
AMR扩展名是什么文件?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

如何自定义文件扩展名?

电脑入门
如何自定义文件扩展名?

Linux创建FIFO文件类型的方法

服务器
Linux创建FIFO文件类型的方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

CSS的高级语法

CSS的高级语法

html和body标记应用CSS方法和技巧

html和body标记应用CSS方法和技巧
下拉加载更多内容 ↓