在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. CSP-S 2020 题解

    赛后我重拳出击,赛场上我却爆零.哎. 题解本人口胡.有错请各位大佬们指出. A. 儒略日 这题是大型模拟题. 介绍两种写法:一种代码量致死(赛 场 自 闭),一种是非常好写的. 写法 1 我在赛场的思 ...

  2. 【SDOI2017】相关分析(线段树)

    Description 你需要维护一个长度为 \(n\) 的实数对的序列,第 \(i\) 个元素为 \((x_i, y_i)\).现有 \(m\) 次操作: \(\texttt{1 L R}\):设区 ...

  3. 题解-洛谷P4859 已经没有什么好害怕的了

    洛谷P4859 已经没有什么好害怕的了 给定 \(n\) 和 \(k\),\(n\) 个糖果能量 \(a_i\) 和 \(n\) 个药片能量 \(b_i\),每个 \(a_i\) 和 \(b_i\) ...

  4. 汉化gitlab

    一.,基于 Larry Li 版汉化指南 修改 (以9-0-stable-zh分支为例) 源码安装汉化 推荐按照 gitlab-ce 源代码中 doc/install/installation.md ...

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

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

  6. 微信小程序 rich-text 修改照片

    <view> <rich-text nodes="{{delcon}}" /> </view> data: { delcon:'' }, var ...

  7. python 字典常用操作

    字典键是唯一的,但值则不是 一个简单的字典 dict = {"guo":"1106","tang":"0809",&qu ...

  8. 题解 P1579 【哥德巴赫猜想(升级版)】

    蒟蒻AC代码,讲解请看题解中. 1 #include<bits/stdc++.h> 2 #include<iostream> 3 #include<cmath> / ...

  9. Spark性能调优篇二之重构RDD架构及RDD持久化

    如果一个RDD在两个地方用到,就持久化他.不然第二次用到他时,会再次计算. 直接调用cache()或者presist()方法对指定的RDD进行缓存(持久化)操作,同时在方法中指定缓存的策略. 原文:h ...

  10. 任务队列--nodejs

    很多项目可能都会涉及到任务队列来进行任务处理和维护的,那么需要使用到redis或者第三方库(使用redis)来实现任务队列,甚至需要控制并发量,但是对于saas部署来说使用redis可能会比较麻烦和成 ...