Command Line Interface (CLI)
CSCI N321 – System and Network Administration
Copyright © 2000, 2011 by Scott Orr
and the Trustees of Indiana University
Section Overview
X Windows
Consoles and Terminals
UNIX Commands
UNIX Filesystem
vi Editor
References
CQU COIT13146 System Administration
Course
Chapter 4
Chapter 5
X Windows
Familiar GUI interface
Virtual screens
Remote applications
X-Terminal Windows
Multiple concurrent session
Scroll bars
Cut, Copy & Paste
X Managers & Environments
X Window Managers
Very configurable
A lot of variety
GUI login mode
X Window Environment
Fully integrated environment
Window manager runs within the
environment
Why use the command line?
Always available
GUI not installed/working
Remote sessions
More efficient
More powerful
Better understanding of what is
happening
UNIX Terminals
Old Days
Hardwired – serial connections
Modems – remote connections
Network – telnet
Console
Monitor/keyboard/mouse on system
Boot/error messages display
Headless servers
Virtual Consoles in Linux
Multiple sessions on one console
Special Consoles
Console 1 – default console
Console 7 – X Windows
Toggling between consoles
Text mode - <Alt><Fn>
X Windows - <Ctrl><Alt><Fn>
<Fn>: Function Key (n = 1 .. 7)
Basic Philosophy
10% of work solves 90% of problems
Smaller is better
Portability
Solve at right level
Be Creative!!!
Command Anatomy 101
command [-switches] [arg1] [arg2]…
Command: Name of the program
Switches: Modify command’s behavior
Windows typically uses “/” instead of “-”
Arg#: Arguments passed to command
Getting Help
Online manual available
Searchable
Command/File name
Type/Section
Keyword
Not always easy to understand
Man Page Sections
Linux Contents
1 User commands
2 System calls
3 Library calls
5 File formats
7 Misc. files and documents
6 Games and demos
4 Devices/Network protocols
8 Administration commands
9 Kernel specs/interfaces (?)
Using man
man command
Look up command
man n intro
Contents of section n
man –k string
Search short descriptions (apropos)
man –K string
Search all man pages for string
Account Related Commands
login
Start session
passwd
Change Password
logout / exit
Close session
File/Directory Commands
Files Directories
cp – Copy ls – List contents
mv – Move/Rename mv – Move/Rename
rm – Remove cd – Change Dir
cat – View all pwd – Current Dir
more – View page mkdir – Create
less – View page rm/rmdir – Remove
Copies, moves, and renaming
cp file1 file2|dir1
Copy file1 to file2 or into directory dir1
cp –r[p] dir1 dir2
Copy directory dir1 to dir2
mv file1 file2|dir1
Moves file1 to file2 or into directory dir1
Renames file1 to file2 if both in same
directory
Viewing files
cat file1
Display the contents of file1 to the
screen
more file1
Display the contents of file1 one screen
at a time
less file1
Same as more but more powerful
Removing files and directories
rm file1 file2 ...
Removes list of files
rmdir dir1
Removes dir1 only (if it is empty)
rm -r dir1
Removes dir1 and all subdirectories/files
VERY Dangerous!!!
Other directory commands
ls [-la] [file/dir list]
Lists files in a directory
mkdir dir1
Creates directory dir1
cd dir1
Makes dir1 the current directory
pwd
Displays the current directory path
Windows (MSDOS)
File/Directory Commands
Files Directories
copy – Copy dir – List contents
move – Move xcopy – Copy
rename - Rename move – Move
del – Remove rename - Rename
type – View all cd – Change Dir
more – View page md/mkdir – Create
rmdir – Remove
Linux Filesystem Hierarchy
/ (root)
bin sbin home etc boot root usr var dev lib
scott alice bob bin sbin local lib tmp
n321 mail public_html bin man lib share src
So many bins…
/ (root)
bin sbin usr
bin directories: User programs bin sbin local
sbin directories: System programs
/bin & /sbin – Needed at boot time
/usr/bin & /usr/sbin – available
when system fully operating bin sbin
Windows Files/Directories
UNIX/Linux Windows
/usr %SystemRoot% (C:\Windows)
/bin & %SystemRoot%\System32
/usr/bin
/dev %SystemRoot%\System32\Drivers
%SystemRoot%\System32\Config
/etc
Windows Registry (regedit)
/tmp C:\Temp
/var/spool %SystemRoot%\System32\Spool
Source: Principles of Network and System
Administration by Mark Burgess
Windows Registry
Hierarchical database of all system settings
Regedit
Organization
Hives – Top level
Keys – Individual settings within a hive
HKEY_LOCAL_MACHINE HKEY_CURRENT_USER
HKEY_CLASSES_ROOT HKEY_USERS
HKEY_CURRENT_CONFIG
Relative & Absolute Paths
Absolute Path
Given from “root” directory
Example:
/usr/local/bin (Linux)
c:\windows\system32 (Windows)
Relative Path
‘.’ – Current Directory
‘..’ – Parent Directory
‘~’ – Home Directory
Example: ~/.. = /home
Filter Commands
cat – View all sort – Sort by field
more – View page uniq – Remove dup
less – View page cut – Get fields
head – View first paste – Merge Files
tail – View last grep – Search text
wc – word count tr – Replace text
More or Less
cat file
Displays entire file to screen
MSDOS - type
more file
Displays file one screen at a time
Same in MSDOS
less – replacement for more
Heads or Tails
head -# file
Displays the first # lines of file1
tail -# file
Displays the last # lines of file1
wc [-cwl] file
Counts number of characters, words, or
lines in file
Sorting
Lists the contents of a file based on order
sort file
Sorts file alphabetically by line
sort -r file
Sorts file in reverse order by line
sort –t: -n –k 3 file
Sorts file based on the 3rd field –k 3)
in numeric order (-n)
with fields separated by ‘:’ (-t:)
MSDOS - find
Extracting info
cut –f# [-d%] file
Displays # fields separated by %in file
awk is a more advanced replacement
grep search-string file
Displays all lines with search-string
in file
Can create very sophisticated search
conditions
MSDOS - find
Changing file contents
paste file1 file2
Merge contents of file1 and file2 line
by line
tr c1 c2 < file
Changes all occurrences of character c1
to c2 in file
Misc. Commands
date
Set system time/date
View (formatted) system time/date
cal
Displays calendar
echo
Display strings & shell variables
Same in MSDOS
Visual Editor (vi)
Very Powerful
3 modes
Command
Insert
ex (very similar to MSDOS edlin)
Can be frustrating to learn initially
Important to have cheat sheet handy
emacs versus vi
Georgy says…
Slashdot (Asked by markhb):
vi or emacs?
Georgy:
I'm so glad you asked!! Both. vi for quick
editing, emacs (NOT xemacs) for coding
projects. :q!:q!:q!
Source: [Link], 8/20/2003
Why vi?!?!?!
Because it is always there!!!
©[Link]