0

0

Linux命令行实用技巧

聖光之護

聖光之護

发布时间:2026-03-16 08:25:18

|

838人浏览过

|

来源于php中文网

原创

初学linux命令行时,你会慢慢意识到它其实是整个系统中功能最强大、实用性最强的工具之一。掌握它的门槛高低,很大程度上取决于你希望掌握的深度。无论你是刚接触linux的新手,还是已有一定使用经验的用户,本文整理的实用技巧与建议都能为你提供切实帮助。借助这些小技巧,你可以显著提升命令行操作效率,让日常任务变得更轻松流畅。部分内容参考自《linux就该这么学》,有兴趣的朋友可进一步查阅原书,拓展相关知识体系。

1、 声明

2、 在进入后续内容前需特别说明:本文所有实操示例均基于 Ubuntu 14.04 LTS 系统完成,所用 Shell 为 bash 4.3.11 版本。统一运行环境有助于确保测试结果的准确性与可复现性。

3、 一键跳转目录,大幅提升操作效率

4、 当你在终端中频繁往返于两个不同路径(如 /home//usr/ 下的子目录)之间时,除了直接输入完整路径或开启多个终端窗口外,还可借助 cd 命令配合路径别名、变量,或更推荐的方式——使用 pushd / popd 命令栈机制,实现快速、优雅的目录切换。

5、 最基础的做法是手动键入完整路径,虽可行但效率低下;另一常见做法是打开两个终端分别驻留于不同目录。然而,这两种方式不仅操作冗余,还缺乏灵活性和自动化思维,难以匹配现代高效工作流的标准,显得略显笨拙与低效。

6、 幸运的是,Linux 提供了一种更简洁的解决方案:只需先后使用 cd 进入这两个目录,系统便会自动记录最近访问路径;此后仅需执行 cd -,即可在两者间瞬时切换,无需记忆或重复输入路径,真正实现“一触即达”。

7、 示例演示如下:

8、 当前所在目录如下所示

9、 接着,我切换至 /usr/ 下的其他子目录继续操作。

10、 如今,我能通过一条简单命令,在两个常用目录之间自如地来回跳转。

11、 需要注意的是:若中途又执行了 cd 切换到第三个目录,则再次运行 cd - 时,系统将在当前目录与该“最新前一个”目录之间切换,从而支持快速回退至上一级操作路径。

Linux命令行实用技巧

12、 快速跳转背后的原理:深入理解 cd -

13、 对于想探究其工作机制的用户,这里给出解释:cd 命令本质上需要接收一个路径作为参数。当传入连字符 - 时,Shell 会将其自动替换为环境变量 OLDPWD 所保存的上一个工作目录路径,从而完成无缝切换。

14、 换句话说,OLDPWD 就是用来存储“前一个目录”的环境变量。该行为在 cd 命令的手册页中有明确说明,但遗憾的是,并非所有 Ubuntu 系统默认安装了 man 工具,因此你可能无法直接通过 man cd 查看详细文档。

15、 安装 man 工具非常简单,只需执行对应的安装指令即可完成配置。

Gambo
Gambo

世界上首个游戏氛围编程智能体

下载

16、 接下来执行以下步骤:

17、 打开 man cd 页面后,你会清楚看到:当 - 作为参数传递给 cd 时,其作用等价于切换至上一次所在的目录。

18、 每次调用 cd 更改当前路径时,系统都会将切换前的路径写入 OLDPWD 变量中,确保“上一位置”始终被准确追踪。不过要注意的是,每当启动一个新的 shell 实例(无论是手动新建终端,还是脚本中派生子 shell),该变量初始值为空,因为此时尚未发生任何目录变更,“上一个目录”自然无从谈起。

19、 这一设计完全符合逻辑:只有在执行过至少一次 cd 后,OLDPWD 才会被赋值;若从未切换过目录,该变量将保持未定义状态,表现为 null 或空字符串。

20、 补充说明一点:尽管表面上 cd -cd $OLDPWD 效果相似,但在某些场景下二者并不完全等价。例如,在新启动的 shell 中首次运行这两条命令,其实际行为可能存在差异。

21、 原因在于此时 OLDPWD 尚未被设置,$OLDPWD 展开为空字符串,而 cd "" 的效果等同于不带参数的 cd,即返回用户主目录($HOME)。

22、 在编写 shell 脚本过程中,有时我们希望 cd - 执行时不打印目标路径信息,以免干扰脚本输出结构。默认情况下,该命令会输出切换后的路径,影响日志整洁性。为此,可通过重定向手段屏蔽其输出,实现静默执行,满足特定自动化需求。

23、 上述命令将标准错误(fd 2)与标准输出(fd 1)全部重定向至 /dev/null,彻底隐藏命令执行过程中的所有可见输出(包括成功提示与错误信息)。虽然终端不再显示任何内容,但仍可通过 $? 获取退出状态码进行判断:执行失败返回 1,成功则返回 0,便于后续逻辑控制。

24、 如果你不关心 cd - 出错时是否提示错误信息,也可采用更轻量级的替代方案。

25、 此命令仅丢弃标准输出(fd 1),保留错误信息可见,适用于仅需抑制路径回显而不影响异常反馈的场景。

Linux命令行实用技巧

Linux命令行实用技巧

Linux命令行实用技巧

26、 总结

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

254

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

1132

2024.03.01

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

761

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

221

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1570

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

651

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

1249

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

1206

2024.04.29

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

69

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号