Home About Keynote Talks Clients, Feedback Extras Contact Jane

Useful Linux Commands and Utilities, Alphabetic

These are arranged alphabetically., and grouped by function here

cal : calendar for this month
cal -y : for year
cal 1992 : you can specify any year. Try 1752 and check September!  

cat filename
: views contents of file. Use -n option to number lines.
cat filename > anotherfilename.txt sends output to a file that is created or overwritten
cat filename >> anotherfilename.txt appends output to selected file
cat file1.txt file2.txt > file3.txt : contents of two files can be combined
The cat command can be used as a quick text editor:
cat > friends.txt
Joan
Scott
Meredith
Tim
[EOT](Ctl -d)  

cd
: change directory
cd ~ : takes you to home directory
cd - : last directory you were in.
cd .. : parent directory of the one you are in at present
cd ../../.. will take you up three parent directories
cd / : takes you to root directory
cd ../sisterdir : when you want to change to a directory at the same level, the .. takes you back to the parent, followed immediately by the sister directory.
When using cd, if you put / in front of the directory name, you have to give the full path from root. Don't put the / to change to a subdirectory from where you are at present (relative path) unless doing a sidestep and it is preceded by ..  

cdda2wav -D /dev/cdrom -x -t 1+10 -B
: for ripping audio to wav. Most of the following arguments will be required:
-D /dev/cdrom : device used must be specified
-x : for cdaudio quality
-t 1+10 : to specify either a single track or start and end tracks
-B : copies each track to a separate file  

chgrp Jane <filename>
changed ownership of file to group Jane  

chmod
(a=all u=user g=group o=other) +/-/= (r=read w=write x=execute) simplest way of changing permissions. eg
chmod a-w <filename> : removes write permissions w for all a
chmod u+x <filename> : adds execute permissions x for user u(the user is generally the person who created the file, and therefore the owner)
- removes ,+ adds, = makes permissions exactly as specified
In the long listing, permissions are specified user/group/other as in rwxr-xr-x
421= rwx, as in chmod 755 <filename> means rwx for user, r and x for group and others
chmod 4777 : (4 = u+s) : Adding the set user id or suid bit. When you run the file, you become the user/owner : rwsrwxrwx
In front of the whole lot there are sometimes other characters:
b = block device, c = character device, - =an ordinary file, d = directory.
Directory permissions: t at the end denotes a sticky bit - everyone has permissions but only user can alter files. 1777 1 = +t
   
chown -R Jane. updates : recursively changed  /home/Jane/updates subdirectory to ownership by Jane
chgrp : changes the group which owns a file eg. chgrp Jane <filename>  

clear
: clears text out of the top of a terminal. Can still be scrolled back through. A shortcut is Ctl - l  

cmp -l file1 file2:
displays all differences between binary files   

cp <filename> <newfilename>
: straight copy
cp -p : preserves attributes and permissions of the file
cp <filename> /dir/ect/ory : copy to file to another directory
Use wildcards to copy multiple files to a new location:# cp file* /tmp
command line option -i will prompt you if you are about to overwrite an existing file
cp -bi <file> <file.1> creates a backup of any file that may be overwritten. A backup has a ~ attached to its name.
Copying Directories: 
cp -a : archive option. Copies directories recursively and preserves attributes and permissions
cp -Pr dir1 dir2 :-P (parent) along with the -r (recursive) command-line option, copies files within one directory to another directory, and also any directories inside.  

dd if=/dev/cdrom of=/tmp/filename.iso
bs=8192 : data dump - this copies the iso image of a cd. This example is copying direct from the device - make sure the cd is not mounted. Copy to a filename of your choice. You can now burn a cd with this image. The output file must have a .iso extension. The last command, block size, increases the size and makes the process faster.  

df -h
: shows amount of disk used, in human readable format  

diff oldfile.txt newfile.txt
:  displays line-by-line differences between two text files.
diff --brief : shows only the difference. Much easier to understand the output!  
diff -r /etc /home/jane/etc |less : shows difference between two directories, useful when reastoring a backup in an upgrade. Pipe to less to scroll through output at your pace.

dig : will get the ip address from the user ident (irc) The ip address will be the numbers following ID IN A xxx.xxx.xx.xx  

du -s 
: summarise the size of the directory you are in
du -ks <dirname>: summarise in kilobytes the size of the directory named
du -ms: summarise in megabytes
du -m : shows size in megabytes of directory, as well as all subdirectories
du -m --max-depth=1 <directoryname> : As above, except summarises subdirectories to a max depth of one  

