前两天我们写了一篇关于autocd的文章,它是一个内置的shell变量,可以帮助我们在没有cd命令中间的情况下导航到目录。如果你想回到上一个目录,那么你需要输入cd。..如果你想回到上两级目录,你需要输入cd../.。这在Linux中是正常的,但是如果你想从第九级目录回到第三级目录,那么使用cd命令是糟糕的。解决办法是什么?是的,在Linux中有一个解决方案。我们可以使用bd命令轻松处理这种情况。bd命令是什么?bd命令可以让用户快速返回到Linux中的父目录,而不是重复输入cd../../..。您可以列出给定目录的内容而无需提供完整路径lsbdDirectory_Name。它支持以下其他命令,如ls、ln、echo、zip、tar等。此外,它允许我们在不提供完整路径bdp/shell_file.sh的情况下执行shell文件。如何在Linux中安装bd命令?除了Debian/Ubuntu之外,没有bd的官方发行版。因此,我们需要手动执行该方法。对于Debian/Ubuntu系统,使用APT-GET命令或APT命令安装bd。$sudoaptinstallbd对于其他Linux发行版,使用wget命令下载bd可执行二进制文件。$sudowget--no-check-certificate-O/usr/local/bin/bdhttps://raw.github.com/vigneshwaranr/bd/master/bd为bd二进制文件设置可执行权限。$sudochmod+rx/usr/local/bin/bd在.bashrc文件中添加以下值。$echo'aliasbd=".bd-si"'>>~/.bashrc运行以下命令使更改生效。$source~/.bashrc要启用自动完成,请执行以下两个步骤。$sudowget-O/etc/bash_completion.d/bdhttps://raw.github.com/vigneshwaranr/bd/master/bash_completion.d/bd$sudosource/etc/bash_completion.d/bd我们已经有了系统现在bd实用程序已经成功安装和配置,是时候对其进行测试了。我将使用下面的目录路径进行测试。运行pwd命令或dirs命令,或tree命令以了解您当前的路径。daygeek@Ubuntu18:/usr/share/icons/Adwaita/256x256/apps$pwd或daygeek@Ubuntu18:/usr/share/icons/Adwaita/256x256/apps$dirs/usr/share/icons/Adwaita/256x256/appsi现在在/usr/share/icons/Adwaita/256x256/apps目录下,如果我想快速跳转到icons目录,只需要输入如下命令即可。daygeek@Ubuntu18:/usr/share/icons/Adwaita/256x256/apps$bdicons/usr/share/icons/daygeek@Ubuntu18:/usr/share/icons$甚至,你不需要输入完整的目录名,你也可以输入几个字母。daygeek@Ubuntu18:/usr/share/icons/Adwaita/256x256/apps$bdi/usr/share/icons/daygeek@Ubuntu18:/usr/share/icons$注意:如果目录中有多个同名目录层次结构,bd将带您到最近的目录。(不考虑直接父目录)要列出给定目录的内容,请使用以下格式。它将打印出/usr/share/icons/的内容。$ls-lh`bdicons`或daygeek@Ubuntu18:/usr/share/icons/Adwaita/256x256/apps$ls-lh`bdi`total64Kdrwxr-xr-x12rootroot4.0KJul252018Adwaitalrwxrwxrwx1rootroot51Feb2514:32communitheme->/snap/communitheme/current/share/icons/communithemedrwxr-xr-x2rootroot4.0K2018年7月25日defaultdrwxr-xr-x3rootroot4.0K2018年7月25日DMZ-Blackdrwxr-xr-x3根根4.0K2018年7月25日DMZ-Whitedrwxr-xr-x9根根4.0K2018年7月25日gnomedrwxr-xr-x3根根4.0K2018年7月25日手持设备drwxr-xr-x20根4.0K3月9日14:52hicolordrwxr-xr-x9根4.0K2018年7月25日HighContrastdrwxr-xr-x12根4.0K2018年7月25日Humanitydrwxr-xr-x7根4.0K2018年7月25日Humanity-Darkdrwxr-xr-x4rootroot4.0K2018年7月25日locolordrwxr-xr-x3rootroot4.0KFeb2515:46LoginIconsdrwxr-xr-x3rootroot4.0K2018年7月25日redglassdrwxr-xr-x10rootroot4.0K2018年2月25日:46ubuntu-mono-darkdrwxr-xr-x10rootroot4.0K2月25日15:46ubuntu-mono-lightdrwxr-xr-x3rootroot4.0K2018年7月25日whiteglass如果您想在父目录中的某处执行文件,请使用以下格式,它将运行shell文件/usr/share/icons/用户-list.sh。$`bdi`/users-list.sh或daygeek@Ubuntu18:/usr/share/icons/Adwaita/256x256/apps$`bdicon`/users-list.shdaygeekthanurenu2gadmintestuserdemousersudhasureshuser1user2user3如果你在/usr/share/icons/Adwaita/256x256/apps,要导航到不同的父目录,请使用以下格式。以下命令将导航到/usr/share/icons/gnome目录。$cd`bdi`/gnome或daygeek@Ubuntu18:/usr/share/icons/Adwaita/256x256/apps$cd`bdicon`/gnomedaygeek@Ubuntu18:/usr/share/icons/gnome$如果你在/usr/share/icons/Adwaita/256x256/apps,你想在/usr/share/icons/下创建一个新目录,使用以下格式。$daygeek@Ubuntu18:/usr/share/icons/Adwaita/256x256/apps$sudomkdir`bdicons`/2gdaygeek@Ubuntu18:/usr/share/icons/Adwaita/256x256/apps$ls-ld`bdicons`/2gdrwxr-xr-x2rootroot4096Mar1605:44/usr/share/icons//2g本教程允许您快速返回到特定的父目录,但没有快进选项。我们即将推出另一个解决方案,敬请期待。
