文件抽象
fs模块是文件操作的封装,它提供了文件的读取、写入、更名、删除、遍历目录、链接POSIX文件系统操作。与其他模块不同的是,fs模块中的所有操作都提供了异步和同步两个版本,例如读取文件内容函数的异步方法:readFile(),同步方法readFileSync()。
一切皆文件
“一切皆是文件”是 Unix/Linux 的基本哲学之一。不仅普通的文件,目录、字符设备、块设备、 套接字等在 Unix/Linux 中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作接口。
文件是一种抽象机制,它对磁盘进行了抽象。
文件就是字节序列,每个I/O设备,包括磁盘、键盘、显示器、甚至网络,都可以抽象成文件,在Unix/Linux系统中,系统中所有的输入输出都是通过调用IO系统调用来完成。
文件是对IO的抽象,就像虚拟存储器是对程序存储的抽象,进程是对一个正在运行程序的抽象。这些都是操作系统重要的抽象。
抽象机制最重要的特性是对管理对象的命名,所以文件有文件名,且文件名要符合一定的规范。