You forgot the pwd after each ‘cd’.
ls*
Ls doesn’t tell them where they are, just what files exist in their current location.
Yup,
But I want to know if the file I’m looking for is in this directory or I have to cd… once more
That’s when locate piped to grep is your best friend.
alias ..='cd ..' #: up one directory alias ...='cd ../..' #: up two directories
The first two options (
autocd
andcdspell
) have been a lifesaver in fixing my frustrations with the defaultbash
settings (and even lets me stick with bash, instead of feeling I should move to zsh or any other shell.I can just type a foldername, tabcomplete it and press enter to go there. It’s great.
# == shopts == # https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html shopt -s autocd # cd into folder without cd, so 'dotfiles' will cd into the folder shopt -s cdspell # attempt spelling correcting on folders shopt -s direxpand # expand a partial dir name shopt -s checkjobs # stop shell from exit when there's jobs running shopt -s dirspell # attempt spelling correcting on folders shopt -s expand_aliases # aliases are expanded shopt -s histappend # append to the history file, don't overwrite it shopt -s histreedit # lets your re-edit old executed command shopt -s histverify # I'm confused. shopt -s hostcomplete # performs completion when a word contains an '@' shopt -s cmdhist # save multiple-line command in single history entry shopt -u lithist # multi-lines are saved with embedded newlines rather than semicolons; explictly unset shopt -s checkwinsize # update LINES and COLUMNS to fit output
Easiest solution, use fish instead of bash! Default fish keybindings will allow you to just type . . or name a directory similar to how you could do with Zoxide.
Also, wait until you find about pushd and popd ;)
Really buried the lede there:
pushd
andpopd
are what I use instead ofcd
most times!
$ cd .. $ ls $ cd .. $ ls
“hmm yes… everything seems to be in order”
cd .. pwd ls ls -a tree -d git status -bs cd .. ...
I ain’t reading allat
Then you invite chaos to sit in your lap, friend
I need a shell/plugin/tool/whatever that always shows me the content of the current dir in a little popup or something.
Anything I do in the shell is like cd this, ls, cd there, ls *, I feel like a have the navigational awareness of a amnesiac goldfish
A window, you say!?
You probably want rangerfm or vifm. They use miller columns for to show you your surrounding context.
Put this in bashrc or whatever flavour of shells’s bashrc you use:
function cs () { cd “$@” && ls }
I didnt remember the function sintax of bash so I just copied it from SO.
cs () { cd $1; ls ${@:2} }
You (probably) only want to pass the first argument to
cd
, this’ll send the rest tols
.Did that years ago, just called it cds. I also have an “up” command which is an alias to “cds …”. Oh, and I have a “setup server_name” they copy all my aliases to a server and create an alias that allow me to “ssh -A server_name” using only server_name.
Alternatively, you could use a TUI file manager. Once you get the navigation down you can manage things pretty quickly. Especially with ones that have options for dual directory layouts, like Midnight Commander or vifm.
It is called windows 2000 explorer and it’s great for file operations :) In Linux i have yet to find a really good replacement ;(
Try Dolphin. Press F4 to open the terminal view. It stays in dync with the gui so if you use cd in the terminal, the contents of the new folder will be shown.
That sounds really cool but I spent so much time making things look pretty …
What’s a GUI?
that, or you have to make ABSOLUTELY SURE that you haven’t accidentally pressed a button on your keyboard that has inevitably resulted in the total destruction of the directory contents
pwd
seems more appropriate thanls
Doesn’t let you rifle through things approvingly as you go. "Yes this is the correct directory because it has the three files I was looking at earlier–
You know what let’s do a ls -al just to be super sure it’s the right modification
fair point
Sometimes I throw off the linux admin reading my log by throwing in a pwd before going to the next one. Know it’s not gonna be in that directory you know?
The good thing about Dolphin is you can have the real tree following your navigation. Want to go up a few levels, just click once, directly where you want to go next. None of this up, up, up nonsense. Great for snooping in many different folders in quick succession.
alias cd..='cd ..' alias cd...='cd ../..' alias cd....='cd ../../.. alias cd.....='cd ../../../..'
Then forget all that and just use
cd ~
orcd /
No need for
~
- justcd
works as well.
In your rc: alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' Usage: 1/2/3 $ ... 1 $
That’s pretty neat
This is the way.
Or just use zsh
Yeah, let’s use whole different shell, because you can’t add some few aliases to your
.bashrc
.That’s not why I use a whole different shell. It just happens to be a perk of the one I use.
.....
for zsh usersExcuse me what? I’ve been multi cd’ing for years like a chump?
Exactly. The fucking what now?
Doesn’t work on my machine… is it a setting that needs to be enabled or something?
Same. I LLMd it and said it needs aliasing so not sure what these users are saying now actually.
cd .. && ls !! !! !! !!
What’s so surprising?? What did you see in that dir??
Double-bang repeats the previous command. Great if you forget
sudo
.$ rm -rf <folder> permission denied $ sudo !!
Haha yeah I was just being silly
for i in { 1…4 }; do cd …; done
i use fish shell with https://github.com/nickeb96/puffer-fish
basically when i type
it expands to
../..
and adds another/..
for every additional dot i typeits similar to what the zsh users in the comment section are doing
I was about to post something similar. With fish you can do your own functions, right? So, you can pass any dots as arguments to a function called
cd
, so, for every extra dot after..
, you append a/..
at the end.yeah, but its less visual
cd .....
is harder to understand thancd ../../../..
also the extension work with any commend, not just
cd
deleted by creator
cd ..
⭡ ⏎
⭡ ⏎
⭡ ⏎
Oh, shit.
square
I feel called out. Should definitely make an alias or two that auto CDs me the amount of times I need…
cd .. !! !! !!
alias cdr=‘cd /’
Heh