[SOLVED] create a "bookmark" for navigating filesystem from the linux command line
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
create a "bookmark" for navigating filesystem from the linux command line
I think I need to use the ln -s command for this but not sure. Could someone give me a good example of a way to make it so I don't have to keep re-typing
cd ~Dropbox/programming/ruby/function_library/pond_design
once per hour?
I would really like to just type
cd pond_design or something else shorter
What is the best way to do this kind of thing, in general?
I would like to add to what Sasha posted is that you could setup a .bashrc & .bash_profile for your user;
Code:
sample .bash_profile;
~$ cat .bash_profile
# .bash_profile <<< Begin of File
#08-30-06 12:21
#
# Source .bashrc
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi <<< End Of File (EOF)
Code:
sample .bashrc;
:~$ cat .bashrc
#.bashrc <<<< begin of file
#08-30-06 12:20
# Add bin to path
export PATH="$PATH:/sbin:/usr/sbin:$HOME/bin"
#export PATH="$PATH:$HOME/bin"
# Dynamic resizing
shopt -s checkwinsize
# Custom prompt
#PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
#08-29-06 11:40
if [ `id -un` = root ]; then
PS1='\[\033[1;31m\]\h:\w\$\[\033[0m\] '
else
PS1='\[\033[1;32m\]\h:\w\$\[\033[0m\] '
fi
#
# Add color
eval `dircolors -b`
# User defined aliases
alias cls='clear'
alias clls='clear; ls'
alias ll='ls -l'
alias lsa='ls -A'
alias lsg='ls | grep'
alias lsp='ls -1 /var/log/packages/ > package-list'
alias na='nano'
alias web='links -g -download-dir ~/ www.google.com'
alias pond="cd ~Dropbox/programming/ruby/function_library/pond_design"
#08-29-06 11:50
#To clean up and cover your tracks once you log off
#Depending on your version of BASH, you might have to use
# the other form of this command
trap "rm -f ~$LOGNAME/.bash_history" 0
#The older KSH-style form
# trap 0 rm -f ~$LOGNAME/.bash_history <<< End Of File (EOF)
That is a great idea. Thank you. However, I'm having a hard time understanding everything you are doing with the .bashrc and .bash_profile.
Is there a way to simply create a .bash_aliases and put them in there?
I did this:
# User defined aliases
alias pond="cd ~/Dropbox/programming/ruby/function_library/pond_design"
and saved that in .bash_aliases but when I type pond the bash command is not recognized. Can you explain what I have to do so that it is recognized?
Thank you!
If you copy each of the text samples to their own file then you can use them. The first sample is a '.bash_profile' where I test for the existance of '.bashrc' then execute if there. The second sample is '.bashrc' that you would have your commands that you wish available. The first part test for 'root' if so then the colorized prompt is set red with the prompt information. Otherwise it is set to green for a normal user for prompt. Then the alias is setup. At the close is just for cleanup.
So if you save each sample to the required files for '.bashrc' and '.bash_profile' you would have things set for the next time you enter the console. There after for each time you enter your console you would have things setup this way until you change or remove the files.
~/.bashrc and ~/.bash_profile are two bash initialization files, ~/.bash_aliases is not, and bash has no means to know that. Bash can't open every single file in your home directory to see what's inside of it.
Bash will source ~/.bashrc when it's launched in a non-login interactive mode, for example, when you use an xterm or a similar terminal emulator. ~/.bash_profile will be read automatically when you use bash as a login shell, for example when you login in command line instead of a graphical login manager.
Hence, all the bash related stuff goes either into ~/.bashrc, ~/.bash_profile, or both. Or, if you want to set it globally, into /etc/profile. However, I don't understand what the difficulty is. It isn't any more complicated to create a file called ~/.bashrc than it is to create one named ~/.bash_aliases...
Well, if you want a separate file for aliases, it's also simple enough to source that interactively or from ~/.bashrc. Just type '. ~/.bash_aliases' or add it to your ~/.bashrc.
You might also look into popd/pushd, cdable_vars, and CDPATH.
CDPATH="whatever_you_like:~Dropbox/programming/ruby/function_library/"
cd pond_design
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.