ls命令总结


ls:列出目录内容。列出文件信息(默认是当前目录下的文件)。

常用参数:-a,-l,-d,-F,-i。

[root@oldboy ~]# man ls
Formatting page, please wait...
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.  See SIZE format below

       -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]
              colorize  the  output.   WHEN  defaults  to  ‘always’  or can be
              ‘never’ or ‘auto’.  More info below

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

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

       -f     do not sort, enable -aU, disable -ls --color

       -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

       --group-directories-first
              group directories before files.

              augment with a --sort option, but any use  of  --sort=none  (-U)
              disables grouping

       -G, --no-group
              in a long listing, don’t print group names

       -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  direc-
              tory

       --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
              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 informa-
              tion 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 spe-
              cially)

       -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
              print the allocated size of each file, in blocks

       -S     sort by file size

       --sort=WORD
              sort by WORD instead of name: none -U, extension  -X,  size  -S,
              time -t, version -v

       --time=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

       --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  FORMAT1<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

       -v     natural sort of (version) numbers within text

       -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  fol-
       lowing: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T,
       P, E, Z, Y.

       Using color to distinguish file types is disabled both by  default  and
       with  --color=never.  With --color=auto, ls emits color codes only when
       standard output is connected to a terminal.  The LS_COLORS  environment
       variable can change the settings.  Use the dircolors command to set it.

   Exit status:
       0      if OK,

       1      if minor problems (e.g., cannot access subdirectory),

       2      if serious trouble (e.g., cannot access command-line  argument).


1、-a参数:列出当前目录下所有文件,包括隐藏文件。

[root@oldboy ~]# ls
anaconda-ks.cfg  hello               Just_test.txt  strspn_test    world
data             install.log         my_test.txt    strspn_test.c
ett.txt          install.log.syslog  mytest.txt     test.txt
[root@oldboy ~]# ls -a
.                .bash_profile  hello               my_test.txt    test.txt
..               .bashrc        install.log         mytest.txt     .viminfo
anaconda-ks.cfg  .cshrc         install.log.syslog  strspn_test    world
.bash_history    data           Just_test.txt       strspn_test.c
.bash_logout     ett.txt        .lesshst            .tcshrc
[root@oldboy ~]#

缺省参数时,不会列出隐藏文件。对比能看出,-a参数把所有隐藏文件都列出来了。


2、-A参数:列出当前目录下除. ..目录文件之外的所有文件。

[root@oldboy ~]# ls -A
anaconda-ks.cfg  .bashrc  hello               .lesshst     strspn_test.c  world
.bash_history    .cshrc   install.log         my_test.txt  .tcshrc
.bash_logout     data     install.log.syslog  mytest.txt   test.txt
.bash_profile    ett.txt  Just_test.txt       strspn_test  .viminfo
[root@oldboy ~]#

对比例1,可以看出-A参数不会列出.(当前目录) ..(上层目录)两个目录。


3、-l参数:长列表形式展现当前目录下的文件,不包括隐藏文件。

[root@oldboy ~]# ls -lrt
total 80
-rw-r--r--. 1 root root  5890 Mar 26 23:46 install.log.syslog
-rw-r--r--. 1 root root 22179 Mar 26 23:48 install.log
-rw-------. 1 root root  1044 Mar 26 23:48 anaconda-ks.cfg
drwxr-xr-x. 2 root root  4096 Mar 28 07:32 data
-rw-r--r--. 1 root root   292 Apr  2 17:36 ett.txt
-rw-r--r--  1 root root     1 Apr  3 04:48 mytest.txt
-rw-r--r--  1 root root    84 Apr  3 14:20 Just_test.txt
-rw-r--r--  1 root root   220 Apr  3 14:42 strspn_test.c
-rwxr-xr-x  1 root root  6786 Apr  3 14:43 strspn_test
drwxr-xr-x  2 root root  4096 Apr  4 18:56 hello
drw-r--r--  2 root root  4096 Apr  4 18:57 world
-rw-r--r--  1 root root     0 Apr  5 00:07 my_test.txt
-rw-r--r--  1 root root    40 Apr  6 06:39 test.txt
[root@oldboy ~]#

长列表格式有9列,其中:

第一列:文件属性及文件权限-(普通文件)d(目录文件),rw-r--r--九个字符是文件权限r(读权限,数字4可表示)w(写权限,数字2可表示)x(写权限,数字1可表示)-(表示对应权限没有)前三个,表示文件属主拥有的权限;中间三个,表示文件属组拥有的权限;最后三个,表示其他用户拥有的权限。

第二列:文件节点数

第三列:文件属主,这个文件属于谁。

第四列:文件属组,就是这个文件属于那个组。

第五列:文件大小。

第六列:修改时间月份。

第七列:修改时间日期。

第八列:修改时间。(六七八列,合起来就是文件修改的时间戳)

第九列:文件名。


4、-F参数:显示文件对应特殊符号描述符。

[root@oldboy ~]# ls -F
anaconda-ks.cfg  hello/              Just_test.txt  strspn_test*   world/
data/            install.log         my_test.txt    strspn_test.c
ett.txt          install.log.syslog  mytest.txt     test.txt
[root@oldboy ~]#

其中没有的是普通文件,/代表目录文件,*代表可执行文件。


5、-i参数:显示文件的node节点。

[root@oldboy ~]# ls -i
659244 anaconda-ks.cfg  654084 install.log.syslog  659268 strspn_test.c
659252 data             659264 Just_test.txt       659271 test.txt
659251 ett.txt          659269 my_test.txt         659267 world
659265 hello            659263 mytest.txt
654082 install.log      659248 strspn_test
[root@oldboy ~]#


较常用的是这个几个参数,其他参数,以后再做总结。

你可能感兴趣的:(学习总结,ls命令)