Sie sind auf Seite 1von 8

Einführung in Linux Befehle

1 Linux Befehle
1.1 Grundregeln
Diese Grundregeln basieren auf Erfahrungswerten und vermeiden die üblichen Probleme,
die bei den ersten Schritten in Linux gerne auftreten.

• KEINE Leerzeichen in Dateinamen oder Pfaden verwenden!


Gerade auf der Konsole verursachen selbige sehr oft Probleme und erfordern
unschöne Handgriffe.

• Dateinamen und Pfade immer Kleinschreiben!


Im Gegensatz zu Windows unterscheidet Linux zwischen Groß- und
Kleinschreibung, Beispiel.txt und beispiel.txt sind zwei verschiedene Dateien.

• Dateinamen und Pfade auf englische Zeichen beschränken.


Grundsätzlich sind ’Sonderzeichen’ wie ä, ö und ü problemlos nutzbar, in der
Vergangenheit gab es aber gelegentlich Probleme beim Transfer der Dateien
auf/von Windows-Systeme/n, die zu kaputten Dateinamen führen.

1.2 CD: In Verzeichniss wechseln


Wechselt in ein anderes Verzeichnis.

vmuser@ubuntu:~$ cd swe3-canparser
vmuser@ubuntu:~/swe3-canparser$

In übergeordnetes Verzeichnis wechseln:

vmuser@ubuntu:~/swe3-canparser$ cd ..
vmuser@ubuntu:~$

Aus beliebigen Verzeichnis ins Home-Verzeichnis wechseln:

vmuser@ubuntu:/irgendein/pfad/im/dateisystem$ cd --
vmuser@ubuntu:~$

1.3 LS: Dateien in einem Verzeichniss anzeigen


Zeigt Dateien in einem Verzeichnis an.

shell$ ls
aufgabe.elf main.cpp Makefile

Versteckte Dateien anzeigen:

shell$ ls -a
. .. aufgabe.elf .cproject main.cpp Makefile .project .settings

Christian Steiger 1/?? 1. März 2015


Einführung in Linux Befehle

Dateien als Liste anzeigen:

shell$ ls -l
-rwxrwxr-x 1 cst cst 9048 Feb 19 17:07 aufgabe.elf
-rw-rw-r-- 1 cst cst 1286 Feb 18 00:13 main.cpp
-rw-rw-r-- 1 cst cst 374 Feb 18 00:46 Makefile

Erklärung des Listenformats:

/--- ’d’ Verzeichnis


| ’l’ Symbolischer Link ("Zeiger" auf Eintrag)
| ’-’ Normale Datei
|
| /-- Anzahl Hardlinks ("Referenzen" auf den Eintrag)
| |
-rw-rw-r-- 1 cst cst 1286 Feb 18 00:13 main.cpp
-rwxrwxr-x 1 cst cst 9048 Feb 19 17:07 aufgabe.elf
drwxrwxr-x 2 cst cst 4096 Feb 17 21:00 .settings
lrwxrwxrwx 1 cst cst 16 Feb 17 19:50 logs -> ../echte/datei
| | | | | |
| | | | | \- Dateigröße in Bytes
\-----/ \---/
| \-- Benutzer und Gruppe des Eintrags.
|
\---- Zugriffsrechte für Benutzer / Gruppe / Andere.
r: Lesen, w: Schreiben, x: Ausführbare Datei, bei Verzeichnis
Zugriffsberechtigung für "ls".

Mit besser lesbaren Dateigrößen:

shell$ ls -lh
-rwxrwxr-x 1 cst cst 8.9K Feb 19 17:07 aufgabe.elf
-rw-rw-r-- 1 cst cst 1.3K Feb 18 00:13 main.cpp
-rw-rw-r-- 1 cst cst 374 Feb 18 00:46 Makefile

Optionen können miteinander kombiniert werden, hier z.B. -a mit -lh:

shell$ ls -lah
drwxrwxr-x 3 cst cst 4.0K Feb 18 00:47 .
drwxrwxr-x 6 cst cst 4.0K Feb 17 19:33 ..
-rw-rw-r-- 1 cst cst 4.3K Feb 17 21:00 .cproject
-rw-rw-r-- 1 cst cst 1.3K Feb 18 00:13 main.cpp
-rw-rw-r-- 1 cst cst 374 Feb 18 00:46 Makefile
-rw-rw-r-- 1 cst cst 809 Feb 17 16:06 .project
drwxrwxr-x 2 cst cst 4.0K Feb 17 21:00 .settings

