()ls命令简单介绍
    第一步当然是要明白ls究竟是做什么的。如果你要做一个东西却不知道要用来干嘛。会不会很搞笑?所以下面就简单的介绍ls命令的作用和怎么使用
    1.Ls可以列出文件名和文件的属性
    在命令行输入ls
    ls 命令.jpg
    Ls的默认动作是出当前所有文件的文件名。按字典排序后输出。
    Ls还能显示其他的信息。如果加上-l就会列出每个文件的详细信息。也叫ls的长格式:
    ls -l命令.jpg

    2.        列出指定目录或文件的信息
    Linux系统中会有很多目录。每个目录中又会有很多文件。如果要列出一个非当前目录的内容或者是一个特定文件的信息,则需要在参数中给出目录名或文件名。如:
    ls /tmp //列出/tmp目录中各文件的文件名
    ls – docs //列出docs目录中各文件的属性
    ls *.c //列出当前目录下与*.c匹配的文件,即当前目录下所有以.c为后缀的文件
3.        经常用到的命令行选项
    ls -l 在前面已经提到过,-l就是输出文件详细的信息。也叫长格式;
    ls -a 列出的内容包含以“.“开头的让文件,即所谓有隐藏文件
    ls –lu 显示最后访问时间
    ls –t 输出时按时间排序
    ls –F 显示文件类型
那么现在的问题是用什么函数去打开并读目录呢?又是怎么样来读出数据呢?这里介绍是的opendir readdir,但是可能对于一些新手来说,就算知道了函数名称也不一定知道怎么用。别急,下一步就是教你怎么去查相应函数的帮助资料。
    linux下查看帮助手册的命令是man,关于man的详细介绍在这个帖子里我有详细介绍:linux 帮助手册页命令 man详解 如果对这方面还不是很清楚的可以先去学习一下。
    好了,如果你已经明白man的用法,我们就开始查看opendir怎么把隐藏的文件显示出来readdir的用法
    我们在命令行输入:
    # man 3 opendir
    4-1 opendir.jpg

    解释:
    #include
    #include
    这是必须包含的头文件
    DIR *opendir(const char *name); 是函数原型;其中DIR * 表示是返回一个 DIR类型的指针,const char *name 是传入的参数
    RETURN VALUE 是对返回值的说明。这里说明了如果有错误就返回NULL
    DESCRIPTION: opendir()用来打开参数name指定的目录,并返回DIR * 形态的目录流,DIR 并指向目录流的第一位
    4-2
    4-2 readdir.jpg
    ls 命令的参数选项非常多,大多也可以组合使用。所以还是比较复杂的。但是我们第一步要实现的就是它最基本的功能:列出当前目录下的所有文件或子目录。
    ()学习必备的知识
    既然是列出文件和目录,那么肯定是和linux文件系统有关系的,所以要写ls命令,至少要对文件系统的基本原理有一定的了解。为了不至于使这个帖子内容过于复杂,我把这方面的知识介绍单独开了一个帖子:
如果你对这些已经有所了解。就会知道linux下的文件都是以/为根目录的树型结构,虽然linux下有普通文件、目录文件、链接文件、设备文件、管道文件这几种类型。但链接文件、设备文件、管道文件都可以当做普通文件看待,那实际也就只要区分普通文件和目录文件这两种了。而目录文件的内容就是它所包含所有文件和子目录的一个列表,所以只要打开目录文件并读取对应目录块里的那个列表数据,就可以得到些目录下所有文件和子目录的名称了。其实这个流程简单,就是:打开目录->读取内容->显示文件名称->关闭打开的目录。用伪代码流程表示如下:
    Mani(){
    Opendir
    While(readdir)
    Print d_name
    Closedir;
    }