I was just on a system that didn't have this hack, and it reminded me how useful it is, so I thought I'd share it for others. Maybe you all can reply with your own shell tricks.
Some of you may know about the pushd and popd commands. pushd is like cd, but keeps track of where you've been. Then you can popd back as many levels as you want. It's like cd and cd - but with a history bigger than one.
The big issue I have with pushd and popd is that in order for popd to work, I have to remember to pushd first. But, like many of you, by default, I navigate the terminal using the cd command instead. By the time that I realize popd will be useful, it's already too late because I didn't remember to pushd up front.
Now the hack. Just toss this in your ~/.bashrc:
function cd
{
if [ $# -eq 0 ]; then
pushd ~ > /dev/null
elif [ " $1" = " -" ]; then
pushd "$OLDPWD" > /dev/null
else
pushd "$@" > /dev/null
fi
}
And start a new shell. From that point forward, cd will actually execute pushd under the hood, and popd will always be available when you need it.
Do you have a tip or trick that you'd like to share? If so, complete the Join Our Community form and join our ever-growing list of authors.
[ Free download: Advanced Linux commands cheat sheet. ]
執筆者紹介
Ray is a Desktop Software Engineer who works on GNOME, Fedora, and Red Hat Enterprise Linux.
チャンネル別に見る
自動化
テクノロジー、チームおよび環境に関する IT 自動化の最新情報
AI (人工知能)
お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート
オープン・ハイブリッドクラウド
ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。
セキュリティ
環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報
エッジコンピューティング
エッジでの運用を単純化するプラットフォームのアップデート
インフラストラクチャ
世界有数のエンタープライズ向け Linux プラットフォームの最新情報
アプリケーション
アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細
仮想化
オンプレミスまたは複数クラウドでのワークロードに対応するエンタープライズ仮想化の将来についてご覧ください