Christian Steiger 2/?? 1. März 2015


Einführung in Linux Befehle

1.4 MV: Dateien und Verzeichnisse verschieben


Dateien oder Verzeichnisse verschieben, auch zum Umbenennen nutzbar:

vmuser@ubuntu:~$ mv -v a.txt b.txt


‘a.txt’ -> ‘b.txt’
vmuser@ubuntu:~$ mv -v b.txt swe3-canparser/b.txt
‘b.txt’ -> ‘swe3-canparser/b.txt’

Tipp: Immer die Option -v nutzen! Diese zeigt Informationen darüber an was
verschoben wurde und wohin, was bei Tippfehlern sehr hilfreich sein kann.

1.5 CP: Dateien und Verzeichnisse kopieren


Dateien kopieren:

vmuser@ubuntu:~$ cp -v a.txt b.txt


‘a.txt’ -> ‘b.txt’
vmuser@ubuntu:~$ cp -v a.txt swe3-canparser/a.txt
‘a.txt’ -> ‘swe3-canparser/a.txt’

Tipp: Immer die Option -v nutzen! Diese zeigt Informationen darüber an was kopiert
wurde und wohin, was bei Tippfehlern sehr hilfreich sein kann.

Verzeichnisse können mit der Option -r kopiert werden:

vmuser@ubuntu:~/swe3-canparser$ cp -rv aufgabe1 aufgabe2


‘aufgabe1/’ -> ‘aufgabe2’
‘aufgabe1/.project’ -> ‘aufgabe2/.project’
‘aufgabe1/.cproject’ -> ‘aufgabe2/.cproject’
‘aufgabe1/main.cpp’ -> ‘aufgabe2/main.cpp’
‘aufgabe1/Makefile’ -> ‘aufgabe2/Makefile’
‘aufgabe1/.settings’ -> ‘aufgabe2/.settings’

1.6 RM: Dateien und Verzeichnisse löschen


Dateien löschen:

vmuser@ubuntu:~$ rm -v a.txt
removed ‘a.txt’

Hinweis: Verzeichnisse können mit der Option -r gelöscht werden.

ACHTUNG: Dateien, die mit rm gelöscht werden, sind unwiederruflich verloren!


Eingaben unbedingt zweimal kontrollieren!

Christian Steiger 3/?? 1. März 2015


Einführung in Linux Befehle

1.7 SUDO: Befehle mit Root-Rechten ausführen


Mit sudo (Super-User-Do) kann ein einzelner Befehl mit Root-Rechten ausgeführt
werden. Für verschiedene Dinge, wie z.B. dem Laden von Kernelmodulen, nötig.

ACHTUNG: Mit diesem Befehl sehr vorsichtig umgehen! Gerade in Kombination mit
Befehlen wie rm lässt sich eine Linux-Installation leicht vollständig zerstören! Eingaben
unbedingt zweimal kontrollieren, und bei Zweifeln nachfragen, statt zu experimentieren!

Beispiel mit modprobe (wird im nächsten Abschnitt erklärt):

vmuser@ubuntu:~$ modprobe -v vcan


modprobe: ERROR: could not insert ’vcan’: Operation not permitted

vmuser@ubuntu:~$ sudo modprobe -v vcan


[sudo] password for vmuser:
insmod /lib/modules/3.16.0-30-generic/kernel/drivers/net/can/vcan.ko

1.8 MODPROBE: Kernelmodule laden und entfernen


modprobe ist eine Kombination aus den Befehlen insmod (Kernelmodul laden) und
rmmod (Kernelmodul entfernen) mit einigen zusätzlichen Komfortfunktionen. So werden
zusätzliche benötigte andere Kernelmodule automatisch geladen, dazu braucht der Pfad
zum Kernelmodul selbst nicht angegeben zu werden.
Tipp: Der Parameter „-v“ zeigt die insmod und rmmod Befehle an, die statt des
einzelnen modprobe-Befehls ausgeführt werden müssten.

Kernelmodul laden (Pfade in der Ausgabe wurden gekürzt):

vmuser@ubuntu:~$ sudo modprobe -v rt2800usb


insmod /lib/modules/3.16.0-30-generic/kernel/lib/crc-ccitt.ko
insmod /lib/modules/3.16.0-30-generic/[..]/wireless/rt2x00/rt2x00lib.ko
insmod /lib/modules/3.16.0-30-generic/[..]/wireless/rt2x00/rt2800lib.ko
insmod /lib/modules/3.16.0-30-generic/[..]/wireless/rt2x00/rt2x00usb.ko
insmod /lib/modules/3.16.0-30-generic/[..]/wireless/rt2x00/rt2800usb.ko

