Linux基础知识之ls与文件名通配详解(2)

.bash_profile    .cshrc   .ICEauthority  .mozilla              模板         下载

 

-d 显示目录本身但不显示目录下的内容

1

2

3

4

 

[root@localhost ~]# ls -d /root

/root

[root@localhost ~]# ls /root

anaconda-ks.cfg  CST  initial-setup-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面

 

-h 以人易识别的方式展示文件大小必须与-l一起使用

-l 文件长格式,也就是展示文件详细信息

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

 

[root@localhost ~]# ls /root

anaconda-ks.cfg  CST  initial-setup-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面

[root@localhost ~]# ls -l /root

总用量 8

-rw-------. 1 root root 1172 7月  20 00:38 anaconda-ks.cfg

drwxr-xr-x. 2 root root    6 7月  21 18:52 CST

-rw-------. 1 root root 1220 7月  19 16:46 initial-setup-ks.cfg

drwxr-xr-x. 2 root root    6 7月  22 09:52 公共

drwxr-xr-x. 2 root root    6 7月  22 09:52 模板

drwxr-xr-x. 2 root root    6 7月  22 09:52 视频

drwxr-xr-x. 2 root root    6 7月  22 09:52 图片

drwxr-xr-x. 2 root root    6 7月  22 09:52 文档

drwxr-xr-x. 2 root root    6 7月  22 09:52 下载

drwxr-xr-x. 2 root root    6 7月  22 09:52 音乐

drwxr-xr-x. 2 root root    6 7月  22 09:52 桌面

 

上面显示了加-l与不加-l的却别,下面看看加-h的好处

1

2

3

4

5

6

7

8

9

10

11

12

13

 

[root@localhost ~]# ls -lh /root

总用量 8.0K

-rw-------. 1 root root 1.2K 7月  20 00:38 anaconda-ks.cfg

drwxr-xr-x. 2 root root    6 7月  21 18:52 CST

-rw-------. 1 root root 1.2K 7月  19 16:46 initial-setup-ks.cfg

drwxr-xr-x. 2 root root    6 7月  22 09:52 公共

drwxr-xr-x. 2 root root    6 7月  22 09:52 模板

drwxr-xr-x. 2 root root    6 7月  22 09:52 视频

drwxr-xr-x. 2 root root    6 7月  22 09:52 图片

drwxr-xr-x. 2 root root    6 7月  22 09:52 文档

drwxr-xr-x. 2 root root    6 7月  22 09:52 下载

drwxr-xr-x. 2 root root    6 7月  22 09:52 音乐

drwxr-xr-x. 2 root root    6 7月  22 09:52 桌面

 

之前的字节都自动转换为kb格式,上面的更方便与我们对于文件大小有更直观的认识。

-i 显示文件inode号,关于inode我还有一些困惑,等了解足够清楚在后面会专门为inode写一篇文字。

1

2

3

4

5

6

7

8

9

10

11

12

13

 

[root@localhost ~]# ls -il /root

总用量 8

 72664101 -rw-------. 1 root root 1172 7月  20 00:38 anaconda-ks.cfg

 73207816 drwxr-xr-x. 2 root root    6 7月  21 18:52 CST

 72699695 -rw-------. 1 root root 1220 7月  19 16:46 initial-setup-ks.cfg

  2536844 drwxr-xr-x. 2 root root    6 7月  22 09:52 公共

101603105 drwxr-xr-x. 2 root root    6 7月  22 09:52 模板

  2536850 drwxr-xr-x. 2 root root    6 7月  22 09:52 视频

101603106 drwxr-xr-x. 2 root root    6 7月  22 09:52 图片

 35973547 drwxr-xr-x. 2 root root    6 7月  22 09:52 文档

 73207845 drwxr-xr-x. 2 root root    6 7月  22 09:52 下载

 73207846 drwxr-xr-x. 2 root root    6 7月  22 09:52 音乐

 34020951 drwxr-xr-x. 2 root root    6 7月  22 09:52 桌面

 

现在可以简单的���为inode相当于大公司的员工号,大公司根据员工号精确定位某个人,而它则是准确定位文件存储的位置。

-r 逆序显示文件

1

2

3

4

5

6

7

8

9

10

11

12

13

 

[root@localhost ~]# ls -rl /root 

总用量 8

drwxr-xr-x. 2 root root    6 7月  22 09:52 桌面

drwxr-xr-x. 2 root root    6 7月  22 09:52 音乐

drwxr-xr-x. 2 root root    6 7月  22 09:52 下载

drwxr-xr-x. 2 root root    6 7月  22 09:52 文档

