UnixTools01: Difference between revisions

From
Jump to navigation Jump to search
No edit summary
 
(61 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Unix-Tools - Teil 1 (für Anfänger) =
= Bash 1 =
Das Betriebssystem ist Ihr Freund.
Es tut alles, was sie von ihm wollen, aber sie müssen ihm klar und unmissverständlich sagen können, *was* sie wollen.
Das Instrument dafür ist die '''Shell'''.
Die Shell ist selbst ein Programm, das automatisch gestartet wird, sobald sie sich am Computer angemeldet haben.
Es wartet auf Eingaben von Ihnen und wird dann, entsprechend Ihren Anweisungen, Programme starten und dadurch das Betriebssystem dazu bringen, das zu tun, was Sie möchten.
Vorausgesetzt natürlich, die beherrschen die Kunst, der Shell zu sagen, *was* Sie wollen.
Es lohnt sich, dies gleich von Anfang an gründlich zu erlernen, denn Sie werden viel Zeit damit verbringen; oder anders gesagt: Sie können viel Zeit und Nerven sparen, wenn Sie es gleich richtig lernen.


Diese Seite soll Ihnen die Grundlagen beibringen. Sie ist also '''für Anfänger''' gedacht.
== login, logout ==

= login, logout =
* Login screen
* Login screen
* Eingeben, Editieren und Ausführen eines Bash-Kommandos
* Aufbau eines Bash-Kommandos
* exit (Logout)
[[UnixTools01_01|genauer]]




= Wo und Wer bin ich hier? =
* Logout
* hostname - Wo bin ich? Auf welchem Rechner?
* Wer bin ich und wo? - die Bash-Kommandos id, who, last, history, exit
* id - Wer bin ich hier? Welcher Nutzer?
* Changing a password
* who - Wer ist gerade noch hier, auf diesem Rechner?
[[UnixTools01_01|genauer]]
* history - Was habe ich als letztes hier getan (welche Kommandos habe ich hier zuletzt ausgeführt)?
[[UnixTools01_01a|genauer]]



== ssh - login on a different computer ==
= ssh - login on a different computer =
* ssh redlich@gruenau.informatik.hu-berlin.de
* ssh redlich@gruenau.informatik.hu-berlin.de

* hostname
* hostname -f
* uname -a
* uname -a


* exit (Logout)
Q&E:
[[UnixTools01_02|genauer]]
# Was passiert, wenn Sie bei ssh den Nutzernamen falsch schreiben?

# Was passiert, wenn Sie bei ssh den host name falsch schreiben?
# Sie arbeiten auf einem Rechner A und verwenden dort ssh, um sich auf Rechner B einzuloggen. Welchen user name / welches password müssen Sie bei ssh verwenden? Das von Rechner A, oder das von Rechner B?


== files, directories, working directory ==
= Files, Directories, Working Directory =
* ls
* ls
* pwd
* pwd
Line 27: Line 41:
* ls -l
* ls -l
* Die Verzeichnisse . und ..
* Die Verzeichnisse . und ..
[[UnixTools01_03|genauer]]




== Path Names ==
= Path Names =
* a/b/c
* a/b/c relativer Path
* /a/b/c
* /a/b/c absoluter Path
* usage of <TAB> when entering file names
* usage of <TAB> when entering file names in bash


* ~/..
* ., .., und andere Dateien di emit . beginnen, z.B. .bash_rc
* /tmp/../etc/../../bin/../usr
* ls -la
* /usr/bin/././..
[[UnixTools01_04|genauer]]


* ../a
* ./a


= Basic Shell Commands =

== basic shell commands ==
* cat
* cat
* touch
* touch
Line 47: Line 61:
* mkdir
* mkdir
* rmdir
* rmdir
* mv
[[UnixTools01_05|genauer]]


Q&E:
# Was passiert, wenn Sie mit rmdir ein Verzeichnis löschen wollen, das nicht leer ist?


= Using Wildcards to identify files =
* echo Hello World
* echo *


== Using Wildcards to identify files ==
* ls *
* ls *
* ls *
* ls *.*
* ls *.*
Line 60: Line 75:
* ls *a*
* ls *a*


* rm /tmp/a*
* echo Hello World
* echo *
* ls /tmp/[a-c]*
* ls /*/bin/a*
[[UnixTools01_06|genauer]]




= Editor - Erstellen und Bearbeiten von Text-Dateie n=
== Editor==
* nano
* nano
* alternatives: vi, vim, nedit, emacs
* alternatives: vi, vim, nedit, emacs
[[UnixTools01_07|genauer]]




== basic tools ==
= more basic tools =
* more
* more
* wc
* wc
* tail
* grep
* grep
* tail
* head
* find
* find
* Expert Tipp: grep muster $(find / -name patern -print)
[[UnixTools01_08|genauer]]




== Redirection - part 1 ==
= Getting help =
* grep --help
[[UnixTools01_09|genauer]]



= Redirection - part 1 =
redirecting output of a programm to another file
redirecting output of a programm to another file
* ls /bin/a* > file.txt
* ls /bin/a* > file.txt
Line 90: Line 115:
* wc < file.txt
* wc < file.txt


let the output of programm be used as input of another progra,
let the output of programm be used as input of another program
* ls -lisa /bin | more
* ls -lisa /bin | more
* ls -lisa /bin | wc
* ls -lisa /bin | wc
[[UnixTools01_10|genauer]]


== Redirection, Wildcards - part 2 ==
* << END
* ls * 2> /dev/null
* grep 2>&1 | more


= Argumente mit Sonderzeichen =
* ~/file.txt
* ~redlich/file2.txt


== Advanced filenames ==
* ls [a-c]*
* touch "Good Morning"
* touch "Good Morning"
* touch '$*()#!'
* touch '$*()#!'
[[UnixTools01_12|genauer]]


Q&E:
# Legen Sie eine Datei an, die 'Hello World!" heisst (mit Leerzeichen), und löschen Sie diese Datei anschliessend wieder.
# Löschen Sie im aktuellen Verzeichnis eine Datei, die '--help' heisst
# Legen Sie eine Datei an, die '2*3' heisst
# Versuchen Sie eine Datei anzulegen, die "///A///' heist.


= Redirection - part 2 =
* ls * 2> /dev/null
* ls 2>&1 | more
* << END
[[UnixTools01_11|genauer]]


== Getting help ==
* grep --help


= Alias =
Q&E:
* alias ll='ls -lisa'
# Normalerweise gibt grep alle diejenigen Zeilen der Eingabe aus, die ein angegebenes Muster enthalten. Lesen Sie die Hilfe-Seite des Befehls grep, und finden Sie heraus, wie Sie grep aufrufen müsen, damit alle Zeilen ausgegeben werden, die ein bestimmtes Mustzer NICHT enthalten.
* .bashrc (erstes Kennenlernen)
[[UnixTools01_13|genauer]]


= Spraxche ändern =
export LANG=en_US
export LANGUAGE=en_US

export LANG=ru-RU
export LANGUAGE=ru-RU
[[UnixTools01_14|genauer]]

Latest revision as of 18:11, 29 November 2024

Unix-Tools - Teil 1 (für Anfänger)

Das Betriebssystem ist Ihr Freund. Es tut alles, was sie von ihm wollen, aber sie müssen ihm klar und unmissverständlich sagen können, *was* sie wollen. Das Instrument dafür ist die Shell. Die Shell ist selbst ein Programm, das automatisch gestartet wird, sobald sie sich am Computer angemeldet haben. Es wartet auf Eingaben von Ihnen und wird dann, entsprechend Ihren Anweisungen, Programme starten und dadurch das Betriebssystem dazu bringen, das zu tun, was Sie möchten. Vorausgesetzt natürlich, die beherrschen die Kunst, der Shell zu sagen, *was* Sie wollen. Es lohnt sich, dies gleich von Anfang an gründlich zu erlernen, denn Sie werden viel Zeit damit verbringen; oder anders gesagt: Sie können viel Zeit und Nerven sparen, wenn Sie es gleich richtig lernen.

Diese Seite soll Ihnen die Grundlagen beibringen. Sie ist also für Anfänger gedacht.

login, logout

  • Login screen
  • Aufbau eines Bash-Kommandos
  • exit (Logout)

genauer


Wo und Wer bin ich hier?

  • hostname - Wo bin ich? Auf welchem Rechner?
  • id - Wer bin ich hier? Welcher Nutzer?
  • who - Wer ist gerade noch hier, auf diesem Rechner?
  • history - Was habe ich als letztes hier getan (welche Kommandos habe ich hier zuletzt ausgeführt)?

genauer


ssh - login on a different computer

  • ssh redlich@gruenau.informatik.hu-berlin.de
  • hostname -f
  • uname -a
  • exit (Logout)

genauer


Files, Directories, Working Directory

  • ls
  • pwd
  • cd
  • ls -l
  • Die Verzeichnisse . und ..

genauer


Path Names

  • a/b/c relativer Path
  • /a/b/c absoluter Path
  • usage of <TAB> when entering file names in bash
  • ~/..
  • /tmp/../etc/../../bin/../usr
  • /usr/bin/././..

genauer


Basic Shell Commands

  • cat
  • touch
  • rm
  • mkdir
  • rmdir
  • mv

genauer


Using Wildcards to identify files

  • echo Hello World
  • echo *
  • ls *
  • ls *.*
  • ls a*
  • ls *a
  • ls *a*
  • rm /tmp/a*
  • ls /tmp/[a-c]*
  • ls /*/bin/a*

genauer


Editor - Erstellen und Bearbeiten von Text-Dateie n

  • nano
  • alternatives: vi, vim, nedit, emacs

genauer


more basic tools

  • more
  • wc
  • grep
  • tail
  • head
  • find
  • Expert Tipp: grep muster $(find / -name patern -print)

genauer


Getting help

  • grep --help

genauer


Redirection - part 1

redirecting output of a programm to another file

  • ls /bin/a* > file.txt
  • ls > /dev/null

append output to a file

  • ls /bin/b* >> file.txt

let a programm take its input from a file (redirecting input)

  • more < file.txt
  • wc < file.txt

let the output of programm be used as input of another program

  • ls -lisa /bin | more
  • ls -lisa /bin | wc

genauer


Argumente mit Sonderzeichen

  • touch "Good Morning"
  • touch '$*()#!'

genauer


Redirection - part 2

  • ls * 2> /dev/null
  • ls 2>&1 | more
  • << END

genauer


Alias

  • alias ll='ls -lisa'
  • .bashrc (erstes Kennenlernen)

genauer


Spraxche ändern

 export LANG=en_US
 export LANGUAGE=en_US
 export LANG=ru-RU
 export LANGUAGE=ru-RU

genauer