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