如何在linux上使用cd命令

有些Linux命令非常熟悉,我们甚至没有注意到正在使用它们。用于更改目录的cd命令就是其中之一。有一些技巧可以帮助你提高cd的使用效率,或者你可以完全抛弃它。...

有些Linux命令非常熟悉,我们甚至没有注意到正在使用它们。用于更改目录的cd命令就是其中之一。有一些技巧可以帮助你提高cd的使用效率,或者你可以完全抛弃它。

你很少想到的命令

你整天眨眼,每天眨眼,但是,大多数时候,你没有意识到。除非有什么东西进入你的眼睛,否则你很少去想那些小小的,有规律的动作。有些Linux命令是这样的。它们徘徊在你意识的边缘。即使你每天都使用它们,它们也不会引起你的注意,因为它们又小又简单。

在使用Linux计算机的第一个小时内,您将学习如何使用Bash和其他shell附带的cd命令。也许您以前有在其他操作系统上使用它的经验,不需要解释。它会改变当前的工作目录,对吗?还有什么要知道的?

好吧,比你想象的要多。这里有一些提示和技巧,可能会提高你的工作效率。

标准cd操作

为了完整起见,让我们快速浏览一下cd的标准用法。

如果我们在主目录中,但要更改为位于/usr/lib/firefox/browser的目录,然后返回主目录,则可以使用以下命令:

cd /usr/lib/firefox/browser/ cd /home/dave

如何在linux上使用cd命令

您不必键入整个目录路径;您可以使用auto complete。对于路径的每个部分,键入足够的字母以区分目录名和其他部分后,按Tab键自动完成目录名。

例如,在命令行中键入以下内容:

cd /usr/lib/fire

现在,按Tab键,shell将为您填充“firefox”目录的其余部分。如果将“/b”添加到路径并再次按Tab键,则会将“browser”目录添加到命令中。

shell添加了一个尾随的正斜杠,这样就可以重复制表符完成过程。这也是为什么第一个命令后面有一个正斜杠。第二张没有,因为那张是打出来的。

您可以使用波浪号(~)作为从文件系统中任意位置快速返回主目录的速记方式;只需键入以下内容:

光盘~

如何在linux上使用cd命令

这些是绝对路径的示例,其中提供了从文件系统根目录到目标目录再到cd的整个路径。

相对路径是从当前工作目录引用的。在主目录中,有一个名为work的目录。您可以使用tree命令查看工作目录中的目录树,只需键入以下内容:

tree

如何在linux上使用cd命令

工作目录包含一个名为dev的目录。在文件系统的根目录中还有一个名为dev的目录。您可以使用ls和-d(directory)来查看其中的每一个。-hl(人类可读的长列表)选项告诉ls对目录大小和长格式列表使用易于读取的单位。

如果您键入dev,shell将假定您指的是当前目录中的“dev”。要强制它查看根目录中的“dev”,只需添加一个前导正斜杠来表示文件系统的根目录,如下所示:

ls -d dev -hl ls -d /dev -hl

如何在linux上使用cd命令

cd命令在这方面的行为类似于ls。如果将目录引用为dev,如下所示,则假定您指的是工作目录中的目录:

cd dev

如何在linux上使用cd命令

如果没有前导正斜杠,则假定从当前工作目录开始的路径也较长,如下所示:

cd dev/mobile/android

如何在linux上使用cd命令

相关:Bash需要知道的15个特殊字符

用双点更改目录

双点标识符表示当前工作目录的父目录。如果您位于嵌套较深的子目录中,则可以使用。。用cd移动到你所在目录的父目录。

这将在目录树中向上移动两个目录。如果你再加上。。在命令上,它允许您在目录树上移动任意数量的级别。

键入以下内容:

cd .. cd ../..

如何在linux上使用cd命令

您还可以通过键入以下内容来创建一组别名来执行这些操作:

alias .2="cd ../.." alias .3="cd ../../.."

如何在linux上使用cd命令

您可以用与命令本身相同的方式使用这些命令。

如何在linux上使用cd命令

要使别名在重新启动计算机时保持一致,必须将它们添加到.bashrc或.bash\u别名文件中。

相关:如何在Linux上创建别名和Shell函数

轻松地在两个目录之间切换

连字符(-)是另一个具有特殊功能的符号。它会把你的目录改回你刚来的目录。

对于本例,假设您在“c”目录中。您可以使用cd切换到“forth”目录。然后,可以使用cd-在两个目录之间来回跳转。

为此,请键入以下内容:

cd../向前

cd–

cd–

007Ys3FFgy1gp54bgckubj30hq041wew

您要移动到的目录的名称将在您移动到它之前显示。

相关:如何在Linux上使用pushd和popd

另一种亲戚

shell使用当前工作目录作为相对路径的“根”或基目录。可以使用CDPATH环境变量将另一个位置设置为相对路径的基目录。如果您将大部分时间花在文件系统树的某个部分,这可以节省您每天的大量击键(和时间)。

让我们键入以下内容以使work/dev/projects成为相对路径的基本目录:

export CDPATH=/home/dave/work/dev/projects

如何在linux上使用cd命令

现在,每次使用dc命令时,都会首先检查CDPATH环境变量中的位置是否匹配目录名。如果它们中的任何一个与cd命令中提供的目标匹配,那么您将被传输到该目录。

现在,无论您在文件系统中的哪个位置,当您使用cd命令时,shell都会检查目标目录是否位于基目录中。如果是,则移动到该目标目录。

如果目标目录以前导正斜杠(/)开头,使其成为绝对路径,则它不会受到CDPATH环境变量的影响。

