在 Linux 文件系统中导航的技巧
创始人
2024-03-02 04:58:25
0

cd 命令可能是任何 Linux 用户学习的前 10 个命令之一,但这并不是在 Linux 文件系统中导航的唯一方法,这里还有其他一些方法。

无论你是在文件系统中四处查看、寻找文件还是尝试进入重要目录,Linux 都可以提供很多帮助。在本文中,我们将介绍一些技巧,使你可以在文件系统中移动,查找和使用所需的命令也更加轻松。

添加到 $PATH

确保你不必花费大量时间在 Linux 系统上查找命令的最简单、最有用的方法之一就是在 $PATH 变量中添加适当的目录。但是,添加到 $PATH 变量中的目录顺序非常重要。它们确定系统在目录中查找要运行命令的目录顺序–在找到第一个匹配项时停止。

例如,你可能希望将家目录放在第一个,这样,如果你创建的脚本与其他可执行文件有相同的名称,那么只要输入该脚本的名称,它便会运行。

要将家目录添加到 $PATH 变量中,可以执行以下操作:

$ export PATH=~:$PATH

~ 字符代表家目录。

如果将脚本保存在 bin 目录中,下面的会有效:

$ export PATH=~/bin:$PATH

然后,你可以运行位于家目录中的脚本,如下所示:

$ myscript
Good morning, you just ran /home/myacct/bin/myscript

**重要提示:**上面显示的命令会添加到你的搜索路径中,因为 $PATH(当前路径)被包含在内。它们不会覆盖它。你的搜索路径应该在你的 .bashrc 文件中配置,任何你打算永久化的更改也应该添加到那里。

使用符号链接

符号链接提供了一种简单而明显的方式来记录可能经常需要使用的目录的位置。例如,如果你管理网站的内容,那么可能需要通过创建如下链接来使你的帐户“记住”网页文件的位置:

ln -s /var/www/html www

参数的顺序很重要。第一个(/var/www/html)是目标,第二个是你创建的链接的名称。如果你当前不在家目录中,那么以下命令将执行相同的操作:

ln -s /var/www/html ~/www

设置好之后,你可以使用 cd www 进入 /var/www/html

使用 shopt

shopt 命令还提供了一种让移动到其他目录更加容易的方法。当你使用 shoptautocd 选项时,只需输入名称即可转到目录。例如:

$ shopt -s autocd
$ www
cd -- www
/home/myacct/www
$ pwd -P
/var/www/html

$ ~/bin
cd -- /home/myacct/bin
$ pwd
/home/myacct/bin

在上面的第一组命令中,启用了 shopt 命令的 autocd 选项。输入 www,就会调用 cd www 命令。由于此符号链接是在上面的 ln 命令示例之一中创建的,因此将我们移至 /var/www/htmlpwd -P 命令显示实际位置。

在第二组中,键入 ~/bin 会调用 cd 进入在用户家目录的 bin 目录。

请注意,当你输入的是命令时,autocd 行为将不会生效,即使它也是目录的名称。

shopt 是 bash 内置命令,它有很多选项。这只是意味着你不必在要进入每个目录的名称之前输入 cd

要查看 shopt 的其他选项,只需输入 shopt

使用 $CDPATH

可能进入特定目录的最有用技巧之一,就是将你希望能够轻松进入的路径添加到 $CDPATH 中。这将创建一个目录列表,只需输入完整路径名的一部分即可进入。

一方面,这可能有点棘手。你的 $CDPATH 需要包含要移动到的目录的父目录,而不是目录本身。

例如,假设你希望仅通过输入 cd html 就可以移至 /var/www/html 目录,并仅使用 cd 和简单目录名即可移至 /var/log 中的子目录。在这种情况下,此 $CDPATH 就可以起作用:

$ CDPATH=.:/var/log:/var/www

你将看到:

$ cd journal
/var/log/journal
$ cd html
/var/www/html

当你输入的不是完整路径时,$CDPATH 就会生效。它向下查看其目录列表,以查看指定的目录是否存在于其中一个目录中。找到匹配项后,它将带你到那里。

$CDPATH 开头保持 . 意味着你可以进入本地目录,而不必在 $CDPATH 中定义它们。

$ export CDPATH=".:$CDPATH"
$ Videos
cd -- Videos
/home/myacct/Videos

在 Linux 文件系统键切换并不难,但是如果你使用一些方便的技巧轻松地到达各个位置,那你可以节省一些大脑细胞。


via: https://www.networkworld.com/article/3533421/tricks-for-getting-around-your-linux-file-system.html

作者:Sandra Henry-Stocker 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

【CMake入门教程】CM...
CMake教程专栏文章列表 【实例篇】01.第一个程序【实例篇】0...
2025-06-01 10:01:50
蓝桥杯嵌入式--LCD屏幕...
前言之前在专栏里已经介绍过LCD相关库文件的移植,今...
2025-06-01 03:21:25
DCDC--开关频率的选择
开关稳压器IC使用的开关频率从数十kHz到数MHz,...
2025-05-31 07:35:35
HCIE-Cloud Co...
管理节点:用赤色标注 计算节点:用橙色标注 网络节点:用绿色标注 ...
2025-05-30 08:02:56
ssh 登录超时 expe...
ssh -p 22 root@192.168.1.1 -v...
2025-05-29 15:17:15
最新干货|面向无人机的自主...
分享嘉宾 | 鲁鹏文稿整理 | William1、无人机在自主导航...
2025-05-28 23:29:23

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...