发布于 2026-01-06 0 阅读
0

cd- 与 cd~- 的区别

cd- 与 cd~- 的区别

前几天我在推特上转发了我16年前的一篇博客文章标题是《使用Bash回溯》 ,文章展示了一个很棒的技巧,可以用来回到你之前所在的目录,cd ~-例如:

$ cd /var
$ cd /etc
$ cd ~-
$ pwd
/var

Ryan Guill 指出,这样做也行得通,那么cd -之间有什么区别呢cd ~-cd -

$ cd /var
$ cd /etc
$ cd -
/var
$ pwd
/var

那么区别是什么呢?

cd ~-之间最大的区别cd -在于,~-可以用于任何命令,因为它属于 shell 的波浪号扩展。而-只能与 命令一起使用cd

例如,如果你的目录之前是某个目录/var/log/apache2,而你想查看该目录中的 access_log 文件,你可以这样做:tail ~-/access_log

$ cd /var/log/apache2
$ cd /etc
$ tail ~-/access_log
It Works...
$ tail -/access_log
tail: illegal option -- /

第二个区别是,cd -它会将更改后的目录打印到标准输出,而cd ~-只会更改目录而不打印任何内容。

很酷的技巧吧?

文章来源:https://dev.to/pfreitag/the-difference- Between-cd-vs-cd-14ej