为了演示这一点,我们键入以下内容:

cd c cd prolog cd /usr cd forth

如何在linux上使用cd命令

CDPATH环境变量实际上是一个path,就像path环境变量一样。键入命令时,shell将在路径中的位置搜索匹配项。使用CDPATH时,shell将在CDPATH环境变量中的位置中搜索匹配项。另外,与PATH相同,CDPATH可以包含多个位置。

相关:如何在Bash中使用变量

要让shell在CDPATH环境变量中的其他位置之前搜索当前目录,只需添加句点(.)在这条路的开始,就像这样:

export CDPATH=.:/home/dave/work/dev/projects

要使设置永久化,必须将它们添加到配置文件中,如.bashrc。

需要注意的一点是:如果设置基目录,它也会影响脚本中执行的目录更改。为了避免这种情况,可以在脚本中使用绝对路径,也可以在指定CDPATH时在.bashrc文件中使用测试,如下所示:

if test “${PS1+set}”; then CDPATH=.:/home/dave/work/dev/projects; fi

这将执行一个测试,以查看是否设置了命令行提示变量$PS1。只有测试成功,才会设置CDPATH环境变量。

相关:如何在Linux中将目录添加到$PATH

将shopt与cd一起使用

使用shopt命令,可以为shell设置某些选项。其中一些可以增强你对cd的使用。要设置它们,可以在shopt中使用-s(enable)选项来传递选项名。

cdspell选项检查您的目录名,并纠正一些常见的键入错误,包括转置或缺少字符,或名称字符过多。如果它发现一个目录匹配任何更正,则打印更正的路径,并执行cd操作。

例如,我们键入以下命令来设置cdspell选项并拼写错误“Desktop”,以查看shell是否为我们更正了它:

shopt -s cdspell cd Desktpo

如何在linux上使用cd命令

shell捕捉到错误,更正它,并将其更改为“Desktop”目录。

另一个可以与cd一起使用的shopt选项是autocd。它完全不需要您键入cd。您键入的任何不是命令、脚本或其他可执行文件(如别名)的内容都将用作目标目录。如果你能转移到那个目录,它会被打印在终端窗口中,你会被改变到那个目录。

例如,我们键入以下内容:

shopt -s autocd /usr/local/games /etc ~

如何在linux上使用cd命令

看!你甚至不用cd就可以跳过整个文件系统!

使用shopt更改的设置只影响交互式shell,而不影响脚本。

cd收藏

你可能不会接受所有这些。然而,很可能你在这里发现了一些有趣或有益的东西。毕竟,任何加快或简化命令行导航的方法都是好的!

  • 发表于 2021-04-02 08:58
  • 阅读 ( 176 )
  • 分类:互联网

你可能感兴趣的文章

如何在linux上安装和使用powershell

... 在本文中,我将向您展示如何在Linux上安装、运行和使用PowerShell! ...

  • 发布于 2021-03-16 02:34
  • 阅读 ( 309 )

如何在android和termux上使用linux命令行

...许您在Android设备上安装诚实善良的Linux应用程序。下面是如何使用Termux应用程序。 ...

  • 发布于 2021-03-18 07:26
  • 阅读 ( 375 )

如何在windows10上获得linux bash shell

... 如何在windows10上安装linux bash shell ...

  • 发布于 2021-03-21 11:48
  • 阅读 ( 288 )

linux下如何重命名文件

要在Linux中重命名文件吗?如果您知道如何在Windows、macOS或Chrome操作系统中完成这项工作,那么您就知道如何在这里完成这项工作。在大多数版本的Linux上,您只需右键单击一个文件并选择Rename选项。 ...

  • 发布于 2021-03-22 02:48
  • 阅读 ( 276 )

linux正在吃掉你的公羊吗?如何管理你的记忆

...的内存。为了理解到底发生了什么,我们必须看看Linux是如何管理内存的。 ...

  • 发布于 2021-03-23 08:31
  • 阅读 ( 316 )

如何在linux上使用groupadd管理用户组

... 相关:如何在Linux中更改密码 ...

  • 发布于 2021-03-26 17:15
  • 阅读 ( 185 )

如何在linux中添加用户

想在Linux系统上添加用户但不知道如何添加?在Linux上使用命令行界面管理用户无疑是一项复杂的工作。而对于初学者来说,即使添加新用户也是一场噩梦。 ...

  • 发布于 2021-03-26 23:29
  • 阅读 ( 336 )

在linux中,“bash”是什么意思?

...在这篇短文中,我们将探讨Bash是什么,它做什么,以及如何开始使用它。 ...

  • 发布于 2021-03-28 13:14
  • 阅读 ( 453 )

如何使用mv命令移动linux文件

虽然您可能已经知道如何使用GUI文件浏览器在Linux中移动文件,但您可能想知道终端中是否有move命令允许您将文件快速移动到不同的目录。mv命令就是您想要的命令,它的简单语法和一些可选的安全标志很容易使用。 ...

  • 发布于 2021-03-28 17:18
  • 阅读 ( 244 )

如何在Windows10上导出和导入linux系统

...已配置的系统,与其他计算机共享,或者只保存备份。 如何工作 导入和导出功能是在2019年5月的Windows10版本1903更新中添加的。如果尚未安装,则无法使用这些命令行选项。 您只需要为Windows wsl命令提供两个新选项:--export和--i...

  • 发布于 2021-04-03 10:24
  • 阅读 ( 189 )
香菜-不香
香菜-不香

0 篇文章

相关推荐