CS(computer science)

[linux 뽀개기] - pwd - 명령어 구현하기

ebang 2023. 1. 4. 23:00
반응형

1. pwd: 

 current working directory를 알려주는 쉘 명령어.

 

2. getcwd 함수 

```#include <unistd.h>
char *getcwd(char *buf, size_t size);
The getcwd() function copies an absolute pathname 
of the current working directory to the array pointed to by buf, 
which is of length size.

pwd는  getcwd 함수를 사용해서 구현할 수 있다. 

이 함수는 current working directory의 절대 경로를 인자로 받은 buf에 복사한다. (buf는 size 길이 만큼의 버퍼이다.)

 

반환값이 char *인 이유는, buf , size가 0인 경우 알아서 절대경로를 담은 문자열을 동적할당하여 반환하기 때문이다. 

 

 

3. 구현

int ft_pwd()
{
	char *path = getcwd(0,0);
    if(!path)
    	return -1;
    printf("%s", path);
    free(path);
    return 0;

}

 

 

 

*참고

getcwd 소스코드

https://codebrowser.dev/glibc/glibc/sysdeps/posix/getcwd.c.html

 

 

 

반응형