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

时间:2019-09-22 02:24:03

标签: c ssh dirent.h

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

1 个答案:

答案 0 :(得分:1)

在该链接的页面中有用于“列出目录内容”的示例代码。

  

我想在不使用任何非标准库的情况下实现这一目标。

那是不可行的。尽管Linux发行版中包含的库(包括源头文件和可直接链接的Blob)可能由于其普遍存在而被包含在libssh中,但它们并不是“标准”的,因为C标准库没有提到SSH / SFTP(甚至没有文件系统API!),也没有POSIX。

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

(记住C是非常小的-我的看法是,它是一种用于在内存上进行操作和迭代的语言-其他所有内容,甚至syscall都不是C标准的一部分-这就是为什么您可以将C编译为JavaScript的原因,例如,您无法做任何有趣的事,因为您无法通过JavaScript进行系统调用)