加分項——C語言實現Linux的pwd命令
實現要求
1 學習pwd命令
2 研究pwd實現需要的系統調用(man -k; grep),寫出偽代碼
3 實現mypwd
4 測試mypwd
pwd
pwd是print working directory的縮寫,即打印當前路徑的意思。打開終端,一定會在執行命令的$號之前看見當前的工作目錄,不過一定會出現~在前面或是/etc在后面。此時輸入pwd命令就是可以將工作目錄完全展開。
偽代碼
首先使用一下pwd命令,然后輸入 man pwd 以獲取pwd命令的相關信息。
然后輸入 man -k directory | grep 2 得知一道getcwd()調用函數,而這道函數一定是和pwd命令相關的。
這是函數getcwd()的原型。
那么這個pwd的偽代碼描述就是這樣的:
一個字符串數組儲存絕對路徑
調用函數getcwd()
if (返回的指針==NULL)
調用函數出錯,發出錯誤報告
else
打印結果
代碼實現
通過偽代碼實現就這樣了:
#include <stdio.h>
#include <unistd.h>
int main(void)
{
char buff[256];
getcwd(buff,sizeof(buff));
printf("當前路徑為:%s\n",buff);
return 0;
}
就沒有見過這么簡單的,不過不用getcwd()實現pwd命令可能會要更長的代碼去實現。
測試代碼
測試結果: