当前位置:  技术问答>linux和unix

谁知道 ls -l 的默认排序方式是什么,opendir,readdir 函数的排序方式是什么

    来源: 互联网  发布时间:2015-12-23

    本文导语:  谁知道 ls -l 的默认排序方式是什么,opendir,readdir 函数的排序方式是什么 | ls -l如前面各位所说。排序是按ASCII字符顺序排列,比如数字 小于 大写字母 小于 小写字母 opendir/readdir则是以...

谁知道 ls -l 的默认排序方式是什么,opendir,readdir 函数的排序方式是什么

|
ls -l如前面各位所说。排序是按ASCII字符顺序排列,比如数字 小于 大写字母 小于 小写字母

opendir/readdir则是以文件系统中的顺序返回,也就是文件项在目录项中的位置为顺序,所以并没有排序。
这一点你写个小程序试一下就知道了。

比如下面的perl程序:
#!/usr/bin/perl -w

my $path = "/tmp";

opendir DIR, $path;
my @arr1 = readdir DIR;
foreach(@arr1){
  print "$_n";
}
closedir DIR;

|
-l: 显示出文件的大小,权限,文件的拥有权。

|
a 列出目录下的所有文件,包括以 . 开头的隐含文件。

-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。

-c 输出文件的 i 节点的修改时间,并以此排序。

-d 将目录象文件一样显示,而不是显示其下的文件。

-e 输出时间的全部信息,而不是输出简略信息。

-f -U 对输出的文件不排序。

-g 无用。

-i 输出文件的 i 节点的索引信息。

-k 以 k 字节的形式表示文件的大小。

-l 列出文件的详细信息。

-m 横向输出文件名,并以“,”作分格符。

-n 用数字的 UID,GID 代替名称。

-o 显示文件的除组信息外的详细信息。

-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通

文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套

接字(sockets)。

-q 用?代替不可输出的字符。

-r 对目录反向排序。

-s 在每个文件名后输出该文件的大小。

-t 以时间排序。

-u 以文件上次被访问的时间排序。

-x 按列输出,横向排序。

-A 显示除 “.”和“..”外的所有文件。

-B 不输出以 “~”结尾的备份文件。

-C 按列输出,纵向排序。

-G 输出文件的组的信息。

-L 列出链接文件名而不是链接到的文件。

-N 不限制文件长度。

-Q 把输出的文件名用双引号括起来。

-R 列出所有子目录下的文件。

-S 以文件大小排序。

-X 以文件的扩展名(最后一个 . 后的字符)排序。

-1 一行只输出一个文件。

--color=no 不显示彩色文件名

--help 在标准输出上显示帮助信息。

--version 在标准输出上输出版本信息并退出。

|
ls -l以文件名的首字母排序。
The opendir function returns a pointer to a DIR structure, and we pass this pointer to the readdir function. We don't care what's in the DIR structure. We then call readdir in a loop, to read each directory entry. The readdir function returns a pointer to a dirent structure or, when it's finished with the directory, a null pointer. All we examine in the dirent structure is the name of each directory entry (d_name). Using this name, we could then call the stat function (Section 4.2) to determine all the attributes of the file.

NAME
       opendir - open a directory

SYNOPSIS
       #include 
       #include 

       DIR *opendir(const char *name);

DESCRIPTION
       The  opendir()  function  opens a directory stream corresponding to the
       directory name, and returns a pointer to  the  directory  stream.   The
       stream is positioned at the first entry in the directory.

RETURN VALUE
       The  opendir()  function  returns  a pointer to the directory stream or
       NULL if an error occurred.


       readdir reads one dirent structure from the directory pointed at by  fd
       into  the  memory  area  pointed  to  by  dirp.  The parameter count is
       ignored; at most one dirent structure is read.

       The dirent structure is declared as follows:

              struct dirent
              {
                  long d_ino;                 /* inode number */
                  off_t d_off;                /* offset to this dirent */
                  unsigned short d_reclen;    /* length of this d_name */
                  char d_name [NAME_MAX+1];   /* file name (null-terminated) */
              }

       d_ino is an inode number.  d_off is the distance from the start of  the
       directory to this dirent.  d_reclen is the size of d_name, not counting
       the null terminator.  d_name is a null-terminated file name.

RETURN VALUE
       On success, 1 is returned.  On end of directory,  0  is  returned.   On
       error, -1 is returned, and errno is set appropriately.

|
up

|
ls -l: 默认的以字母的先后顺序排列的
opendir: 有点不一样,这个是以文件名的第一个字母的大小排序的
           (如果第一个相同,就比第二个,以此类推),所以最小的先出来

|
ls -l以文件名的首字母排序。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 简单问题:谁知道改变屏幕的一块区域的颜色的函数是什末?
  • 谁知道solaris对socket的recv和send函数是否是原子操作,谢谢!!
  • 谁知道 FD_SET,FD_ZERO函数是干什么的,我怎么找不到
  • 有谁知道将JTable设为只读的函数?
  • 谁知道哪里有 JBuilder 6 的类库函数下载?还有在JBuilder 6下的编辑的代码错乱问题!
  • 谁知道这个函数session.setAttribute("pwd",javabean.getpwd()) 及它的参数的作用 ,并说明一下
  • 谁知道用gcc编译c++的程序是用什么选项去去掉自动给函数添加的前缀和后缀???
  • 请问一下,有谁知道linux源代码中socket(int domain, int type, int protocol);函数的定义是在哪个文件中啊?小弟我找了很久,都没找到,谢谢哈。
  • 谁知道websphere的试用版怎么做掉?
  • 谁知道有类似启动kde的指令startkde,来启动gnome?
  • 谁知道jdbc有什么好一点的书,一定给分
  • 请问JBulider 4的序列号谁知到?能否提供给小弟?谢谢
  • 谁知道jbuilder3的KEY
  • 谁知道在哪儿可以找到Imap 4.5
  • 请问谁知道那有classes.zip for jdk1.2 ?
  • 谁知道哪儿有jbuilder5下载
  • 有谁知道关于Applet中怎么样调用html. 50分全送
  • jbuilder5企业版的序列号谁知道?
  • 谁知道JB的书籍下载?
  • 谁知道websphere4该怎么设置
  • 谁知道java认证的日期?
  • 谁知道Borland application server 5.0的serial number 和 key?
  • 请问有谁知道那里有Linux系统的ADSL拨号软件下载!谢谢!
  • NOSQL iis7站长之家
  • 谁知道哪里有jbulider4下载,我的机器跑jbulider5很慢!
  • 谁知道如何使用sygate作二级代理〉??
  • 有谁知道哪有下载 JB6 的地方?谢谢
  • 谁知道MySQL的驱动接口程序在那里下载?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3