Category Archives: LPIC-101

Netzwerk Interface


title: “Netzwerk Interface”
date: 2015-04-06T19:13:26
slug: netzwerk-interface


Prüfen ob die Netzwerkkarte von Linux erkannt wurde:

dmesg | grep eth0

Beispielausgabe:
[ 3.598225] e1000 0000:02:01.0: eth0: (PCI:66MHz:32-bit) 00:0c:29:8b:05:04
[ 3.598252] e1000 0000:02:01.0: eth0: Intel(R) PRO/1000 Network Connection
[ 22.634210] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[ 22.637148] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 22.639106] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 33.419636] eth0: no IPv6 routers present

Oder auch:

lspci -v

Beispielausgabe (zeigt ob ein Treiber geladen wurde):
02:01.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
Subsystem: VMware PRO/1000 MT Single Port Adapter
Physical Slot: 33
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19
Memory at fd5c0000 (64-bit, non-prefetchable) [size=128K]
Memory at fdff0000 (64-bit, non-prefetchable) [size=64K]
I/O ports at 2000 [size=64]
[virtual] Expansion ROM at e7b00000 [disabled] [size=64K]
Capabilities: [dc] Power Management version 2
Capabilities: [e4] PCI-X non-bridge device
Kernel driver in use: e1000

Standard Port Nummern


title: “Standard Port Nummern”
date: 2015-04-06T19:07:44
slug: standard-port-nummern


The /etc/services main ports:
ftp-data 20/tcp
ftp 21/tcp
ssh 22/udp
ssh 22/tcp
telnet 23/tcp
smtp 25/tcp mail
domain 53/tcp
domain 53/udp
http 80/tcp # www is used by some broken
pop-3 110/tcp # PostOffice V.3
sunrpc 111/tcp
sftp 115/tcp
uucp-path 117/tcp
nntp 119/tcp usenet # Network News Transfer
ntp 123/tcp # Network Time Protocol
netbios-ns 137/tcp nbns

Reservierte IP Adressen (für intranets)


title: “Reservierte IP Adressen (für intranets)”
date: 2015-04-06T18:41:49
slug: reservierte-ip-adressen-fur-intranets


In jedem der Netze class A, B und C befinden sich reservierte IP Blöcke die nicht im Internet genützt werden.

Diese Blöcke sind:

Class A: 10.x.x.x
Class B: 172.16.x.x — 172.31.x.x
Class C: 192.168.0.x

Netzwerk Klassen (A,B und C-Netz)


title: “Netzwerk Klassen (A,B und C-Netz)”
date: 2015-04-06T18:38:05
slug: netzwerk-klassen-ab-und-c-netz


Class A: 255.0.0.0 (8-Bit network / 24Bit Host Adressen)
2^24 – 2 = 16 777 214 verfügbare Adressen

Class B: 255.255.0.0 (16-Bit network / 16Bit Host Adressen)
2^16 – 2 = 65 534 verfügbare Adressen

Class C: 255.255.255.0 (24-Bit network / 8Bit Host Adressen)
2^8 – 2 = 254 verfügbare Adressen

Das Netzwerk .0 / .0.0 / .0.0.0


title: “Das Netzwerk .0 / .0.0 / .0.0.0”
date: 2015-04-06T17:48:21
slug: das-netzwerk-0-0-0-0-0-0


Ein Netzwerk kann anhand einer sich im Netzwerk befindende IP Adresse und der Netmaskberechnet werden.
z.B.

IP-Adresse: 192.168.132.4 (11000000.10101000.10000100.00000100)
Netmask: 255.255.254.0 (11111111.11111111.11111110.00000000)

Es handelt sich hier um eine 23 Bit Netmask (23 1er)
Bei der IP Adresse müssen jetzt alle Stellen nach 23 auf 0 gesetzt werden:
(11000000.10101000.10000100.00000000) = 192.168.132.0

