下面介绍一些在Linux系统中常用的操作技巧,掌握并灵活使用这些技巧,将非常有助于提高 我们的工作效率。
命令或路径补全
在输入命令或路径时,如果无法记住完整的命令或路径,可以使用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系统管理零基础入门第二章》----曲广平
评论列表: