⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 globals.h

📁 实现UNIX下的ls全部功能,同时添加了可以生成目录树.实现内容:1.如何读取目录的内容 2.目录排序 3.文件类型以及如何知道文件的类型 4.位操作及掩码的使用 5.用户与组ID数据库 6
💻 H
字号:
#ifndef _GLOBALS_#define _GLOBALS_#define NONE         "\033[m"
#define RED          "\033[0;32;31m"
#define LIGHT_RED    "\033[1;31m"
#define GREEN        "\033[0;32;32m"
#define LIGHT_GREEN  "\033[1;32m"
#define BLUE         "\033[0;32;34m"
#define LIGHT_BLUE   "\033[1;34m"
#define DARY_GRAY    "\033[1;30m"
#define CYAN         "\033[0;36m"
#define LIGHT_CYAN   "\033[1;36m"
#define PURPLE       "\033[0;35m"
#define LIGHT_PURPLE "\033[1;35m"
#define BROWN        "\033[0;33m"
#define YELLOW       "\033[1;33m"
#define LIGHT_GRAY   "\033[0;37m"
#define WHITE        "\033[1;37m"#include<stdio.h>#include<sys/types.h>#include<dirent.h>#include<time.h>#include<sys/stat.h>#include<pwd.h>#include<grp.h>#include<unistd.h>#include<string.h>struct flg{    int lflg; /*0:只显示文件名,1:显示文件全部信息,2:输出目录树*/    int aflg; /*0:不显示'.','..'和以'.'开头的文件,1:显示所有文件和目录,2:显示所有文件和目录但不包括'.'和'..'*/    int oflg; /*0:字母,1:更改时间,2:大小,3:变动时间,4:存储时间,5:反向字母排序*/    int gflg; /*0:显示组名,1:不显示*/    int nflg; /*0:名显示1:用户识别码和组名替代名*/    int sflg; /*显示文件和目录大小,以块为单位*/    int hflg; /*用K,M,G来显示文件和目录大小*/    int iflg; /*输出inode*/  };void do_ls1(const char *dir, const struct flg opt_flg);void do_ls2(const char *dir, const struct flg opt_flg);void mktree(const char *dir, const struct flg opt_flg);int dostat(const char *filename, const struct flg opt_flg);void show_file_info(const char *filename, const struct stat *info, const struct flg opt_flg);void mode_to_letters(const int mode, char str[]);char *uid_to_name(uid_t uid);char *gid_to_name(gid_t gid);void print_filename(const char *filename, int mode);void print_size_kmg(const long size);int getblocks(long size);int atimesort(const void *a, const void *b);int mtimesort(const void *a, const void *b);int ctimesort(const void *a, const void *b);int blocksort(const void *a, const void *b);int revalpsort(const void *a, const void *b);void print_name1(const char *dir, const struct flg opt_flg);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -