Folder navigation

SD – dynamic directory navigation utility

SD is a command-line directory navigation utility for ksh, Bash and Zsh.

It behaves like cd when given a valid pathname, while adding pattern-based navigation through a dynamically ranked directory stack. Unlike many directory jumpers that store only an aggregate score for each location, SD retains an explicit history of directory-change events. Rankings can therefore be recalculated when scoring parameters change without discarding that history. Its scoring model combines frequency and recency over a configurable trailing window, and repeated searches using the same pattern cycle predictably through matching directories in rank order. The repository is maintained as a read-only snapshot of stable project states.

This is free and open source software.

Key Features

  • Records directory changes in a persistent logfile.
  • Maintains in-memory history including visits not yet written to disk.
  • Uses a configurable exponential aging kernel, with a power-law model available as an alternative.
  • Uses event order rather than elapsed wall-clock time when calculating recency.
  • Matches regular expressions against complete directory paths with smart-case handling.
  • Falls back to lower-ranked candidates when a matching directory no longer exists.
  • Can search retained history when ranked matches are stale.
  • Provides a ds command for inspecting and managing the directory stack.
  • Can use fzf for interactive selection between matching locations.
  • Allows independent limits for retained history and the scoring window.
  • Lets users adjust scoring parameters and stack limits while the shell is running.
  • Provides facilities for cleaning stale entries and inspecting configuration.
  • Uses logfile locking to coordinate concurrent shells.
  • Detects naming conflicts with other commands called sd and leaves the existing command untouched.
  • Preserves standard path handling for absolute and relative paths, parent directories and home-directory expansion.

Website: github.com/jghub/sd-switchdir
Support:
Developer: jghub
License: MIT License


Related Software

Shell tools
fzfCommand-line fuzzy finder for your shell
zoxideSmarter cd command, inspired by z and autojump
brootReviewed under our Excellent Utilities series
McFlyAlso reviewed under our Excellent Utilities series
zMaintains a jump-list of the directories you actually use
autojumpOffers a fast way to navigate your filesystem
z.luaHelps you navigate faster by learning your habits
HSTRBash and zsh shell history suggest box
Zsh-zFast directory jumping based on frecency
enhancdNext-generation cd command
fzySimple, fast fuzzy finder for the terminal
NavitaRapid directory traversal
JumpQuick and fuzzy directory jumper
walkSimple and minimalistic terminal navigator
lacycd alternative that makes navigating much more efficient
DF-SHOWDirectory File Show
fzAdds fuzzy search to tab completion of z
paziFast autojump helper
jumperFiles/directories jumper
cdhistLinux shell cd history directory stack
icdShell utility that makes changing directories quicker and more convenient
SDDynamic directory navigation from the command line
DongleMove around deep directory trees
cdwecd with env vars
fastdiractQuick shell navigation and command execution
zmcd for lazy people
slingshotLightweight tool to browse files in the terminal
qcdQuickly change directory
navQuickly navigate through directories
menucdDirectory browser and changer
knNavigate folders quickly
jmpThe superior cd
gumpSmarter cd command

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our carefully curated directory of recommended free and open source software, covering every major software category.

The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more.

Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted