在 C 中浏览远程 linux 服务器上的目录

Browsing directories on remote linux server in C

在本地计算机上,您可以使用 C 中的 dirent.h 库来浏览文件和文件夹。您将如何在远程 linux 计算机上执行此操作?您会通过 ssh 连接传输 readdir() 命令吗?我想在不使用任何非标准库的情况下实现这一目标。

该链接页面中有 "Listing the contents of a directory" 的示例代码。

I would like to achieve this without using any non-standard libraries.

那是不可行的。虽然 Linux 发行版中包含的库(包括源头文件和可直接链接的 blob)可能 do 包括 libssh 由于其无处不在,但它不是 "standard" 因为 C 标准库没有提到 SSH/SFTP(甚至没有文件系统 API!),也没有 POSIX.

SSH(和 SFTP)是一个相对较新的协议 - 它仅创建于 1995 年,直到 1990 年代后期才被广泛采用(人们仍在使用 rloginrsh、标准 FTP,甚至 TELNET)- 它早于 FTP、HTTP、SMTP 和 SSL/TLS。

(记住 C 是非常小的 - 我的看法是它是一种用于操作和迭代内存的语言 - 其他一切,甚至系统调用,都不是 C 标准的一部分 - 这就是为什么你可以将 C 编译为 JavaScript,例如,你不能做任何有趣的事情,因为你不能从 JavaScript)

进行系统调用