Linux Befehle für die Konsole

top
kill PID
cd /VERZEICHNIS
wget http://SERVER/VERZEICHNIS/DATEI
scp datei1 datei2 user@server:/zielverzeichnis/

scp benutzerx@server1:datei1 datei2 benutzery@server2:

scp user@server:/verzeichnis/datei /lokales/zielverzeichnis/
ssh root@ff-router

cd /tmp

wget <link zum image>

sysupgrade -n <heruntergeladenes image>

oder

ssh root@ff-router

scp benutzerx@server1:datei.bin /tmp/

cd /tmp

sysupgrade -n datei.bin


tar -xf *.tar
opkg install PAKET.ipk
ln -s /verzeichnis/datei /verzeichnis/link
ip addr show wlan0
wget -q -O - http://127.0.0.1:2006/neigh
traceroute www.freifunk.net
mtr www.freifunk.net
export EDITOR=/usr/bin/nano
echo 'export EDITOR=/usr/bin/nano' >> /etc/profile ;exit
echo 'export EDITOR=/usr/bin/nano' >> ~/.bashrc ; exit
crontab -e

crontab als root bearbeiten und neue Zeile einfügen, zB. ( für täglich 4 Uhr):

    0 4 * * * sync ; reboot

batman Befehle für die Konsole

Noch mehr Linux Befehle für die Konsole

nützliche One-Liner
Befehl Beschreibung
arp | grep br-batman | wc -l Gibt die der ARP-Tabelle bekannte Zahl an MAC-Adressen auf dem br-batman Device zurück.
arp | sort -n ARP-Tabelle, erhöhte Lesbarkeit.
ip a | grep inet | sort Filtert die ip a Ausgabe nach IP-Adressen.
Enter, dann ~ (Tilde), dann . (Punkt) Remoteterminal hängt? Diese Sequenz bringt dich zurück.
Befehl Beschreibung
clear Konsole leeren
ls Verzeichnisinhalt listen
cd Verzeichnis wechseln
cp Kopieren
rm Datei/Verknüpfung/Link löschen
vi Textdateieditor (verlassen mit ESC,!,q,RETURN). Befehlsübersicht
date Anzeigen und Einstellen des Datums und der Uhrzeit
uptime zeigt die Gerätelaufzeit seit dem letzten Neustart an
df -h Speicherauslastung der Dateisysteme anzeigen
free Arbeitsspeicherauslastung anzeigen
top Systemauslastung/Prozesse anzeigen (wird mit "q" wieder beendet). Manpage
logread System-Logs anzeigen
ip Das "Schweizer Messer" zur Netzwerkkonfiguration. Wesentliche Varianten: ip link show, ip address show, ip route show. Manpage
mtr Paketverfolgung und Anzeige der Zwischenstationen. Eine Kombination aus ping und traceroute. Manpage
iptraf Ein kleines Programm welches den aktuellen Datenverkehr anzeigt. Läuft in der Konsole.
horst Ein kleines Programm, welches u.a. die empfangenen WLAN-Netzwerkpakete mit der dazugehörigen Signalstärke anzeigt. Muss ggf. per opkg nachinstalliert werden.
opkg Paketmanagement. Dokumentation
busybox Kombi-Binary für alle wesentlichen Utilities. Die Manpage ist lesenswert; sollten Symlinks fehlen, per busybox cmd aufrufen.

Wichtige Linux Befehle

Benutzerverwaltung

Befehl Beschreibung
adduser Hinzufügen eines Benutzers
chsh Änderung der Standard-Shell des Benutzers ("change shell")
deluser Löschung eines Benutzers ("delete user")
groupadd Hinzufügen einer Gruppe ("add group")
groupdel Löschung einer Gruppe ("add group")
groupmod Bearbeitung einer Gruppe ("modify group")
id Anzeige der Benutzer- und Gruppenkennung (ID)
newgrp Änderung der Gruppe des aktuellen Benutzers ("new group")
passwd Änderung des Passworts eines Benutzers ("password")
usermod Bearbeitung eines Benutzerkontos ("modify user")
chfn erweiterte Benutzerinformationen anpassen

Grundkommandos

