路漫漫其修远兮
吾将上下而求索

linux文件查看:ls命令

ls(list)列出文件清单,是linux下最常用的命令。缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等。ls 命令在日常的linux操作中用的很多!

命令格式

1. 命令格式:

        ls [选项] [目录名]

2. 命令功能:

        列出目标目录中所有的子目录和文件。

3. 常用参数:

        -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件(重要)

        -A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。

        –color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是'never'、'always'或'auto'其中之一(重要)

        -d, –directory 将目录象文件一样显示,而不是显示其下的文件。(重要)

        -h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)(重要)

        -i, –inode 印出每个文件的 inode 号(重要)

        -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。(重要)

        -S 根据文件大小排序(重要)

        -t 以文件修改时间排序(重要)

 

4. 常用范例:

例1: ls 命令时要注意命令的格式:在命令提示符后,首先是命令的关键字,接下来是命令参数,在命令参数之前要有一短横线“-”,所有的命令参数都有特定的作用,自己可以根据需要选用一个或者多个参数,在命令参数的后面是命令的操作对象。在这条命令“ls -l -t /var/log”中,“ls” 是命令关键字,“-l -t”是参数,“ /var/log”是命令的操作对象。在这条命令中,使用到了两个参数,分别为“l”和“t”,当然,你也可以把他们放在一起使用“ls -l -t /var/log”,是一样的。

例2:管理员使用的ls命令是/bin/ls命令的别名,加入了一些参数。默认的ls命令输出没有颜色,不容易区分文件类型,这里加入–color更好看些。

        显示彩色目录列表

            打开/etc/bashrc, 加入如下一行:

            alias ls="ls –color"

            下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:

            1. 蓝色–>目录

            2. 绿色–>可执行文件

            3. 红色–>压缩文件

            4. 浅蓝色–>链接文件

            5. 灰色–>其他文件

[root@localhost ~]#alias
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
[root@localhost ~]#ls    #不显示隐藏问
a  b  c  d
[root@localhost ~]#ll    #显示文件详细信息,不显示隐藏文件
total 4
-rw-r--r-- 1 root root    0 Mar 13 13:43 a
-rw-r--r-- 1 root root    0 Mar 13 13:43 b
-rw-r--r-- 1 root root    0 Mar 13 13:43 c
drwxr-xr-x 2 root root 4096 Mar 13 13:46 d
[root@localhost ~]#ls -a    #显示全部,包括隐藏文件
.              .bashrc    .gconf           .gvfs            .pulse-cookie
..             c          .gconfd          .ICEauthority    .ssh
a              .cache     .gnome2          .imsettings.log  .tcshrc
.abrt          .config    .gnome2_private  .kde             .thumbnails
b              .cshrc     .gnote           .local           .viminfo
.bash_history  d          .gnupg           .mozilla         .xsession-errors
.bash_logout   .dbus      .gstreamer-0.10  .nautilus        .xsession-errors.old
.bash_profile  .esd_auth  .gtk-bookmarks   .pulse

例3:列出目前工作目录下所有名称是s 开头的档案,愈新的排愈后面,可以使用如下命令:

[root@localhost ~]#ls -ltr /var/log
total 3884
drwx------. 2 root  root     4096 Mar 16  2015 ppp
drwxr-xr-x. 2 lp    sys      4096 May 11  2016 cups
-rw-------  1 root  root      144 Mar 12 03:07 messages
drwxr-xr-x. 2 root  root     4096 Mar 13 00:00 sa
-rw-------  1 root  root      706 Mar 13 13:43 secure
-rw-rw-r--. 1 root  utmp   140544 Mar 13 13:43 wtmp
-rw-r--r--. 1 root  root   146584 Mar 13 13:43 lastlog
-rw-------  1 root  root    25998 Mar 13 14:10 cron

例4:显示本目录的信息,不是本目录下面文件的信息