dmesg
: shows you all the boot messages.  

env
: displays exported environment variables, like the path and other interesting stuff  

echo $PATH
: shows the path that is followed to find executables
export PATH="$PATH:/opt/gnome/bin" : add a new directory eg. /opt/gnome/bin to path  

exec
: exec executes a file, usually a binary or executable  
file <filename>
: takes a guess at the type of data contained in a file

find <filename> : Searches your complete hard drive for file. Takes a while. Quicker if you know which directory to search:
find . <filename> : find files in current directory, find /etc <filename> : find files in /etc dir
See also locate. Much faster - searches quickly through a system database.

free : quick method of checking memory usage  

fuser -vn tcp <portnumber> : names the service that uses that port.   

grep <text string> <filename>
: find text strings in files and returns the whole line.

gunzip <filename.gz> unzips files with a .gz extension
bunzip2
: same for .bz2 extensions. Must have bzip2 installed.
unzip : for .zip files.  

head <filename>
Gives first 10 lines of file. head -1 would give the first line only. Also see tail
   
Help type commands:
apropos <anything>
: searches man pages for the specified word and prints out info
<cmdname> --help : briefer than man page, gives a summary of arguments for command. Can be scrolled with scrollbar. Returns you to command prompt.
info <cmdname> similar to man page, but has nodes and menus.
whatis : searches the whatis database for complete words, gives a one-line synopsis
makewhatis : creates the whatis directory
whereis <cmdname> : locates the binary, source, and manual page files for an executable
man <cmd> : man page. Type q to exit. Move with up/down arrows. Find particular words by typing /searchterm <enter> to highlight where it appears. Press n to find the next occurence, and shift - n to find the previous.
man -k <word> : searches headings of man pages for word
/usr/doc directory: documentation pertaining to everything is in there

history : prints out about the last 1000 commands  

ifconfig
: lists interfaces and traffic. Can be used to get your current ip address. Must be root

init0
: shuts system down (starting runlevel 0)
init1: goes down to to basic admin level
init6: reboots system

kill -1 or kill -HUP <PID>
this interrupts the process and makes it reread its config
killall <processname> : Use on Linux only. Kill without requiring the process ID
kill -9 <PID> kills the process forcibly
kill -15 <PID> : a nicer kill than -9  

