Sie sind auf Seite 1von 30

Introduction Working on the command line Manuals Essential command line tools

Command line essentials


Bart Van Loon

1st February 2012

1 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

1 Introduction 2 Working on the command line

bash bash prompt some bash features


3 Manuals 4 Essential command line tools

2 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

Some ancient history


When computers were big, incomprehensible beasts, like

you could talk to it using punched cards, paper tape or a terminal.


3 / 30 Bart Van Loon Command line essentials

Introduction Working on the command line Manuals Essential command line tools

Some ancient history


This is such a computer terminal:

The famous DEC VT100 (1978).


4 / 30 Bart Van Loon Command line essentials

Introduction Working on the command line Manuals Essential command line tools

Some ancient history


These terminals gave you an interface for text entry and display through various standard streams.

5 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

A little less ancient now


Today, most UNIX-like operating systems such as Linux and FreeBSD have virtual terminals to provide several text terminals on a single computer to let you interface with the computer itself.

If youre in X now, try to press ctrl-alt-F1, ctrl-alt-F2, . . .


6 / 30 Bart Van Loon Command line essentials

Introduction Working on the command line Manuals Essential command line tools

Modern times
In todays graphical world, we have terminal emulators, like xterm gnome-terminal rxvt ...

7 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

Modern times
These terminal emulators run text-based applications. The most fundamental types of such applications are shells, like bash tcsh zsh ...

A shell gives you a command line interface (CLI).


8 / 30 Bart Van Loon Command line essentials

Introduction Working on the command line Manuals Essential command line tools

bash bash prompt some bash features

Working on the command line

Lets assume you are running bash. bash is program, namely a shell meant for interactive use bash is also a powerful scripting language

9 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

bash bash prompt some bash features

bash in interactive mode

When it starts, it runs one or more scripts: When started as an interactive login shell:
/etc/profile ~/.bash profile, ~/.bash login, or ~/.profile

When exited as a login shell:


~/.bash logout

When started as an interactive shell (but not a login shell):


~/.bashrc

10 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

bash bash prompt some bash features

Your bash prompt

Lets start with what you see: bbbart@tuxitree:~$ bbbart : my username tuxitree : computers hostname : present working directory ( is the home directory) $ : this means I am not root

11 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

bash bash prompt some bash features

Your bash prompt

You can change the look of this prompt! Why would you do so? it looks cool; its useful to keep track of system information; dierent machines/users can get dierent colours; have information about work environment available at all time; to quickly spot the prompt when you use scrollback; ...

12 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

bash bash prompt some bash features

Your bash prompt


Your prompt conguration is stored in the variable PS1. $ echo $PS1 \u@\h:\w\$

\u : users username \h : computers hostname \w : present working directory \$ : $ when user is not root, # when user is root

13 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

bash bash prompt some bash features

Your bash prompt

Try the following command (put it on one line with spaces in between):

PS1=\[\e[1;32m\]\u@\H:\[\e[m\] \[\e[1;37m\]\w\[\e[m\]\n\[\e[1;33m\]hist:\! \[\e[0;33m\] \[\e[1;31m\]jobs:\j \$\[\e[m\]

Now go an nd the prompt that suits you best!

14 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

bash bash prompt some bash features

Keyboard shortcuts
Some useful keyboard shortcuts: tab : autocomplete from the cursor position ctrl-a : move cursor to the line start ctrl-c : send the SIGINT signal to the current task ctrl-d : send an EOF marker (if the line is empty) ctrl-e : move cursor to the line end ctrl-k : clear the line after the cursor ctrl-l : clear the screen content ctrl-u : clear the line before the cursor ctrl-z : send the SIGTSTP signal to the current task

15 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

bash bash prompt some bash features

Stream redirecting
Remember the streams to interact with a terminal (stdin, stdout, stderr). You can redirect them!

> : redirect stdout 2> : redirect stderr < : redirect stdin

Special one: >> : redirect stdout, but append to the output

16 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

bash bash prompt some bash features

Piping

You can also pipe streams to link commands: $ program1 | program2 is the same as $ program1 > tempfile $ program2 < tempfile $ rm tempfile

17 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

bash bash prompt some bash features

Piping

18 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

bash bash prompt some bash features

Learn from history

DRY is also a principle on the shell: and : navigate through your history ctrl-r : search the command history history : print your recent history !<n> : repeat command number <n> !! : repeat the last command !$ : special variable that contains the last word of the previous command

19 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

Before we begin. . .
The most important command youll ever learn, is man: man : format and display the manual pages Most manual pages contain a synopsis of the command in question: mysql [options] db name mysql can take some options but has to have a name of a database as argument xpdf [options] [PDF-file [page | +dest]] xpdf can take some options and a PDF-le as arguments. If you pass a PDF-le as argument you can also give it a page or a destination, preceded by a +-symbol. Now check the synopsis of the ssh command.
20 / 30 Bart Van Loon Command line essentials

Introduction Working on the command line Manuals Essential command line tools

Essential command line tools


The right tool for the right job cut : remove sections from each line of les du : estimate le space usage grep : print lines matching a pattern head : output the rst part of les nice : run a program with modied scheduling priority sort : sort lines of text les tail : output the last part of les wc : print newline, word, and byte counts

21 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

cut
Name : cut Description : remove sections from each line of les Synopsis : cut OPTION... Useful options: -d DELIM : use DELIM instead of TAB for eld delimiter -f LIST : select only these elds A LIST is made up or ranges separated by commas. A range is N, N-, N-M or -M. [FILE]...

22 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

du

Name : du Description : estimate le space usage Synopsis : du [OPTION]... [FILE]...

Useful options: -c : produce a grand total -s : display only a total for each argument -h : print sizes in human readable format

23 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

grep
Name : grep Description : print lines matching a pattern Synopsis : grep [OPTIONS] PATTERN [FILE...] Useful options: -i : ignore case distinctions in the PATTERN -v : invert the sense of matching, to select non-matching lines -n : prex each line of output with the 1-based line number within its input le

24 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

head

Name : head Description : output the rst part of les Synopsis : head [OPTION]... [FILE]...

Useful options: -n K : print the rst K lines instead of the rst 10

25 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

nice

Name : nice Description : run a program with modied scheduling priority Synopsis : nice [OPTION] [COMMAND [ARG]...]

Useful options: -n N : add integer N to the niceness (default 10)

26 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

sort

Name : sort Description : sort lines of text les Synopsis : sort [OPTION]... [FILE]...

Useful options: -h : compare human readable numbers -n : compare according to string numerical value -r : reverse the result of comparisons -u : output only the rst of an equal run

27 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

tail

Name : tail Description : output the last part of les Synopsis : tail [OPTION]... [FILE]...

Useful options: -f : output appended data as the le grows -n K : print the last K lines instead of the last 10

28 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

wc

Name : wc Description : print newline, word, and byte counts for each le Synopsis : wc [OPTION]... [FILE]...

Useful options: -l : print the newline counts

29 / 30

Bart Van Loon

Command line essentials

Introduction Working on the command line Manuals Essential command line tools

References

http://en.wikipedia.org/wiki/Computer_terminal http://en.wikipedia.org/wiki/Bash_%28Unix_shell%29 http://tldp.org/HOWTO/Bash-Prompt-HOWTO http://en.wikipedia.org/wiki/Redirection_%28computing%29

30 / 30

Bart Van Loon

Command line essentials

Das könnte Ihnen auch gefallen