文档章节

自定义mac的ll命令

郭钟
 郭钟
发布于 2015/08/01 19:05
字数 239
阅读 29
收藏 0
#include<stdio.h>
#include<time.h>
#include<sys/types.h>
#include<dirent.h>
#include<sys/stat.h>
#include<stdlib.h>
#include<.h>
 do_ls([]);
 dostat( *);
 show_file_info( *, stat *);
 mode_to_letters(,[]);
 * uid_to_name(uid_t);
 * gid_to_name(gid_t);

 main( argc, *argv[]){
    (argc==)
        do_ls();
    
        printf();
}

 do_ls( dirname[]){
    DIR *dir_ptr;        dirent *direntp;         ((dir_ptr=opendir(dirname))==)
        fprintf(stderr,,dirname);
    {
        ((direntp=readdir(dir_ptr))!=)
            dostat(direntp->d_name);
        closedir(dir_ptr);
    }
}

 dostat( *filename){
     stat info;
    (lstat(filename,&info)==-)
        perror();
    
        show_file_info(filename,&info);
}

 show_file_info( *filename, stat *info_p){
     modestr[];
    mode_to_letters(info_p->st_mode,modestr);
    printf(,modestr);
    printf(,()info_p->st_nlink);
    printf(,uid_to_name(info_p->st_uid));
    printf(,gid_to_name(info_p->st_gid));
    printf(,()info_p->st_size);
    time_t timelong=info_p->st_mtime;
     tm *htime=localtime(&timelong);
    printf(,htime->tm_year+,htime->tm_mon+,htime->tm_mday,htime->tm_hour,htime->tm_min);
    printf(,filename);
}


 mode_to_letters( mode, str[]){
    strcpy(str,);
    (S_ISDIR(mode))   str[]=;
    (S_ISCHR(mode))   str[]=;
    (S_ISBLK(mode))   str[]=;

    (mode & S_IRUSR)  str[]=;
    (mode & S_IWUSR)  str[]=;
    (mode & S_IXUSR)  str[]=;

    (mode & S_IRGRP)  str[]=;
    (mode & S_IWGRP)  str[]=;
    (mode & S_IXGRP)  str[]=;

    (mode & S_IROTH)  str[]=;
    (mode & S_IWOTH)  str[]=;
    (mode & S_IXOTH)  str[]=;
}

#include<pwd.h>      * uid_to_name(uid_t uid){
     passwd *pw_str;
      numstr[];
    ((pw_str=getpwuid(uid))==NULL){
        sprintf(numstr,,uid);                numstr;
    }
    
         pw_str->pw_name;
}

#include<grp.h>
 * gid_to_name(gid_t gid){
     group *grp_ptr;
      numstr[];
    ((grp_ptr=getgrgid(gid))==NULL){
        sprintf(numstr,,gid);
         numstr;
    }
    
         grp_ptr->gr_name;
}

© 著作权归作者所有

郭钟
粉丝 17
博文 12
码字总数 7550
作品 1
北京
架构师
私信 提问
mac/centos下添加永久alias

注意在mac下为.bash_profile,在linux下为.bashrc 打开终端,进入用户目录,创建文件.bash_profile cd ~vim .bash_profile 添加alias,例如 alias ll='ls -l' alias gossh='ssh root@ipaddre......

xshanj2
2015/04/23
158
0
Mac设置环境变量

1./etc/profile (建议不修改这个文件 ) 全局(公有)配置,不管是哪个用户,登录时都会读取该文件。 2./etc/bashrc (一般在这个文件中添加系统级环境变量) 全局(公有)配置,bash shel...

啊莫
2015/10/10
80
0
MAC 设置环境变量path的几种方法[转]

MAC 设置环境变量path的几种方法[转] 和煦的点滴2016-08-04122 阅读 命令MacLinux mac 一般使用bash作为默认shell Mac系统的环境变量,加载顺序为: /etc/profile /etc/paths ~/.bashprofile...

和煦的点滴
2016/08/04
0
0
Mac OS使用ll、la、l等ls的别名命令

在linux下习惯使用ll、la、l等ls别名的童鞋到mac os可就郁闷了~~ 其实只要在用户目录下建立一个脚本“.bash_profile”,并输入以下内容即可: alias ll='ls -alF' alias la='ls -A' alias ...

戢冠生
2016/05/07
309
0
iTerm2 + Zsh + Oh My Zsh + solarized

当时为什么买Mac电脑? 回想当初,当时决定买Mac电脑的一个最重要因素就是OSX它是UNIX系统,他与Linux系统一样,可以与Linux的环境一样,可以直接写shell命令。 武装自己的Terminal,提高工作...

陈袁at互联
2015/12/27
462
0

没有更多内容

加载失败,请刷新页面

加载更多

好程序员web前端教程分享web前端入门基础知识

  好程序员web前端教程分享web前端入门基础知识,作为合格的Web前端工程师必须得掌握HTML、CSS和JavaScript。只懂其中一两个还不行,必须对这三门语言都要熟悉。下面我们一起来看一看吧! ...

好程序员官网
29分钟前
3
0
elasticsearch 中文分词插件IK-Analyze

elasticsearch 版本 7.3 安装中文分词插件 插件对应的版本需要和elasticsearch的版本一致 插件各个版本下载地址 https://github.com/medcl/elasticsearch-analysis-ik/releases 使用elastic...

kdy1994
33分钟前
4
0
只用一套解决方案,就可解决80%的交通物流行业信息难题

行业背景 新中国成立70多年来,中国交通运输总体上已经形成了多节点、全覆盖的综合运输网络,“五纵五横”综合运输大通道基本贯通,一大批综合客运、货运枢纽站场(物流园区)投入运营,取得...

朕想上头条
35分钟前
4
0
spring-boot结合AOP实现数据源动态配置

Spring-Boot+AOP方式实现多数据源切换 设计总体思路:Spring-Boot+AOP方式实现多数据源切换,继承AbstractRoutingDataSource实现数据源动态的获取,在service层使用注解指定数据源。 一、多数...

蜗牛伊
36分钟前
3
0
干货 | 京东技术中台的Flutter实践之路

在 2019 年,Flutter 推出了多个正式版本,支持的终端越来越多,使用的项目也越来越多。Flutter 正在经历从小范围尝鲜到大面积应用的过程,越来越多的研发团队加入到 Flutter 的学习热潮中,...

京东云技术新知
39分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部