在Linux中,一切皆文件,因此我们需要对Linux下的文件系统有个清楚的认识。

文件属性

在Linux中,我们可以通过ls -l或者ll查看具体文件信息。


注意:ls命令是用于查看当前路目录下的文件名,但是不能查看文件属性。

文件属性具体都有哪些:

  • 以‘-’开头的都为普通文件。

  • 以d开头的文件为目录文件
  • 以b开头的文件为设备文件(硬盘、光驱)
  • 以l开头的文件为链接文件
  • 以p开头的文件为管道文件

文件权限

其中对应的权限分别为:

  • r可读
  • w可写
  • x可操作

如果我们需要查看一个文件的权限,我们可以使用ls l搭配使用。


上面这个文件,其中所有者的权限为可读可写,所属组的权限为可读可写,其余权限为可读。

软链接与硬链接

  • 软链接文件
    类似于一个快捷方式,在Linux中软链接文件类似于文本文件。类似于一个文本文件包含着另一个文件的位置信息内容,因此我们可以通过这个“快捷文件”访问到软链接的源文件,对该”快捷方式“进行读写的时候,实质就是对软链接源文件进行操作,但是删除该”快捷方式“的时候,不会删除源文件。

  • 硬链接文件
    类似于一个文件的别名,我们对文件硬链接文件进行操作的时候,首先通过这个别名找到对应的源文件,再对源文件进行操作。在删除硬链接文件的时候,系统是不会删除硬链接的源文件。如果删除硬链接的源文件,则硬链接的文件不会删除,并且保存其原本的数据。因此硬链接文件可以预防”误删“的操作。

区别

  • 硬链接文件不占用磁盘空间,仅仅是给其增加了一个别名(目录)
  • 软链接占磁盘空间,由于其本质是一个快捷方式,因此其占用的内存也不是很多。
  • 不能对目录创建硬链接。
  • 不能跨文件系统创建硬链接文件。

文件描述符

当我们打开或者创建一个文件的时候,Linux内核会向一个进程发送一个文件的描述符。一个进程启动的时候,默认会打开3个文件(0标准输入、1标准输入、2标准错误)
int creat(const char* pathname,mode_t mode);

  • pathname:创建文件的路径
  • mde:文件权限
#include<stdio.h>
#include<fcntl.h>int main()
{int fd = -1;char filename[] = "/root/text.txt";//创建文件的路径fd = creat(pathname,066);if(fd == -1){printf("文件创建失败\n");}else{printf("文件创建成功\n");}return 0;
}

Linux---文件、软链接于硬链接文件相关推荐

  1. linux中软链接和硬链接,Linux中软链接和硬链接的区别

    Linux中软链接和硬链接的区别 链接文件: Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link). Inode 文 ...

  2. Linux创建软链接和硬链接的命令

    Linux创建软链接和硬链接的命令 link oldfile newfile # 硬链接 ln oldfile newfile # 硬链接 ln -s old.file soft.link # 软链接 ...

  3. linux文件软链接与硬链接

    1.命令格式: ln [参数][源文件或目录][目标文件或目录] 软链接只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间. 2.命令功能: Linux文件系统中,有所谓的链接(link),我们 ...

  4. Linux下如何查看一个文件是否拥有软链接或硬链接文件?

    问题1:我创建了一个硬链接文件,但是我不知道放在那里了,请问怎么办? 思路: 查找文件可以利用find命令. 硬链接的特性,不会跨文件系统,所以源文件在哪个文件系统中,就在那里找 硬链接文件和源文件具 ...

  5. centos7删除符号链接_面试 | Linux 下软链接和硬链接的区别

    在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件 目录文件 链接文件 设备文件 在之前的文章<阿里面试题 | Nginx 所使用的 epoll 模型是什么? ...

  6. linux 软链接_面试 | Linux 下软链接和硬链接的区别

    在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件 目录文件 链接文件 设备文件 在之前的文章<阿里面试题 | Nginx 所使用的 epoll 模型是什么? ...

  7. linux系统-软链接与硬链接区别

    目录 引言 硬盘 软.硬链接方式 硬链接 软链接 问题 引言 在介绍硬链接和软链接之前,首先介绍下硬盘相关的知识,主要是了解下 inode . 硬盘 硬盘设备是由大量的扇区组成的.以 MBR 分区为例 ...

  8. linux目录和链接的区别,Linux 下软链接和硬链接的区别

    在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件 目录文件 链接文件 设备文件 在之前的文章<阿里面试题 | Nginx 所使用的 epoll 模型是什么? ...

  9. Linux建立软链接、硬链接

    软链接 说明:软链接仅仅包含所链接文件的路径名,因此能链接目录文件,也可以跨越文件系统进行链接.但是,当原始文件被删除后,链接文件也将失效. 1.软链接,以路径的形式存在.类似于Windows操作系统 ...

最新文章

  1. Java学习总结:45(字符编码)
  2. MySQL 的存储引擎
  3. python生成gif【简明教程】
  4. Java 必看的 Spring 知识汇总!
  5. 程序员交流平台_「建议收藏」10个适合程序员逛的在线社区
  6. CVPR 2017 ECO:《ECO: Efficient Convolution Operators for Tracking》论文笔记
  7. 数据库相关中间件收录集
  8. 2017级面向对象程序设计——团队作业1
  9. WPF教程六:布局之Grid面板(转)
  10. TweenLite中文帮助手册
  11. 世事无常,深信服及其他
  12. sencha touch Container控件 setRecord 与 setData的区别
  13. 雇员查询java面试题经典29例【第八季_常瑞鹏】
  14. spring5之容器始末源码赏析 (一)总览
  15. iweboffice之word——功能简介
  16. 微生物组β-多样性——PCoA分析及可视化
  17. 四川师范大学人文地理(7-13章)95分版本提纲
  18. 声学参数-基频-Librosa标准: 基频的文字定义和用librosa提取wav文件基频
  19. C语言 指针的解引用详解
  20. 重心在哪里(简单数学题)

热门文章

  1. 基于HTML5的iPad电子杂志横竖屏自适应方案
  2. 安装chrome插件
  3. java学习日记(1-7)
  4. Linux环境下查看网络性能的基本命令
  5. WiFi(网络)调试Android手机
  6. java中输入方式Scanner和BufferedReader
  7. RH413-Linux系统下的SUID文件权限测试
  8. spring整合hibernate初步
  9. 在java语言中_类间的继承关系是_【填空题】在Java程序里类之间的继承关系只能是________。...
  10. Intellij IDEA-我常用的快捷键