[Linux]Linux文件系统的理解总结

Linux文件系统的理解总结

前言:在比赛当中,我们获取的flag文件并不总是在根目录、工作目录下,而是隐藏在了Linux系统当中某些位置。

参考内容 : Linux中“一切皆文件”是什么意思?刘长元大佬回答

万物皆文件

Linux中的一切对象都可以通过文件的方式访问、保存、管理。它体现了一种面向对象的设计思想。

在Linux下,

普通文件、目录、硬件设备、进程和资源甚至命令,都以文件的形式存在,如,我们可以通过读取文件的形式查看进程信息、管理设备或工具。

一个解释实例

观察下面的命令,

ls /var

实际上就是基于文件完成的,ls是存在于/bin下的工具,以64-bit ELF文件形式存在,我们可以通过file查看它的文件属性,

file /bin/ls
/bin/ls: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=de05fcef79d88af9cf9a71ed38e73af0b179bfb2, stripped

将它翻译为以下命令,

/cat/ls /var

同时,在Linux当中,目录文件存放了文件信息和指向文件的指针,执行

vim /var

你可能会惊奇的发现,目录同样是文件,皆由以上的实验,你会惊奇的发现,这个命令竟然完全是由文件完成的,这就是我们说的,Linux当中万物为文件。

常见的文件类型

我们使用ls -al命令即可查看所有文件的详细信息,

(1) 普通文件:第一列的字母为-,颜色为灰色。绿色标记可执行文件(即ELF),红色为压缩类文件。

(2) 目录文件:第一列的字母为d,颜色为(深)蓝色,目录文件保存目录下文件的文件名和inode(文件索引节点,ls -i可查看inode)。

(3) 链接文件:第一列的字母为l,颜色为(浅)蓝色,是指向文件的软连接或符号链接,可理解为win的快捷方式。

软链接的创建方式,

ln -s a SoftlinkOfa

另一种为硬链接,但是它不属于链接文件,是为原文件创建别名文件,指向相同的inode,删除原文件和硬链接其中之一互不影响,inode指向的文件不会被删除。

ln -s a HardlinkOfa

(4) 设备文件:第一列的字母为cb,颜色为黄色,在Linux当中,一切物理设备均被表示为文件,分为块设备文件(c\一般为硬盘等存储设备\随机读取)和字符设备文件(b\字节流形式读取的设备,如串口\顺序读取)。设备有自己的目录结构,当我们想使用和设备进行数据交换时,我们要将其挂载。对设备我们可以open、close、read、write,不同设备具体表现形式不同。

(5) 管道文件:第一列的字母为p,管道文件主要用于进程间通信,读写普通文件是在磁盘上速度慢,而创建管道文件可以基于内存读写,在读取数据时,FIFO 管道中同时清除数据,随写随读。

以使用 mkfifo命令来创建一个管道文件:

mkfifo fifo_file

(6) 套接字文件:第一列的字母为s,用于进程间的网络通信。

进程

通过 /proc文件夹,我们可以查到进程信息,文件名即对应的进程号,

lsof -p [pid]可以查看对应进程打开的文件,

对于指定名称的进程信息,我们可以通过如下方式查找,

ps -ef|grep [名称关键字]

进入该进程的文件夹可以看到相关文件目录,对于文件可以直接cat。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值