今天看了一个关于Linux系统安全的视频教程,这个教程有很多的知识点,我会分几篇博文将我的笔记分享出来。

首先是关于Linux文件系统类型的一些知识,Linux有四种常见的文件系统类型(网上大多数是3种,但我觉得链接文件类型应该也算作一种)。

1.普通文件(Ordinary File)

普通文件分为两种:文本文件与二进制文件

a.文本文件

以ASCII码形式存储,可用文本编辑器查看。

下面通过一个示例来加深印象,我在home目录下新建了一个无标题文档:

下面我用 ls -l 无标题文档 来查看这个文件的类型,可以看到结果如下:

最左边以-开头代表该文件是普通文件(后面我会总结一下各文件类型的开头标志)

b.二进制文件

以二进制形式存储,用户一般不能直接读懂,通常是可执行程序、图形、图像、声音等。

我在home目录下存储了一个.png的图像文件:

下面我用 ls -l 无标题文档 来查看这个文件的类型,可以看到结果如下:

2.目录文件(Directory)(简称:目录)

存储一组相关文件的位置、大小等与文件相关的信息。

下面我用 ls -l 来查看home目录下各文件的类型,可以看到结果如下:

可以看到以d开头的各个文件都是目录文件。

3.设备文件(Device File)

设备文件是Linux中管理设备的文件,Linux将所有的I/O设备视作文件,与普通文件同等处理。

设备文件又分为块设备文件字符设备文件,前者存取以字符块为单位,后者存取以字符为单位。

下面我用dev目录下的一些文件来作为示例:

首先,cd /dev 进入到dev目录下。

然后,用 ls -l  命令来查看文件类型:

以b,c开头的文件分别是块设备文件,字符设备文件。

4.链接文件

即指向另一文件的文件

我用 ls -l  ./桌面/PDF 来查看我新建一个链接文件的文件类型(PDF是我新建的一个链接文件名):

可以看到,以l开头的代表了链接文件,而->后面指向的是所链接的文件真正所在的目录。

P.S.

-      普通文件

d     目录文件

b     块设备文件

e     字符设备文件

p     管道设备

l       链接文件

Linux系统安全学习笔记(1)-- 文件系统类型的更多相关文章

  1. 《手把手教你构建自己的 Linux 系统》学习笔记(10)

    目录 /etc/fstab 文件的作用是什么? Linux 内核的图形化启动是怎么回事? Linux 系统中的文件名是否以大小写来进行区别? 「GRUB 中无法找到硬盘」怎么解决? 「GRUB 及配置 ...

  2. 《手把手教你构建自己的 Linux 系统》学习笔记(8)

    目录 Binutils 软件包有什么用? make -k 的作用是什么? man-pages 里有几种文档?分别表示什么意思? 如何查询指定目录的 man-pages ? 如何使用 make 命令的同 ...

  3. 《手把手教你构建自己的 Linux 系统》学习笔记(6)

    目录 /dev 目录是干什么的? /proc 和 /sys 目录是干什么的? udev 这个软件是干什么用的? 目录映射是临时性的,还是永久性的? 命令行里大括号 "{}" 的作用 ...

  4. 《手把手教你构建自己的 Linux 系统》学习笔记(2)

    Linux 系统定制原理 虚拟根目录 我们的目标是为了完成目标系统(也就是我们要做的系统),他是一个可以独立运行的系统,不依赖雨主系统和临时系统,根据 Linux 系统的特点它需要存放在根目录下面,但 ...

  5. 《手把手教你构建自己的 Linux 系统》学习笔记(9)

    目录 autoreconf 命令的作用是什么? aclocal automake -a autoconf 一条命令搞完三面三步 既然有其他的「编译控制软件」为何还是使用 make 来进行编译控制? M ...

  6. 《手把手教你构建自己的 Linux 系统》学习笔记(5)

    交叉编译是什么? 交叉编译就是在一个系统上,编译生成另外一个系统运行的程序文件. 「硬件体系结构」和「操作系统」的关系是什么? 硬件体系结构也可以称为架构,主要是通过 CPU 的指令集来进行区分的,操 ...

  7. 《手把手教你构建自己的 Linux 系统》学习笔记(1)

    第二章.基础准备--Linux 系统定制原理 Linux 系统的组成及架构 共享库和静态库 在 Linux 系统中,函数库包含两种形式:共享库和静态库. 共享库 共享库在程序运行时,为其提供所需要的函 ...

  8. 《手把手教你构建自己的 Linux 系统》学习笔记(7)

    目录 tee 命令的缺陷是什么?如何解决这个缺陷? /etc/ld.so.conf 文件的作用是什么? 动态链接和静态链接有什么不同? 动态编译 静态编译 共享库为什么会有版本?共享库的版本升级原理是 ...

  9. 《手把手教你构建自己的 Linux 系统》学习笔记(4)

    汇编链接器(Binutils) 这是一个软件包,这个软件包其实是一个工具集,里面含有了大量的用于汇编程序活着读取二进制文件相关的程序. CC 它是一条命令的别名,这条命令的作用是使用 GCC 的 C ...

随机推荐

  1. Vue之vue-cli安装与简单调试

    一.安装nodejs https://nodejs.org/en/download/ nodejs简单使用 node -v 查看版本 npm -v 查看对应npm版本 如果npm版本太低小于 4.0 ...

  2. SqlAlchenmy基本使用

    #简单查询 print(session.query(User).all()) print(session.query(User.name, User.fullname).all()) print(se ...

  3. SPI设计

    目录 SPI设计 概述 寄存器配置 title: SPI设计 tags: ARM date: 2018-11-05 15:22:59 --- SPI设计 概述 在SPI协议中,有两个值来确定SPI的模 ...

  4. Linux虚拟内存(swap)调优篇-“swappiness”,“vm.dirty_background_ratio”和“vm.dirty_ratio”

      Linux虚拟内存(swap)调优篇-“swappiness”,“vm.dirty_background_ratio”和“vm.dirty_ratio” 作者:尹正杰 版权声明:原创作品,谢绝转载 ...

  5. OS + Linux nmon / nmon analyser / nmon_analyser_v52_1.zip

    s nmon_analyser_v52_1.zip https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Pow ...

  6. Java从resources文件夹读取配置文件

    列举了2种方式,第一种是绝对路径,就是写死路径,不推荐 第二种是相对路径,使用到了ClassLoader package com.StadyJava.day22; import java.io.Fil ...

  7. ruby新建web项目步骤,使用mysql数据库

    1.创建一个项目 指定数据库 rails new demo02 -d mysql 2.修改 config/database.yml 修改数据库密码 default: &default adap ...

  8. 原生JavaScript运动功能系列(二):缓冲运动

    匀速运动实现回顾 缓冲运动剖析 示例实现 方法提取 匀速运动实现回顾及缓冲运动剖析: 在这个系列的上一篇博客中原生JavaScript运动功能系列(一):运动功能剖析与匀速运动实现就运动的核心功能组成 ...

  9. 上传文件服务与web服务分离

    业务场景:1. 后端服务为java web应用,使用tomcat容器,多实例集群化部署.2. 前端使用nginx作为后端应用的反向代理. 业务需求:现在需要在java web应用端上传文件,同时还要能 ...

  10. 三、文件IO——系统调用(续)

    3.2.4 read 函数--- 读文件 read(由已打开的文件读取数据) #include<unistd.h> ssize_t read(int fd, void * buf, siz ...