Das Netzwerk lautet also: 192.168.132.0

Hier eine Tabelle zur Übersicht

|
Bits |

Netmask |

verfügbare Adressen |

| — | — | — |

|
/20 |

255.255.240.0 |

4096 |

|
/21 |

255.255.248.0 |

2048 |

|
/22 |

255.255.252.0 |

1024 |

|
/23 |

255.255.254.0 |

512 |

|
/24 |

255.255.255.0 |

256 |

|
/25 |

255.255.255.128 |

128 |

|
/26 |

255.255.255.192 |

64 |

|
/27 |

255.255.255.224 |

32 |

|
/28 |

255.255.255.240 |

16 |

|
/29 |

255.255.255.248 |

8 |

|
/30 |

255.255.255.252 |

4 |

Die Netzmaske


title: “Die Netzmaske”
date: 2015-04-06T17:37:03
slug: die-netzmaske


Eine 16 Bit und 17 Bit netmask:
Die Anzahl der 1er ergeben die Anzahl der Bits

| | | |
| — | — | — |
|
255.255.0.0 |

16-bit |

1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0 . 0 |

|
255.255.128.0 |

17-bit |

1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 0 0 0 0 0 0 0 . 0 |

Die IP-Adressen 32.128.1.1 und 32.128.0.11 besitzen folgende binäre schreibweise
00100000.10000000.00000001.00000001
00100000.10000000.00000000.00000011

Damit sich beide IP Adressen im selben Netz befinden, ist mindestens folgende netmask nötig:
11111111.11111111.11111110.00000000 = 255.255.254.0

Möglich wären auch Netzmasken 255.255.253.0, 255.255.252.0, usw.
Mit einer Netzmaske von 255.255.255.0 würden sich die IP Adressen in verschiedenen Netzen befinden.

The Dotted Quad notation


title: “The Dotted Quad notation”
date: 2015-04-06T17:22:30
slug: the-dotted-quad-notation


Eine IP Adresse kann decimal (192.168.1.1) oder auch binär (11000000.10101000.00000001.00000001) dargestellt werden.

| | |
| — | — |
|
Decimal |

Binary |

|
192.168.1.1 |

11000000.10101000.00000001.00000001 |

Die Umrechnung erfolgt blockweise, z.B:
192 = 11000000

Die Berechnung geht folgendermaßen:
192 wird durch 2 geteilt, das Ergebnis ist:
96 Rest 0
96 wird durch 2 geteilt, das Ergebnis ist:
48 Rest 0
48 wird durch 2 geteilt, das Ergebnis ist:
24 Rest 0
24 wird durch 2 geteilt, das Ergebnis ist:
12 Rest 0
12 wird durch 2 geteilt, das Ergebnis ist:
6 Rest 0
6 wird durch 2 geteilt, das Ergebnis ist:
3 Rest 0
3 wird durch 2 geteilt, das Ergebnis ist:
1 Rest 1
1 wird durch 2 geteilt, das Ergebnis ist:
0 Rest 1

Der Rest von unten nach oben gelesen ergibt: 11000000

cp kopieren von Dateien


title: “cp kopieren von Dateien”
date: 2015-04-06T17:08:46
slug: cp-kopieren-von-dateien


Kopieren der Datei readme.txt nach /tmp/readme.txt

cp readme.txt /tmp/readme.txt

Kopieren des Verzeichnisses output recursiv nach /tmp

cp -r output /tmp/

!! Der Befehl oben legt das Verzeichnis output in /tmp an und kopiert den Inhalt dort hinen

cp -r output/\* /tmp/

!! Der Befehl oben legt kein Verzeichnis output in /tmp , der Inhalt des Verzeichnisses output wird gleich nach /tmp kopiert

Kopieren der Datei readme.txt nach /tmp/readme.txt mit Übernahme der Berechtigungen

cp readme.txt /tmp/readme.txt