Befehl Beschreibung
cat Verknüpfung von Dateien ("concatenate")
cd Wechsel des Arbeitsverzeichnisses ("change directory")
cp Kopie von Dateien oder Verzeichnissen ("copy")
date Anzeige von Datum und Zeit
echo Anzeige eines Textes
exit Ende der Sitzung
info Anzeige einer Hilfe-Datei
ln Link zu einer Datei oder einem Verzeichnis ("link")
ls Auflistung von Dateien ("list")
man Ausgabe der Handbuchseite zu einem Befehl oder einer Anwendung ("manual")
mkdir Erzeugung von Verzeichnissen ("make directory")
mmv Multiple move (Datei-Mehrfachoperationen mit Hilfe von Wildcard-Mustern)
mv Kopieren einer Datei und Löschen der Ursprungsdatei ("move");
mv im aktuellen Verzeichnis ausgeführt: Umbenennung einer Datei
pwd Anzeige des aktuellen Verzeichnisses ("print working directory")
rm Löschen von Dateien und Verzeichnisse ("remove")
rmdir Löschen eines leeren Verzeichnisses ("remove directory")
sudo Root-Rechte für den Benutzer ("substitute user do")
touch Änderung der Zugriffs- und Änderungszeitstempel einer Datei oder eines Verzeichnisses (auch: Erstellen von Dateien)
unlink Löschen einer Datei

Netzwerk

Befehl Beschreibung
dig Namensauflösung (DNS)
ifconfig Anzeigen und Konfiguration von Netzwerkgeräten ("interface configuration")
iwconfig Werkzeug für WLAN-Schnittstellen
ip der Nachfolger von ifconfig
iw der Nachfolger von iwconfig
netstat Auflistung offener Ports und bestehender Netzwerkverbindungen ("network statistics")
ping Prüfen der Erreichbarkeit anderer Rechner über ein Netzwerk
route Anzeige und Änderung der Route (Routingtabelle)
traceroute Routenverfolgung und Verbindungsanalyse

Dateiwerkzeuge

Befehl Beschreibung
basename Rückgabe des Dateinamens
blkid Anzeige der UUID angeschlossener Laufwerke (siehe auch lsblk)
comm Zeilenweiser Vergleich sortierter Dateien
cut Spaltenweise Manipulation von Textdaten
dd Bit-genaues Kopieren von Datenträgern
diff Vergleich des Inhalts zweier Dateien (siehe auch patch für das Anwenden eines "Diffs")
dirname Rückgabe des Pfades
find Suche nach Dateien
grep Durchsuchen von Dateien
locate Suche nach Dateien mit Hilfe der Datenbank locatedb
lsblk Anzeige von Informationen zu Speichermedien ("list block devices")
lsof Anzeige offener Dateien ("list open files")
md5sum Ermittlung und Überprüfung der MD5-Prüfsumme von Dateien
mount Einhängen eines Dateisystems
umount Aushängen eines Dateisystems
rename Umbenennung von Dateien
rsync Datensynchronisation
shred Sicheres Löschen von Daten
sort Sortieren von Dateien nach vorgegebenen Kriterien
split Aufteilung großer Dateien in mehrere kleine
tre-agrep Werkzeug zur "unscharfen" Suche mit regulären Ausdrücken
tree Verzeichnishierarchie rekursiv als Baumstruktur anzeigen
uniq Ausgabe einer sortierten Datei ohne doppelte Zeilen
updatedb Aktualisierung der locate-Datenbank ("update database")

Pager

Befehl Beschreibung
head Ausgabe der ersten Zeilen einer Datei
less Scrollfähige Anzeige einer Textdatei
more Wie less, aber ohne die Fähigkeit, rückwärts zu scrollen
tail Ausgabe der letzten Zeilen einer Datei

Prozesssteuerung

Befehl Beschreibung
nice Vorgabe der Priorität eines Prozesses
nohup Lösung eines Prozesses aus der Sitzung, die ihn aufruft
pgrep Anzeige der Prozessidentifikationsnummer(n) zu gegebenen Prozessnamen/regulärem Ausdruck
pidof Anzeige der Prozessidentifikationsnummer(n) zu gegebenen Prozessnamen
renice Änderung der Priorität eines Prozesses zur Laufzeit
schedutils Befehle für die fortgeschrittene Prozesskontrolle

Rechte

Befehl Beschreibung
chattr Veränderung von Datei-Attributen und Rechten auf ext2- und ext3-Dateisystemen ("change attributes")
chgrp Festlegung der Gruppenzugehörigkeit von Dateien ("change group")
chmod Veränderung der Zugriffsrechte von Dateien ("change mode")
chown Festlegung des Besitzers und der Gruppenzugehörigkeit von Dateien ("change ownership")

Systemüberwachung