Geladenes Kernelmodul entfernen:

vmuser@ubuntu:~$ sudo modprobe -v -r rt2800usb


rmmod rt2800usb
rmmod rt2800lib
rmmod crc_ccitt
rmmod rt2x00usb
rmmod rt2x00lib

Christian Steiger 4/?? 1. März 2015


Einführung in Linux Befehle

1.9 MAN: Kurzanleitung für Befehle anzeigen


Der Befehl man zeigt viele nützliche Informationen über Befehle an:

vmuser@ubuntu:~$ man rm
RM(1) User Commands RM(1)

NAME
rm - remove files or directories

SYNOPSIS
rm [OPTION]... FILE...

DESCRIPTION
This manual page documents the GNU version of rm. rm removes
each specified file. By default, it does not remove directo-
ries.

If the -I or --interactive=once option is given, and there are


more than three files or the -r, -R, or --recursive are given,
then rm prompts the user for whether to proceed with the entire
operation. If the response is not affirmative, the entire com-
mand is aborted.

Otherwise, if a file is unwritable, standard input is a termi-


nal, and the -f or --force option is not given, or the -i or
--interactive=always option is given, rm prompts the user for
whether to remove the file. If the response is not affirma-
tive, the file is skipped.

OPTIONS
Remove (unlink) the FILE(s).

-f, --force
ignore nonexistent files and arguments, never prompt

-i prompt before every removal


Manual page rm(1) line 1 (press h for help or q to quit)

Tipp: In der Anleitung kann mit den Pfeiltasten (oben/unten) gescrollt werden.

Hinweis: Die angezeigten Informationen werden auch als „manpage“ bezeichnet, eine
Google-Suche mit z.B. „rm manpage“ zeigt in der Regel den gleichen Inhalt an.

Tipp: Google-Suchen nach dem Schema „linux <Befehl> tutorial“ oder


„ubuntu <Befehl>“ führen oft zu wesentlich detaillierteren und anfängerfreundlicheren
Anleitungen, die für einen tieferen Einstieg in die Materie ideal sind, sollte das Interesse
daran bestehen.

Christian Steiger 5/?? 1. März 2015


Einführung in Linux Befehle

1.10 GEDIT: Grafischer Texteditor


Bei gedit handelt es sich um einen grafischen Texteditor mit eingebautem
Syntax-Highlighting. Er kann, wie alle anderen Desktop-Applikationen unter Linux, auch
aus der Konsole heraus aufgerufen werden, was das Editieren von bestimmten Dateien
oft vereinfacht.
Hinweis: Läuft gedit noch nicht, wird die Konsole, aus der gedit heraus aufgerufen
wurde, solange blockiert, bis der Editor wieder geschlossen wird. Mit einigen Tricks kann
die Konsole weiterhin genutzt werden, diese werden im nächsten Abschnitt erläutert.

Beispiel mit einer C++-Datei:

vmuser@ubuntu:~$ gedit ~/workspace/swe3/blatt1/aufgabe1/main.cpp

Christian Steiger 6/?? 1. März 2015


Einführung in Linux Befehle

1.11 Prozesse im Hintergrund ausführen


Das im vorherigen Abschnitt erläuterte gedit ist einer der vielen Gründe, warum man
einen Prozess in einer Konsole im Hintergrund ausführen möchte. Die Konsole bietet
dazu zwei Möglichkeiten: Das Zeichen „&“ sowie die Tastenkombination STRG+Z, die im
Gegensatz zum & aber noch den Befel bg benötigt, dafür aber auch mit Bereits
gestarteten Prozessen funktioniert.

Beispiel für & (die ausgegebene Nummer neben [1] ist die Prozess-ID):

vmuser@ubuntu:~$ gedit ~/workspace/swe3/blatt1/aufgabe1/main.cpp &


[1] 32025
vmuser@ubuntu:~$

Beispiel für STRG+Z (gerade laufender Prozess wird angehalten):

vmuser@ubuntu:~$ gedit ~/workspace/swe3/blatt1/aufgabe1/main.cpp


<STRG+Z>
[1]+ Stopped gedit ~/workspace/swe3/blatt1/aufgabe1/main.cpp
vmuser@ubuntu:~$