Wichtige Optionen für cp:
-d do not follow symbolic link (when used with -r)
-f force
-i interactive, prompt before overwrite
-p preserve file attributes
-r recursively copy directories

ps Aktuelle Prozesse anzeigen


title: “ps Aktuelle Prozesse anzeigen”
date: 2015-04-06T16:07:58
slug: ps-aktuelle-prozesse-anzeigen


Alle Prozesse des aktuellen Users anzeigen

ps ux

Alle Prozesse aller User anzeigen

ps aux

Alle Prozesse die im aktuellen Terminal laufen anzeigen

ps T

Prozessbaum des aktuellen Users anzeigen

ps xjf

Prozessbaum aller Userprozesse anzeigen

ps axjf

Ausgabe aller laufenden Prozesse mit erweiterten Informationen

ps -ef

Parent Prozess ID (PPID) oder UserID (UID) unter dem der Prozess 3622 läuft anzeigen:

ps -f 3622

Ausgabe ist:
UID = UserID unter welcher der Prozess läuft
PID = eindeutige Prozess ID
PPID = ID des Parent Prozesses
STIME = Uhrzeit zu der der Prozess gestartet wurde
TTY = gibt das Terminal an, auf dem der Prozess läuft
STAT = Gibt den Status des Prozesses aus (Tabelle unten)
CMD = Kommandoaufruf, der den Prozess erzeugt hat
NI – Nice-Priorität des Prozesses
PRI – Derzeitige Priorität des Prozesses
TIME – Bereits von dem Prozess verbrauchte CPU-Zeit

PROCESS STATE CODES
Here are the different values that the s, stat and state output specifiers (header “STAT” or “S”) will display to describe the state of a process:
D uninterruptible sleep (usually IO)
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped, either by a job control signal or because it is being traced.
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z defunct (“zombie”) process, terminated but not reaped by its parent.

For BSD formats and when the stat keyword is used, additional characters may be displayed:
< high-priority (not nice to other users)
N low-priority (nice to other users)
L has pages locked into memory (for real-time and custom IO)
s is a session leader
l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
+ is in the foreground process group.

-f – Sehr detailierte Informationen
-a – Alle Prozesse des Terminals
-e, -A – Alle derzeit laufenden Prozesse
-l – Ausgabe aller Informationen im sog. long-Format (Benutzernamen werden aufgelöst etc.)
-U USERNAME – Filtern der Anzeige nach Prozessen des Benutzers USERNAME

Anzeigen der Spalten pid,ppid,pgid,sid,comm

ps xao pid,ppid,pgid,sid,comm

x = Prozesse die nicht nur im Terminal laufen
a = Alle derzeit laufenden Prozesse
o = Gibt die Spalten an die angezeigt werden sollen, nachfolgend die verfügbaren Spalten:
KEY LONG DESCRIPTION
c cmd simple name of executable
C pcpu cpu utilization
f flags flags as in long format F field
g pgrp process group ID
G tpgid controlling tty process group ID
j cutime cumulative user time
J cstime cumulative system time
k utime user time
m min_flt number of minor page faults
M maj_flt number of major page faults
n cmin_flt cumulative minor page faults
N cmaj_flt cumulative major page faults
o session session ID
p pid process ID
P ppid parent process ID
r rss resident set size
R resident resident pages
s size memory size in kilobytes
S share amount of shared pages
t tty the device number of the controlling tty
T start_time time process was started
U uid user ID number
u user user name
v vsize total VM size in KiB
y priority kernel scheduling priority

find zum suchen von Dateien und Verzeichnissen


title: “find zum suchen von Dateien und Verzeichnissen”
date: 2015-04-06T12:36:26
slug: find-zum-suchen-von-dateien-und-verzeichnissen


Find sucht nach Dateien anhand folgender Vorgaben:

Im Verzeichnis “/etc/X11/” recursiv nach allen Dateien und Verzeichnissen beginnend mit x suchen

find /etc/X11/ -name "x\*"

