English (change)

The bashrc file is where we create aliases to shortcut those long CLI commands, plus functions to improve usability. In this tutorial, as well as setting locale, performing a software index update & a Linux upgrade, let’s configure it.
From the initial how-to guides in this series Set Up Unmanaged VPS (4 Newbies) .. The VPS Bible, we’ve got a basic Linux distribution to work with and dead easy, secure terminal access to it, from our local Windows PC.
[sniplet guvSellBox]
[sniplet vpsIndexSell]
Now, it’s time for a little house-keeping, adding some trim to create a more user-friendly Command Line Interface, and to update our core system and locale settings.
[sniplet video]
Log into the CLI, using your regular user name, and we’ll crack on…
Like I said, the bashrc file makes life easier and workflow faster. Let’s take a peek:-
[text]nano ~/.bashrc[/text]
What you can do with this file is so cool. For instance, to open bashrc, instead of having to type nano ~/.bashrc, think how much easier it is to type an alias, like ebrc. Hey, let’s do that.
At the bottom of the file, type:-
[text]
###My Aliases
#open bashrc
alias ebrc=”nano ~/.bashrc”
[/text]
And close the file. To activate changes, after editing the bashrc file you type this command:-
[text]source ~/.bashrc[/text]
Now type:-
[text]ebrc[/text]
OK. That was a basic example, but you get the picture. Pretty powerful. With the bashrc file open, let’s add a few more aliases, and a little functionality. You can just leave in the descriptive references because they’re commented and Linux ignores them. Copy and paste this lot:-
[text]
###My Aliases
#open bashrc
alias ebrc=”nano ~/bashrc”
#update software source index
alias update=”sudo aptitude update”
#Ubuntu version detail
alias ver=”cat /etc/lsb-release”
#safe upgrade Linux OS
alias upgrade=”sudo aptitude safe-upgrade”
#full upgrade Linux OS
alias fupgrade=”sudo aptitude full-upgrade”
#install [software_name]
alias install=”sudo aptitude install”
#remove [software_name]
alias remove=”sudo aptitude remove”
#RAM and SWAP detail in MBs
alias free=”free -m”
#detail list of current dir
alias ll=”ls -la”
#reload Nginx web svr
alias n2r=”sudo /etc/init.d/nginx stop && sleep 2 && sudo /etc/init.d/nginx start”
###My Functions
#add color & formatting to CLI
export PS1=”[e[32;1m]u[e[0m][e[32m]@h[e[36m]w [e[33m]$ [e[0m]”
[/text]
Of course, you can play around with all the above, to suit you. After saving the file, don’t forget:-
[text]source ~/.bashrc[/text]
Bear in mind, if you add Super User credentials (typing su at the commmand line to act as the root user) these bashrc aliases and functions won’t work. That’s because there’s a separate bashrc file for each user.
See the difference? Type su, add the password and the CLI text is all white again, and aliases don’t work. To exit the root account, type exit, and you’re back to your regular user account.
You can edit root’s bashrc file by opening the file (nano ~/.bashrc) when logged in as root.
Type this, replacing the country code as appropriate. Ie, for the UK, swap en_US for en_GB.
[text]
sudo locale-gen en_US.UTF-8
sudo /usr/sbin/update-locale LANG=en_US.UTF-8
[/text]
Using some of the aliases from above, let’s bring our system up-to-date. If you didn’t bother with the aliases, you can find the regular commands in the alias section above.
First, we’ll get the latest software repository indexes:-
[text]update[/text]
Then, a safe system upgrade:-
[text]upgrade[/text]
…this is kinda like Windows Update. It may take some minutes.
Last, a full upgrade:-
[text]fupgrade[/text]
Pleased you asked that! Here’s the deal…
With Linux, the easiest way to install software is to issue a command at the CLI, with the software pulled from a central server, or repository. There are a bunch of these, some official and highly regulated, others unofficial which you can opt to use at your own risk.
So how does Linux know what software and versions are available? That’s where the indexes come in, which are held on your machine. They need updating every so often, and certainly before installing anything important, like system patches (upgrade) or a major component like a web server. Hence, our update alias.
At last, we have a lean ‘n mean virtual private Linux machine that is ready to be built into what we want, the fastest darned server in the world wide west.
In Part 8: Build Essential, PHP5 & MySQL, Geared for Platforms like WordPress it’s pretty clear what we’re gonna be doing. Then we’ll test a web page, add domain email functionality, add Nginx (did I say that was a sexy minx of a web server?) and generally get way too excited.
But hey, for me it’s beer o’clock, so just read the index…
[sniplet vpsIndex]
Samuel July 6th, 2009 at 3:43 pm
Hi!
I’m following your great tutorials
But at this point, the custom CLI prompt is not working for me.
The line nÂș 27 of your code (export PS1=…) is only generating a prompt with that codes, not the color and info that means to be output
I think that maybe you forgot to put some escape codes somewhere?.
the_guv July 6th, 2009 at 11:59 pm
very odd that, Samuel .. can’t replicate error, all tests OK. sorry, headscratcher.
anyone else had a problem?
the_guv July 8th, 2009 at 12:43 am
apologies Samuel .. was a newly-installed plugin interfering with the syntax highlighter. sorted now. thank you for tip-off.
patrick August 5th, 2009 at 3:57 pm
Hello The_Guv great tutorial thanks for sharing the information and knowledge. I had a problem to copie the html code
I was missing an point .bashrc and the “” give a problem.
###My Aliases
#open bashrc
alias ebrc="nano ~/.bashrc"
the_guv August 5th, 2009 at 4:07 pm
@Patrick .. well, I say, that’s just not on! Thank you for drawing that to my attention. Code amended. Thank you again, very much appreciated.
Configure NGINX Multi-Site Virtual Hosts - VPS Bible Pt 13 - GUVNR September 24th, 2009 at 10:00 pm
[...] Edit bashrc for User-Friendly Linux, plus System Updates * [...]
Set up an Unmanaged VPS for Newbies - The 20 Part Bible! - GUVNR November 30th, 2009 at 9:05 pm
[...] Part 7: Edit bashrc for User-Friendly Linux, plus System Updates Part 7: Set an alias to shortcut Linux commands using bashrc, and add functions to make life easier & workflow faster. Plus system update / upgrade. [...]
estecb January 15th, 2010 at 6:42 am
If you get this message: “aptitude: command not found”
then you need to install “aptitude” first.
sudo apt-get install aptitude
Giwrgos February 1st, 2010 at 11:56 am
udpate: command not found
also for upgrade and fupgrade!!! any ideas?
the_guv February 1st, 2010 at 2:43 pm
did you refresh bashrc:-
source ~/.bashrc
and, er, I suppose you added the relevant shortcut in the bash file?:-
alias update=”sudo aptitude update”
and estecb has a good point .. maybe you don’t have aptitude installed yet?:-
sudo apt-get install aptitude
.. then try again