AMAZON

Thursday, September 6, 2012

handling a Ubuntu system, ShellScript, Ftp, Http, typical tasks, shortcuts, keyboard shortcuts, files, folder,

Ubuntu - Typical Tasks
This articles contains some information about handling a Ubuntu system.

Table of Contents
1. Ubuntu
2. Unity
2.1. Overview
2.2. Adding entries to the launcher
2.3. Useful shortcuts
3. Using the console
3.1. Editor
3.2. Grep
3.3. Find files
3.4. Calculate the size of a folder
3.5. Remove files
3.6. Processes
3.7. Change owner of files and directories
3.8. Create new user via the console
4. Environment Variables
4.1. Add a directory to the path
5. Important files
6. Package Management
7. ShellScript
8. Network
8.1. Network commands
8.2. Http debugging with curl
8.3. IRC
8.4. Ftp
9. MySQL
10. Apache Tomcat
10.1. Important Files
10.2. Important Commands
11. PDF files
11.1. Command line tool pdftk
11.2. Converting .odp file to pdf in batch
12. Command line tools for adjusting images
13. Connection
13.1. Telnet / ssh client for Windows
13.2. Switch to Console mode from Graphical User Interface
14. Tips
14.1. Shortcut for a shell
15. Thank you

1. Ubuntu

Ubuntu Linux is a full fledged Linux system trailed for the desktop. Ubuntu builds a unique user interface and offers the users a solid choice of tools.

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. Here you can type in commands to open programs and files.


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 to start Eclipse with different shortcuts for different workspaces.

[Desktop Entry]
Icon=application-x-executable
Name=eclipse
Type=Application
Exec=/home/vogella/Eclipse37/eclipse

X-Ayatana-Desktop-Shortcuts=Docu;vogella;business
 
[Docu Shortcut Group]
Name=Docu
Exec=/home/vogella/Eclipse37/eclipse -data /home/vogella/workspace/docu
TargetEnvironment=Unity

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

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

2.3. Useful shortcuts

The following lists a few useful shortcuts for the Unity window manager.

Table 1. Window Shortcuts
Long press on Super (Windows key) Opens up help for the most common keyboard shortcuts
Alt+Left Mouse Click Allows to moves the current window


3. Using the console

To open a console open the Dash and type in Terminal. Alternatively you can use the shortcut CTRL+Alt+T. This will open a window which allow you to issue commands.

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 2. 
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 3. 
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 4. 
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 temporary add the /home/vogella/bin directory to the PATH 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 .bashrc and add the following line to the file. Every new directory in the path must start with :.

PATH=$PATH:path_to_new_directory 
Open a new shell to make the changes in the .bashrc file active.

5. Important files


Table 5. 
File Description
/etc/issue Contains the Ubuntu version you are running
lsb_release -a Prints out the Ubuntu version you are running
/etc/apt/sources.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 6. 
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".

#!/bin/bash
clear
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 7. 
Command Description
lspci -nn | grep -i net
lsusb
iwconfig
ifconfig Shows the network connections
lsmod
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 

Tip

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 8. 
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 9. 
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.




No comments:

Post a Comment