作者:心上锁退 | 来源:互联网 | 2023-07-23 14:27
比如我以为shell中的ln命令是由C提供的link()和symlink()实现的,于是查了一下ln的src,好像没有用到。
回答
是的,许多 Linux 命令是用 C 编写的;许多这些 C 程序可能会使用 C 库函数,如link()或symlink()。各种 Linux shell(例如 sh、csh 和 bash)本身都是用 C 编写的,并且也使用 C 库调用。
然而...
link() 和 symlink() 都是符合 POSIX 的包装函数,它们不是“标准 C 库”的一部分。因此,“ln”命令不使用它们。有关更多详细信息,请参阅unistd.h。
另请参阅C 标准库中包含的内容。