{"id":763436,"date":"2026-09-08T01:10:16","date_gmt":"2026-09-08T01:10:16","guid":{"rendered":"https:\/\/www.newsbeep.com\/uk\/763436\/"},"modified":"2026-09-08T01:10:16","modified_gmt":"2026-09-08T01:10:16","slug":"stop-using-the-cd-command-this-linux-command-is-faster-smarter-and-easier","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/uk\/763436\/","title":{"rendered":"Stop using the cd command \u2014 this Linux command is faster, smarter, and easier"},"content":{"rendered":"<p>The cd command, short for \u201cchange directory,\u201d is one of the most fundamental commands on Linux. It\u2019s how you navigate the Linux terminal \u2014 moving between different working directories. That said, cd is an old-school way to <a href=\"https:\/\/www.howtogeek.com\/how-to-navigate-your-file-system-using-the-linux-terminal\/\" target=\"_blank\" rel=\"nofollow noopener\">navigate the Linux file system<\/a>, and several modern alternatives have emerged that make the process faster and easier. Here\u2019s a modern cd replacement that can help you navigate your file system with less typing and less guesswork.<\/p>\n<p>                        The problem with the cd command<\/p>\n<p>            Navigating your filesystem shouldn\u2019t require you to memorize it<\/p>\n<p>        <img width=\"1650\" height=\"1032\" loading=\"lazy\" decoding=\"async\" alt=\"Terminal using cd with the full absolute path to Documents How To Geek Articles, confirmed with pwd.\" data-img-url=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/09\/terminal-using-cd-with-the-full-absolute-path-to-documents-how-to-geek-articles-confirmed-with-pwd.p.png\" src=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/09\/terminal-using-cd-with-the-full-absolute-path-to-documents-how-to-geek-articles-confirmed-with-pwd.p.png\" class=\"img-brightness-opt-out\"\/><\/p>\n<p> The <a href=\"https:\/\/www.howtogeek.com\/666127\/how-to-use-the-cd-command-on-linux\/\" target=\"_blank\" rel=\"nofollow noopener\">cd command is not a \u201csearch and find\u201d tool<\/a>. It doesn\u2019t search for the specific directory you have in mind. Instead, it expects you to provide an absolute or relative path to the directory you want to navigate to. For example, the absolute path to the directory where I keep my How-To Geek articles is:<\/p>\n<p>\/home\/dibs\/Documents\/How to Geek\/Articles<\/p>\n<p>Now, let\u2019s say I have my terminal open inside the Documents directory. To navigate to the Articles directory using cd, I would need to enter the relative path:<\/p>\n<p>cd &#8220;How to Geek\/Articles&#8221;<\/p>\n<p>Alternatively, if I were in the Pictures directory, I would need to enter the absolute path:<\/p>\n<p>cd &#8220;$HOME\/Documents\/How to Geek\/Articles&#8221;<\/p>\n<p>Of course, I could use <a href=\"https:\/\/www.howtogeek.com\/linux-tab-completion-is-even-better-than-you-think\/\" target=\"_blank\" rel=\"nofollow noopener\">Tab completion<\/a> instead of writing out the entire path \u2014 but either way, I still need to know enough about where the destination is in the file system to navigate to it. If I forget how a specific directory is nested, I\u2019d need to use cd along with other commands, such as ls and tree, to figure out where it is.<\/p>\n<p>\t\t<img class=\"vq-logo\" src=\"https:\/\/static0.howtogeekimages.com\/assets\/images\/htg-logo-full-colored-dark.svg?v=3.6\" alt=\"How-To Geek\" height=\"22\" width=\"130\" loading=\"lazy\" decoding=\"async\"\/>Quiz<\/p>\n<p>\t\t&#13;<br \/>\n\t\t\t8 Questions \u00b7 Test Your Knowledge<br \/>\n\t\t\t\tLinux command line knowledge<br \/>Trivia challenge<\/p>\n<p class=\"vq-intro-sub\">From basic navigation to powerful piping \u2014 see how well you really know the&#13;<br \/>\n\t\t\t\t\t\tterminal.<\/p>\n<p>&#13;<br \/>\n\t\t\t\t\t\tCommandsPermissionsNavigationScriptingUtilities&#13;\n\t\t\t\t\t<\/p>\n<p>Begin<\/p>\n<p>\t\t\t&#13;<\/p>\n<p>\t\t&#13;<br \/>\n\t\t\t&#13;<\/p>\n<p class=\"vq-qtext\">Which command prints the full path of the current working directory?<\/p>\n<p>\t\t\t&#13;<\/p>\n<p>&#13;<br \/>\n\t\t\t\tAlsBcdCpwdDdir&#13;\n\t\t\t<\/p>\n<p>&#13;<\/p>\n<p>Correct! The `pwd` command stands for &#8216;print working directory&#8217; and&#13;<br \/>\n\t\t\t\toutputs the absolute path of wherever you currently are in the filesystem. It&#8217;s one of the first&#13;<br \/>\n\t\t\t\tcommands new Linux users learn for getting their bearings in the terminal.<\/p>\n<p>&#13;<\/p>\n<p>Not quite \u2014 the correct answer is `pwd`, which stands for &#8216;print working&#13;<br \/>\n\t\t\t\tdirectory.&#8217; Commands like `ls` list directory contents and `cd` changes directories, but neither tells&#13;<br \/>\n\t\t\t\tyou where you currently are the way `pwd` does.<\/p>\n<p>&#13;<\/p>\n<p>Continue<\/p>\n<p>&#13;<\/p>\n<p>\t\t&#13;<br \/>\n\t\t\t&#13;<\/p>\n<p class=\"vq-qtext\">In a Linux file permission string like `-rwxr-xr&#8211;`, what does the first character&#13;<br \/>\n\t\t\t\t\t`-` indicate?<\/p>\n<p>\t\t\t&#13;<\/p>\n<p>&#13;<br \/>\n\t\t\t\tAThe file is hiddenBThe file is a regular fileCThe file has no permissionsDThe file is a symbolic link&#13;\n\t\t\t<\/p>\n<p>&#13;<\/p>\n<p>Correct! The first character in a Linux permission string indicates the&#13;<br \/>\n\t\t\t\tfile type. A `-` means it&#8217;s a regular file, `d` means directory, `l` means symbolic link, and there are&#13;<br \/>\n\t\t\t\tothers for special file types like block devices and sockets.<\/p>\n<p>&#13;<\/p>\n<p>Not quite \u2014 the first character `-` indicates the file is a regular&#13;<br \/>\n\t\t\t\tfile. A `d` would indicate a directory, and `l` would indicate a symbolic link. Hidden files in Linux&#13;<br \/>\n\t\t\t\tare simply files whose names begin with a dot, not a special permission character.<\/p>\n<p>&#13;<\/p>\n<p>Continue<\/p>\n<p>&#13;<\/p>\n<p>\t\t&#13;<br \/>\n\t\t\t&#13;<\/p>\n<p class=\"vq-qtext\">Which command would you use to display the last 20 lines of a file called `log.txt`?&#13;\n\t\t\t\t<\/p>\n<p>\t\t\t&#13;<\/p>\n<p>&#13;<br \/>\n\t\t\t\tAhead -20 log.txtBtail -20 log.txtCcat -20 log.txtDless -20 log.txt&#13;\n\t\t\t<\/p>\n<p>&#13;<\/p>\n<p>Correct! The `tail` command shows the end of a file, and the `-20` flag&#13;<br \/>\n\t\t\t\tspecifies how many lines to display. It&#8217;s especially useful for monitoring log files in real time when&#13;<br \/>\n\t\t\t\tcombined with the `-f` flag, which follows new output as it&#8217;s written.<\/p>\n<p>&#13;<\/p>\n<p>Not quite \u2014 the correct answer is `tail -20 log.txt`. The `head` command&#13;<br \/>\n\t\t\t\tshows the beginning of a file, not the end. `tail` is the go-to tool for reading the most recent entries&#13;<br \/>\n\t\t\t\tin a file, and `tail -f` is beloved by sysadmins for live log monitoring.<\/p>\n<p>&#13;<\/p>\n<p>Continue<\/p>\n<p>&#13;<\/p>\n<p>\t\t&#13;<br \/>\n\t\t\t&#13;<\/p>\n<p class=\"vq-qtext\">What does the `grep` command primarily do?<\/p>\n<p>\t\t\t&#13;<\/p>\n<p>&#13;<br \/>\n\t\t\t\tACopies files between directoriesBSearches for patterns within text or filesCCompresses files into an archiveDDisplays disk usage statistics&#13;\n\t\t\t<\/p>\n<p>&#13;<\/p>\n<p>Correct! `grep` stands for &#8216;global regular expression print&#8217; and is used&#13;<br \/>\n\t\t\t\tto search for matching patterns in files or streams of text. It&#8217;s one of the most powerful and&#13;<br \/>\n\t\t\t\tfrequently used tools in the Linux command line, especially when combined with pipes and regular&#13;<br \/>\n\t\t\t\texpressions.<\/p>\n<p>&#13;<\/p>\n<p>Not quite \u2014 `grep` is used to search for patterns within text or files.&#13;<br \/>\n\t\t\t\tThe name stands for &#8216;global regular expression print.&#8217; For copying files you&#8217;d use `cp`, for compression&#13;<br \/>\n\t\t\t\tyou&#8217;d use `tar` or `gzip`, and for disk usage you&#8217;d reach for `du` or `df`.<\/p>\n<p>&#13;<\/p>\n<p>Continue<\/p>\n<p>&#13;<\/p>\n<p>\t\t&#13;<br \/>\n\t\t\t&#13;<\/p>\n<p class=\"vq-qtext\">What numeric permission value gives the owner read, write, and execute; the group&#13;<br \/>\n\t\t\t\t\tread and execute; and others read only?<\/p>\n<p>\t\t\t&#13;<\/p>\n<p>&#13;<br \/>\n\t\t\t\tA764B755C644D751&#13;\n\t\t\t<\/p>\n<p>&#13;<\/p>\n<p>Correct! In Linux octal permissions, read=4, write=2, execute=1. So 7&#13;<br \/>\n\t\t\t\t(4+2+1) gives the owner full access, 5 (4+1) gives the group read and execute, and 5 again gives others&#13;<br \/>\n\t\t\t\tthe same. The `chmod 755` setting is extremely common for executable scripts and web server directories.&#13;\n\t\t\t<\/p>\n<p>&#13;<\/p>\n<p>Not quite \u2014 the correct answer is 755. Linux permission values are&#13;<br \/>\n\t\t\t\tcalculated as read=4, write=2, execute=1. Owner gets 7 (all three), group gets 5 (read+execute), and&#13;<br \/>\n\t\t\t\tothers get 5 (read+execute). The `chmod` command uses these octal values to set permissions quickly.&#13;\n\t\t\t<\/p>\n<p>&#13;<\/p>\n<p>Continue<\/p>\n<p>&#13;<\/p>\n<p>\t\t&#13;<br \/>\n\t\t\t&#13;<\/p>\n<p class=\"vq-qtext\">In a bash script, what does the special variable `$?` represent?<\/p>\n<p>\t\t\t&#13;<\/p>\n<p>&#13;<br \/>\n\t\t\t\tAThe script&#8217;s process IDBThe number of arguments passed to the scriptCThe exit status of the last executed commandDThe name of the currently running script&#13;\n\t\t\t<\/p>\n<p>&#13;<\/p>\n<p>Correct! In bash, `$?` holds the exit status code of the most recently&#13;<br \/>\n\t\t\t\trun command. A value of `0` means success, while any non-zero value indicates an error. Checking `$?` is&#13;<br \/>\n\t\t\t\ta fundamental technique in scripting for error handling and conditional logic.<\/p>\n<p>&#13;<\/p>\n<p>Not quite \u2014 `$?` contains the exit status of the last executed command.&#13;<br \/>\n\t\t\t\tThe process ID of the current script is stored in `$$`, the number of arguments is in `$#`, and the&#13;<br \/>\n\t\t\t\tscript&#8217;s name is available via `$0`. Mastering these special variables is key to writing robust bash&#13;<br \/>\n\t\t\t\tscripts.<\/p>\n<p>&#13;<\/p>\n<p>Continue<\/p>\n<p>&#13;<\/p>\n<p>\t\t&#13;<br \/>\n\t\t\t&#13;<\/p>\n<p class=\"vq-qtext\">Which command is used to find files in the filesystem based on criteria like name,&#13;<br \/>\n\t\t\t\t\tsize, or modification time?<\/p>\n<p>\t\t\t&#13;<\/p>\n<p>&#13;<br \/>\n\t\t\t\tAlocateBsearchCwhichDfind&#13;\n\t\t\t<\/p>\n<p>&#13;<\/p>\n<p>Correct! The `find` command is a powerful utility that searches the&#13;<br \/>\n\t\t\t\tfilesystem in real time using a wide range of criteria. You can search by name (`-name`), file type&#13;<br \/>\n\t\t\t\t(`-type`), size (`-size`), permissions, and even execute commands on results using `-exec`. It&#8217;s one of&#13;<br \/>\n\t\t\t\tLinux&#8217;s most versatile tools.<\/p>\n<p>&#13;<\/p>\n<p>Not quite \u2014 the correct answer is `find`. While `locate` is also used to&#13;<br \/>\n\t\t\t\tfind files, it relies on a pre-built database that may be outdated. The `find` command searches the live&#13;<br \/>\n\t\t\t\tfilesystem and supports far more filtering options, making it the more precise and flexible choice.&#13;\n\t\t\t<\/p>\n<p>&#13;<\/p>\n<p>Continue<\/p>\n<p>&#13;<\/p>\n<p>\t\t&#13;<br \/>\n\t\t\t&#13;<\/p>\n<p class=\"vq-qtext\">What is the purpose of the pipe operator `|` in Linux?<\/p>\n<p>\t\t\t&#13;<\/p>\n<p>&#13;<br \/>\n\t\t\t\tAIt redirects output from a command into a fileBIt runs two commands simultaneously in the backgroundCIt passes the output of one command as input to anotherDIt appends the output of a command to an existing file&#13;\n\t\t\t<\/p>\n<p>&#13;<\/p>\n<p>Correct! The pipe operator `|` is a cornerstone of Linux&#8217;s philosophy of&#13;<br \/>\n\t\t\t\tchaining small, focused tools together. For example, `ls -l | grep &#8216;.txt&#8217;` passes the output of `ls`&#13;<br \/>\n\t\t\t\tdirectly into `grep` to filter results. This lets you build powerful one-liners without needing&#13;<br \/>\n\t\t\t\ttemporary files.<\/p>\n<p>&#13;<\/p>\n<p>Not quite \u2014 the pipe `|` passes the output of one command as the input&#13;<br \/>\n\t\t\t\tto another. Redirecting output to a file uses `&gt;`, and appending to a file uses `&gt;&gt;`. Running commands&#13;<br \/>\n\t\t\t\tin the background uses `&amp;`. The pipe is fundamental to Linux&#8217;s &#8216;do one thing well&#8217; design philosophy.&#13;\n\t\t\t<\/p>\n<p>&#13;<\/p>\n<p>See My Score<\/p>\n<p>&#13;<\/p>\n<p>\t\t&#13;<br \/>\n\t\t\tChallenge Complete<br \/>\n\t\t\t\tYour Score<\/p>\n<p>\/ 8<\/p>\n<p class=\"vq-result-msg\">Thanks for playing!<\/p>\n<p>Try Again&#13;\n\t\t\t\t<\/p>\n<p>\t\t\t&#13;<\/p>\n<p>Now, this is how we\u2019ve been navigating the Linux terminal for decades \u2014 but just think about how clunky the entire workflow actually is. When you want to open a directory, you usually think about which directory you want, not its entire path.<\/p>\n<p>Imagine a world where you could simply type cd articles and the terminal was intelligent enough to figure out which directory you meant and take you there. Well, that\u2019s actually possible, and here\u2019s how to do it.<\/p>\n<p>                                                                                                                            <a href=\"https:\/\/www.howtogeek.com\/stop-using-deprecated-linux-commands\/\" rel=\"nofollow noopener\" target=\"_blank\"><br \/>\n                        <img width=\"440\" height=\"248\" loading=\"lazy\" decoding=\"async\" alt=\"Laptop with the Linux terminal open.\" data-img-url=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/09\/laptop-with-linux-terminal-open.jpg\" src=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/09\/laptop-with-linux-terminal-open.jpg\"\/><\/p>\n<p>                    <\/a><\/p>\n<p>                    Related<\/p>\n<p>\t\t<a href=\"https:\/\/www.howtogeek.com\/stop-using-deprecated-linux-commands\/\" title=\"Please stop using these 7 deprecated Linux commands\" target=\"_blank\" rel=\"nofollow noopener\"><br \/>\n\t\t\tPlease stop using these 7 deprecated Linux commands<br \/>\n\t\t<\/a><\/p>\n<p class=\"display-card-excerpt\">Get with the program!<\/p>\n<p>                        How this modern command solves this problem<\/p>\n<p>            Just enter the destination \u2014 no need to remember the direction<\/p>\n<p>The modern Linux command in question is zoxide \u2014 a <a href=\"https:\/\/www.howtogeek.com\/what-is-the-rust-programming-language-and-how-to-get-started\/\" target=\"_blank\" rel=\"nofollow noopener\">Rust-based alternative<\/a> to the cd command that keeps track of the directories you visit and uses that information to help you jump back to them later. This way, instead of remembering a directory\u2019s full path, you can just enter the destination directory, and zoxide will take you there.<\/p>\n<p>For example, instead of entering:<\/p>\n<p>cd &#8220;\/home\/dibs\/Documents\/How To Geek\/Articles&#8221;<\/p>\n<p>You can simply use:<\/p>\n<p>z articles<\/p>\n<p>Notice how I used \u201carticles\u201d instead of \u201cArticles.\u201d That\u2019s because zoxide is case-insensitive.<\/p>\n<p>The way this works is actually very interesting. Once installed, zoxide maintains a database of directories you\u2019ve visited and ranks them using frecency \u2014 a combination of frequency and recency. So, every time you visit a directory, it gets logged in the zoxide database and bumped up in the rankings the more you visit it. This allows zoxide to favor the directories you actually use most often rather than simply choosing the first matching path.<\/p>\n<p>This becomes particularly useful when you have multiple directories with the same name. Imagine I have two different Articles directories:<\/p>\n<p>~\/Documents\/&#8221;How to Geek&#8221;\/Articles<br \/>\n~\/Documents\/Forbes\/Articles<\/p>\n<p>Now, if I work in the How to Geek subdirectory more often, the command z articles will resolve to ~\/Documents\/&#8221;How to Geek&#8221;\/Articles instead of the Forbes one.<\/p>\n<p>That said, I can easily navigate to the Forbes directory just by narrowing down the search:<\/p>\n<p>z forbes articles<\/p>\n<p>Here, zoxide will search for both terms in its collection of stored paths and resolve to the one with the higher frecency score. However, the order of the terms matters because zoxide expects the matching terms to appear in the same order within the path. So, if I were to enter z articles forbes, for example, it wouldn\u2019t resolve to the Forbes directory unless \u201carticles\u201d appeared before \u201cforbes\u201d in the matching path.<\/p>\n<p>That said, you can skip zoxide\u2019s automatic resolution for a specific search query and choose the directory manually instead. Just install fzf and enter:<\/p>\n<p>zi articles<\/p>\n<p>This opens an interactive selection box showing all the saved zoxide directories with \u201carticles\u201d somewhere in their path.<\/p>\n<p>                        How to install and setup zoxide<\/p>\n<p>            Shouldn\u2019t take more than two minutes<\/p>\n<p>        <img width=\"1650\" height=\"1032\" loading=\"lazy\" decoding=\"async\" alt=\"The bashrc file in nano showing the zoxide init bash and zoxide init bash --cmd cd lines.\" data-img-url=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/09\/the-bashrc-file-in-nano-showing-the-zoxide-init-bash-and-zoxide-init-bash-cmd-cd-lines.png\" src=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/09\/the-bashrc-file-in-nano-showing-the-zoxide-init-bash-and-zoxide-init-bash-cmd-cd-lines.png\" class=\"img-brightness-opt-out\"\/><\/p>\n<p> All major distros have zoxide in their official repositories, and you can install it with a single command:<\/p>\n<p>sudo pacman -S zoxide # for users on Arch and its derivatives<br \/>\nsudo apt install zoxide # for users on Ubuntu, Debian, and their derivatives<br \/>\nsudo dnf install zoxide # for users on Fedora and its derivatives<\/p>\n<p>Alternatively, you can use the official installation script:<\/p>\n<p>curl -sSfL  | sh<\/p>\n<p>Once installed, you also need to initialize zoxide. If you\u2019re <a href=\"https:\/\/www.howtogeek.com\/726559\/what-is-the-bash-shell-and-why-is-it-so-important-to-linux\/\" target=\"_blank\" rel=\"nofollow noopener\">using the Bash shell<\/a>, enter the following commands one after the other:<\/p>\n<p>echo &#8216;eval &#8220;(zoxide init bash)&#8221;&#8216; &gt;&gt; ~\/.bashrc # adds eval &#8220;(zoxide init bash)&#8221; to your ~\/.bashrc file<br \/>\nsource ~\/.bashrc # reloads the Bash configuration<\/p>\n<p>And that\u2019s it \u2014 zoxide is installed and running on your system.<\/p>\n<p>If you\u2019re using Zsh or Fish instead of Bash, open your ~\/.zshrc or ~\/.config\/fish\/config.fish file, respectively, and add eval &#8220;$(zoxide init zsh)&#8221; or zoxide init fish | source.<\/p>\n<p>I should also mention that you can use the cd command to invoke zoxide\u2019s directory-jumping functionality. This is useful if, like me, you probably have decades of muscle memory that forces you to type cd instead of z. To do this, enter the following command:<\/p>\n<p>echo &#8216;eval &#8220;(zoxide init bash &#8211;cmd cd)&#8221;&#8216; &gt;&gt; ~\/.bashrc # adds eval &#8220;(zoxide init bash &#8211;cmd cd)&#8221; to your ~\/.bashrc file<\/p>\n<p>                                                                                                                            <a href=\"https:\/\/www.howtogeek.com\/439199\/15-special-characters-you-need-to-know-for-bash\/\" rel=\"nofollow noopener\" target=\"_blank\"><br \/>\n                        <img width=\"440\" height=\"248\" loading=\"lazy\" decoding=\"async\" alt=\"A keyboard on a Linux PC showing some of the special characters. \" data-img-url=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/09\/52849183173_3d57830cd9_o.jpg\" src=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/09\/52849183173_3d57830cd9_o.jpg\"\/><\/p>\n<p>                    <\/a><\/p>\n<p>                    Related<\/p>\n<p>\t\t<a href=\"https:\/\/www.howtogeek.com\/439199\/15-special-characters-you-need-to-know-for-bash\/\" title=\"15 Special Characters You Need to Know for Bash\" target=\"_blank\" rel=\"nofollow noopener\"><br \/>\n\t\t\t15 Special Characters You Need to Know for Bash<br \/>\n\t\t<\/a><\/p>\n<p class=\"display-card-excerpt\">That sequence of strange symbols on the Bash command line must mean something, right? We&#8217;re breaking down special characters and how to use them.<\/p>\n<p>                        The best way to transition from cd to zoxide<\/p>\n<p>            Skip the learning curve<\/p>\n<p>        <img width=\"1650\" height=\"1032\" loading=\"lazy\" decoding=\"async\" alt=\"Seeding the database with zoxide add --score 100 for Projects, Documents and Downloads.\" data-img-url=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/09\/seeding-the-database-with-zoxide-add-score-100-for-projects-documents-and-downloads.png\" src=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/09\/seeding-the-database-with-zoxide-add-score-100-for-projects-documents-and-downloads.png\" class=\"img-brightness-opt-out\"\/><\/p>\n<p> The zoxide command won\u2019t be immediately useful as soon as you install it. It first needs to learn which directories you visit so it can build its database, and that\u2019ll take some time. However, you can speed up the process by directly adding the directories you know you visit frequently using the zoxide add command:<\/p>\n<p>zoxide add ~\/Documents\/&#8221;How to Geek&#8221;\/Articles<br \/>\nzoxide add ~\/Documents\/Forbes\/Articles<br \/>\nzoxide add ~\/Projects ~\/Documents ~\/Downloads # add multiple directories<\/p>\n<p>Now, if you\u2019re having trouble remembering which directories you visit frequently, you can reference your <a href=\"https:\/\/www.howtogeek.com\/465243\/how-to-use-the-history-command-on-linux\/\" target=\"_blank\" rel=\"nofollow noopener\">Bash history<\/a> with this command:<\/p>\n<p>history | grep -E &#8216;(^|[[:space:]])cd[[:space:]]&#8217;<\/p>\n<p>This will show you the directories you recently visited using the cd command, which you can then add to zoxide\u2019s database.<\/p>\n<p>You can even assign an initial score with the &#8211;score option, allowing you to give particularly important directories a head start:<\/p>\n<p>zoxide add &#8211;score 100 ~\/Documents\/&#8221;How to Geek&#8221;<\/p>\n<p>Alternatively, you can use the zoxide edit command. It opens a TUI (Terminal User Interface) showing all the directories in the zoxide database. From here, you can delete unwanted directory entries or increase or decrease their rankings.<\/p>\n<p>                                                                                                                            <a href=\"https:\/\/www.howtogeek.com\/these-tui-apps-will-convince-you-to-actually-use-your-linux-terminal\/\" rel=\"nofollow noopener\" target=\"_blank\"><br \/>\n                        <img width=\"440\" height=\"248\" loading=\"lazy\" decoding=\"async\" alt=\"Tux, the Linux mascot, wearing sunglasses and pointing at large 3D terminal symbol.-1\" data-img-url=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/09\/tux-the-linux-mascot-wearing-sunglasses-and-pointing-at-large-3d-terminal-symbol-1.png\" src=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/09\/tux-the-linux-mascot-wearing-sunglasses-and-pointing-at-large-3d-terminal-symbol-1.png\"\/><\/p>\n<p>                    <\/a><\/p>\n<p>                    Related<\/p>\n<p>\t\t<a href=\"https:\/\/www.howtogeek.com\/these-tui-apps-will-convince-you-to-actually-use-your-linux-terminal\/\" title=\"These 4 TUI apps will convince you to actually use your Linux terminal\" target=\"_blank\" rel=\"nofollow noopener\"><br \/>\n\t\t\tThese 4 TUI apps will convince you to actually use your Linux terminal<br \/>\n\t\t<\/a><\/p>\n<p class=\"display-card-excerpt\">Why memorize complex commands when you just type one and get a powerful interface?<\/p>\n","protected":false},"excerpt":{"rendered":"The cd command, short for \u201cchange directory,\u201d is one of the most fundamental commands on Linux. It\u2019s how&hellip;\n","protected":false},"author":2,"featured_media":763437,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[59,90,56,54,55],"class_list":["post-763436","post","type-post","status-publish","format-standard","has-post-thumbnail","category-science","tag-gb","tag-science","tag-uk","tag-united-kingdom","tag-unitedkingdom"],"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/posts\/763436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/comments?post=763436"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/posts\/763436\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/media\/763437"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/media?parent=763436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/categories?post=763436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/tags?post=763436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}