drwxr-xr-x. 2 root root    6 7月  22 09:52 图片

drwxr-xr-x. 2 root root    6 7月  22 09:52 视频

drwxr-xr-x. 2 root root    6 7月  22 09:52 模板

drwxr-xr-x. 2 root root    6 7月  22 09:52 公共

-rw-------. 1 root root 1220 7月  19 16:46 initial-setup-ks.cfg

drwxr-xr-x. 2 root root    6 7月  21 18:52 CST

-rw-------. 1 root root 1172 7月  20 00:38 anaconda-ks.cfg

 

-R 递归显示目录内容

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

 

[root@localhost ~]# ls -Rl /root 

/root:

总用量 8

-rw-------. 1 root root 1172 7月  20 00:38 anaconda-ks.cfg

drwxr-xr-x. 2 root root    6 7月  21 18:52 CST

-rw-------. 1 root root 1220 7月  19 16:46 initial-setup-ks.cfg

drwxr-xr-x. 2 root root    6 7月  22 09:52 公共

drwxr-xr-x. 2 root root    6 7月  22 09:52 模板

drwxr-xr-x. 2 root root    6 7月  22 09:52 视频

drwxr-xr-x. 2 root root    6 7月  22 09:52 图片

drwxr-xr-x. 2 root root    6 7月  22 09:52 文档

drwxr-xr-x. 2 root root    6 7月  22 09:52 下载

drwxr-xr-x. 2 root root    6 7月  22 09:52 音乐

drwxr-xr-x. 2 root root    6 7月  22 09:52 桌面

  

/root/CST:

总用量 0

  

/root/公共:

总用量 0

  

/root/模板:

总用量 0

  

/root/视频:

总用量 0

  

/root/图片:

总用量 0

  

/root/文档:

总用量 0

  

/root/下载:

总用量 0

  

/root/音乐:

总用量 0

  

/root/桌面:

总用量 0

 

加上递归后会在显示主目录下的内容后在分别显示各个子目录下的所有内容,如果子目录下还有子目录也依次展开。其目的与-d相反

-S 按文件大小排序

1

2

3

4

5

6

7

8

9

10

11

12

13

 

[root@localhost ~]# ls -Sl /root 

总用量 8

-rw-------. 1 root root 1220 7月  19 16:46 initial-setup-ks.cfg

-rw-------. 1 root root 1172 7月  20 00:38 anaconda-ks.cfg

drwxr-xr-x. 2 root root    6 7月  21 18:52 CST

drwxr-xr-x. 2 root root    6 7月  22 09:52 公共

drwxr-xr-x. 2 root root    6 7月  22 09:52 模板

drwxr-xr-x. 2 root root    6 7月  22 09:52 视频

drwxr-xr-x. 2 root root    6 7月  22 09:52 图片

drwxr-xr-x. 2 root root    6 7月  22 09:52 文档

drwxr-xr-x. 2 root root    6 7月  22 09:52 下载

drwxr-xr-x. 2 root root    6 7月  22 09:52 音乐

drwxr-xr-x. 2 root root    6 7月  22 09:52 桌面

 

-t 以mtime时间前后排序,mtime越新越靠前

1

2

3

4

5

6

7

8

9

10

11

12

13

 

[root@localhost ~]# ls -tl /root

总用量 8

drwxr-xr-x. 2 root root    6 7月  22 09:52 公共

drwxr-xr-x. 2 root root    6 7月  22 09:52 模板

drwxr-xr-x. 2 root root    6 7月  22 09:52 视频

drwxr-xr-x. 2 root root    6 7月  22 09:52 图片

drwxr-xr-x. 2 root root    6 7月  22 09:52 文档

drwxr-xr-x. 2 root root    6 7月  22 09:52 下载

drwxr-xr-x. 2 root root    6 7月  22 09:52 音乐

drwxr-xr-x. 2 root root    6 7月  22 09:52 桌面

drwxr-xr-x. 2 root root    6 7月  21 18:52 CST

-rw-------. 1 root root 1172 7月  20 00:38 anaconda-ks.cfg

-rw-------. 1 root root 1220 7月  19 16:46 initial-setup-ks.cfg

 

-u 必须与-t合用,表示以atime时间前后排序,atime越新越靠前

1

2

3

4

5

6

7

8

9

10

11

12

13

 

[root@localhost ~]# ls -tul /root

总用量 8

drwxr-xr-x. 2 root root    6 7月  31 09:39 视频

drwxr-xr-x. 2 root root    6 7月  31 09:39 图片

drwxr-xr-x. 2 root root    6 7月  31 09:39 音乐