ksnapshot
: for screenshots. Easy to launch through `run command' window: alt F2  

ldd <pkgname>
: shows missing libraries that files/packages depend on. Prints out library dependencies for a given executable  

less 
: allows you to go back and forth in a file. Pipe large files to less when the output is too big to be seen on one screen. Can read contents of gzipped files, eg. less filename.gz. To search for a particular term in less (and man pages) type /searchterm <enter> and it highlights where it appears in the file. Type q to exit. Press n to find the next occurence, and shift - n to find the previous.
more : shows the percentage that you are through the file. Move down with enter key. No backwards movement permitted.  

locate : finds files by searching a database, created with updatedb. Much quicker than find. Wildcards can be used to either expand or narrow a search. For example, to look for opera browser icons: locate *opera*png*   (Check if installed: package is called findutils-locate)
updatedb : create / update the locate database. Must be root.

ln -s file file2 : symbolic link. Source file first then target. Can be used for any type of file, including executables. A symlink will reflect all changes to the source file

ln file file3 : the ln command alone makes a hard link - it's a copy of the original file and will not reflect any change or deletion of the original file.
ln -s sourcedirectory targetdirectory :
Linking directories : User can only make symbolic links, root can hard-link as well.

lprm : removes all from the printer queue except what is already buffered in printer
  
ls : short listing of directory contents
ls -l : long listing, permissions, buildtimes, owner, points to links, etc
ls -a
or ls -al shows hidden .files
ls -ltr : long listing of files, in order of time created, and reversed. This will give the most recent files at the bottom of the list
ls -lSr : sorts by size. Largest files at the bottom
ls -R : lists recursively contents of subdirectories  
lsof : lists open files. eg. If cdrom is busy and won't unmount, do lsof |grep cdrom, then kill PID's using it.  

make: For installing tgz files, as per the INSTALL file. Not installed by default in openSUSE. Install with YAST, as well as other packages as required, such as gcc-c++ and kernel-source.

mc: lauch midnight commander. (Check if installed) See here for tutorial

md5 <filename.iso> : shows md5sum, to compare before writing a disc. Takes a while to calculate.

mkdir : create directory
mkdir -p temp/grandparent/parent/child : create a hierarchy of directories - use the -p (parent) option  

mkisofs /dev/cdrom/* filename.iso
: copies an iso image of the cd ready to write.

mount -t iso9660 -o loop filename /media/cdrom : Mounting an iso to access the contents. -t=type iso9660=cd file type -o option loop=expecting you to mount a file /media/cdrom= mount it on a mount point not currently in use.  
mount /mnt/cdrom : to mount the device you want on the command line. Use umount when finished. Command line and gui mounting/unmounting not interchangeable.  

mpg123 <file.mp3> : console mp3 player. Needs backslashes in file names instead of spaces. Can play two songs at once! (Utility, must be installed)
mpg123 -w <filename.wav> <filename.mp3> : Outputs your mp3 into a wav file.
play <filename.wav> : wav file player

mv file1 file2 : rename or move files and directories
To rename a directory, specify the old directory name and new directory name:
mv mydir newdir
mv -i file1 file2 asks for permission to overwrite an existing file.
mv -b : creates a backup
mv -bi file1 file2
mv: replace ´file2'? y
ls file*
file2 file2~
mv file1 /tmp : moves file to another directory
mv file1 /tmp/file2 : renames file during move
mv dir1 dir3 : If the destination directory does not exist, mv renames the directory. If the destination directory exists, then dir1 is moved inside the destination directory, dir3.  

netstat -a
: shows connections on all network connections/sockets. Pipe to less for easier reading
             -l : listening sockets only
            -p : shows processes listening and includes PID. Useful to kill processes hogging key ports

oggenc *.wav : converts wav to similarly named ogg file

passwd : use to change password. Follow instructions. As root: passwd <username> does not require old password to be entered, can be changed directly.    

pdftohtml <filename.pdf> : Utility (must be installed) that converts pdf files into html format.

ps : processes running
ps ax or ps -e :all users and processes without a controlling terminal (tty)
ps axf :as above, showing child processes
ps -ef : everything running. Display will be PID, tty, time (at idle) and name. Use PID in the kill command. See kill for shutting down processes by command line.
NB: To list only a particular process, pipe to grep <processname> eg. ps ax | grep esd

rm <filename>
: deletes file.
You can use wildcards with the rm command rm *.txt or rm file* 
rm -i <filename> : deletes file interactively, asks for confirmation
rm -rf : To delete a directory. Dangerous as root. -f (force) option does not ask for confirmation.
rmdir temp/grandparent/parent/child :removes empty directories. If any files or directories exist below the specified directory, you must move or delete those first.

The RPM command:
The RPM command can be used to install, query, select and build packages. The man page is fairly understandable and lists all the options.
Query options:
rpm -q <packagename> : to see if a specific package is installed. Need only give the name, not the whole version number.
rpm -qa : query database for all installed packages. You could pipe to grep if you are looking for a string. eg. rpm -qa | grep ssh or rpm -qa | grep "part_of_package_name".
rpm -ql : lists files of an already installed package.
rpm -qpl : query an uninstalled package to list all files in package
rpm -qf <filename>: lists the package that the file came from
rpm -qi : gives info on installed packages, including description and header
rpm -qpi : info on uninstalled packages
rpm qRp : shows dependencies on which an uninstalled package depends. Remove the -p for an already installed package.

Install options:
rpm -ivh : the basic one. -i installs, but it's better to use -U or -F depending on the situation. -v: verbose - keeps you in the loop, and -h: hashes - handy to check the progress.
rpm -Fvh : freshen an already installed package, eg. update. Will upgrade already installed packages only.
rpm -Uvh : will upgrade already installed packages and install ones not already installed.
rpm -i --replacepackages <rpm-package-name> This forces the installation of a package that according to rpm is already installed. Used when the already installed package is damaged.
rpm -e [<options>] <installed-package-name> To de-install a package, rpm runs through the following procedure: Checks dependencies. Runs some preparatory procedures for the de-installation. If configuration files have been changed, makes a copy of them before removing them. Removes the package. Runs some final procedures for the de-installation.
--force and --nodeps options can persuade reluctant packages. Use nodeps with caution!
rpm -rebuilddb : updates database of installed rpm packages

SuSEconfig : run in terminal window after manually installing rpm's on a SuSe system. updates all menus, database etc.

shutdown -h now: shuts the system down immediately. Use also init0
shutdown -r now: reboots the system immediately. Use also init6

ssh2 -l <user> <domain
> : usage for ssh2. Will be prompted for password for user eg ssh2 -l  jane ant.co.za 
su: use to log in as another user while logged in as another. Most often used to become root. Will be prompted for password.
su - : sets the environment as if you'd actually logged in as root. Will put you in /home/root
sux : logs you in as root, so that root can connect to the X server. This will enable you to launch gui programs as root. SuSE only

tail <filename> : gives the last 10 lines of a file. Useful if there's going to be lots of scrolling as screen may not be able to keep up, as in compiling kernel. eg.tail -f /var/log/messages follows last 10 lines. Also see head

tar -xzvf <filename.tgz> : Unpacks the file separate files in its own directory
tar -cvzf <targetfile.tgz> <source files> (could be *) : packs up files into a tarball 
touch : creates files or updates the modification times   

type <executablename>
: shows you where the executable is run from.
[Jane@mylinuxbox log]$ type gpm
gpm is /usr/sbin/gpm 

Wild Cards and various symbols 

 * wildcard symbol. Match any string of characters, eg rm *.c would delete all files in the current directory whose names end with `.c'.
 | : pipe - the vertical bar - send the output of one command to another program, eg. less, grep. eg. cat <longfile> | less or rpm -qa | grep qt
 > :  send the output of a file to another file, eg cat xxx > xxx.txt
 >> : appends the output, otherwise an existing file will get overwritten eg. cat xxyy >> xxx.txt
 & : runs a job in the background
 ..  (double dot) parent directory of where you are. Can be used with other stuff, like cd.
  (single dot) current directory.
 ~ (tilde, that squiggly thing) home directory
 ./executablename : (dot-slash) to run an executable in the current directory (it won't be in the path.)

whereis <cmdname> locates the binary, source, and manual page files for an executable. See help dept
which <executablename> : shows full path to executable. Similar to using type
wget -r http://www.xxxx : to suck down an entire website -m creates a mirror and is recursive
wc: counts lines, words and characters in a file. -c, -w or -l options to only display one. Spaces are considered as words, though  

Keyboard shortcuts: 

Ctl - c : kills the process running.
Ctl - \ :   force kills program, causes core dump, works when Ctl-c doesn't.
Ctl - z : puts a job into suspension
Ctl -d : exits you from program /closes that shell/ end of text
Ctl - o : use to flip back and forth between mc and console
Ctl - l : clears screen
Ctl - a  :  takes cursor to front of command line, bash only

Ctl - Esc : launches ksysguard  - system activity monitor - graphical utility to kill a process.
Ctl - Alt -Backspace : get out of X (or back to login window in runlevel 5)
Ctl - Alt -Del : shutdown and reboot
Ctl - Alt - F1 to F6 : takes you into consoles
Ctl - Alt - F7 : back into graphical mode
Ctl - F1/F2/F3/F4 - to change you to each desktop, a KDE feature only 
Ctrl-Alt-Esc : Kill window. Gives you a skull-and crossbones - click on window to kill. Only works if one window has frozen, not the whole system.

Alt - F2: pops up 'run command' window
Alt - F1 : pops up kde menu
Alt-Tab : Change between windows on the current KDE desktop.
Alt-F3 : Popup the window operation menu.
Alt-F4 : Close active window.

Shift - pg up/down is how you scroll in the console
spacebar : skips whole screen in less  

Word processing shortcuts: 
home : takes you to beginning of line
end : to end if line
Ctl c : copy
Ctl x : cut
Ctl v : paste
Ctl z : undo
Ctl a : select whole doc
Ctl s : save your doc
Shift pgdn : highlights whole page down
Shift end : highlights text to end of line  

Jane Trembath, Benoni, South Africa  Edited Jan 2010

 Tux, the Linux mascot

 - Advice for Newbies
 You are HERE Commands and Utilities, Alphabetic
 - Commands and Utilities, in logical groups
  - MC Tutorial
 - Installing Striata Reader

  Other Extras:

 -------------------------------

 Independent Cycle Touring in France

--------------------------------

 Self-Catering Accommodation, Wilderness

--------------------------------

Aviation Humour

-------------------------------

Contact Jane here for more information.

 

 

 

 

 

 

top of page

 

 

 

 

 

 

 

 

 

 

top of page

 

 

 

 

 

 

 

 

 

 

top of page

 

 

 

 

 

 

 

 

 

top of page

 

 

 

 

 

 

 

 

top of page

 

 

 

 
 

 

 

 

 

 

 

 

top of page







































© Jane Trembath 2010.  All rights reserved.  /  Sitemap