跳转至

Linux知识

1 Linux 启动流程

详见 CS_Offer

2 Linux指令

详见linuxtools-readthedocs

3 select、poll、epoll之间的区别

资料1 资料2 资料3

4 什么是shell

Shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。 详见shell-c语言中文网

5 管道

管道(英语:Pipeline)是一系列将标准输入输出链接起来的进程,其中每一个进程的输出被直接作为下一个进程的输入。 详见Linux的进程间通信:管道-知乎 ::: tip 管道遵循Linux一切皆文件的理念,管道实际上也是一个文件,但管道不占磁盘空间,而是存储在内存上。所以,Linux上的管道就是一个操作方式为文件的内存缓冲区。 ::: ::: warning 管道是半双工的 :::

6 fock之后先执行子进程还是父进程

标准没有规定,详见知乎

7 I/O 模型

Unix 下有5种可用的 I/O 模型,如下: 1. 阻塞式 I/O 2. 非阻塞式 I/O 3. I/O 复用(select 和 poll) 4. 信号驱动 I/O 5. 异步I/O

8 文件

8.1 文件类型

Linux的文件类型有以下几种:

文件类型 ls -l 显示
普通文件 -
目录 d
符号链接 l
字符设备 c
块设备 b
套接字 s
命名管道 p

8.2 软链接、硬链接

软链接: 1. 当源文件被删除后,软链接也将失效; 2. 当软链接被删除,不影响原文件;

软连接是建立了一个iNode,专门用来指向实际文件的iNode,有点像Win下的快捷方式。软链接与硬链接不同,若文件用户数据块中存放的内容是另一文件的路径名的指向,则该文件就是软连接。软链接就是一个普通文件,只是数据块内容有点特殊。

硬链接: 3. 当原文家删除后,硬链接还能访问数据; 4. 删除硬链接也不影响原文件; 5. 当原文件和所有硬链接都被删除是,数据才遗失。

硬链接和原文件的inode是相同的,所以即使删掉原文件,硬链接也能访问inode指向的数据块。