在Linux中一切设备皆文件,首先来看一下Linux下的文件都有哪些分类,也就是文件类型
文件类型:普通文件(包括shell脚本,文档,音频,视频)、目录文件、设备文件(又细分为字符设备文件和块设备文件)、FIFO文件(管道文件这货存在于内存中)、还有socket文件又称套接字文件(它用于进程间的通信,管道传输就属于第三方通信机制)、最后还有链接文件(分成软链接和硬链接);

  • 硬链接文件:相当于源文件的一个别名,它和源文件指向相同的inode节点(这个inode后便会细说)系统并不为它重新分配inode,其实打个比方就是一个人的真名叫张三,然后别人给他起了个外号叫张狗蛋,张狗蛋和张三其实还是同一个人。这就是硬链接。
    创建硬链接:ln [ -d ] source_path target_path;
    硬链接的不足之处:

    1. 不可以在不同文件系统的文件间建立硬链接,
    2. 只有超级管理员用户才能为目录创建硬链接。
  • 软链接文件:这个就更好理解了,其实就类似于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下的文件类型的更多相关文章

  1. linux系统的文件类型学习

    linux是一个文件型操作系统,在linux下一切皆文件. 目录.字符设备.块设备.管道.套接字.符号连接文件等在linux下统统都是文件. linux下的文件类型分为以下几种类型: 1. 正规文件, ...

  2. Day3(1)linux文件系统及文件类型

    Linux的文件系统 根文件系统(rootfs) root filesystem LSB,FHS:(FileSystem Heirache Standard) /etc,/usr,/var,/root ...

  3. Linux下的文件及文件后缀名

    Linux下的文件及文件后缀名 2013-03-14 15:34 6969人阅读 评论(0) 收藏 举报 ++++++++++++++++++++++++++++++++++++++正文+++++++ ...

  4. 5 个在 Linux 中管理文件类型和系统时间的有用命令

    对于想学习 Linux 的初学者来说要适应使用命令行或者终端可能非常困难.由于终端比图形用户界面程序更能帮助用户控制 Linux 系统,我们必须习惯在终端中运行命令.因此为了有效记忆 Linux 不同 ...

  5. linux下各文件夹的结构说明及用途介绍

    linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令.   /dev:设备特殊文件.   /etc:系统管理和配置文件.   /etc/rc.d:启动的配 置文件和脚本.   /ho ...

  6. 【转】linux下各文件夹的结构说明及用途介绍

    linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /home:用户主目录 ...

  7. Linux下的文件与目录权限

    一.用户(User).群组(Group)和其他人(Others) linux是多用户多任务的操作系统,同一时刻可能会有多个用户登录系统,考虑到文件的安全性等问题,所以Linux下的文件都属于一个特定的 ...

  8. 在Linux下搜索文件

    在Linux下搜索文件============================= 1,which 查找可执行文件的绝对路径 [root@aminglinux ~]# which cat /bin/ca ...

  9. Linux下各文件夹的结构说明及用途介绍(转载)

    linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /home:用户主目录 ...

随机推荐

  1. APIO2012 苦无 Kunai

    这题网上貌似还没有完整的题解呢,我来口胡一下~ Description \(W \times H\) 的二维坐标系,\(W, H \le 10^9\) 给 \(n (n \le 10^5)\) 个点 ...

  2. tornado 网页提交内容 展示内容作业

    s2.py import tornado.ioloop import tornado.web text_list=[] class MainHandler(tornado.web.RequestHan ...

  3. DBeaver连接MySQ报错

    遇错情况:第一次使用DBaver连接MySQL遇到以下问题: 报错信息:Public Key Retrieval is not allowed 截图如下: 解决方案步骤: 一.已有连接的情况:F4或者 ...

  4. MySQL02-约束

    1.DQL查询语句 1.1 排序查询 语法:order by 排序字段1 排序方式1 ,  排序字段2 排序方式2... 排序方式: ASC:升序,默认的. DESC:降序. 注意: 如果有多个排序条 ...

  5. 为什么类只能用public修饰?

    为什么类只能使用public修饰? 首先,类只能使用public修饰是一个伪命题,应该说我们只见到过使用public修饰的类,还有一些类没有访问修饰符,此时访问权限为default.其次,类实际上分为 ...

  6. 一个 Spark 应用程序的完整执行流程

    一个 Spark 应用程序的完整执行流程 1.编写 Spark Application 应用程序 2.打 jar 包,通过 spark-submit 提交执行 3.SparkSubmit 提交执行 4 ...

  7. 持久层之 MyBatis: 第二篇 :动态SQL And多表查询

    MyBatis入门到精通 完整CRUD UserDaoImpl 编写UserDao对应的UserDaoMapper.xml 添加UserDao的测试用例 编写UserDao的测试用例 解决数据库字段名 ...

  8. 一个小技巧助您减少if语句的状态判断

    作者:依乐祝 首发地址:https://www.cnblogs.com/yilezhu/p/14174990.html 在进行项目的开发的过程中, if 语句是少不了的,但我们始终要有一颗消灭 if  ...

  9. javascript笔记day01

    JavaScript基础语法 HTML :标记语言 JavaScript :编程语言 序言 JavaScript发展历史(JS) 1. 1994年,网景公司(Netscape)发布了Navigator ...

  10. 二、LINUX文本处理三剑客之grep

    1. grep一般格式:grep [选项] 基本正则表达式 [文件],其中基本正则表达式需要用引号引起来 引号引起来的作用:a.防止被误解为shell命令,b.可以用来查找多个单词组成的字符串 gre ...