学IT,好工作

就读湖南岳麓职业培训中学

QQ咨询

求学热线:

假如你在Linux系统中使用命令行工具,这么你应当晓得它是Linux操作系统中功能最强大和有用的工具之一。学习的难易程度跟你想研究的深度有关。本文为你分享一些命令行工具使用的小窍门。

但在开始下一步之前,这篇文章中的测试实例都是在Ubuntu14.04LTS系统下测试通过的。我们使用命令行Shell版本是bash4.3.11。

Linux命令行工具使用的一些小方法

Linux命令行工具使用技巧_长沙岳麓职业培训学校IT学习_linux 命令行 浏览器

我们假定你已然把握了一些Linux命令行的基础知识,例如哪些是root帐号及home目录,哪些是环境变量,怎么查看目录内容等等。说明这种小方法的同时也会介绍涉及到的概念,假如有的话。

轻松切换目录——快捷方法

假定你正在命令行下做一些操作,而且你须要时常在两个目录间来回切换。并且这两个目录在完全不同的两个路径下,例如说,分别在/home/和/usr/下。你会怎样做呢?

其中,最简单直接的方法就是输入那些目录的全路径。其实这些方法本身没哪些问题,然而却很浪费时间。另外一种方法就是打开两个终端窗口分别进行操作。并且这两种方法使用上去既不便捷,也变得没啥技术纯度。

你应当倍感万幸的是,还有另外一种更为简捷的方式来解决这个问题。你须要做的就是先手动切换到这两个目录(通过cd命令分别加上各自的路径),然后你就可以使用cd-命令在两个目录之间来回快速切换了。

比如:

我如今在下边的目录:

$pwd

/home/himanshu/Downloads

长沙岳麓职业培训学校IT学习_Linux命令行工具使用技巧_linux 命令行 浏览器

之后,我切换到/usr/路径下的其它目录:

cd/usr/lib/

如今linux认证,我可以很便捷的使用下边的命令来往前、向后快速地切换到两个目录:

cd-

下边是cd-命令的操作截图:

TheLinuxcdcommand

有一点我得跟你们指出下,假如你在操作的过程中使用cd加路径的形式切换到第三个目录下,这么cd-命令将应用于当前目录及第三个目录之间进行切换。

轻松切换目录——相关细节

linux 命令行 浏览器_长沙岳麓职业培训学校IT学习_Linux命令行工具使用技巧

对于这些有强烈好奇心的用户,她们想弄懂cd-的工作原理,解释如下:如你们所晓得的那样,cd命令须要加上一个路径作为它的参数。如今,当-符号作为参数传输给cd命令时,它将被OLDPWD环境变量的值所取代。

Thecdcommandexplained

如今应当明白了吧,OLDPWD环境变量储存的是前一个操作目录的路径。这个解释在cd命令的man帮助文档中有说明,然而,很遗憾的是你的系统中可能没有预先安装man命令帮助工具(起码在Ubuntu系统下没有安装)。

然而,安装这个man帮助工具也很简单,你只须要执行下的安装命令即可:

sudoapt-getinstallmanpages-posix

之后做如下操作:

mancd

打开man帮助文档主页后,你将会看见下边很明晰的解释:

linux 命令行 浏览器_Linux命令行工具使用技巧_长沙岳麓职业培训学校IT学习

——当-符号被用作cd命令的参数值时linux 命令行 浏览器,将等同于下边的操作命令:

cd”$OLDPWD”&&pwd

毫无疑惑,cd命令设置了OLDPWD环境变量值。为此每一次你切换操作目录时,上一个目录的路径都会被保存到这个变量里。这还让我们看见很重要的一点就是:任何时侯启动一个新的shell实例(包括自动执行或是使用shell脚本),都不存在‘上一个工作目录’。

Hyphenandthecdcommand

这也很符合逻辑,由于cd命令设置了OLDPWD环境变量值。为此,除非你起码执行了一次cd命令,否则OLDPWD环境变量不会包含任何值。

继续,虽然这有些无法理解,cd-和cd$OLDWPD命令的执行结果并非在所有环境下都相同。例如说,你重新打开一个新的shell窗口时。

cdcommandexample

从前面的截图可以清楚的看出,当执行cd-命令提示未设置OLDPWD值时,cd$OLDPWD命令没有报任何错;实际上,它把当前的工作目录改变到用户的home目录里。

linux 命令行 浏览器_长沙岳麓职业培训学校IT学习_Linux命令行工具使用技巧

那是由于OLDPWD变量目前还没有被设置,$OLDPWD仅仅是一个空字符串。为此,cd$OLDPWD命令跟cd命令的执行结果是一致的,默认情况下,会把用户当前的工作目录切换到用户的home目录里。

最后,我还碰到过这样的要求qq linux,须要让cd-命令执行的结果不显示下来。我的意思是linux 命令行 浏览器,有这样的情况(例如说,在写shell脚本的时侯),你想让cd-命令的执行结果不要把目录信息显示下来。那个情况下,你就可以使用下边的命令形式了:

cd-&>/dev/null

里面的命令把文件描述符2(标准输入)和1(标准输出)的结果重定向到/dev/null目录。这意味着,这个命令形成的所有的错误不会显示下来。而且,你也可以使用通用的$?方法来检测这个命令的执行是否异常。假如这个命令执行报错,echo$?将会返回1,否则返回0。

或则说,假如你认为cd-命令出错时输出信息没有关系,你也可以使用下边的命令来取代:

cd->/dev/null

这个命令仅用于将文件描述符1(标准输出)重定向到/dev/null。

总结

遗憾的是,这篇文章仅包含了一个跟命令行相关的小方法,并且,我们早已地对cd-命令的使用进行了深入地阐述。建议你在自己的Linux系统的命令行终端中测试本文中的实例。据悉,也强烈建议你查看man帮助文档,之后对cd命令进行全面测试。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复