ls, dir, vdir - 列目录内容

ls 命令
------------------------------------------------------------------------------
ls ----list directory contents(ls是list的缩写)
ls命令是linux下最常用的命令。ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,
如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。
通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等
一、ls命令使用介绍
ls命令格式:ls [选项] [目录名]。
ls命令功能:列出目标目录中所有的子目录和文件。 注意隐藏文件是在文件名字以“.”(英文句号)开头的文件
ls 命令的参数选项说明:
-a, –all                          列出目录下的所有文件,包括以 . 开头的隐含文件。
-A, –almost-all                   列出除了 . 及 .. 以外的任何项目
–author                          印出每个文件的作者
-b, –escape                       把文件名中不可输出的字符用反斜杠加字符编号的形式列出。
–block-size=大小                  块以指定<大小>的字节为单位
-B, –ignore-backups               不列出任何以 ~ 字符结束的项目
-c                                输出文件的 ctime (文件状态最后更改的时间),并根据 ctime 排序。
-C                                每栏由上至下列出项目
–color[=WHEN]                    控制是否使用色彩分辨文件。WHEN 可以是‘never’、‘always’或‘auto’其中之一
-d, –directory                    将目录象文件一样显示,而不是显示其下的文件。
-D, –dired                        产生适合 Emacs 的 dired 模式使用的结果
-f                                对输出的文件不进行排序,-aU 选项生效,-lst 选项失效
-F, –classify                     加上文件类型的指示符号 (*/=@| 其中一个)
–format=关键字                    across -x,commas -m,horizontal -x,long -l,single-column -1,

                                  verbose -l,vertical -C
–full-time                       即 -l –time-style=full-iso
-g                                类似 -l,但不列出所有者
-G, –no-group                     不列出任何有关组的信息
-h, –human-readable               以容易理解的格式列出文件大小 (例如 1K 234M 2G)
–si                              类似 -h,但文件大小取 1000 的次方而不是 1024
-H, –dereference-command-line     使用命令列中的符号链接指示的真正目的地
–indicator-style=方式             指定在每个项目名称后加上指示符号<方式>:none (默认),classify (-F),file-type (-p)
-i, –inode                        印出每个文件的 inode 号
-I, –ignore=样式                   不印出任何符合 shell 万用字符<样式>的项目
-k                                即 –block-size=1K,以 k 字节的形式表示文件的大小。
-l                                列出文件的详细信息。
-L, –dereference                  当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息
-m                                所有项目以逗号分隔,并填满整行行宽
-n, –numeric-uid-gid              类似 -l,用数字的 UID,GID 代替名称。
-N, –literal                      打印出未经处理的项目名称 (例如不特别处理控制字符)
-o                                类似 -l,显示文件的除组信息外的详细信息。
-p, –F                            在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;

                                 “/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。
-q, –hide-control-chars           以 ? 字符代替无法打印的字符
–show-control-chars              直接显示无法打印的字符 (这是默认方式,除非调用的程序名称是‘ls’而且是在终端机画面输出结果)
-Q, –quote-name                   将项目名称括上双引号
–quoting-style=方式               使用指定的 quoting <方式>显示项目的名称:

                                   literal、locale、shell、shell-always、c、escape
-r, –reverse                      依相反次序排列
-R, –recursive                    同时列出所有子目录层
-s, –size                         以块大小为单位列出所有文件的大小
-S                                根据文件大小排序
–sort=WORD                       以下是可选用的 WORD 和它们代表的相应选项: 
                                  extension -X       status   -c 
                                  none      -U       time     -t
                                  size      -S       atime    -u
                                  time      -t       access   -u
                                  version   -v       use      -u
-t                                以文件date.html' target='_blank'>修改时间排序
-u                                配合 -lt:显示访问时间而且依访问时间排序
                                  配合 -l:显示访问时间但根据名称排序则:根据访问时间排序
-U                                不进行排序;依文件系统原有的次序列出项目
-v                                根据版本进行排序
-w, –width=COLS                   自行指定屏幕宽度而不使用目前的数值
-x                                逐行列出项目而不是逐栏列出
-X                                根据扩展名排序
-1                                每行只列出一个文件
–help                            显示此帮助信息并离开
–version                         显示版本信息并离开 
-Z, –context                      print any SEL inux security context of each file
--time=WORD                       以下是可选用的 WORD 和它们代表的相应选项: 
                                  with -l, show time as WORD instead of modification time:
                                  atime -u,  access  -u,  use  -u,
                                  ctime -c, or status -c;
                                  use specified time as sort key if --sort=time
二,下面来举几个例子来说明Linux ls 命令如何使用
root@debian:~# ls -l
total 44  代表当前目录下文件大小的总和为44K(每个目录的大小都按4K算
drwxr-xr-x 2 root root 4096  7月 18 09:35 commands
....

ls -l列举的信息包含7个以Tab的域:

  • 第一个域:第一个字符指明了文件类型
    • -: 普通文件;
    • d: 目录文件;
    • l: 符号链接;
    • s: socket文件;
    • b: 块设备;
    • c: 字符设备;
    • p: 管道文件。

显示的文件详细信息分别代表的意义:

后面的9个字符指明了文件的访问权限:每三位指明一类用户的权限,分别是文件属主、同组用户、其它用户,权限分为读(r)、写(w)、执行(x)。

  • 第二个域:链接数。普通文件至少为1,目录至少为2(.和..);
  • 第三域:文件属主;
  • 第四域:用户组;
  • 第五域:文件大小,其中目录大小通常为块大小的整数倍;
  • 第六域:文件的最近修改日期和时间,修改文件意味着对其内文件或子目录的增添和修改;
  • 第七域:文件名

ls -l * | grep "^-" | wc -l  计算当前目录下的文件数量

只列出子目录
1. ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
2. ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)

计算当前目录下的文件数和目录数
下面命令可以分别计算当前目录下的文件和目录个数:
# ls -l * |grep "^-"|wc -l ---- to count files
# ls -l * |grep "^d"|wc -l ----- to count dir

显示彩色目录列表
打开/etc/bashrc, 加入如下一行:
alias ls="ls --color"
下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:
1. 蓝色-->目录
2. 绿色-->可执行文件
3. 红色-->压缩文件
4. 浅蓝色-->链接文件
5. 灰色-->其他文件

Linux 如何用ls -l显示出文件详细的年-月-日 时-分-秒

1.ls -tl --time-style=full-iso sshd
2.ls -ctl --time-style=long-iso

3.ls -l --full-time

4.ls -l --time-style="+%Y-%m-%d %H:%I:%S" 自己定制

转载于:https://www.cnblogs.com/my-werewolf/p/3198027.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值