Linux 中的文件类型

目录

Linux文件类型说明

软链接

软链接特点

软链接工作过程

        正常原文件a工作流程

        文件a的软链接工作流程

硬链接

硬链接的特点

文件a的硬链接工作流程

软链接与硬链接的比较

测试软链接以及硬链接

1.进入根目录

2.创建test目录

3.进入test目录中,并创建a文件

4.创建硬链接

5.创建软链接

6.向文件中添加内容,并查询

7.删除源文件a

8.重新创建源文件a

文件操作命令

1.touch命令

        语法格式

        示例

        特点

        参数以及功能

2.stat命令

        示例

3.mv命令

        语法格式

        示例

4.rm命令

        语法格式

        参数及功能

5.ln命令 

        语法格式

        参数及功能

 6.mkdir命令

        语法格式


Linux文件类型说明

使用‘ls-l’命令查看到的第一个字符文件类型说明
-普通文件类似Windows的记事本
d目录文件类似于Windows的文件夹
c字符设备文件可供存储的接口设备,随机读写,硬盘
b块设备文件可存储的接口设备,随机读写,硬盘
p管道文件用于进程间的通信
S套接字文件通常用于网络上的通信。可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行数据通信
I符合链接,又称为软连接,和原文件不是一个文件例如Windows的快捷方式,如果原文件被删除,所有指向它的符号链接也就都被破坏了。软连接有自己的node,是Linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径。符合链接可以跨越文件系统,也可以为目录建立

软链接

软链接特点

        有点类似Windows上的桌面快捷方式

  1. 和文件不是一个文件

  2. 查看软链接的时候,内容和源文件一模一样内容修改保持一致

  3. 只要原文件在,则可以无限创建

  4. 原文件删除,则软链接还在,但是看不到内容

  5. 保存的是原文件的路径

软链接工作过程

        正常原文件a工作流程

        通过原文件a的Inode节点号--->在indoe table中去找节点号 -->在block寻找对应的块 -->将内容读取到屏幕

        文件a的软链接工作流程

