01 ls命令

ls命令

1.  ls –a 显示当前目录中的所有文件,包含隐藏文件

             ls -A 显示所有文件 但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录),除了这两个后面都是一样

2.  ls -l 以列表的方式显示文件

 

 

 

 

以最后一行输出为例,

    drwxr-xr-x 第一个字符有3种情况:

“-”表示普通文件,

“d”代表目录,

“l”代表链接文件,相当于windows的快捷方式;(比如软链接)

“b”代表块设备(以块为单位接受输入和返回输出,比如512个字节),硬盘就是一个例子;

    drwxr-xr-x 后面的9个字符每3个为一组,分别代表文件所有者、文件所有者所在用户组、其它用户对文件拥有的权限。每组中“r”、“w”、“x”三个字符分别代表读、写、执行的权限,若没有其中的任何一个权限则用“-”表示。执行的权限有两个字符可选,最常见的一个是“x”代表可执行,另一个是“s”代表套接口文件。

(下图就有s套接字文件,套接字用于通信,特别是在网络上 
           举例说明:Socket=Ip address+ TCP/UDP + port

      紧接着的数字“2”代表 “雏鹰日志”这个目录下的目录文件数目这个数目=隐藏目录数目+普通目录数目)。(如果这只是一个普通文件,那“2”就代表这个文件有两个别名,这个文件被人创建了一个硬链接文件

      后面的aijian.shi代表这个文件(目录)的属主(Owner)为用户aijian.shi 

      再接下来的tdsw1代表这个文件(目录)所属的用户组(Group)为组tdsw1(本人软件组) 

      4096 代表文件的大小(字节数),目录的大小总是为4096字节。

      Aug   3   16:17代表文件(目录)的修改时间。

3. -h显示文件大小时增加可读性(例:1K 234M 2G)

 

例题:

例一:列出/home/peidachang文件夹下的所有文件和目录的详细资料

          命令:ls -l -R /home/peidachang或者ls -lR /home/peidachang    (-R, –recursive 同时列出所有子目录层)

例二:列出当前目录中所有以“t”开头的目录的详细内容,可以使用如下命令:

     命令:ls -l t* 

 

下面这些,目前还不会!

例三:只列出文件下的子目录

命令:ls -F /opt/soft |grep /$  

列出 /opt/soft 文件下面的子目录

输出:

[root@localhost opt]# ls -F /opt/soft |grep /$

jdk1.6.0_16/

subversion-1.6.1/

tomcat6.0.32/

命令:ls -l /opt/soft | grep "^d"

列出 /opt/soft 文件下面的子目录详细情况

输出

[root@localhost opt]#  ls -l /opt/soft | grep "^d"

drwxr-xr-x 10 root root      4096 09-17 18:17 jdk1.6.0_16

drwxr-xr-x 16 1016 1016      4096 10-11 03:25 subversion-1.6.1

drwxr-xr-x  9 root root      4096 2011-11-01 tomcat6.0.32

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

命令:ls -ltr s*

输出

[root@localhost opt]# ls -ltr s*

src:

总计 0

 

script:

总计 0

 

soft:

总计 350644

drwxr-xr-x  9 root root      4096 2011-11-01 tomcat6.0.32

-rwxr-xr-x  1 root root  81871260 09-17 18:15 jdk-6u16-linux-x64.bin

drwxr-xr-x 10 root root      4096 09-17 18:17 jdk1.6.0_16

-rw-r--r--  1 root root 205831281 09-17 18:33 apache-tomcat-6.0.32.tar.gz

-rw-r--r--  1 root root   5457684 09-21 00:23 tomcat6.0.32.tar.gz

-rw-r--r--  1 root root   4726179 10-10 11:08 subversion-deps-1.6.1.tar.gz

-rw-r--r--  1 root root   7501026 10-10 11:08 subversion-1.6.1.tar.gz

drwxr-xr-x 16 1016 1016      4096 10-11 03:25 subversion-1.6.1

例五:列出目前工作目录下所有档案及目录;目录于名称后加"/", 可执行档于名称后加"*" 

命令:ls -AF

输出

[root@localhost opt]# ls -AF

log/  script/  soft/  src/  svndata/  web/

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

命令:

ls -l * |grep "^-"|wc -l ---文件个数  

ls -l * |grep "^d"|wc -l    ---目录个数

例七: 在ls中列出文件的绝对路径

命令:ls | sed "s:^:`pwd`/:"

输出

    [root@localhost opt]# ls | sed "s:^:`pwd`/:" 

    /opt/log

    /opt/script

    /opt/soft

    /opt/src

    /opt/svndata

    /opt/web

 

例九:列出当前目录下的所有文件(包括隐藏文件)的绝对路径, 对目录不做递归

命令:find $PWD -maxdepth 1 | xargs ls -ld

输出:

[root@localhost opt]# find $PWD -maxdepth 1 | xargs ls -ld

drwxr-xr-x 8 root root 4096 10-11 03:43 /opt

drwxr-xr-x 2 root root 4096 2012-03-08 /opt/log

drwxr-xr-x 2 root root 4096 2012-03-08 /opt/script

drwxr-xr-x 5 root root 4096 10-11 03:21 /opt/soft

drwxr-xr-x 2 root root 4096 2012-03-08 /opt/src

drwxr-xr-x 4 root root 4096 10-11 05:22 /opt/svndata

drwxr-xr-x 4 root root 4096 10-09 00:45 /opt/web

例十:递归列出当前目录下的所有文件(包括隐藏文件)的绝对路径

命令: find $PWD | xargs ls -ld 

 

例十一:指定文件时间输出格式

命令:

 ls -tl --time-style=full-iso

输出:

[root@localhost soft]# ls -tl --time-style=full-iso 

总计 350644

drwxr-xr-x 16 1016 1016 4096 2012-10-11 03:25:58.000000000 +0800 subversion-1.6.1

 

 ls -ctl --time-style=long-iso

输出:

[root@localhost soft]# ls -ctl --time-style=long-iso

总计 350644

drwxr-xr-x 16 1016 1016      4096 2012-10-11 03:25 subversion-1.6.1

posted @ 2020-03-21 03:44  黄金战甲,嘶风怒马  阅读(147)  评论(0编辑  收藏  举报