5.2.4 Linux文件种类与扩展名

简介: 5.2.4 Linux文件种类与扩展名

任何设备在Linux下面都是文件, 不仅如此,连数据沟通的接口也有专属的文件在负责~所以,你会了解到,Linux的文件种类真的很多~ 除了前面提到的一般文件(-)与目录文件(d)之外,还有哪些种类的文件呢?


文件种类:


我们在刚刚提到使用“ls -l”观察到第一栏那十个字符中,第一个字符为文件的类型。 除了常见的一般文件(-)与目录文件(d)之外,还有哪些种类的文件类型呢?


正规文件(regular file ): 就是一般我们在进行存取的类型的文件,在由 ls -al 所显示出来的属性方面,第一个字符为 [ - ],例如 [-rwxrwxrwx ]。另外,依照文件的内容,又大略可以分为:


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


二进制档(binary):Linux当中的可可执行文件(scripts, 文字体批处理文件不算)就是这种格式,举例说,指令cat就是一个binary file。


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


目录(directory): 就是目录,第一个属性为 [ d ],例如 [drwxrwxrwx]。


链接文件(link): 就是类似Windows系统下面的捷径。 第一个属性为 [ l ](英文L的小写),例如 [lrwxrwxrwx] ;


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


区块(block)设备文件 :就是一些储存数据, 以提供系统随机存取的周边设备,举例来说,硬盘与软盘等就是。 你可以随机的在硬盘的不同区块读写,这种设备就是区块设备。你可以自行查一下/dev/sda看看, 会发现第一个属性为[ b ]。


字符(character)设备文件:亦即是一些序列埠的周边设备, 例如键盘、鼠标等等!这些设备的特色就是“一次性读取”的,不能够截断输出。 举例来说,你不可能让鼠标“跳到”另一个画面,而是“连续性滑动”到另一个地方啊!第一个属性为 [ c ]。


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


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


除了设备文件是我们系统中很重要的文件,最好不要随意修改之外,另一个比较有趣的文件就是链接文件。如果你常常将应用程序捉到桌面来的话,你就应该知道在 Windows下面有所谓的“捷径”。同样的,你可以将 linux下的链接文件简单的视为一个文件或目录的捷径。


Linux文件扩展名:


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


Tips 具有“可执行的权限”以及“具有可执行的程序码”是两回事!在 Linux 下面,你可以让一个文本文件,例如我们之前写的 text.txt 具有“可执行的权限” (加入 x 权限即可), 但是这个文件明显的无法执行,因为他不具备可执行的程序码!而如果你将上面提到的 cat 这个可以执行的指令,将他的 x 拿掉,那么 cat 将无法被你执行!


不过,可以被执行跟可以执行成功是不一样的。举例来说,在root主文件夹下的 initial-setupks.cfg 是一个纯文本文件,如果经由修改权限成为 -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下面,使用传统的Ext2/Ext3/Ext4文件系统以及近来被 CentOS 7 当作默认文件系统的xfs 而言,针对文件的文件名长度限制为:


单一文件或目录的最大容许文件名为 255Bytes,以一个 ASCII 英文占用一个 Bytes 来说,则大约可达 255 个字符长度。若是以每个中文字占用 2Bytes 来说, 最大文件名就是大约在 128 个中文字。


Linux文件名称的限制:


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


? > < ; & ! [ ] | \ ' " ` ( ) { }


因为这些符号在命令行下,是有特殊意义的!另外,文件名称的开头为小数点“.”时, 代表这个文件为“隐藏文件”,而且避免文件文件名的开头以-或+来命名。


相关实践学习
CentOS 8迁移Anolis OS 8
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS 8.x兼容,本文为您介绍如何通过AOMS迁移工具实现CentOS 8.x到Anolis OS 8的迁移。
目录
打赏
0
0
0
0
9
分享
相关文章
|
8天前
|
Linux 常用文件查看命令
`cat` 命令用于连接文件并打印到标准输出,适用于快速查看和合并文本文件内容。常用示例包括:`cat file1.txt` 查看单个文件,`cat file1.txt file2.txt` 合并多个文件,`cat &gt; filename` 创建新文件,`cat &gt;&gt; filename` 追加内容。`more` 和 `less` 命令用于分页查看文件,`tail` 命令则用于查看文件末尾内容,支持实时追踪日志更新,如 `tail -f file.log`。
29 5
Linux 常用文件查看命令
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
32 2
Linux|Transfer.sh 轻松实现文件共享
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
82 34
linux怎么把文件传到docker里面
在现代应用开发中,Docker作为流行的虚拟化工具,广泛应用于微服务架构。文件传输到Docker容器是常见需求。常用方法包括:1) `docker cp`命令直接复制文件;2) 使用`-v`选项挂载宿主机目录,实现数据持久化和实时同步;3) 通过SCP/FTP协议传输文件;4) 在Dockerfile中构建镜像时添加文件。选择合适的方法并确保网络安全是关键。
103 1
|
1月前
|
Linux文件与目录的日常
目录的切换 一般使用(”pwd“)显示当前所在的目录 比如:当前目录是在home下面的,与用户名相同的文件夹,可以使用(”cd“)命令来切换目录; 进入下载目录(”cd home/a/下载“)这种从给目录开头的一长串路经”叫做绝对路径“; 进入图片目录(”cd .. /图片/“)".."代表当前路径的上级路径,相对于当前的目录而言的”叫做相对路径“,(”.“)代表当前路径; 如果,想快速切换,上一个所在目录可以(”cd - / cd..“); 如果,想快速切换,追原始的目录可以(”cd --“); 查看目录及文件
42 14
|
25天前
|
Linux 将所有文件和目录名重命名为小写
Linux 将所有文件和目录名重命名为小写
28 3
|
3月前
|
linux积累-core文件是干啥的
核心文件是Linux系统在程序崩溃时生成的重要调试文件,通过分析核心文件,开发者可以找到程序崩溃的原因并进行调试和修复。本文详细介绍了核心文件的生成、配置、查看和分析方法
231 6
|
1月前
|
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
79 24
Linux系统之whereis命令的基本使用
|
15天前
|
Linux od命令
本文详细介绍了Linux中的 `od`命令,包括其基本语法、常用选项和示例。通过这些内容,你可以灵活地使用 `od`命令查看文件内容,提高分析和调试效率。确保理解每一个选项和示例的实现细节,应用到实际工作中时能有效地处理各种文件查看需求。
45 19
|
26天前
|
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
129 25

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等