21
2020
04

CentOS7.6文件和目录操作技巧、通配符

下面介绍一些在Linux系统中常用的操作技巧,掌握并灵活使用这些技巧,将非常有助于提高 我们的工作效率。

  1. 命令或路径补全

    在输入命令或路径时,如果无法记住完整的命令或路径,可以使用Tab键对命令或路径自动补全,以简化输入。如果连续两次按下Tab键,可以列出所有以指定字符开头的命令或路径

    [root@localhost ~]# system  #连接按两次Tab键,可以列出所有以system开头的命令

    systemctl                       systemd-firstboot               systemd-run

    systemd-analyze                 systemd-hwdb                    systemd-socket-activate

    systemd-ask-password            systemd-inhibit                 systemd-stdio-bridge

    systemd-cat                     systemd-machine-id-setup        systemd-sysusers

    systemd-cgls                    systemd-mount                   systemd-tmpfiles

    systemd-cgtop                   systemd-notify                  systemd-tty-ask-password-agent

    systemd-delta                   systemd-nspawn                  systemd-umount

    systemd-detect-virt             systemd-path                    

    systemd-escape                  systemd-resolve                 


    2.调用上条命令的路径

        由于绝大多数的文件和目录操作类命令都需要指定路径,所以在Linux系统中可以用符号“!$”或者是组合键“ESC.”(选按ESC,再按点号)来调用上一条命令所使用的路径,从而简化操作。


[root@localhost ~]# ll /tmp

[root@localhost ~]# ll !$


    3.通配符

        通配符顾名思义就是通用地匹配信息的符号,在Linux中常用 的通配符主要有:“*”、"?"、"[]"。

通配符“*”可以匹配任意数量的任意字符。

如列出/etc目录下所有以“pa”开头的文件或目录,其中目录只显示目录本身,而不显示其中的内容。


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

/etc/pam.d  /etc/papersize  /etc/passwd  /etc/passwd-


再如,显示/etc目录下所有名字中包括“conf”的文件名目录


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

/etc/asound.conf                 /etc/kdump.conf                /etc/netconfig          /etc/sestatus.conf


通配符“?”可以在相应位置上匹配任意单个字符。

如以长格式列出/dev目录中所有以“sd”开头并且文件名只有3个字符的文件信息。


[root@localhost ~]# ls -lh /dev/sd?

brw-rw----. 1 root disk 8, 0 4月  21 18:37 /dev/sda


通配符“[]”中的字符范围可以是几个字符的列表,也可以是使用“-”给定一个取值范围,还可以用“!”或“^”表示不在指定字符范围内的其它字符。

例:列出/dev/目录中以“a”“b”“c”开头的所有文件。


[root@localhost ~]# ls -d /dev/[abc]*

/dev/autofs  /dev/cdrom  /dev/console  /dev/core  /dev/cpu_dma_latency



例:列出/dev/目录中以数字0-9结尾的三个字符的文件。


[root@localhost ~]# ls -ld /dev/??[0-9]

crw-rw----. 1 root video 29, 0 4月  21 18:37 /dev/fb0

crw-rw----. 1 root lp     6, 0 4月  21 18:37 /dev/lp0

crw-rw----. 1 root lp     6, 1 4月  21 18:37 /dev/lp1

crw-rw----. 1 root lp     6, 2 4月  21 18:37 /dev/lp2

crw-rw----. 1 root lp     6, 3 4月  21 18:37 /dev/lp3

crw-rw----. 1 root disk  21, 0 4月  21 18:37 /dev/sg0

crw-rw----. 1 root cdrom 21, 1 4月  21 18:37 /dev/sg1

brw-rw----. 1 root cdrom 11, 0 4月  21 18:37 /dev/sr0



例:列出/dev/目录中不是以“f”“h”“i”开头的所有文件。


[root@localhost ~]# ls -d /dev/[!fhi]*



需要说明的是,“*”可以匹配的字符数量没有限制,可以是0个、1个或多个,而“?”和“[]”可以匹配的字符数量则只能是1个,这点读者在具体应用时需要注意。



{}扩展

在“{}”中可以包含一个以逗号分隔的列表,并将其自动展开为多个路径或文件名。{}不属于通配符

例:一次性创建/tmp/a、/tmp/b、/tmp/c三个目录


[root@localhost ~]# mkdir /tmp{a,b,c}






 Linux文件和目录管理(CentOS7)Linux系统管理零基础入门第二章》----曲广平

« 上一篇下一篇 »

相关文章:

评论列表: