Linux中的列目录命令(不列文件
1.多列显示:ls -d */
2.单列无详细信息:ls -F | grep /$
3.单列有详细信息:(1)ls -ld */;(2)ls -l | grep ^d
以下是ls命令的其他用法参考:
======================
列文件或目录的信息工具 ls或dir
======================
ls 命令可以用于显示目录的内容,也可以显示文件的属性,比如节点、文件种类、权限、拥有者、大小、创建时间等;在目前最新版本的Linux中dir和ls命令的用法是一样的;有兴趣的不仿尝试一下;
1 ls 的基础语法和参数
语法格式:
#ls [参数]  [目录或文件名]
参数:
-a 显示所有文件,包含隐藏文件;包括“.“和“..“
-A 显示所有文件,包含隐藏文件,不包括“.“和“..“目录;
-B 不列出文件名以~结尾的文件;
-C 按列列出文件;
-d 仅可以查看目录的属性参数及信息;
-F 这个参数加上后,能给目录添加上/,给可执行文件加上*,给符号链接加上@  等等,来标记文件名,目的是让用户方便查看;
-l 长格式输出
-h 习惯人们可阅读的方式来显示文件或目录的大小,比如K、M或G等;
-p 在目录的后面附加/标记;
黄轩和蒋雯丽-r 逆序列出文件;
-t  按文件最后访问(或修改)的时间排序,最新的排在最前面;
-U 按原始排序,
-L 递归显示,也就是说,当我们列某个目录的下的所有文件和目录时,能把它的下级目录的内容显示出来。
--help  获得帮助;
在这里,位于[]之内的都是可选的。如果您只输入ls ,就会列出用户所处当前目录的所有文件,用短格式输出,但不会列出隐藏文件。
判断用户所处目录的命令是pwd,也就是
[root@localhost ~]# pwd
/root
2 ls 的参数示例应用;
达令app
2.1 列出目录下所有文件,包含或不包含隐藏文件,-a 参数及-l参数的运用;
#ls -la [目录名]
如果不接目录名,表示输出当前用户所处目录内的所有文件,包括隐藏文件;
[root@localhost ~]# pwd
/root
[root@localhost ~]# ls -la
列出某一目录下的的文件或目录,但不包括隐藏文件,我们只用-l参数
#ls -l  目录
比如:
[root@localhost ~]# ls  -l /root/
总计 13968
-
rw-r--r-- 1 root root        0 04-19 14:
-rw------- 1 root root      1375 03-16 08:55 anaconda-ks.cfg
-rw-r--r-- 1 root root        2 03-27 02:00 fonts.scale
-rw-r--r-- 1 root root      5423 03-16 08:52 install.log.syslog
-rw-r--r-- 1 root root  14087155 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
lrwxrwxrwx 1 root root        33 04-19 11:27 kernel.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm
drwxr-xr-x 2 1000 users    4096 04-04 23:30 mkuml-2004.07.17
-rw-r--r-- 1 root root    68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
drwxr-xr-x 2 root root      4096 04-19 10:53 mydir
-rw-r--r-- 1 root root    53992 03-16 08:54 myinstall.log
-rw-r--r-- 1 root root        0 04-19 14:
drwxr-xr-x 2 root root      4096 03-17 04:25 Public
-rw-r--r-- 1 root root      613 03-26 18:41 upgrade.log
-rw-r--r-- 1 root root        0 03-26 18:39 upgrade.log.syslog
lrwxrwxrwx 1 root root        6 04-19 11:17 yourdir -> mydir/
熊出没的主题曲
说明:如果以长格式输入,总共显示出八段内容:
第一段文件种类及权限,也就是类似这样的-rw-r--r-- ,我们在前面讲到,如果在这段中,第一字符表示文件的类型,如果出现-,表示普通文件。如果是d开头的就是目录。在这个例子中,是普通文件,而mkuml-2004.07.17就是一个目录。关于文件的种类,请参考 :
rw-r--r--是权限位,我们在以后的教程中会讲到。
第二段 硬链接个数(文件系增加一个硬链接,数字会增加1,默认从1开始,1表示无硬链接文件,如果是一个目录,它的默认值应该是2。目录是不能做硬链接的)
如果我们不以长格式输出的话,可以把参数省略;
第三段 文件或目录所占用的字节数,如果您想用K来表示,请用ls -lh /root
第四段 最后访问日期
第五段 最后访问时间
第六段 文件名
[root@localhost ~]# ls /root
[1].12 仅查看目录的属性的-d参数的运用示例;
[root@localhost ~]# ls -ld  /etc  /boot  注:查看/etc和/boot目录的信息;
drwxr-xr-x  4 root root  4096 04-11 16:22 /boot
drwxr-xr-x 108 root root 12288 04-20 12:36 /etc
[1].13 查看文件或目录的inode节点,-i参数的运用;
查看文件或目录的节点,我们要用到i参数。如果节点相同,能确认他们是相同的文件,是通过通过ln
创建的硬链接文件;链接接有何用?如果您想把一个文件复制时保持原文件或目录的节点、大小、权限以及访问(或修改)时间都和原文件一致的文件。必须通过硬链接来实现,用cp命令是不可能实现的。
比如:
[root@localhost ~]# ls -li kernel*
2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel00.rpm
2408270 lrwxrwxrwx 1 root root      33 04-19 14:56 kernel1.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm
2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel.rpm
我们看一下kernel00.rpm 、kernel.rpm 和 kernel-2.6.15-1.2025_FC5.i686.rpm 是不是节点相同??他们的大小是不是一样,他们的访问日期是不是一样?只是他们的文件名不一样。文件名不一样没有关系,这能证明其中两个文件是由另一个文件通过ln 创建而成。
您可以尝试着用cp 把 kernel-2.6.15-1.2025_FC5.i686.rpm 复制为kernel002.rpm ,看看能不能保持节点相同?
[root@localhost ~]# ls -li kernel*
2408272 -rw-r--r-- 1 root root 14087155
04-19 16:05 kernel002.rpm
2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel00.rpm
2408270 lrwxrwxrwx 1 root root      33 04-19 14:56 kernel1.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm
2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel.rpm
不是是kernel002.rpm 的节点和 kernel-2.6.15-1.2025_FC5.i686.rpm 不一样了?
[1].14 关于排序的参数的应用;
ls 显示目录的内容时,会将文件按a到z的字母顺序显示,优先级如下:
数字 
a-z 
A-Z
也就是说如果不加任何排序的参数,文件名第一个字母是数字的,将优先显示;其次才是A-Z,然后才是a-z;下面是几个排序的参数,大家练习一下就知道了;
在文件的大小排序上,我们要用到-S参数;
如果是逆序排序时,我们要用到-r参数;
按最后访问的时候排序,要用到-t参数;
根据扩展名进行排序,要用到参数 -X ;
举例
[root@localhost ~]# ls
<          fonts.scale        kernel                          myinstall.log  upgrade.log
anaconda-ks.cfg  install.log.syslog  mkuml-2004.07.17-ananas.tar.bz2      upgrade.log.syslog
[root@localhost ~]# ls -lS /root
[root@localhost ~]# ls -lS
总计 180
-rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
-rw-r--r-- 1 root root 53992 03-16 08:54 myinstall.log
-rw-r--r-- 1 root root  5423 03-16 08:52 install.log.syslog
drwxr-xr-x 2 root root  4096 04-19 20:04 kernel
-rw------- 1 root root  1375 04-19 15:04 anaconda-ks.cfg
-rw-r--r-- 1 root root  613 03-26 18:41 upgrade.log
-rw-r--r-- 1 root root    21 04-19 15:
-rw-r--r-- 1 root root    2 03-27 02:00 fonts.scale
-rw-r--r-- 1 root root    0 04-19 14:
-rw-r--r-- 1 root root    0 03-26 18:39 upgrade.log.syslog
举例:
[root@localhost ~]# ls -lr
总计 180
-rw-r--r-- 1 root root    0 03-26 18:39 upgrade.log.syslog
-rw-r--r-- 1 root root  613 03-26 18:41 upgrade.log
-rw-r--r-- 1 root root    0 04-19 14:
-rw-r--r-- 1 root root 53992 03-16 08:54 myinstall.log
-
rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
drwxr-xr-x 2 root root  4096 04-19 20:04 kernel
-rw-r--r-- 1 root root  5423 03-16 08:52 install.log.syslog
-rw-r--r-- 1 root root    2 03-27 02:00 fonts.scale
-rw------- 1 root root  1375 04-19 15:04 anaconda-ks.cfg
-rw-r--r-- 1 root root    21 04-19 15:
[root@localhost ~]# ls -lt
总计 180
drwxr-xr-x 2 root root  4096 04-19 20:04 kernel
-rw-r--r-- 1 root root    21 04-19 15:
-rw------- 1 root root  1375 04-19 15:04 anaconda-ks.cfg
-
rw-r--r-- 1 root root    0 04-19 14:
-rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
-rw-r--r-- 1 root root    2 03-27 02:00 fonts.scale
-rw-r--r-- 1 root root  613 03-26 18:41 upgrade.log
-rw-r--r-- 1 root root    0 03
-26 18:39 upgrade.log.syslog
-rw-r--r-- 1 root root 53992 03-16 08:54 myinstall.log
-rw-r--r-- 1 root root  5423 03-16 08:52 install.log.syslog
[1].15 递归显示目录的文件,-R参数的应用;
递归显示目录下的所有文件,如果该目录下有子目录,也会把子目录的文件一并显示出来。
比如
[root@localhost ~]# ls -lR /
注:也就是把Linux下/根目录下的所有文件显示出来,但不会显示隐藏文件。自己试着输入上面的命令就知道怎么回事了。
[1].16 关于ls 输出内容在终端显示颜的参数 --color;
在一般的情况下,ls输出内容是有颜的,比如目录是蓝,压缩文件是红字的显示。如果没有颜,可以加上参数。当然也可以去掉颜。
--color=never  表示输出输出没有彩
--color=auto  表示自动
--color=always 表示输出内容有彩
痞幼黑料视频内容举例:
[root@localhost ~]# ls -la --color=never
[root@localhost ~]# ls -la --color=any
[root@localhost ~]# ls -la --color=always
如果您的终端或控制台输出的内容没有颜,可以自己来定义。在当前用户的家目录下的.bashrc 中加入下面的一行;
alias ls="ls --color=always"
[1].17 ls的-F参数的示例;
[root@localhost ~]# ls -F
crondw.sh*  kernel/  mkuml-2004.07.17-ananas.tar.bz2  @    upgrade.log  youdir/
[root@localhost ~]# ls -lF
总计 92
-rwxr-xr-x 1 root root    0 04-20 14:18 crondw.sh*
drwxr-xr-x 3 root root  4096 04-20 14:17 kernel/
-rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
lrwxrwxrwx 1 root root    7 04-20 14: ->
-rw-r--r-- 1 root root    11 04-20 14:
-rw-r--r-- 1 root root  613 03-26 18:41 upgrade.log
drwxr-xr-x 6 root root  4096 04-20 14:17 youdir/
1.3 通配符在ls命令中的应用;
* 代表0个或多个字符
[]内部包括任何字符立春是几点
? 任何单个字符
举例:
比如我们显示以k开头的所有文件,在/root目录中的;
[root@localhost ~]# ls /root/k*
kernel002.rpm  kernel00.rpm  kernel1.rpm  kernel-2.6.15-1.2025_FC5.i686.rpm  kernel.rpm
我们显示以数字开头的所有文件;
虾球的做法
[root@localhost ~]# ls [0-9]*
<      6mns.doc
下面是一个?通配符的示例:
[root@localhost ~]# ls *.t?t
<       
1.4 获得ls 的帮助;
ls 的用法比较简单,至于更详细的参考,还是查man和help。遇到不会的,就查手册,我也是这么做的。
[root@localhost ~]# ls --help
[root@localhost ~]# man ls
[root@localhost ~]# info ls