Nach allen Dateien und Verzeichnissen des Users mit der ID 1000 suchen

find / -user 1000

Nach allen Dateien und Verzeichnissen der Gruppe mit der ID 29 suchen

find / -group 29

Nach allen Dateien (ohne Verzeichnissen) des Users mit der ID 1000 suchen

find / -type f -user 1000

Nach Dateien und Verzeichnissen suchen die innerhalb der letzten 24 Stunden verändert worden sind (-mtime = modification time)

find . -name "\*" -mtime 0

Nach Dateien und Verzeichnissen suchen die vor 5 Tagen verändert worden sind (-mtime = modification time)

find . -name "\*" -mtime 5

Nach Dateien und Verzeichnissen suchen die zwischen 5 und 15 Tagen verändert worden sind (-mtime = modification time in Tagen/24h)

find . -name "\*" -mtime +4 -mtime -16

Nach Dateien und Verzeichnissen suchen die innerhalb der letzten 60 Minuten modifiziert worden sind (-mmin = modification time in Minuten)

find . -name "\*" -mmin -60

Nach Verzeichnissen suchen die innerhalb der letzten 60 Minuten modifiziert worden sind (-mmin = modification time in Minuten)

find . -name "\*" -mmin -60 -type d

Als Parameter für -type können folgende Bezeichner verwendet werden:

-type specify the type of file
 b block (buffered) special
 c character (unbuffered) special
 d directory
 p named pipe (FIFO)
 f regular file
 l symbolic link; this is never true if the -L option or the
 -follow option is in effect, unless the symbolic link is
 broken. If you want to search for symbolic links when -L
 is in effect, use -xtype.
 s socket

Nach Dateien suchen die größer als 2MB sind:

find . -name "\*" -size +2M

Als Parameter für -size können folgende Bezeichner verwendet werden:

-size n[cwbkMG]
 'b' for 512-byte blocks (this is the default if no suffix is used)
 'c' for bytes
 'w' for two-byte words
 'k' for Kilobytes (units of 1024 bytes)
 'M' for Megabytes (units of 1048576 bytes)
 'G' for Gigabytes (units of 1073741824 bytes)

Nach Dateien und Verzeichnissen suchen die exakt diese Berechtigung (g=w,o=x,u=r) haben

find . -name "\*" -perm g=w,o=x,u=r

Nach Dateien und Verzeichnissen suchen die eine Berechtigung (g=w) beinhalten
!Das wäre z.B auch bei einer Dateiberechtigung von 777 der Fall

find . -name "\*" -perm -g=w

Nach Dateien und Verzeichnissen suchen deren Owner oder Group (g+w,u+w) Schreibrechte haben

find . -perm /g+w,u+w

Nach Dateien und Verzeichnissen beginnend mit Do mittels regulärem Ausdruck suchen
(findet z.B. Downloads und Documents aber nicht zzzDownloads)

find . -regex '\./[D][o].\*'

Alle Dateien mit der Inodenummer 935 anzeigen lassen (Hardlinks)

find . -inum 935

Alle Dateien mit gesetztem suid Bit anzeigen
(2>/dev/null leitet Fehler um, werden nicht gezeigt, z.B: find: `/proc/9679/fd/5′: No such file or directory )

find / -user root -perm +4000 2> /dev/null

Alle Links (soft & hard) einer Datei anzeigen lassen
Wenn -L weg gelassen wird, werden nur Hardlinks angezeigt

find -L . -samefile sdafsd

Suchen nach Dateien und Verzeichnissen mit einer Verzeichnisstiefe von 1 (nur im Angegebenen Verzeichnis, keine Unterverzeichnisse)

find /home/ -maxdepth 1 -name findme

Suchergebnisse (alle Dateien im aktuellen Verzecihnis) weiterverarbeiten, z.B dem Befehler “ls -l” übergeben

find . -name "\*" -type f -exec ls -l {} +