zoukankan      html  css  js  c++  java
  • Linux学习笔记6ls命令

    语  法:ls [-1aAbBcCdDfFgGhHiklLmnNopqQrRsStuUvxX][-I <范本样式>][-T <跳格字数>][-w <每列字符数>][--block-size=<区块大小>][--color=<使用时机>][--format=<列表格式>][--full-time][--help][--indicator-style=<标注样式>][--quoting-style=<引号样式>][--show-control-chars][--sort=<排序方式>][--time=<时间戳记>][--version][文件或目录...]

    补充说明:执行ls指令可列出目录的内容,包括文件和子目录的名称。

    参  数:
      -1   每列仅显示一个文件或目录名称。
      -a或--all   下所有文件和目录。
      -A或--almost-all   显示所有文件和目录,但不显示现行目录和上层目录。
      -b或--escape   显示脱离字符。
      -B或--ignore-backups   忽略备份文件和目录。
      -c   以更改时间排序,显示文件和目录。
      -C   以又上至下,从左到右的直行方式显示文件和目录名称。
      -d或--directory   显示目录名称而非其内容。
      -D或--dired   用Emacs的模式产生文件和目录列表。
      -f   此参数的效果和同时指定"aU"参数相同,并关闭"lst"参数的效果。
      -F或--classify   在执行文件,目录,Socket,符号连接,管道名称后面,各自加上"*","/","=","@","|"号。
      -g   次参数将忽略不予处理。
      -G或--no-group   不显示群组名称。
      -h或--human-readable   用"K","M","G"来显示文件和目录的大小。
      -H或--si   此参数的效果和指定"-h"参数类似,但计算单位是1000Bytes而非1024Bytes。
      -i或--inode   显示文件和目录的inode编号。
      -I<范本样式>或--ignore=<范本样式>   不显示符合范本样式的文件或目录名称。
      -k或--kilobytes   此参数的效果和指定"block-size=1024"参数相同。
      -l   使用详细格式列表。
      -L或--dereference   如遇到性质为符号连接的文件或目录,直接列出该连接所指向的原始文件或目录。
      -m   用","号区隔每个文件和目录的名称。
      -n或--numeric-uid-gid   以用户识别码和群组识别码替代其名称。
      -N或--literal   直接列出文件和目录名称,包括控制字符。
      -o   此参数的效果和指定"-l" 参数类似,但不列出群组名称或识别码。
      -p或--file-type   此参数的效果和指定"-F"参数类似,但不会在执行文件名称后面加上"*"号。
      -q或--hide-control-chars   用"?"号取代控制字符,列出文件和目录名称。
      -Q或--quote-name   把文件和目录名称以""号标示起来。
      -r或--reverse   反向排序。
      -R或--recursive   递归处理,将指定目录下的所有文件及子目录一并处理。
      -s或--size   显示文件和目录的大小,以区块为单位。
      -S   用文件和目录的大小排序。
      -t   用文件和目录的更改时间排序。
      -T<跳格字符>或--tabsize=<跳格字数>   设置跳格字符所对应的空白字符数。
      -u   以最后存取时间排序,显示文件和目录。
      -U   列出文件和目录名称时不予排序。
      -v   文件和目录的名称列表以版本进行排序。
      -w<每列字符数>或--width=<每列字符数>   设置每列的最大字符数。
      -x   以从左到右,由上至下的横列方式显示文件和目录名称。
      -X   以文件和目录的最后一个扩展名排序。
      --block-size=<区块大小>   指定存放文件的区块大小。
      --color=<列表格式>   培植文件和目录的列表格式。
      --full-time   列出完整的日期与时间。
      --help   在线帮助。
      --indicator-style=<标注样式>   在文件和目录等名称后面加上标注,易于辨识该名称所属的类型。
      --quoting-syte=<引号样式>   把文件和目录名称以指定的引号样式标示起来。
      --show-control-chars   在文件和目录列表时,使用控制字符。
      --sort=<排序方式>   配置文件和目录列表的排序方式。
      --time=<时间戳记>   用指定的时间戳记取代更改时间。
      --version   显示版本信息。

    练习:

    每列仅显示一个文件或目录名称
    [root@CentOS4 /]# ls -l
    total 152
    drwxr-xr-x   2 root root  4096 Sep  6 22:09 bin
    drwxr-xr-x   3 root root  4096 Sep  6 22:07 boot
    drwxr-xr-x   9 root root  6500 Sep 23 19:08 dev
    drwxr-xr-x  81 root root  8192 Sep 23 19:08 etc
    drwxr-xr-x   3 root root  4096 Sep  6 22:25 home
    drwxr-xr-x   2 root root  4096 Feb 22  2005 initrd
    drwxr-xr-x  12 root root  4096 Sep  6 22:14 lib
    drwx------   2 root root 16384 Sep  7 05:58 lost+found
    drwxr-xr-x   4 root root  4096 Sep 23 19:08 media
    drwxr-xr-x   2 root root  4096 May  3 13:14 misc
    drwxr-xr-x   2 root root  4096 Feb 22  2005 mnt
    ... ...

    列出目录下的所有文件。
    [root@CentOS4 /]# ls -a
    .          bin   etc     lib         misc  proc  selinux  tmp
    ..         boot  home    lost+found  mnt   root  srv      usr
    .autofsck  dev   initrd  media       opt   sbin  sys      var
    [root@CentOS4 /]# ls -A
    显示所有文件和目录,但不显示现行目录和上层目录
    .autofsck  boot  etc   initrd  lost+found  misc  opt   root  selinux  sys  usr
    bin        dev   home  lib     media       mnt   proc  sbin  srv      tmp  var
    显示脱离字符
    [root@CentOS4 /]# ls -b
    bin   dev  home    lib         media  mnt  proc  sbin     srv  tmp  var
    boot  etc  initrd  lost+found  misc   opt  root  selinux  sys  usr

    -b原文的意思:
    -b, --escape
                  print octal escapes for nongraphic characters
           --block-size=SIZE
                  use SIZE-byte blocks
    可以这样理解:把文件名中不可输出的字符使用反斜杠加字符编号(就像在c语言里一样)的形式列出。

    以更改时间排序,显示文件和目录
    [root@CentOS4 /]# ls -l -c
    total 152
    drwxr-xr-x   2 root root  4096 Sep  6 22:09 bin
    drwxr-xr-x   3 root root  4096 Sep  6 22:07 boot
    drwxr-xr-x   9 root root  6500 Sep 23 19:08 dev
    drwxr-xr-x  81 root root  8192 Sep 23 19:08 etc
    drwxr-xr-x   3 root root  4096 Sep  6 22:25 home
    drwxr-xr-x   2 root root  4096 Sep  6 22:04 initrd
    drwxr-xr-x  12 root root  4096 Sep  6 22:14 lib
    drwx------   2 root root 16384 Sep  7 05:58 lost+found
    drwxr-xr-x   4 root root  4096 Sep 23 19:08 media
    drwxr-xr-x   2 root root  4096 Sep  6 22:08 misc
    drwxr-xr-x   2 root root  4096 Sep  6 22:04 mnt
    drwxr-xr-x   2 root root  4096 Sep  6 22:04 opt
    dr-xr-xr-x  69 root root     0 Sep 24  2007 proc
    drwxr-x---  14 root root  4096 Sep 19 22:22 root
    drwxr-xr-x   2 root root  8192 Sep  6 22:09 sbin
    E文中对 -c说明是这样:
    -c     with  -lt:  sort by, and show, ctime (time of last modification
                  of file status information) with -l: show  ctime  and  sort  by
                  name otherwise: sort by ctime

           -C     list entries by columns
    -c 输出文件的i节点的修改时间,并以此排序
    [root@CentOS4 /]# ls -c -l
    ... ...
    drwxr-xr-x   2 root root  4096 Sep  6 22:04 opt
    dr-xr-xr-x  69 root root     0 Sep 24  2007 proc
    drwxr-x---  14 root root  4096 Sep 19 22:22 root
    drwxr-xr-x   2 root root  8192 Sep  6 22:09 sbin
    drwxr-xr-x   1 root root     0 Sep 24  2007 selinux
    drwxr-xr-x   2 root root  4096 Sep  6 22:04 srv --不一样的行
    drwxr-xr-x   9 root root     0 Sep 24  2007 sys
    drwxrwxrwt   6 root root  4096 Sep 23 19:34 tmp
    drwxr-xr-x  14 root root  4096 Sep  6 22:06 usr
    drwxr-xr-x  19 root root  4096 Sep  6 22:11 var
    以又上至下,从左到右的直行方式显示文件和目录名称。
    [root@CentOS4 /]# ls -C -l
    ... ...
    drwxr-xr-x   2 root root  4096 Feb 22  2005 opt
    dr-xr-xr-x  69 root root     0 Sep 24  2007 proc
    drwxr-x---  14 root root  4096 Sep 19 22:22 root
    drwxr-xr-x   2 root root  8192 Sep  6 22:09 sbin
    drwxr-xr-x   1 root root     0 Sep 24  2007 selinux
    drwxr-xr-x   2 root root  4096 Feb 22  2005 srv --不一样的行
    drwxr-xr-x   9 root root     0 Sep 24  2007 sys
    drwxrwxrwt   6 root root  4096 Sep 23 19:34 tmp
    drwxr-xr-x  14 root root  4096 Sep  6 22:06 usr
    drwxr-xr-x  19 root root  4096 Sep  6 22:11 var

    我对这-c 与-C参数很模糊,真不知道怎么样区分他们好。不管这么多先继续。

    显示当前目录下的目录名称,而非其内容
    [root@CentOS4 /]# ls -d
    .

    用Emacs的模式产生文件和目录列表
    [root@CentOS4 /]# ls -D
    bin   dev  home    lib         media  mnt  proc  sbin     srv  tmp  var
    boot  etc  initrd  lost+found  misc   opt  root  selinux  sys  usr

    [root@CentOS4 /]# ls -l
    total 152
    drwxr-xr-x   2 root root  4096 Sep 23 20:16 bin
    drwxr-xr-x   3 root root  4096 Sep  6 22:07 boot
    drwxr-xr-x   9 root root  6500 Sep 23 19:08 dev
    drwxr-xr-x  81 root root  8192 Sep 23 20:16 etc
    drwxr-xr-x   3 root root  4096 Sep  6 22:25 home
    drwxr-xr-x   2 root root  4096 Feb 22  2005 initrd
    对列表进行说明:
    第1列包含类型(1bit)+用户所有者权限(3bit)+工作组权限(3bit)+其他用户或权限(3bit),总共10bit:
    文件数据类型:
     - 表示普通文件,即除以下说明外的所有文件
     d 表示目录
     l 表示符号链结文件
     p 表示管道文件
     s 表示Socket文件
     c 表示字符设备文件
     b 表示块设备文件

    文件权限:
     r 只读
     w 可写
     x 可执行
     t 粘贴位
     - 此位无权限,如r-x即可表示没有写的权限
     s 设置了suid,或sgid,例如-rwsrwx 表示所有者被设置了suid位
      ,而drwxrwsr表示工作组被设置了spid位
     S 设置了suid,或sgid,但此位不具有执行权限,如-rwSrwr-x表示文件的
      拥有者对文件设置了suid,但对文件不具有执行的权限。
    第2列:硬链接数。
    第3列:UID,默认用户名表示
    第4列:GID,默认以工作组名表示。
    第5列:文件或目录大小
    第6列:修改文件或目录的日期
    第7列:文件或目录名

    参考资料:
    《Linux常用命令大全》 Chinaitlab
    《Linux系统开发员》

  • 相关阅读:
    一个C++的unit库
    一篇关于如何组织unit tests的文章,很有趣
    web开发者的checklist
    用了story point就一定agile了吗?
    C#中如何用Windows Management Instrumentation (WMI)得到系统信息
    Windows下C++的同步机制的演变
    Sysinternals自动更新的工具SyncTools
    什么情况下要替换C++自带的new和delete
    VS2012插件:可视化TFS代码版本历史
    Quattro发布自助手机广告产品
  • 原文地址:https://www.cnblogs.com/wghao/p/904987.html
Copyright © 2011-2022 走看看