Skip to main content

Program to provide a bash cd history directory stack

Project description


cdhist is a utility which provides a bash shell cd history directory stack. A bash cd alias calls a python helper script to intercept your normal shell cd command and maintain a stack of directories you previously visited which can be listed and quickly jumped to by numeric index.

The latest version and documentation is available at


Add "somepath" to your directory stack and cd there:

cd somepath

List the current stack and its indices:

cd -l

Change dir to stack index "n":

cd -n

Search back through stack for "string" and cd there:

cd -/string

List the stack and its indices then immediately prompt for dir to select:

cd --

Show this help:

cd -h|?

All other arguments are passed on to the normal cd command.


Arch users can install cdhist from the AUR and skip to the next section.

Requires bash + python 2.6 or later (and is compatible with python 3+). Note cdhist is on PyPI so you can sudo pip install cdhist or:

git clone
cd cdhist
sudo make uninstall # Do this to make sure old versions are purged
sudo make install


Each user who wants to use the cdhist facility should source the /etc/cdhist.bashrc file into their bashrc, i.e in ~/.bashrc just add:

if [ -f /etc/cdhist.bashrc]; then
    source /etc/cdhist.bashrc

Then log out and back in again.


Some people may prefer not to alias their system cd command to this utility and just use an alternative unique command name. To do this, set CDHISTCOMMAND to your preferred name before you invoke the cdhist.bashrc script in your ~/.bashrc. E.g, to use the command name xd rather than cd:

if [ -f /etc/cdhist.bashrc]; then
    export CDHISTCOMMAND=xd
    source /etc/cdhist.bashrc

Then just type xd /tmp to change dir, xd -- to see and select dirs, etc.


cd cdhist  # Source dir, as above
git pull
sudo make install


cd cdhist  # Source dir, as above
sudo make uninstall


Copyright (C) 2010, 2012 Mark Blakeney. This program is distributed under the terms of the GNU General Public License. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License at for more details.

Project details

Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
cdhist-1.5.3.tar.gz (5.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page