1. Ubuntu

Ubunbu Linux is a full fledged Linux system trailed to be easily used. Ubuntu emphases the usage of the User Interface but Linux by nature emphases the usage of the command line. The following describes how to perform typical tasks via the command line.

To open a console select Applications -> Accessories -> “Terminal”. This will open a window which allow you to issue commands.

2. Unity

2.1. Overview

Unity is the default windows manager on Ubuntu. It introduced the launcher on the left side of Ubuntu and the Dash to start programs.

Press the “Windows” key to start the dash.

2.2. Adding entries to the launcher

To add new entries to the launcher you can create an “.desktop” file and drag file on the launcher. For example the following creates an entry for Eclipse with different shortcuts for different workspaces.


[Desktop Entry]


[Docu Shortcut Group]
Exec=/home/vogella/Eclipse37/eclipse -data /home/vogella/workspace/docu

[vogella Shortcut Group]
Exec=/home/vogella/Eclipse37/eclipse -data /home/vogella/workspace/vogella

[business Shortcut Group]
Exec=/home/vogella/Eclipse37/eclipse -data /home/vogella/workspace/business


2.3. Changing Ubuntus defaults

To configure it you can install the compizconfig-settings-manager via apt-get install compizconfig-settings-manager. This configuration manager can be started via the “ccsm” command and allow for example to always show the launcher.

In this tool search for the “Ubuntu Unity Plugin” and then search for “Hide Launcher”. Set it to “Never”.

3. Using the console

3.1. Editor

Ubuntu offers several editors which are installed by default. The most common command line editor is “vim”. Start vim from the command line. vim has two modes, one editing mode and other mode in which you can move within the file. To start editing the file use “i”. Once you want to save press the escape button and write “:wq”. If you want to exit without saving use “:q!”.

A simple editor with a graphical user interface is gedit.

3.2. Grep

Grep is a command line tool to search for regular expressions. grep will print the matching line to the output and with the –color flag you can highlight the matching strings.


echo "hallo hallo" | grep -P --color "h\w"


The following example will search for the number of occurrence of string “abc” in the file “file.txt”.


grep -c "abc" file.txt


grep is frequently used together with the find command. For example the following will case-incentive search for the pattern “.*Legacy.*.xml”. through the content of all files and list the files which ends with “.java” and lists these files.


find . -name "*.java" -print0 | xargs -0 grep -i ".*Legacy.*xmi"


Use the -r “recursive” option to search a directory and all files included within it.


# Search hello in all files and
# subdirectories of the current directory
grep -r "hello" .


3.3. Find files

The following demonstrates the usage of the find command.


Table 1. 

Command Description
find dir -name “pattern” 2>/dev/null Finds recursive all files which apply to the pattern “pattern” starting from the directory “dir”. The 2> Send all error messages to the null device.
find . -name ‘*.java’ -newer build.xml -print Search for all java files newer then the file build.xml
find . -name ‘*.java’ -mtime +7 -print Search for all java files newer then 7 dates
find . -name ‘*.java’ -mtime +7 -print0 | xargs -0 grep ‘swt’ Search for all java files newer then 7 dates using “swt”. The -0 options is used for files and folders with spaces.


3.4. Calculate the size of a folder

The following calculates the size (disk usage))of a folder “folder1” in megabyte.


du -sh folder1


3.5. Remove files

Use the command “rm pattern”” to delete files. Be careful with the usage of files.


# Remove all files which ends with .class in the current directory
rm *.class
# find all files which ends with .class recursive in all directories below the current one and delete them
find . -type f -name "*.class" -exec rm -vf {} \;


3.6. Processes

To see all running processes on your system use


ps -aux


3.7. Change owner of files and directories

Table 2. 

Command Description
chown -R www-data:www-data mydir Change recursively the owner and the group of the directory “mydir” and its subdirectories.

3.8. Create new user via the console

To create a new user via the console use the following commands. This will create the user, set his password and create a home directory for the user and change this ownership of the directory.


sudo useradd newuser
sudo passwd newuser
sudo mkdir /home/newuser
sudo chown newuser /home/newuser
sudo chgrp newuser /home/newuser


Careful: This command will allow the user also to execute sudo commands (root).


sudo adduser vogella admin


4. Environment Variables

Table 3. 

Command Description
echo $VARIABLE Prints the content of the environment variable
sudo /etc/init.d/tomcat5 start/stop Start / stops the tomcat server
sudo -i Switches to root


4.1. Add a directory to the path

The path environment variable is where the system will look for executable files. To temporay add the directory “/home/vogella/bin” to the path on a shell use the following command.


export PATH=$PATH:/home/vogella/bin


If you want to add a directory permanently to the path you can edit / create the file “.profile” and add the following line to the file. Every new directory in the path must be started with “:”.




Changes in the “.bash_profile” are only valid after logging out and in again of the system.

5. Important files

Table 4. 

File Description
/etc/issue Contains the Ubuntu version you are running
lsb_release -a Prints out the Ubuntu version you are running
/etc/apt/source.list Contains the available sources for software installation
/usr/share/tomcat Installation directory for tomcat
/var/www/vhosts/domain1 Contains on my v-server the user directory for a specific domain which is hosted on this server

