标签:学习 ret 过程 研究 image nod node 需要 http
学习pwd命令
研究pwd实现需要的系统调用(man -k; grep),写出伪代码
实现mypwd
测试mypwd
使用 man -k pwd
查看使用说明,其简要介绍为 pwd (1) - print name of current/working directory
,即为打印正在工作或最近的文件夹名
试输入命令 pwd
使用 man 1 pwd
查看具体使用方法
参数学习
pwd [-L]
如果 PWD 环境变量包含了不包含文件名 .(点)或 ..(点点)的当前目录的绝对路径名,则显示 PWD 环境变量的值。否则,-L 标志与 -P 标志一样运行。
pwd [-p]显示当前目录的绝对路径名。与 -P 标志一起显示的绝对路径不包含在路径名的绝对路径中涉及到符号链接类型的文件的名称。
使用 man -k pwd
未发现任何系统调用
使用 man -k current directory | grep 2
以pwd的相关描述作为关键词进行查找,并筛选系统调用,查找到一个系统调用命令 getcwd
和 readdir
都很符合要求
使用 man -2 getcwd
命令查看具体使用方法
#include <unistd.h>
char *getcwd(char *buf, size_t size);
getcwd
伪代码char *buf;
getcwd(buf,sizeof(buf));
prin(buf);
使用 man -2 readdir
命令查看具体使用方法
根据文档提示,使用 man 3 readdir
查看
#include <direct.h>
struct dirent *readdir(DIR *dirp);
struct dirent {
ino_t d_ino; /* inode number */
off_t d_off; /* not an offset; see NOTES */
unsigned short d_reclen; /* length of this record */
unsigned char d_type; /* type of file; not supported
by all filesystem types */
char d_name[256]; /* filename */
};
#include "stdio.h"
#include "unistd.h"
int main(void)
{
char buf[256];
getcwd(buf,sizeof(buf));
printf("当前路径为:%s\n",buf);
return 0;
}
标签:学习 ret 过程 研究 image nod node 需要 http
原文地址:https://www.cnblogs.com/orii/p/12040363.html