Wir arbeiten bei makandra alle auf Linux-Betriebssystemen und bedienen im DevOps- & Cloud-Bereich primär Kunden, die ebenfalls auf Linux als Ziel-System setzen.
Entsprechend benötigen wir tiefgehendes Wissen über Linux.
In diesem Kapitel lernst Du alles zum Hintergrund und ein wenig Theorie zu Prozessen, Speicher, Konfiguration und viel praktisches zur Konfiguration, Ressourcenüberwachung und abschließend eine Anleitung zur Performance-Analyse von Unix-basierten Systemen in 60 Sekunden.
Falls du mit Linux noch nicht vertraut bist, lernst du in dieser Card die Basics zu einem Ubuntu System.
Du musst nicht alle Quellen vollständig durchlesen. Vor allem die Bash Reference Manual ist hierfür viel zu umfangreich. Verwende solche Inhalte zum nachschlagen von spezifischen Themen.
tldr
mit dem Befehl sudo apt install tldr
. Damit kannst du dir Beispiele für die Befehle Anzeigen lassen. Zum Beispiel tldr ss
um Beispiele für den ss
Befehl anzeigen zu lassen.Wenn du dich noch mehr für Features in der Shell begeistern möchtest, kannst du dir in unserer Mediathek den Talk pimp my shell Show archive.org snapshot ansehen. Achtung: Für Fortgeschrittene. Vielleicht willst du erst mal ein weing mit Linux arbeiten.
Finde heraus was der man
Befehl macht und finde mit der Hilfe von tldr
und man
heraus was die unten gezeigten Befehle machen. Versuche diese auch testweise zu verwenden.
man
(Get a more colorful output for man pages)top
cat
less
dpkg -l
apt search <text>
or apt-cache search <text>
apt update
apt full-upgrade
or apt-get dist-upgrade
apt install <package-name>
apt policy
und apt-cache policy
sudo <command>
sudo -i
or sudo su
df -h .
du -h .
ss --listening --tcp
ln -s
touch
env
grep
(use with |
)gzip
und gunzip
zgrep <needle> log/*.log*
chmod
chown
Lies dir Package management Show archive.org snapshot durch.
Verstehe wie und warum man Paketquellen (Repository
) hinzufügt und schau dir an, was bei dir in /etc/apt
konfiguriert ist. Schau dir mit apt policy
diverse Pakete an. So kannst du sehen, aus welchem Repository ein Paket / eine Paketversion installiert wird.
Du solltest auch verstehen, was es Sicherheitstechnisch bedeutet weitere Paketquellen hinzuzufügen.
Du solltest die folgenden Dinge kennen und verstehen:
cd ~
cat ~/.bashrc
cd ..
ls .
|
?echo foo > /tmp/txt
und echo foo >> /tmp/txt
?export
Befehl?'
und "
?Job
?PATH
Umgebungsvariable?alias
?Finde heraus für was die ~/.bashrc
da ist.
Beachte bitte, dass Änderungen an der ~/.bashrc
sich nicht auf bereits geöffnete Shells auswirken.
Wenn du im Terminal Dateien bearbeiten musst / möchtest, musst du einen Terminal Editor verwenden.
vim
verwendest, lerne
wie du den Editor beendest
Show archive.org snapshot
:
:q
Editor beenden:wq
Editor beenden und die Datei speichern:q!
Editor beendet und die Datei nicht speichern# Example with vim
# open the configuration file
vim ~/.bashrc
# navigate to the end of the file,
# press "i" to switch to insert mode
# then type out the line you want to add
export EDITOR=vim
# persist your changes
# press ESC and write the following and then press ENTER
:wq
Note
vim
ist ein sehr mächtiger Editor, der viele Shortcuts hat um Text effizient zu bearbeiten. Zum Beispiel kann man imCOMMAND
modedt5
eingeben, um alle Zeichen bis zum nächsten Zeichen5
zu löschen. Es kann sich also lohnen, sich ein wenig mitvim
zu beschäftigen. Das ist allerdings nicht Teil dieser Card.
Verstehe was die folgenden Shortcuts in der Bash-Shell tun:
Tab
CTRL+R
CTRL+Z
/ jobs
/ fg
/ bg
Show archive.org snapshot
Verstehe Zugriffsrechte für Dateien:
read
, write
und executable
Flags für Dateien erklären?user
, group
und world
?executable
Permissions?shebang
?function
?world-readable-files-<Verzeichnispfad_mit_underscores_statt_/>-<jahr>-<monat>-<tag>-<stunde>-<minute>-<sekunde>.txt
find
Befehl an.shellcheck
und wende es auf dein Script an und fixe die Probleme.bash -x
aus. Was bringt der Parameter -e
?
set -x
setzen