Linux知识¶
1 Linux 启动流程¶
详见 CS_Offer
2 Linux指令¶
3 select、poll、epoll之间的区别¶
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指向的数据块。