Befehl Beschreibung
dmesg Kernelmeldungen auf den Bildschirm ausgeben lassen; nützlich bei der Fehlersuche
at Einstellung von einmalig durchzuführenden zeitgesteuerten Skript-/Befehlsaufrufen
crontab Einstellung von zeitgesteuerten Skript-/Befehlsaufrufen
df Ausgabe des Speicherplatzes aller eingehängten Laufwerke ("disk free")
du Ausgabe des Speicherverbrauchs von Verzeichnissen ("disk usage")
free Ausgabe der Arbeitsspeicherauslastung
kill Beendigung eines durch die Prozess-ID gekennzeichneten Prozesses
killall Beendigung von nach dem Prozessnamen gekennzeichneten Prozessen
pkill Beendigung eines nach seinem Namen/durch einen regulären Ausdruck gekennzeichneten Prozesses
service service DIENSTNAME [OPTION] (start, stop, restart, status usw.)
ps Ausgabe aller laufenden Prozesse ("process status")
pstree Ausgabe aller laufenden Prozesse in Baumform
script Terminalsitzungen mitschneiden (siehe auch scriptreplay)
stat Zeitstempel von Dateien und Ordnern anzeigen
top Ausgabe der Prozessorauslastung
uptime Angabe der Laufzeit und Auslastung des Computers
vmstat erste Analyse von Engpässen

Nützliche Befehle ohne Kategorie

Befehl Beschreibung
alias Vergabe von Kurznamen an Kommandos
apropos Anzeige von Hilfe-Themen zu einem Stichwort
chroot Ausführung eines Kommandos/einer interaktiven Shell in einem angegebenen Wurzelverzeichnis
clear Löschen des momentanen Bildschirminhalts
dircolors Anpassung der Farben von ls
logger Einträge in /var/log/syslog erstellen
lscpu Anzeige von Prozessor-Informationen ("list cpu")
lshw Anzeige von Hardware-Informationen ("list hardware")
lspci Anzeige von Informationen zur PCI-Hardware ("list pci")
lsusb Anzeige von Informationen zur USB-Hardware ("list usb")
pinfo Anzeige einer Hilfe-Datei an (ähnlich wie info)
pv Ein Programm zum Betrachten des Fortschritt von Operationen durch Pipes
reboot Rechner neu starten
rtcwake Rechner automatisch Starten bzw. Herunterfahren
sed Nicht-interaktiver Editor
seq Sequenzen von Zahlen im Terminal erzeugen
shutdown Herunterfahren des Systems
sleep Pausieren von Prozessen
tasksel Installationshilfe für die Kommandozeile
tee Eingaben auf mehrere Ausgaben verteilen
time Messung der Laufzeit von (Shell-)Befehlen
tr Lesen, Umwandeln und Neuausgabe von Zeichenkombinationen ("translate"/"transliterate")
uname Ausgabe von Systeminformationen ("unix name")
wall Mitteilung an alle auf dem System eingeloggten Nutzer senden
watch Periodischer Aufruf anderer Kommandos
wc Zählung von Wörten, Zeilen und Zeichen in Textdateien ("word count")
whatis Anzeige der Kurzbeschreibung eines Programms
whereis Sucht das Binary (ausführbare Datei), den Quellcode und die man-Page eines Programms
which Anzeige der Datei, die bei Eingabe eines Befehls ausgeführt wird
who Anzeige von Informationen über angemeldete Benutzer
whoami Anzeige des Benutzer, unter dem gerade gearbeitet wird
xargs Anwendung eines Kommandos auf eine Liste von Dateien/Parametern, die von der Standardeingabe oder einer Datei kommen

Unnütze Befehle

Befehl Beschreibung
ddate Ausgabe des Datums im discordischen Format
fortune Ausgabe kurzer Sinnsprüche
sl Spaßprogramm (bei versehentlich verdreht eingegebenem ls)

vi - der Standard-Editor unter Linux/Unix

Beschreibung

vi ist ein konsolenbasierter Texteditor. Er ist gut konfigurierbar und arbeitet sehr effektiv. Da seine Benutzbarkeit sich nicht intuitiv erschließt, ist es erforderlich, die wichtigsten Kommandos zu kennen.

Einige Vorteile von vi

  1. vi ermöglicht ein schnelles und effektives Editieren von Text-Dateien.
  2. Ein zeichengenaues Editieren ist möglich. Auch Sonderzeichen können dargestellt werden.
  3. vi ist als Standard-Editor auf jedem Unix/Linux-System vorhanden.
  4. Der Editor kann grundsätzlich beliebig große Text-Dateien bearbeiten.
  5. Für die Nutzung ist keine grafische Benutzeroberfläche notwendig.

