Change directory, list files and print current directory path in one command
If you put this bash function in your .bashrc or .bash_aliases file in your home folder (provided you use a unix like operating system like linux or Mac OS):
c() {
cd $1;
ls -l;
echo " "
pwd;
}
... then you can change directory, list the current files in the directory, and see in which directory you are, just by using "c" instead of "cd" when you change folder in the terminal!
For example, if I want to change directory from my home folder (denoted by ~ in the terminal) to one of my Go code projects, it looks like this:
[samuel ~]$ c code/go/src/basecompl_blow/
total 118M
-rwxrwxr-x 1 samuel samuel 1,9M nov 7 18:47 basecompl_blow
-rw-rw-r-- 1 samuel samuel 2,0K aug 12 15:51 basecompl_blow.go
-rw-rw-r-- 1 samuel samuel 12K aug 11 02:13 bc1.log
-rw-rw-r-- 1 samuel samuel 24 aug 11 02:33 breakpoints.txt
-rw-rw-r-- 1 samuel samuel 66K aug 12 15:14 dbg.txt
lrwxrwxrwx 1 samuel samuel 50 nov 7 18:46 Homo_sapiens.GRCh37.67.dna_rm.chromosome.Y.fa -> Homo_sapiens.GRCh37.67.dna_rm.chromosome.Y.fa.orig
-rw-rw-r-- 1 samuel samuel 58M aug 8 15:36 Homo_sapiens.GRCh37.67.dna_rm.chromosome.Y.fa.orig
-rw-rw-r-- 1 samuel samuel 7,8K aug 8 15:36 Homo_sapiens.GRCh37.67.dna_rm.chromosome.Y.fa.short
-rw-rw-r-- 1 samuel samuel 8,1K aug 11 01:50 Homo_sapiens.GRCh37.67.dna_rm.chromosome.Y.fa.short.linenum
-rw-rw-r-- 1 samuel samuel 58M nov 7 18:47 out.txt
/home/samuel/code/go/src/basecompl_blow
[samuel basecompl_blow]$
I find that this saves tons of keystrokes, since 90% of the commands I type are cd, ll and often I would like to see the output of pwd as well.
With this c-command, I can navigate around and see the context of where I am, more like in a typical graphical file browser, while still using the power of the terminal.
Written by Samuel Lampa
Related protips
1 Response
A few advices:
- remove the « ; » at the end of the lines: they are redundant with NL
- add quotes around « $1 »: cd "$1"
- remove « " " » after echo: just « echo » is enough to print an empty line