Linux中所有内容都是以文件的形式保存和管理,所以一切皆是文件。
普通文件是文件目录是文件硬件设备是文件套接字、网络通信等资源也都是文件。
Linux文件类型如下:
1、普通文件:类似mp4、jpg、html这样,可直接拿来使用的文件都属于普通文件。
2、目录文件:对于习惯Windows系统的用户来说,目录是文件可能不太好接受。在Linux中,目录文件包含了此目录中各个文件的文件名以及指向这些文件的指针,打开目录等同于打开目录文件,也就是说,只要有权限,可以随意访问目录中的任何文件。
3、字符设备文件以及块设备文件:通常隐藏在/dev/目录下,当进行设备读取或外设交互时才会被使用。
4、套接字文件:套接字文件一般隐藏在/var/run/目录下,用于进程间的网络通信。
5、符号链接文件:类似于Windows中的快捷方式,是指向另一文件的指针。
6、管道文件:主要用于进程间通信。
Linux文件类型常见的有:普通文件、目录文件、字符设备文件和块设备文件、符号链接文件等,现在我们进行一个简要的说明。1、普通文件
我们用
ls
-lh
来查看某个文件的属性,可以看到有类似-rwxrwxrwx,值得注意的是第一个符号是
-
,这样的文件在Linux中就是普通文件。这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具、归档工具...
....
或
cp工具等。这类文件的删除方式是用rm
命令。
2、目录文件
当我们在某个目录下执行,看到有类似
drwxr-xr-x
,这样的文件就是目录,目录在Linux是一个比较特殊的文件。注意它的第一个字符是d。创建目录的命令可以用
mkdir
命令,或cp命令,cp可以把一个目录复制为另一个目录。删除用rm
或rmdir命令。
3、字符设备或块设备文件
区块(block)设备文件
:就是一些储存数据,
以提供系统随机存取的接口设备,举例来说,硬盘与软盘等就是啦。
你可以随机的在硬盘的不同区块读写,这种装置就是成组设备。你可以自行查一下/dev/sda看看,
会发现第一个属性为[
b
]。
字符(character)设备文件:亦即是一些串行端口的接口设备,
例如键盘、鼠标等等。这些设备的特色就是一次性读取的,不能够截断输出。
举例来说,你不可能让鼠标跳到另一个画面,而是滑动到另一个地方。第一个属性为
[
c
]。
4.
数据接口文件(sockets):
数据接口文件(或者:套接口文件),这种类型的文件通常被用在网络上的数据承接了。我们可以启动一个程序来监听客户端的要求,
而客户端就可以透过这个socket来进行数据的沟通了。第一个属性为
[
s
],
最常在/var/run这个目录中看到这种文件类型了。
5、符号链接文件:
当我们查看文件属性时,会看到有类似
lrwxrwxrwx,注意第一个字符是l,这类文件是链接文件。是通过ln
-s
源文件名
新文件名创建的。这和Windows *** 作系统中的快捷方式有点相似。
Linux的文件类型分为普通文件、d目录文件、b块设备文件、c字符设备文件(串口设备)、s套接字文件(特殊文件scoket)、l链接文件。
例如下图,d开头的是目录文件,-开头的是普通文件,l开头的是链接文件
以touch,cp,tar,echo,cat等工具命令创建的文件都是普通文件,普通文件又分为以下三种:
1)纯文本文件:文件内容可以直接读取到数据(ASCL text)
2)二进制文件:linux中可执行文件(命令)
3)数据格式文件(一种特殊的文件 data)
ls -ld可以显示所有的目录文件
linux系统中的链接文件与WIN系统的快捷方式基本差不多,linux中链接文件又分为硬链接与软链接。
硬链接: 是指通过索引节点来进行链接,在系统中多个文件各指向同一个索引节点,是可以的正常允许的,这种情况下的文件被称之为硬链接。实际生产环境中用户可以通过硬链接的方式来防止误删重要数据。
ln 源文件名 链接文件名 创建硬链接文件
软链接: 也称符号链接(快捷方式),实际上它是一个文本文件,它存储着指向源文件链接的位置信息。
ln -s 源文件名 链接文件名 创建软链接文件
另外要注意目录是不可以创建硬链接文件的,但可创建软链接文件,如下图:
关于文件的软链接和硬链接,总结起来有以下四种情况:
1)删除源文件时,硬链接文件正常使用,软链接文件就失效了。
2)删除硬链接时,对源文件与软链接无影响。
3)删除软链接时,对源文件与硬链接无任何影响。
4)删除源文件、硬链接文件后,整个文件就会被删除。
对于目录的软链接和硬链接,总结如下:
1)目录是不可创建硬链接文件,可以创建软链接文件。
2)目录的软链接是生产环境中非常实用的。
3)所有目录都有一个硬链接“.”,目录硬链接是不可跨越文件系统的。
Linux文件的扩展名主要是为了方便区分不同的文件,和windows的强类型扩展名不一样。
1、.tar .tar.gz .tgz .zip 这类表示压缩文件
2、.sh 表示shell脚本文件
3、.html .php .jsp 网页文件
4、.conf 系统服务的配置文件
5、.rpm 表示RPM安装包文件
每一个文件都有自己的属性信息,它的属性信息包括:索引节点、文件类型、权限信息、所有者、所属组、最近修改时间、大小、文件名或目录名、硬链接数量。
我们以下图的cron.daily这个文件为例,d表示文件类型是目录文件,rwxr-xr-x这个表示权限,第一个rwx表示的文件所有者用户的权限,第二个r-x表示的是所属组的权限,第三个r-x表示的是其他用户的权限。2表示硬链接数量,第一个root表示文件所有者是root,第二个root表示所属组,42表示文件大小,May 27 2021表示最后的修改时间,corn.daily是文件名称。
其中的索引节点编号需要通过ls -i才能看到,在最左边显示的那一串数字,如下图所示:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)