Im vi sind die beiden Modi command und insert zu unterscheiden. Im command-Modus können Positionier-, Lösch-, Such- und viele andere Operationen vorgenommen werden. Das Editieren von Text ist nur im insert-Modus möglich. Das Umschalten vom insert- in den command-Modus erfolgt immer mit der ESC-Taste.

Start der Anwendung

Der Editor wird durch die Eingabe des Kommandos vi dateiname entweder auf einem Konsolbildschirm oder in einem Kommandoeingabefenster aufgerufen.
Für dateiname sollte natürlich der gewünschte Dateiname gewählt werden.

Beispiel

vi brief

Aufgerufen in einem Eingabefenster würde nun folgendes Bild erscheinen.

vi1

Der Cursor befindet sich in der linken oberen Ecke, in der letzten Zeile stehen Statusinformationen wie Dateiname und Zeilen/Spaltennummer. Der Editor startet grundsätzlich immer im command-Modus. Will man nun Text schreiben, muss der vi in den insert-Modus umgeschaltet werden. Das Umschalten erfolgt immer durch Eingabe bestimmter Zeichen.

Umschalten in den insert-Modus

aEinfügen nach dem Cursor
iEinfügen vor dem Cursor
AEinfügen am Zeilenende
IEinfügen am Zeilenanfang
oEinfügen einer neuen Zeile nach der aktuellen Zeile
OEinfügen einer neuen Zeile vor der aktuellen Zeile

Erst nach Eingabe eines der obigen Kommandos wird der Editor in den insert-Modus geschaltet. Danach kann Text eingegeben werden. Um wieder auf den command-Modus zu kommen, muss die ESC-Taste gedrückt werden.

Positionieren des Cursors und Scrolling

hCursor ein Zeichen nach links
lCursor ein Zeichen nach rechts
jCursor eine Zeile nach unten
kCursor eine Zeile nach oben
wCursor zum nächsten Wort oder Sonderzeichen
bCursor zum vorhergehenden Wort oder Sonderzeichen
^Cursor zum Anfang der Zeile (erstes sichtbares Zeichen)
$Cursor zum Ende der Zeile
GCursor zum Ende der Datei
1GCursor zum Anfang der Datei
Strg fScrollen vorwärts
Strg bScrollen rückwärts

Suchen von Textstellen

/musterSuche des Textmusters vorwärts
?musterSuche des Textmusters rückwärts
nSuche wiederholen
NSuche in umgekehrter Richtung wiederholen

Kopieren und Einfügen

ywKopiert das Wort auf dem der Cursor steht
yyKopiert die ganze Zeile in der der Cursor steht
pFügt den zuvor kopierten Text nach der aktuellen Cursorposition ein
PFügt den zuvor kopierten Text vor der aktuellen Cursorposition ein

Löschen von Text

xLöscht genau das Zeichen unter dem Cursor
dhLöscht das Zeichen links vom Cursor
dlLöscht das Zeichen rechts vom Cursor
dwLöscht das Wort auf dem der Cursor steht
ddLöscht die gesamte Zeile
dGLöscht von der Cursorposition bis zum Datei-Ende

Speichern und Beenden

:wSpeichern des Textes in der Datei (Editor wird nicht verlassen)
:wqSpeichern des Textes und Beenden des Editors
:xSpeichern des Textes und Beenden des Editors
:qBeenden ohne Abspeichern (falls Text nicht geändert wurde)
:q!Beenden ohne Abspeichern

Sonstige nützliche Kommandos

.Wiederholung der letzten Aktion
uundo der letzten Änderung
Uundo aller Änderungen in der aktuellen Zeile
:r dateiEinfügen einer Datei an der Cursorposition

Durch das Setzen diverser Parameter kann die Arbeitsweise des vi-Editors modifiziert werden. Diese Parameter können interaktiv während des Editierens eingegeben werden. Sollen die Parameter bei jedem Aufruf von vi zur Verfügung stehen, so sind sie in die Datei .exrc einzutragen.

Beispiele

:set number

Obiges Kommando veranlasst den Editor, die Zeilennummern anzuzeigen.

:set list

Durch dieses Kommando werden im Editor auch nicht sichtbare Zeichen angezeigt (z.B. wird ein Linefeed durch $ gekennzeichnet, ein Tabulatorzeichen mit ^I). Mit einem vorangestellten no werden diese Modifikationen wieder rückgängig gemacht (z.B. :set nolist)