• <tr id='xlpwz'><strong id='xlpwz'></strong><small id='xlpwz'></small><button id='xlpwz'></button><li id='xlpwz'><noscript id='xlpwz'><big id='xlpwz'></big><dt id='xlpwz'></dt></noscript></li></tr><ol id='xlpwz'><table id='xlpwz'><blockquote id='xlpwz'><tbody id='xlpwz'></tbody></blockquote></table></ol><u id='xlpwz'></u><kbd id='xlpwz'><kbd id='xlpwz'></kbd></kbd>
  • <ins id='xlpwz'></ins><span id='xlpwz'></span>
    <acronym id='xlpwz'><em id='xlpwz'></em><td id='xlpwz'><div id='xlpwz'></div></td></acronym><address id='xlpwz'><big id='xlpwz'><big id='xlpwz'></big><legend id='xlpwz'></legend></big></address>
      <fieldset id='xlpwz'></fieldset>
      <dl id='xlpwz'></dl>
      <i id='xlpwz'></i>

        <code id='xlpwz'><strong id='xlpwz'></strong></code>

          1. <i id='xlpwz'><div id='xlpwz'><ins id='xlpwz'></ins></div></i>

            Linux系统中的文件类型及文件扩展名详解

            • 时间:
            • 浏览:6
            • 来源:124软件资讯网

                Linux文件类型和Linux文件的文件名所代表的意义是两个差别的观点 。我们通过一样平常应用法式而建立的好比file.txt、file.tar.gz ,这些文件虽然要用差别的法式来打开  ,但放在Linux文件类型中权衡的话 ,大多是通例文件(也被称为通俗文件)  。

                一. 文件类型

                Linux文件类型常见的有:通俗文件、目录文件、字符装备文件和块装备文件、符号链接文件等  ,现在我们举行一个简要的说明  。

                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下令  。

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

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

                代码如下:

                [root@localhost ~]# ls -al /dev/tty

              crw-rw-rw- 1 root tty 5, 0 11-03 15:11 /dev/tty

              [root@localhost ~]# ls -la /dev/sda1

              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 ]  。

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

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

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

                代码如下:

                [root@localhost ~]# ls -lh /var/lib/mysql/mysql.sock

              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

              -rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log

              [root@localhost test]# ln -s log2012.log linklog.log

              [root@localhost test]# ls -lh *.log

              lrwxrwxrwx 1 root root 11 11-22 06:58 linklog.log -> log2012.log

              -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 之类的选项 , 以是你最好也制止将文件档名的开头以 - 或 + 来命名  。