tree命令,將目錄檔案以樹的形式呈現
系統的tree命令效果:
模擬實現tree命令:
#include
#include
#include
#include
#include
void print_tree(const
char* dirname, int indent)
int depth = indent;
while(depth--)
printf("| _");
printf("%s\n", pd->d_name);
depth = indent;
if(s_isdir(sbuf.st_mode))
}chdir("..");
closedir(pdir);
}int main(int argc, char* argv)
printf("%s\n", argv[1]);
printf("|\n");
print_tree(argv[1], 1);
printf("\n");
return
0;}
效果:
用到的知識:
dir結構體
struct __dirstream
; typedef struct __dirstream dir;
opendir函式 dir *opendir(const char *name);//開啟檔案目錄
readdir函式 struct dirent *readdir(dir *dirp);//讀取檔案目錄
closedir函式 int closedir(dir *dirp);//關閉檔案目錄
struct stat ;
struct dirent
;
實現Linux tree命令
linux下有這樣乙個命令,可以把當前目錄下的所有檔案和子檔案以tree的方式顯示出來,看下效果 crazybaby localhost test tree a b c test2 d e f 3 directories,4 files crazybaby localhost test 自己用遞迴方...
Linux tree 命令用法
a 顯示所有檔案和目錄。a 使用asni繪圖字元顯示樹狀圖而非以ascii字元組合。c 在檔案和目錄清單加上色彩,便於區分各種型別。d 顯示目錄名稱而非內容。d 列出檔案或目錄的更改時間。f 在每個檔案或目錄之前,顯示完整的相對路徑名稱。f 在執行檔案,目錄,socket,符號連線,管道名稱名稱,各...
Linux Tree命令詳解
中文翻譯 a 顯示所有檔案和目錄。a 使用asni繪圖字元顯示樹狀圖而非以ascii字元組合。c 在檔案和目錄清單加上色彩,便於區分各種型別。d 顯示目錄名稱而非內容。d 列出檔案或目錄的更改時間。f 在每個檔案或目錄之前,顯示完整的相對路徑名稱。f 在執行檔案,目錄,socket,符號連線,管道名...