找回密码
 立即注册
Qt开源社区 门户 查看内容

如何在 Linux 中不使用 CD 命令进入目录/文件夹?

2019-4-15 16:32| 发布者: admin| 查看: 786| 评论: 0

摘要: (给Linux爱好者加星标,提升Linux技能)英文:Magesh Maruthamuthu,翻译:Linux中国/geekpilinux.cn/article-10673-1.html众所周知,如果没有 cd 命令,我们无法 Linux 中切换目录。这个没错,但我们有一个名为 sh ...
(给Linux爱好者加星标,提升Linux技能)


英文: Magesh Maruthamuthu,翻译:Linux中国/geekpi

linux.cn/article-10673-1.html


众所周知,如果没有 cd 命令,我们无法 Linux 中切换目录。这个没错,但我们有一个名为 shopt 的 Linux 内置命令能帮助我们解决这个问题。

shopt 是一个 shell 内置命令,用于设置和取消设置各种 bash shell 选项,由于它已安装,因此我们不需要再次安装它。

是的,我们可以在启用此选项后,可以不使用 cd 命令切换目录。

我们将在本文中向你展示如何操作。这是一个小的调整,但对于那些从 Windows 迁移到 Linux 的新手来说非常有用。

这对 Linux 管理员没用,因为我们不会在没有 cd 命令的情况下切换到该目录,因为我们对此有经验。

如果你尝试在没有 cd 命令的情况下切换 Linux 的目录/文件夹,你将看到以下错误消息。这在 Linux 中很常见。

$ Documents/
bash: Documents/: Is a directory


为此,我们需要在用户 .bashrc 中追加以下值。

什么是 .bashrc ?

.bashrc 是一个 shell 脚本,每次用户以交互模式打开新 shell 时都会运行该脚本。

你可以在该文件中添加要在命令提示符下输入的任何命令。

.bashrc 文件本身包含终端会话的一系列配置。包括设置和启用:着色、补全,shell 历史,命令别名等。

$ vi ~/.bashrc

加入这一行:

shopt -s autocd

运行以下命令使更改生效。

$ source ~/.bashrc

我们已完成所有配置。简单地对此进行测试以确认这是否有效。

$ Documents/
cd -- Documents/
$ daygeek/
cd -- daygeek/
$ /home/daygeek/Documents/daygeek
cd -- /home/daygeek/Documents/daygeek
$ pwd
/home/daygeek/Documents/daygeek




是的,它正如预期的那样正常工作。

而且,它在 fish shell 中工作正常,而无需对 .bashrc 进行任何更改。



如果要暂时执行此操作,请使用以下命令(设置或取消设置)。重启系统时,它将消失。

# shopt -s autocd
# shopt | grep autocd
autocd on
# shopt -u autocd
# shopt | grep autocd
autocd off


shopt 命令提供了许多其他选项,如果要验证这些选项,请运行以下命令。

$ 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 技巧大大提高你的工作效率

如何在 Linux 中安装、配置和使用 Fish Shell?

Linux 中“!”的惊叹用法



看完本文有收获?请分享给更多人

关注「Linux 爱好者」加星标,提升Linux技能



喜欢就点一下「好看」呗~

----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:Linux爱好者,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了