众所周知,如果没有 cd 命令,我们无法 Linux 中切换目录。这个没错,但我们有一个名为 shopt 的 Linux 内置命令能帮助我们解决这个问题。
shopt 是一个 shell 内置命令,用于设置和取消设置各种 bash shell 选项,由于它已安装,因此我们不需要再次安装它。
是的,我们可以在启用此选项后,可以不使用 cd 命令切换目录。
我们将在本文中向你展示如何操作。这是一个小的调整,但对于那些从 Windows 迁移到 Linux 的新手来说非常有用。
这对 Linux 管理员没用,因为我们不会在没有 cd 命令的情况下切换到该目录,因为我们对此有经验。
如果你尝试在没有 cd 命令的情况下切换 Linux 的目录/文件夹,你将看到以下错误消息。这在 Linux 中很常见。
?
1
2
$ Documents/
bash: Documents/: Is a directory
为此,我们需要在用户 .bashrc 中追加以下值。
什么是 .bashrc ?
.bashrc 是一个 shell 脚本,每次用户以交互模式打开新 shell 时都会运行该脚本。
你可以在该文件中添加要在命令提示符下输入的任何命令。
.bashrc 文件本身包含终端会话的一系列配置。包括设置和启用:着色、补全,shell 历史,命令别名等。
$ vi ~/.bashrc
加入这一行:
shopt -s autocd
运行以下命令使更改生效。
$ source ~/.bashrc
我们已完成所有配置。简单地对此进行测试以确认这是否有效。
?
1
2
3
4
5
6
7
8
$ Documents/
cd — Documents/
$ daygeek/
cd — daygeek/
$ /home/daygeek/Documents/daygeek
cd — /home/daygeek/Documents/daygeek
$ pwd
/home/daygeek/Documents/daygeek
是的,它正如预期的那样正常工作。
而且,它在 fish shell 中工作正常,而无需对 .bashrc 进行任何更改。
如果要暂时执行此操作,请使用以下命令(设置或取消设置)。重启系统时,它将消失。
?
1
2
3
4
5
6
# shopt -s autocd
# shopt | grep autocd
autocd on
# shopt -u autocd
# shopt | grep autocd
autocd off
shopt 命令提供了许多其他选项,如果要验证这些选项,请运行以下命令。
?
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
42
43
44
45
46
47
48
49
50
51
52
53
54
$ shopt
autocd on
assoc_expand_once off
cdable_vars off
cdspell on
checkhash off
checkjobs off
checkwinsize on
cmdhist on
compat31 off
compat32 off
compat40 off
compat41 off
compat42 off
compat43 off
compat44 off
complete_fullquote on
direxpand off
dirspell off
dotglob off
execfail off
expand_aliases on
extdebug off
extglob off
extquote on
failglob off
force_fignore on
globasciiranges on
globstar off
gnu_errfmt off
histappend on
histreedit off
histverify off
hostcomplete on
huponexit off
inherit_errexit off
interactive_comments on
lastpipe off
lithist off
localvar_inherit off
localvar_unset off
login_shell off
mailwarn off
no_empty_cmd_completion off
nocaseglob off
nocasematch off
nullglob off
progcomp on
progcomp_alias off
promptvars on
restricted_shell off
shift_verbose off
sourcepath on
xpg_echo off
此外,我找到了一些其他程序,它们可以帮助我们在 Linux 中比 cd 命令更快地切换目录。
它们是 pushd、popd、up shell 脚本和 bd 工具。我们将在接下来的文章中介绍这些主题。
via: https://www.2daygeek.com/navigate-switch-directory-without-using-cd-command-in-linux/
总结
以上所述是小编给大家介绍的在 Linux 中不使用 CD 命令进入目录/文件夹的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://linux.cn/article-10673-1.html
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。