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
–
–
–
评论前必须登录!
注册