在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. SseEmitter推送

    后端代码SseController.java package com.theorydance.mywebsocket.server; import java.util.HashMap; import ...

  2. yum源 软件仓库 国外===国内

    yum源 软件仓库 国外===国内 国内常见的软件仓库地址/yum源 1阿里云 mirrors.aliyun.com 2清华 如何修改mirrors.aliyun.com a 备份系统当前的yum [ ...

  3. uniapp-父组件数组变化同步子组件视图渲染

    项目中子组件封装的是一个picker,父组件需要传数组到子组件中. 如果父组件的数组出现变更,视图中的子组件或许不能直接刷新渲染,需要反复弹起几下才能看到. 试过深度监听,但都没有用,ref也不知道为 ...

  4. dbeaver 驱动安装

    一.背景: 在Windows 10 安装dbeaver数据库连接工具,点"测试连接"的时候出现报错如下: Error resolving dependencies   Maven ...

  5. Fastjson 1.2.47 远程命令执行漏洞复现

    前言 这个漏洞出来有一段时间了,有人一直复现不成功来问我,就自己复现了下,顺便简单记录下这个漏洞原理,以便后面回忆. 复现过程 网上已经有很多文章了,这里就不在写了.主要记录一下复现过程中遇到的问题 ...

  6. <未解决的问题>crontab 定时弹框任务

    问题:crontab写别的定时脚本就可以执行(比如说每隔一分钟就创建一个txt文件),但是写shell就不知道为什么,反弹不了 但是开启Linux终端窗口单独执行bash shell时候,(不通过re ...

  7. mysql 查询出来的内容无法显示全部

    前几天在做查询的时候,由于使用了字段拼接,所以查出来的其中一列,数据很长,但是每次显示一定的长度后,后面的就无法显示 原因是因为mysql设置查询出来的长度,好像默认是1024,因为我使用的是yii2 ...

  8. Erlang那些事儿第1回之我是变量,一次赋值永不改变

    第1回先从不变的变量说开来,学过其他编程语言的人都知道,变量之所以叫变量,是因为它会经常变,被修改.假设原本X  = 10,后来再执行X = 24,那么X就从10变成了24,这对于程序新手和老鸟来说, ...

  9. hibernate连接数据库中文乱码

    4.做完这两步还是不行,需要修改hibernate的配置文件hibernate.cfg.xml,在配置文件配置hibernate.connection.url属性.示例: <property n ...

  10. 由两个问题引发的对GaussDB(DWS)负载均衡的思考

    摘要:GaussDB(DWS)的负载均衡通过LVS+keepAlived实现.对于这种方式,需要思考的问题是,CN的返回结果是否会经过LVS,然后再返回给前端应用?如果经过LVS,那么,LVS会不会成 ...