zoukankan      html  css  js  c++  java
  • 2.列出目录内容

    列出一个目录包含的文件及子目录,使用 ls 命令。

    [me@linuxbox ~]$ ls
    Desktop Documents Music Pictures Public Templates Videos
    

    实际上,用 ls 命令可以列出任一个目录的内容,而不只是当前工作目录的内容。

    有充分的理由证明,ls 可能是用户最常使用的命令。通过它,我们可以知道目录的内容,以及各种各样重要文件和目录的 属性。正如我们所知道的,只要简单的输入 ls 就能看到在当前目录下所包含的文件和子目录列表。

    [me@linuxbox ~]$ ls
    Desktop Documents Music Pictures Publica Templates Videos
    

    除了当前工作目录以外,也可以指定要列出内容的目录,就像这样:

    me@linuxbox ~]$ ls /usr
    bin games   kerberos    libexec  sbin   src
    etc include lib         local    share  tmp
    

    甚至可以列出多个指定目录的内容。在这个例子中,将会列出用户家目录(用字符“~”代表)和/usr 目录的内容:

    [me@linuxbox ~]$ ls ~ /usr
    /home/me:
    Desktop  Documents  Music  Pictures  Public  Templates  Videos
    
    /usr:
    bin  games      kerberos  libexec  sbin   src
    etc  include    lib       local    share  tmp
    

    我们也可以改变输出格式,来得到更多的细节:

    [me@linuxbox ~]$ ls -l
    total 56
    drwxrwxr-x 2  me  me  4096  2007-10-26  17:20  Desktop
    drwxrwxr-x 2  me  me  4096  2007-10-26  17:20  Documents
    drwxrwxr-x 2  me  me  4096  2007-10-26  17:20  Music
    drwxrwxr-x 2  me  me  4096  2007-10-26  17:20  Pictures
    drwxrwxr-x 2  me  me  4096  2007-10-26  17:20  Public
    drwxrwxr-x 2  me  me  4096  2007-10-26  17:20  Templates
    drwxrwxr-x 2  me  me  4096  2007-10-26  17:20  Videos
    

    使用 ls 命令的“-l”选项,则结果以长模式输出。

    选项和参数

    我们将学习一个非常重要的知识点,大多数命令是如何工作的。命令名经常会带有一个或多个用来更正命令行为的选项, 更进一步,选项后面会带有一个或多个参数,这些参数是命令作用的对象。所以大多数命令看起来像这样:

    command -options arguments
    

    大多数命令使用的选项,是由一个中划线加上一个字符组成,例如,“-l”,但是许多命令,包括来自于 GNU 项目的命令,也支持长选项,长选项由两个中划线加上一个字组成。当然, 许多命令也允许把多个短选项串在一起使用。下面这个例子,ls 命令有两个选项, “l” 选项产生长格式输出,“t”选项按文件修改时间的先后来排序。

    [me@linuxbox ~]$ ls -lt
    

    加上长选项 “–reverse”,则结果会以相反的顺序输出:

    [me@linuxbox ~]$ ls -lt --reverse
    

    ls 命令有大量的选项。表4-1列出了最常使用的选项。

    表 4-1: ls 命令选项

    选项长选项描述
    -a --all 列出所有文件,甚至包括文件名以圆点开头的默认会被隐藏的隐藏文件。
    -d --directory 通常,如果指定了目录名,ls 命令会列出这个目录中的内容,而不是目录本身。 把这个选项与 -l 选项结合使用,可以看到所指定目录的详细信息,而不是目录中的内容。
    -F --classify 这个选项会在每个所列出的名字后面加上一个指示符。例如,如果名字是 目录名,则会加上一个'/'字符。
    -h --human-readable 当以长格式列出时,以人们可读的格式,而不是以字节数来显示文件的大小。
    -l 以长格式显示结果。  
    -r --reverse 以相反的顺序来显示结果。通常,ls 命令的输出结果按照字母升序排列。
    -S 命令输出结果按照文件大小来排序。  
    -t 按照修改时间来排序。  

    深入研究长格式输出

    正如我们先前知道的,“-l”选项导致 ls 的输出结果以长格式输出。这种格式包含大量的有用信息。下面的例子目录来自 于 Ubuntu 系统:

    -rw-r--r-- 1 root root 3576296 2007-04-03 11:05 Experience ubuntu.ogg
    -rw-r--r-- 1 root root 1186219 2007-04-03 11:05 kubuntu-leaflet.png
    -rw-r--r-- 1 root root   47584 2007-04-03 11:05 logo-Edubuntu.png
    -rw-r--r-- 1 root root   44355 2007-04-03 11:05 logo-Kubuntu.png
    -rw-r--r-- 1 root root   34391 2007-04-03 11:05 logo-Ubuntu.png
    -rw-r--r-- 1 root root   32059 2007-04-03 11:05 oo-cd-cover.odf
    -rw-r--r-- 1 root root  159744 2007-04-03 11:05 oo-derivatives.doc
    -rw-r--r-- 1 root root   27837 2007-04-03 11:05 oo-maxwell.odt
    -rw-r--r-- 1 root root   98816 2007-04-03 11:05 oo-trig.xls
    -rw-r--r-- 1 root root  453764 2007-04-03 11:05 oo-welcome.odt
    -rw-r--r-- 1 root root  358374 2007-04-03 11:05 ubuntu Sax.ogg
    

    选一个文件,来看一下各个输出字段的含义:

    表 4-2: ls 长格式列表的字段

    字段含义
    -rw-r--r-- 对于文件的访问权限。第一个字符指明文件类型。在不同类型之间, 开头的“-”说明是一个普通文件,“d”表明是一个目录。其后三个字符是文件所有者的 访问权限,再其后的三个字符是文件所属组中成员的访问权限,最后三个字符是其他所 有人的访问权限。这个字段的完整含义将在第十章讨论。
    1 文件的硬链接数目。参考随后讨论的关于链接的内容。
    root 文件属主的用户名。
    root 文件所属用户组的名字。
    32059 以字节数表示的文件大小。
    2007-04-03 11:05 上次修改文件的时间和日期。
    oo-cd-cover.odf 文件名。

  • 相关阅读:
    C++ 虚基类表指针字节对齐
    C++ 虚函数的内存分配
    虚函数&&虚继承
    内存管理简便复习总结
    stack,heap的区别
    内存泄漏(memory leak)和内存溢出
    php+mysqli预处理技术实现添加、修改及删除多条数据的方法
    JavaScript 常用方法总结
    6个超实用的PHP代码片段
    php 备份数据库代码(生成word,excel,json,xml,sql)
  • 原文地址:https://www.cnblogs.com/hihtml5/p/9243188.html
Copyright © 2011-2022 走看看