linux-ls命令参数详解&统计目录下文件和目录的个数实例

[us11@MGHJ_YW_mg-file01 ~]$ man ls
LS(1)                            User Commands                           LS(1)


NAME
       ls - list directory contents


SYNOPSIS
       ls [OPTION]... [FILE]...


DESCRIPTION
       List information about the FILEs (the current directory by default).  Sort entries alphabetically if none of -cftuvSUX nor --sort.


       Mandatory arguments to long options are mandatory for short options too.


       -a, --all
              do not ignore entries starting with .


       -A, --almost-all
              do not list implied . and ..


       --author
              with -l, print the author of each file


       -b, --escape
              print octal escapes for nongraphic characters


       --block-size=SIZE
              use SIZE-byte blocks


       -B, --ignore-backups
              do not list implied entries ending with ~


       -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


       --color[=WHEN]
              control whether color is used to distinguish file types.  WHEN may be ‘never’, ‘always’, or ‘auto’


       -d, --directory
              list directory entries instead of contents, and do not dereference symbolic links


       -D, --dired
              generate output designed for Emacs’ dired mode


       -f     do not sort, enable -aU, disable -lst


       -F, --classify
              append indicator (one of */=>@|) to entries


       --file-type
              likewise, except do not append ‘*’


       --format=WORD
              across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C


       --full-time
              like -l --time-style=full-iso


       -g     like -l, but do not list owner


       -G, --no-group
              like -l, but do not list group


       -h, --human-readable
              with -l, print sizes in human readable format (e.g., 1K 234M 2G)


       --si   likewise, but use powers of 1000 not 1024


       -H, --dereference-command-line
              follow symbolic links listed on the command line


       --dereference-command-line-symlink-to-dir
              follow each command line symbolic link that points to a directory


       --hide=PATTERN
              do not list implied entries matching shell PATTERN (overridden by -a or -A)


       --indicator-style=WORD append indicator with style WORD to entry names:
              none (default), slash (-p), file-type (--file-type), classify (-F)


       -i, --inode
              with -l, print the index number of each file


       -I, --ignore=PATTERN
              do not list implied entries matching shell PATTERN


       -k     like --block-size=1K


       -l     use a long listing format


       -L, --dereference
              when showing file information for a symbolic link, show information for the file the link references rather than for the link itself


       -m     fill width with a comma separated list of entries


       -n, --numeric-uid-gid
              like -l, but list numeric user and group IDs


       -N, --literal
              print raw entry names (don’t treat e.g. control characters specially)


       -o     like -l, but do not list group information


       -p, --indicator-style=slash
              append / indicator to directories


       -q, --hide-control-chars
              print ? instead of non graphic characters


       --show-control-chars
              show non graphic characters as-is (default unless program is ‘ls’ and output is a terminal)


       -Q, --quote-name
              enclose entry names in double quotes


       --quoting-style=WORD
              use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape


       -r, --reverse
              reverse order while sorting


       -R, --recursive
              list subdirectories recursively


       -s, --size
              with -l, print size of each file, in blocks


       -S     sort by file size


       --sort=WORD
              extension -X, none -U, size -S, time -t, version -v, status -c, time -t, atime -u, access -u, use -u


       --time=WORD
              with -l, show time as WORD instead of modification time: atime, access, use,  ctime  or  status;  use  specified  time  as  sort  key  if
              --sort=time


       --time-style=STYLE
              with  -l,  show  times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT.  FORMAT is interpreted like ‘date’; if FORMAT is FOR-
              MAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with  ‘posix-’,  STYLE  takes
              effect only outside the POSIX locale


       -t     sort by modification time


       -T, --tabsize=COLS
              assume tab stops at each COLS instead of 8


       -u     with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time


       -U     do not sort; list entries in directory order.  In combination with one_per_line format ‘-1’, it will show files immediately and it has no
              memory limitations.


       -v     sort by version


       -w, --width=COLS
              assume screen width instead of current value


       -x     list entries by lines instead of by columns


       -X     sort alphabetically by entry extension


       -1     list one file per line


       SELinux options:


       --lcontext
              Display security context.   Enable -l. Lines will probably be too wide for most displays.


       -Z, --context
              Display security context so it fits on most displays.  Displays only mode, user, group, security context and file name.


       --scontext
              Display only security context and file name.


       --help display this help and exit


       --version
              output version information and exit


       SIZE may be (or may be an integer optionally followed by) one of following: kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G,  T,  P,
       E, Z, Y.


       By  default,  color  is not used to distinguish types of files.  That is equivalent to using --color=none.  Using the --color option without the
       optional WHEN argument is equivalent to using --color=always.  With --color=auto, color codes are output only if standard output is connected to
       a terminal (tty).  The environment variable LS_COLORS can influence the colors, and can be set easily by the dircolors command.


       Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.


AUTHOR
       Written by Richard Stallman and David MacKenzie.


REPORTING BUGS
       Report bugs to <bug-coreutils@gnu.org>.


COPYRIGHT
       Copyright © 2006 Free Software Foundation, Inc.
       This    is   free   software.    You   may   redistribute   copies   of   it   under   the   terms   of   the   GNU   General   Public   License
       <http://www.gnu.org/licenses/gpl.html>.  There is NO WARRANTY, to the extent permitted by law.


SEE ALSO
       The full documentation for ls is maintained as a Texinfo manual.  If the info and ls programs are properly installed at your site, the command


              info ls


       should give you access to the complete manual.


中文翻译为:

-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 在标准输出上输出版本信息并退出。

 

通过命令查询统计文件个数和目录个数: 

1) 统计当前文件夹下文件的个数

复制代码 代码如下:

ls -l |grep "^-"|wc -l

2) 统计当前文件夹下目录的个数

复制代码 代码如下:

ls -l |grep "^d"|wc -l

 
3) 统计当前文件夹下文件的个数,包括子文件夹里的
复制代码 代码如下:

ls -lR|grep "^-"|wc -l

 
4) 统计文件夹下目录的个数,包括子文件夹里的

复制代码 代码如下:

ls -lR|grep "^d"|wc -l

 
说明:
复制代码 代码如下:

ls -l

长列表输出当前文件夹下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)
 
复制代码 代码如下:

grep "^-"

这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d
复制代码 代码如下:

wc -l

统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值