6. Package Management

On the command line Ubuntu allows to install / remove and search for packages via the following commands.

Table 5. 

Command Description
sudo apt-get install paketname Installs a package
sudo apt-cache search openjdk Search for all packages which contain openjdk. The found package can get installed via the “apt-get install” command.
aptitude purge Removes a package and orphaned dependencies and its configuration files
aptitude update Update the local package list
aptitude upgrade Updates any installed packages for which an update is available
aptitude clean Deletes downloaded files which were necessary for installation
aptitude show Show details about a package name
aptitude dist-upgrade Updates the Ubuntu system to the next version
dpkg -L packagename Lists all files and their location in a package
sudo updatedb; locate javac Updates the installation database and locates the javac command.


To search for the installed packages use the following command.


cat /var/log/dpkg.log | grep "\ install\ "


7. ShellScript

Shell scripts are short programs that are written in a shell programming language and interpreted by a shell process in the console. You can create these programs via a text editor and execute them in a terminal window.

Create for example the following text file.


chmod 777 yourScript


You also have to make this file executable via:

Create for example the following text file “yourScript”.


echo "Hello, world."


Now you can call the shell script via ./yourScript. It should print “Hello, world” to the console.

8. Network

8.1. Network commands

The following commands give you an overview of your network connections.

Table 6. 

Command Description
lspci -nn | grep -i net
ifconfig Shows the network connections
python -m SimpleHTTPServer Start webserver serving current directory tree at http://localhost:8000/

8.2. Http debugging with curl

curl is a command line tool to issue and receive http (and other) request. For example if you want to see the HTTP output of a webpage use the following command.


curl http://www.vogella.com
// Or
curl -G http://www.vogella.com


If you want to the HTTPrequest header (including the HTTP status codes use the following command. This is for example nice to see if your server deliver a 404 return code for your self-defined error page.


curl -I http://www.vogella.com


You can set HTTP header information with the -h flag. For example to request a certain MIME type use the -H’Accept:MIME’ option.


curl -I http://www.vogella.com -H'Accept:text/plain'


To use curl behind a proxy.


curl -x proxy:8080 -G http://www.vogella.com




curl is also available for Windows. Please see curl for Windows.


8.3. IRC

For IRC communication you can use the tool xchat. To install it use “sudo apt-get install xchat”.

8.4. Ftp

For Ftp access you can install filezilla via sudo apt-get install filezilla or map the ftp access to a virtual device.

To map the device select your desktop. Select the file menu and the entry “Connect to server”.



9. MySQL

For a description of MySQL and its installation in Ubuntu see MySQL – Tutorial

10. Apache Tomcat

10.1. Important Files

Table 7. 

File Description
/usr/share/tomcat5/ Installation directory of Tomcat
psa-webapps Installation directory for webapps in a vhost environment
/usr/share/tomcat5/conf Configuration Directory for Tomcat
/etc/default/tomcat5 Contains default settings for tomcat. Most important the used java version (jdk).
/var/log/tomcat5 Log files of tomcat

10.2. Important Commands

Table 8. 

Command Description
/etc/init.d/tomcat5 restart Restart the tomcat webserver

11. PDF files

11.1. Command line tool pdftk

The “pdftk” command line tool allows to rework existing pdf files, e.g. extract pages or change the orientation of the pdf file.

You can install it via the following command.


sudo apt-get install pdftk


For example to extract pages from an pdf document you can use the “cat” option.


# Extract certain pages from a pdf document
# "dont_ask" will override existing files without warning 
pdftk Eclipse4book-20120429.pdf cat 25-27 87-91 95 output Eclipse4-Exercise.pdf dont_ask


11.2. Converting .odp file to pdf in batch

If you have LibreOffice installed you can convert .odp files on the command line to pdf files.


soffice --nologo --invisible -convert-to pdf -outdir ./pdf *.odp


12. Command line tools for adjusting images

ImageMagick allows to convert images in batch see ImageMagick Command line Options.

For example the following adjusts the DPI size of images to 300.


convert -units PixelsPerInch -density 300 input.png output.png


13. Connection

13.1. Telnet / ssh client for Windows

To connect to your Linux system via telnet or via ssh from windows you can use putty Putty download page

13.2. Switch to Console mode from Graphical User Interface

In case your Linux system is runnig under a graphical user interface (KDE, Gnome,…) and you need access to the console, use the Ctrl-Alt-F1 shortcut keys to switch to the first console. To switch back to Desktop mode, use the Ctrl-Alt-F7 shortcut keys.

14. Tips

Ubuntu 11.10 ships with Unity which has a nice quick starter menu. To edit this menu you can install the menu manager via:


sudo apt-get install alacarte


To open this type “Menu Manager” in the Dash. Choose “programming” in the left panel. Press “New item” button then. Choose name, command, icon

In the panel click and hold Alt to quick switch/launch apps.

14.2. Shortcut for a shell

The first thing is to create a shortcut for opening a shell / terminal window. Ubuntu allows to define keyboard shortcuts via the following menu entry.



For example you can assign the hotkey “Ctrl+Alt+X” to “Open a terminal” via the following entry.



15. Thank you


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s