drwxr-xr-x. 2 root root    6 7月  31 09:39 下载

drwxr-xr-x. 2 root root    6 7月  31 09:39 文档

drwxr-xr-x. 2 root root    6 7月  31 09:39 公共

drwxr-xr-x. 2 root root    6 7月  31 09:39 CST

drwxr-xr-x. 2 root root    6 7月  31 09:39 桌面

drwxr-xr-x. 2 root root    6 7月  31 09:39 模板

-rw-------. 1 root root 1220 7月  19 16:46 initial-setup-ks.cfg

-rw-------. 1 root root 1172 7月  19 16:46 anaconda-ks.cfg

 

文件名通配

下面简要介绍下,文件名的通配符

*匹配零个或多个字符               ?匹配任何单个字符            

~ 当前用户家目录                  ~username 用户家目录

~-前一个工作目录                  ~+ 当前工作目录

[0-9]匹配一个数字范围             [a-z]:大写和小写字母

[A-Z]:大写和小写字母

[]匹配列表中的任何的一个字符      [^]匹配列表中的所有字符以外的字符

[:digit:]:任意数字,相当于0-9    [:lower:]:任意小写字母

[:upper:]: 任意大写字母           [:alpha:]: 任意大小写字母 

[:alnum:]:任意数字或字母         [:space:]:空格

[:punct:]:标点符号

下面通过一些实际例子,感受下文件名通配给我们带来的一些好处

1、显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录

1

2

 

[root@localhost ~]# ls /var/l*[0-9]*[[:lower:]]

ls: 无法访问/var/l*[0-9]*[[:lower:]]: 没有那个文件或目录

 

找不到,那我们自己创建一个符合条件的文件

1

2

3

 

[root@localhost ~]# touch /var/lq2e           

[root@localhost ~]# ls -l /var/l*[0-9]*[[:lower:]]

-rw-r--r--. 1 root root 0 7月  31 14:17 /var/lq2e

 

成功找到

2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录

1

2

3

4

5

 

[root@localhost ~]# ls /etc/[0-9]*[^0-9]

ls: 无法访问/etc/[0-9]*[^0-9]: 没有那个文件或目录

[root@localhost ~]# touch /etc/3q

[root@localhost ~]# ls /etc/[0-9]*[^0-9]

/etc/3q

 

初始的/etc/下没有符合条件的,通过创建一个符合条件的文件,成功检索并显示出来

3、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录

1

2

 

[root@localhost ~]# ls /etc/[^[:alpha:]][[:alpha:]]*

/etc/3q

 

成功显示

4、显示/etc目录下所有以m开头以非数字结尾的文件或目录

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

 

[root@localhost ~]# ls /etc/m*[^0-9]

/etc/machine-id  /etc/makedumpfile.conf.sample  /etc/motd         /etc/my.cnf

/etc/magic       /etc/man_db.conf               /etc/mtab

/etc/mail.rc     /etc/mke2fs.conf               /etc/mtools.conf

  

/etc/maven:

  

/etc/modprobe.d:

mlx4.conf

  

/etc/modules-load.d:

  

/etc/multipath:

  

/etc/my.cnf.d:

mysql-clients.cnf

 

5、显示/etc目录下,所有以.d结尾的文件或目录

1

2

3

4

5

6

7

8

9

10

11

12

 

[root@localhost ~]# ls -d /etc/*.d

/etc/bash_completion.d  /etc/ipsec.d         /etc/profile.d      /etc/rwtab.d

/etc/binfmt.d           /etc/ld.so.conf.d    /etc/rc0.d          /etc/sane.d

/etc/chkconfig.d        /etc/libibverbs.d    /etc/rc1.d          /etc/setuptool.d

/etc/cron.d             /etc/logrotate.d     /etc/rc2.d          /etc/statetab.d

/etc/depmod.d           /etc/modprobe.d      /etc/rc3.d          /etc/sudoers.d

/etc/dnsmasq.d          /etc/modules-load.d  /etc/rc4.d          /etc/sysctl.d

/etc/dracut.conf.d      /etc/my.cnf.d        /etc/rc5.d          /etc/tmpfiles.d

/etc/exports.d          /etc/oddjobd.conf.d  /etc/rc6.d          /etc/usb_modeswitch.d

/etc/gdbinit.d          /etc/pam.d           /etc/rc.d           /etc/xinetd.d

/etc/grub.d             /etc/popt.d          /etc/request-key.d  /etc/yum.repos.d

/etc/init.d             /etc/prelink.conf.d  /etc/rsyslog.d

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/15128.html