Mit STRG+Z angehaltenen Prozess mit dem Befehl bg im Hintergrund laufen lassen:

[1]+ Stopped gedit ~/workspace/swe3/blatt1/aufgabe1/main.cpp


vmuser@ubuntu:~$ bg
[1]+ gedit ~/workspace/swe3/blatt1/aufgabe1/main.cpp &
vmuser@ubuntu:~$

Einen mit & oder bg in den Hintergrund „verschobenen“ Prozess mit dem Befehl fg
wieder „nach vorne holen“ (die Konsole wird dabei erneut blockiert):

[1]+ Stopped gedit ~/workspace/swe3/blatt1/aufgabe1/main.cpp


vmuser@ubuntu:~$ fg
gedit ~/workspace/swe3/blatt1/aufgabe1/main.cpp

1.12 Laufende Prozesse beenden


Ein in der Konsole laufender Prozess kann mit der Tastenkombination STRG+C beendet
werden. Prozesse, die im Hintergrund oder auf einer anderen Konsole laufen, sind mit
den Befehlen kill oder killall ins jenseits beförderbar.

Beispiel mit STRG+C:

vmuser@ubuntu:~$ gedit ~/workspace/swe3/blatt1/aufgabe1/main.cpp


<STRG+C>
^C
vmuser@ubuntu:~$

Christian Steiger 7/?? 1. März 2015


Einführung in Linux Befehle

Ein Beispiel mit dem Befehl killall:

vmuser@ubuntu:~$ gedit ~/workspace/swe3/blatt1/aufgabe1/main.cpp

-------- In einer anderen Konsole --------------------------------

vmuser@ubuntu:~$ killall -v gedit


Killed gedit(32569) with signal 15
vmuser@ubuntu:~$

Tipp: Auch hier sorgt der Parameter -v für zusätzliche Informationen.


Hinweis: killall ist zwar sehr komfortabel, funktioniert aber auch oft nicht
zuverlässig. Sollte ein Prozess widerspenstig sein, muss zu kill gegriffen werden.

Ein Beispiel mit dem Befehl kill:

vmuser@ubuntu:~$ gedit ~/workspace/swe3/blatt1/aufgabe1/main.cpp

-------- In einer anderen Konsole --------------------------------

vmuser@ubuntu:~$ pgrep gedit


32655
vmuser@ubuntu:~$ kill -9 32655
vmuser@ubuntu:~$

Hinweis: pgrep sucht nach der Prozess-ID des genannten Programmes. Dies können
durchaus mehrere Nummern sein, falls das Programm mehr als einmal gestartet wurde!

1.13 TOP: Laufende Prozesse anzeigen


top zeigt verschiedene Informationen über aktuell laufende Prozesse an:

vmuser@ubuntu:~$ top
top - 02:02:31 up 1 min, 2 users, load average: 0,19, 0,07, 0,03
Tasks: 577 total, 1 running, 576 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1,9 us, 1,0 sy, 0,0 ni, 97,1 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
KiB Mem: 4033512 total, 1000644 used, 3032868 free, 71628 buffers
KiB Swap: 4192252 total, 0 used, 4192252 free. 320960 cached Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND


2808 vmuser 20 0 1193636 95836 62732 S 6,0 2,4 0:03.51 compiz
1744 root 20 0 362752 70980 23592 S 5,3 1,8 0:03.22 Xorg
2969 vmuser 20 0 427052 22856 18688 S 4,0 0,6 0:01.88 indicator-multi
2812 vmuser 20 0 591228 31016 24568 S 1,7 0,8 0:00.82 unity-panel-ser
7 root 20 0 0 0 0 S 1,0 0,0 0:00.48 rcu_sched
2728 vmuser 20 0 44908 3696 2312 S 1,0 0,1 0:00.74 dbus-daemon
3055 vmuser 20 0 588292 32176 25608 S 1,0 0,8 0:00.63 gnome-terminal
308 root 39 19 0 0 0 S 0,7 0,0 0:00.05 khugepaged
2913 vmuser 20 0 307148 11916 10516 S 0,7 0,3 0:00.38 indicator-appli
3252 vmuser 20 0 30916 3820 2924 R 0,7 0,1 0:00.22 top
2783 vmuser 20 0 23832 232 0 S 0,3 0,0 0:00.11 upstart-dbus-br
1 root 20 0 29980 4632 2512 S 0,0 0,1 0:03.43 init

Christian Steiger 8/?? 1. März 2015

Das könnte Ihnen auch gefallen