linux下的文件类型
在Linux中一切设备皆文件,首先来看一下Linux下的文件都有哪些分类,也就是文件类型
文件类型:普通文件(包括shell脚本,文档,音频,视频)、目录文件、设备文件(又细分为字符设备文件和块设备文件)、FIFO文件(管道文件这货存在于内存中)、还有socket文件又称套接字文件(它用于进程间的通信,管道传输就属于第三方通信机制)、最后还有链接文件(分成软链接和硬链接);
- 硬链接文件:相当于源文件的一个别名,它和源文件指向相同的inode节点(这个inode后便会细说)系统并不为它重新分配inode,其实打个比方就是一个人的真名叫张三,然后别人给他起了个外号叫张狗蛋,张狗蛋和张三其实还是同一个人。这就是硬链接。
创建硬链接:ln [ -d ] source_path target_path;
硬链接的不足之处:- 不可以在不同文件系统的文件间建立硬链接,
- 只有超级管理员用户才能为目录创建硬链接。
- 软链接文件:这个就更好理解了,其实就类似于windows下的快捷方式,这个快捷方式大小很小,因为它里面只存储了源文件的文件路径。
创建软链接:ln [ -s ] source_path target_path
软链接文件是一个新的文件,它指向源文件,包含的是另一个文件的路径,这个路径还是个绝对路径。

软链接示意图:

下面说一下inode到底是个什么玩意,我对它的理解就是文件属性的结构体,他的数据包括:文件所属的组,拥有者,文件类型,文件大小,文件权限,时间戳,创建时间,修改属性的时间,修改文件内容的时间,硬链接数,额外标识,还有指向数据块的指针。上面图中的每个方格就是一个inode节点,inode节点的编号是唯一的。
用 ls -li 命令查看当前目录下的所有文件属性。
下面从左到右依次分析数据的含义;8004代表的就是inode节点编号,第二段一连串的字母代表文件权限,第一个‘-’省略了前七位字节,然后三位三位的看,rwx是这个文件拥有者的权限:读写执行;r-x是文件所属组对这个文件的权限,也就是同一个小组的成员可以对这个文件进行读和执行的操作;然后还有个 r-x 是其他用户对这个文件具有读和可执行的权限。 数字 1 代表硬连接数,每个新建的文件硬链接数就是1,然后是 文件所有者 文件所属组这个文件的所属组合所有者都是root,接下来是文件或目录大小,后面是文件创建的时间,9月18日,18:20,最后是文件或目录名称。
后面老师讲的就是在Linux下用C语言操作文件,解释了一些文件函数以及函数中的参数和返回值。记得有句话很深刻,C语言中的文件读取和写入对象直接就是操作文件本身,而java的是从硬盘上读取和写入这还是有区别的。
目前笔主了解的就这些,还是有许多不足之处,希望大家批评指正共同进步!
linux下的文件类型的更多相关文章
- linux系统的文件类型学习
linux是一个文件型操作系统,在linux下一切皆文件. 目录.字符设备.块设备.管道.套接字.符号连接文件等在linux下统统都是文件. linux下的文件类型分为以下几种类型: 1. 正规文件, ...
- Day3(1)linux文件系统及文件类型
Linux的文件系统 根文件系统(rootfs) root filesystem LSB,FHS:(FileSystem Heirache Standard) /etc,/usr,/var,/root ...
- Linux下的文件及文件后缀名
Linux下的文件及文件后缀名 2013-03-14 15:34 6969人阅读 评论(0) 收藏 举报 ++++++++++++++++++++++++++++++++++++++正文+++++++ ...
- 5 个在 Linux 中管理文件类型和系统时间的有用命令
对于想学习 Linux 的初学者来说要适应使用命令行或者终端可能非常困难.由于终端比图形用户界面程序更能帮助用户控制 Linux 系统,我们必须习惯在终端中运行命令.因此为了有效记忆 Linux 不同 ...
- linux下各文件夹的结构说明及用途介绍
linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /ho ...
- 【转】linux下各文件夹的结构说明及用途介绍
linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /home:用户主目录 ...
- Linux下的文件与目录权限
一.用户(User).群组(Group)和其他人(Others) linux是多用户多任务的操作系统,同一时刻可能会有多个用户登录系统,考虑到文件的安全性等问题,所以Linux下的文件都属于一个特定的 ...
- 在Linux下搜索文件
在Linux下搜索文件============================= 1,which 查找可执行文件的绝对路径 [root@aminglinux ~]# which cat /bin/ca ...
- Linux下各文件夹的结构说明及用途介绍(转载)
linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /home:用户主目录 ...
随机推荐
- (数据科学学习手札100)搞定matplotlib中的字体设置
本文示例文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 matplotlib作为数据可视化的利器,被广泛 ...
- Jmeter(4)断言
Jmeter添加断言,检查测试中得到的响应数据是否符合预期.以下介绍下响应断言,JSON断言 一.响应断言 1.创建测试计划: 添加线程组->添加取样器->添加察看结果树,运行后可查看接口 ...
- zookeeper集群&伪集群模式部署
1.什么是单机部署 一台服务器上面部署一个单机版本的zookeeper服务,用于提供服务. 2.什么是集群部署? 集群部署就是多台服务器上面各部署单独的一个zookeeper服务,然后组建一个集群 3 ...
- Docker(五):Docker安装Elasticsearch
查找ElasticSearch镜像 镜像仓库 https://hub.docker.com/ 下拉镜像 docker pull elasticsearch:7.7.0 查看镜像 docker imag ...
- 如何正确运用break、continue和return
break.continue和return 一.break 作用:跳出(离break语句最近的)循环 栗子: for(int i = 1;i <= 100;i++){ System.out.pr ...
- 5、Mycat安全
1.权限配置 [1].user标签 目前 Mycat 对于中间件的连接控制并没有做太复杂的控制,目前只做了中间件逻辑库级别的读写权限控制.是通过 server.xml 的 user 标签进行配置. # ...
- EF Core扩展工具记录 批量操作 记录修改删除历史 动态linq
Microsoft.EntityFrameworkCore.UnitOfWork Microsoft.EntityFrameworkCore的插件,用于支持存储库,工作单元模式以及支持分布式事务 ...
- Blogs模板选择及基础代码设置
#1.皮肤选择 #2.页面定制 CSS 代码 @font-face { font-family: 'FontAwesome'; font-style: normal; font-weight: nor ...
- NAT、端口映射、内网穿透、公网IP都是啥
原文地址:https://wuter.cn/1756.html/ 一.IPv4地址 IP协议是为计算机网络相互连接进行通信而设计的协议,它是能使连接到网上的所有计算机网络实现相互通信的一套规则. 这里 ...
- springboot实现mybaitis逆向工程
springboot实现mybaitis逆向工程 首先引入依赖,一共需要两个依赖(一个是mybaits依赖,一个是mybatis逆向工程插件) <dependency> <group ...