注意:

        如果删除当前原文件a,然后新建一个原文件a(与源文件a路径相同

        软链接工作流程

        原因 --- 软链接中保存的是原文件的路径

硬链接

硬链接的特点

  1. 和源文件有相同的inode,存放内容的块也是一样

  2. 查看硬链接的时候,内容和源文件一模一样,内容修改保持一致

  3. 源文件被删除硬链接还在,可以看到内容

文件a的硬链接工作流程

        a.hard(源文件a的硬链接)--> 寻找源文件a在inode table中的节点号 --> 通过节点号访问block中对应的块 --> 读取内容到屏幕上

注意:

        如果删除源文件a,则此时硬链接a.hard可以访问内容

        注意 --- 当硬链接和源文件同时删除时,整个文件都被删除

软链接与硬链接的比较

硬链接
符号链接(软链接)
不同点
使用不带选项-s的ln命令创建使用带选项-s的ln命令创建
只能在与源文件相同的文件系统、分区和挂载设备上创建可跨越不同的文件系统、分区和挂载设备创建
只能针对文件创建硬链接,不能针对目录针对文件和目录均可建立软链接
具有硬链接关系的两个文件名指向的是硬盘上的同一块存储空间一个文件(或目录)指向另外一个文件(或目录)的文件名(或目录名),类似于Windows系统中的快捷方式
删除硬链接的任何一方文件后,另一方文件仍然有效删除源文件或目录后,软链接文件或目录无效
相同点对任何一方的内容进行修改都会影响到另一方

链接文件都不会将源文件复制一份,只会 占用非常少量的用于存储链接信息的存储空

测试软链接以及硬链接

1.进入根目录

[root@localhost ~]# cd /

2.创建test目录

[root@localhost /]# mkdir test

        测试

[root@localhost /]# ls

注意 :

        创建前需要先检查是否含有test,因为Linux中不能自动补全 .XXX,所以不能同名

3.进入test目录中,并创建a文件

[root@localhost /]# cd /test
[root@localhost test]# touch a

        测试

4.创建硬链接

[root@localhost test]# ln /test/a a.hard

        测试

5.创建软链接

[root@localhost test]# ln -s /test/a a.soft

        测试

6.向文件中添加内容,并查询

向文件a中添加

[root@localhost test]# echo 123 > a

查询

[root@localhost test]# cat a a.hard a.soft 

向硬链接中添加

[root@localhost test]# echo 23 >a.hard 

查询

向软链接中添加

[root@localhost test]# echo 33 > a.soft 

查询

[root@localhost test]# stat a a.hard a.soft 

LInks 为2的原因:

        因为硬链接与源文件的路径相同,所以此时的连接数目为2

Size --- 大小 --- 当前文件所占字节数

7.删除源文件a

[root@localhost test]# rm a

 测试

[root@localhost test]# ll

[root@localhost test]# cat a a.hard a.soft 

No such file or directory --- 没有这样的文件或目录 

8.重新创建源文件a

[root@localhost test]# echo 123 > a

        测试

[root@localhost test]# ll

[root@localhost test]# cat a a.hard a.soft 

a.hard不一样,原因

        当原文件删除时,硬链接还可以访问原文件,所以当原文件重新创建时因为对应的节点号与之前不同

[root@localhost test]# stat a a.hard a.soft 

文件操作命令

1.touch命令

        修改空文件更新已有文件目录的修改日期

语法格式

        touch 文件或目录名列表

示例

[root@localhost test]# touch b

特点

        若指定文件或目录已存在,则将文件或目录的日期时间修改为当前系统的时间和日期

        若文件不存在,则以指定的文件名创建空文件

参数以及功能

参数功能
-d yyyymmmdd把文件的存取修改时间,改为yyyy年mm月dd日
-a只把文件的存取时间改为当前时间
-m只把文件的修改时间改为当前时间

2.stat命令

        stat(display file or file system status --- 查看文件详细信息的命令,而且看到文件的最近访问时间,最近更改时间,最近改动时间

        执行权限 --- 所有用户

        所在路径 --- /usr/bin/stat

示例

[root@localhost ~]# stat anaconda-ks.cfg
文件: "anaconda-ks.cfg"
大小: 1453 块: 8 IO 块: 4096 普通文件
设备: 803h/2051dInode: 33574991 硬链接: 1
权限: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
环境: system_u:object_r:admin_home_t:s0
最近访问: 2018-11-06 23:22:23.409038121 +0800
最近更改: 2018-10-24 00:53:08.760018638 +0800 #数据修改时间
最近改动: 2018-10-24 00:53:08.760018638 +0800 #状态修改时间
创建时间: -

注意:

        类似于Windows中的属性中的常规

3.mv命令

        用于剪切或重复名文件

语法格式

        mv 原文件名称 目标文件名称

注意:        
        剪切操作不同于复制操作,因为它会 把源文件删除掉 ,只 保留剪切后的文件 。如果在同一个目录中将某个文件剪切后还 粘贴到当前目录 下,其实本质就是 对文件 进行了 重命名操作

示例

[root@localhost test]# mv b test1

4.rm命令

        删除文件或目录,可包含一个或多个文件名(各文件间用空格分隔)或用通配符表达,已实现删除多个文件或目录。

语法格式

        rm 文件或目录名以及路径

参数及功能

参数功能
-f覆盖已经存在的目标文件不提示
-i覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件被覆盖,是交互式拷贝
-r

递归删除整个目录树

5.ln命令 

        为文件或目录建立连接

语法格式

        ln  被链接的源文件或目录  链接文件或目标目录

参数及功能

参数功能
-s建立符号链接(软链接
-f删除已存在目录文件与源文件之间的连接关系
-i交互式的删除目标文件与源文件之间的链接关系

 6.mkdir命令

        创建目录

语法格式

        mkdir 名称

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

White乄joker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值