[root@localhost ~]#ll
total 4
-rw-r--r-- 1 root root    0 Mar 13 13:43 a
-rw-r--r-- 1 root root    0 Mar 13 13:43 b
-rw-r--r-- 1 root root    0 Mar 13 13:43 c
drwxr-xr-x 2 root root 4096 Mar 13 13:46 d
[root@localhost /var/log]#ll m*    #显示这个目录下面以m开头的文件
-rw-------  1 root  root        0 Mar 12 03:07 maillog
-rw-------. 1 root  root     5583 Mar  7 11:43 maillog-20170307
-rw-------  1 root  root      694 Mar 10 14:58 maillog-20170312
-rw-------  1 root  root      144 Mar 12 03:07 messages
-rw-------. 1 root  root  1939896 Mar  7 11:52 messages-20170307
-rw-------  1 root  root   214524 Mar 10 15:03 messages-20170312
-rw-r-----. 1 mysql mysql       0 Jul 21  2016 mysqld.log
[root@localhost ~]#ll -d    #显示的是/root目录的信息
dr-xr-x---. 22 root root 4096 Mar 13 13:46 .

例5:以容易理解的格式列出文件大小 

[root@localhost ~]#ll -h    #以人能看懂的方式显示,更加方便看大小,而不是统一以字节为单位显示
total 4.0K
-rw-r--r-- 1 root root    0 Mar 13 13:43 a
-rw-r--r-- 1 root root    0 Mar 13 13:43 b
-rw-r--r-- 1 root root    0 Mar 13 13:43 c
drwxr-xr-x 2 root root 4.0K Mar 13 13:46 d

例6:显示每个文件的inode

[root@localhost ~]#ls -i
262146 a  262147 b  265678 c  265692 d
[root@localhost ~]#ll -i
total 4
262146 -rw-r--r-- 1 root root    0 Mar 13 13:43 a
262147 -rw-r--r-- 1 root root    0 Mar 13 13:43 b
265678 -rw-r--r-- 1 root root    0 Mar 13 13:43 c
265692 drwxr-xr-x 2 root root 4096 Mar 13 13:46 d

例7:递归显示目录下面的文件

[root@localhost ~]#ls 
a  b  c  d
[root@localhost ~]#ls -R
.:
a  b  c  d

./d:
e

例8:以文件大小进行排序显示,好像目录是显示不出来大小的

[root@localhost ~]#ll -S /var/log
total 3884
-rw-------. 1 root  root  1939896 Mar  7 11:52 messages-20170307
-rw-r--r--. 1 root  root   419577 Sep  3  2016 dracut.log
-rw-------  1 root  root   214524 Mar 10 15:03 messages-20170312
-rw-------. 1 root  root   173315 Jul 21  2016 anaconda.storage.log
-rw-------. 1 root  root   149578 Jul 21  2016 anaconda.syslog
-rw-r--r--. 1 root  root   146584 Mar 13 13:43 lastlog
-rw-------. 1 root  root   144804 Jul 21  2016 anaconda.yum.log
-rw-rw-r--. 1 root  utmp   140544 Mar 13 13:43 wtmp
-rw-r--r--  1 root  root    87122 Mar 10 14:57 dmesg
-rw-r--r--  1 root  root    87056 Mar  7 15:12 dmesg.old

例9:计算当前目录下的文件数和目录数

[root@localhost /var/log]#ll | grep "^d" | wc -l    #目录个数
12
[root@localhost /var/log]#ll | grep "^-" | wc -l    #文件个数
44

例10:在ls中列出文件的绝对路径,原理:使用sed命令替换,比如列出来:anaconda.syslog,将其行首替换为(执行pwd命令,执行结果“/var/log”,并将执行结果加上“/”)

[root@localhost /var/log]#ls | sed "s:^:`pwd`/:" 
/var/log/anaconda.ifcfg.log
/var/log/anaconda.log
/var/log/anaconda.program.log
/var/log/anaconda.storage.log
/var/log/anaconda.syslog

未经允许不得转载:江哥架构师笔记 » linux文件查看:ls命令

分享到:更多 ()

评论 抢沙发

评论前必须登录!