专栏名称: Linux爱好者
伯乐在线旗下账号,「Linux爱好者」专注分享 Linux/Unix 相关内容,包括:工具资源、使用技巧、课程书籍等。
目录
相关文章推荐
Linux就该这么学  ·  面试官:MySQL 一次到底插入多少条数据合适啊? ·  22 小时前  
Linux就该这么学  ·  国企也中招!官网被挂上 “ ... ·  22 小时前  
Linux就该这么学  ·  C、Rust混合用被批为Linux的“癌症” ... ·  昨天  
Linux就该这么学  ·  美女博主爆改 家用空调外机 ... ·  2 天前  
51好读  ›  专栏  ›  Linux爱好者

Linux 命令行工具使用小贴士及技巧(1)

Linux爱好者  · 公众号  · linux  · 2017-04-06 20:48

正文

(点击 上方公众号 ,可快速关注)


文: Ansh,编译 :Linux中国 - rusking

https://linux.cn/article-8335-1.html

如有好文章投稿,请点击 → 这里了解详情


相关内容


如果你刚开始在 Linux 系统中使用命令行工具,那么你应该知道它是 Linux 操作系统中功能最强大和有用的工具之一。学习的难易程度跟你想研究的深度有关。但是,无论你的技术能力水平怎么样,这篇文章中的一些小贴士和技巧都会对你有所帮助。


在本系列的文章中,我们将会讨论一些非常有用的命令行工具使用小技巧,希望你的命令行使用体验更加愉快。


但是在开始下一步之前,我得强调一点,这篇文章中的测试实例都是在 Ubuntu 14.04LTS 系统下测试通过的。我们使用命令行 Shell 版本是 bash 4.3.11 。



Linux 命令行工具使用的一些小技巧


我们假设你已经掌握了一些 Linux 命令行的基础知识,比如什么是 root 账号及 home 目录,什么是环境变量,如何查看目录内容等等。说明这些小技巧的同时也会介绍涉及到的概念,如果有的话。


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


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


其中,最简单直接的方式就是输入这些目录的全路径。虽然这种方式本身没什么问题,但是却很浪费时间。另外一种方式就是打开两个终端窗口分别进行操作。但是这两种方式使用起来既不方便,也显得没啥技术含量。


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


例如:


我现在在下面的目录:


$ pwd

/ home / himanshu / Downloads


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


cd / usr / lib /


现在,我可以很方便的使用下面的命令来向前、向后快速地切换到两个目录:


cd -


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



有一点我得跟大家强调下,如果你在操作的过程中使用 cd 加路径的方式切换到第三个目录下,那么 cd - 命令将应用于当前目录及第三个目录之间进行切换。


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


对于那些有强烈好奇心的用户,他们想搞懂 cd - 的工作原理,解释如下:如大家所知道的那样, cd 命令需要加上一个路径作为它的参数。现在,当 - 符号作为参数传输给 cd 命令时,它将被 OLDPWD 环境变量的值所替代。



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


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


sudo apt - get install manpages - posix


然后做如下操作:


man cd


打开 man 帮助文档主页后,你将会看到下面很明确的解释:


—— - 符号被用作 cd 命令的参数值时,将等同于下面的操作命令:

cd "$OLDPWD" && pwd


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



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


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







请到「今天看啥」查看全文