Linux-Befehle
Grundbefehl
uname -m zeigt die Prozessorarchitektur der Maschine
uname -r zeigt die verwendete Kernel-Version an
dmidecode -q Hardware-Systemkomponenten anzeigen
hdparm -tT /dev/sda führt einen Testlesevorgang der Betriebssysteminformationen auf der Festplatte durch
arch Zeigt die Prozessorarchitektur der Maschine an
uname -m zeigt die Prozessorarchitektur der Maschine
uname -r zeigt die verwendete Kernel-Version an
dmidecode -q Hardwaresystemkomponenten anzeigen - (SMBIOS/DMI)
hdparm -i /dev/hda listet die architektonischen Eigenschaften einer Festplatte auf
hdparm -tT /dev/sda führt einen Testlesevorgang auf der Festplatte durch
cat /proc/cpuinfo zeigt CPU-Informationen an
cat /proc/interrupts zeigt Interrupts an
cat /proc/meminfo prüft die Speicherauslastung
cat /proc/swaps zeigt an, welche Swaps verwendet werden
cat /proc/version zeigt die Version des Kernels an
cat /proc/net/dev zeigt Netzwerkadapter und Statistiken an
cat /proc/mounts zeigt gemountete Dateisysteme an
lspci -tv PCI-Geräte auflisten
lsusb -tv Zeigt USB-Geräte an
Datumsanzeige Systemdatum
cal 2007 zeigt den Kalender für 2007 an
Datum 041217002007.00 Datum und Uhrzeit einstellen - Monat Tag Stunde Minute Jahr.Sekunde
clock -w speichert die Zeitänderung im BIOS
abschalten
shutdown -h fährt jetzt das System herunter(1)
init 0 System herunterfahren(2)
telinit 0 Shutdown-System(3)
shutdown -h hours:minutes & Herunterfahren des Systems gemäß der geplanten Zeit
shutdown -c bricht das Herunterfahren des Systems zu einem geplanten Zeitpunkt ab
shutdown -r now restart(1)
Neustart Neustart(2)
Ausloggen
Dateisuche
find / -name file1 beginnt mit '/', um das Root-Dateisystem aufzurufen und nach Dateien und Verzeichnissen zu suchen
find / -user user1 sucht nach Dateien und Verzeichnissen, die dem Benutzer 'user1' gehören
find /home/user1 -name \*.bin sucht nach Dateien mit der Endung '.bin' im Verzeichnis '/home/user1'
find /usr/bin -type f -atime +100 Sucht nach ausführbaren Dateien, die in den letzten 100 Tagen nicht verwendet wurden
find /usr/bin -type f -mtime -10 Suche nach Dateien, die innerhalb von 10 Tagen erstellt oder geändert wurden
find / -name \*.rpm -exec chmod 755 '{}' \;Suche nach Dateien mit der Endung '.rpm' und definiere ihre Berechtigungen
find / -xdev -name \*.rpm Suche nach Dateien mit der Endung '.rpm', wobei Wechseldatenträger wie CD-ROMs und Verknüpfungen ignoriert werden
locate \*.ps findet Dateien, die auf '.ps' enden - führen Sie zuerst 'updatedb' aus
wobei halt den Ort einer Binärdatei, einer Quelle oder eines Mannes anzeigt
Dieser Halt zeigt den vollständigen Pfad zu einer Binärdatei oder einer ausführbaren Datei an
Mounten Sie das Dateisystem
mount /dev/hda2 /mnt/hda2 mountet eine Festplatte namens hda2 - stellen Sie sicher, dass das Verzeichnis ‚/mnt/hda2‘ bereits existiert
umount /dev/hda2 Hängen Sie eine Festplatte namens hda2 aus - verlassen Sie zuerst den Einhängepunkt '/mnt/hda2'
fuser -km /mnt/hda2 Unmount erzwingen, wenn das Gerät beschäftigt ist
umount -n /mnt/hda2 führt das Unmounten aus, ohne die Datei /etc/mtab zu schreiben – nützlich, wenn die Datei schreibgeschützt oder die Festplatte voll ist
mount /dev/fd0 /mnt/floppy Mounten einer Diskette
mount /dev/cdrom /mnt/cdrom mountet eine cdrom oder dvdrom
mount /dev/hdc /mnt/cdrecorder mounten Sie eine cdrw oder dvdrom
mount /dev/hdb /mnt/cdrecorder mounten Sie eine cdrw oder dvdrom
mount -o loop file.iso /mnt/cdrom Mounten einer Datei oder einer ISO-Image-Datei
mount -t vfat /dev/hda5 /mnt/hda5 Mounten Sie ein Windows FAT32-Dateisystem
mount /dev/sda1 /mnt/usbdisk Mounten Sie eine USB-Verknüpfung oder ein Flash-Gerät
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share mountet eine Windows-Netzwerkfreigabe
Speicherplatz bezogen
df -h zeigt eine Liste der gemounteten Partitionen an
ls -lSr |more Dateien und Verzeichnisse nach Größe anordnen
du -sh dir1 Schätzen Sie den vom Verzeichnis 'dir1' belegten Speicherplatz
du -sk * | sort -rn Zeigt die Größe von Dateien und Verzeichnissen in der Reihenfolge basierend auf der Größe der Kapazität an
Dateien packen und komprimieren
bunzip2 file1.bz2 entpacken Sie eine Datei namens 'file1.bz2'
bzip2 file1 komprimiert eine Datei namens 'file1'
gunzip file1.gz dekomprimiert eine Datei namens 'file1.gz'
gzip file1 Komprimiert eine Datei namens ‚file1‘
gzip -9 Datei1 maximale Komprimierung
rar a file1.rar test_file erstellt ein Paket namens 'file1.rar'
rar a file1.rar file1 file2 dir1 komprimiert gleichzeitig 'file1', 'file2' und Verzeichnis 'dir1'
rar x file1.rar entpackt das rar-Paket
unrar x file1.rar entpackt das rar-Paket
tar -cvf archive.tar file1 erstellt einen unkomprimierten Tarball
tar -cvf archive.tar file1 file2 dir1 Erstellt ein Archiv, das „file1“, „file2“ und „dir1“ enthält
tar -tf archive.tar zeigt den Inhalt eines Pakets an
tar -xvf archive.tar gibt ein Paket frei
tar -xvf archive.tar -C /tmp Geben Sie das komprimierte Paket in das /tmp-Verzeichnis frei
tar -cvfj archive.tar.bz2 dir1 Erstellt ein komprimiertes Paket im bzip2-Format
tar -xvfj archive.tar.bz2 Dekomprimiert ein komprimiertes Paket im bzip2-Format
tar -cvfz archive.tar.gz dir1 Erstellt ein komprimiertes Paket im gzip-Format
tar -xvfz archive.tar.gz dekomprimiert ein komprimiertes Paket im gzip-Format
zip file1.zip file1 erstellt ein komprimiertes Paket im ZIP-Format
zip -r Datei1.zip Datei1 Datei2 Verzeichnis1 Mehrere Dateien und Verzeichnisse gleichzeitig in ein komprimiertes Paket im Zip-Format komprimieren
unzip file1.zip entpackt ein komprimiertes Paket im Zip-Format
Dateiinhalt anzeigen
cat file1 durchsucht den Inhalt der Datei, beginnend mit dem ersten Byte
tac file1 Zeigt den Inhalt einer Datei in umgekehrter Reihenfolge an, beginnend mit der letzten Zeile
more file1 zeigt den Inhalt einer langen Datei an
less file1 ähnelt dem 'more'-Befehl, erlaubt aber sowohl Rückwärtsoperationen an Dateien als auch Vorwärtsoperationen
head -2 file1 Zeigt die ersten beiden Zeilen einer Datei an
tail -2 file1 Zeigt die letzten beiden Zeilen einer Datei an
tail -f /var/log/messages Sehen Sie in Echtzeit, was zu einer Datei hinzugefügt wird
Textverarbeitung
Katze Datei1 Datei2 ... | Befehl <> file1_in.txt_or_file1_out.txt Allgemeine Syntax für die Textbearbeitung mit PIPE, STDIN und STDOUT
cat file1 | command( sed, grep, awk, grep, etc...) > result.txt Führen Sie den ausführlichen Text einer Datei zusammen und schreiben Sie die Einleitung in eine neue Datei
cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt Kombinieren Sie den ausführlichen Text einer Datei und schreiben Sie die Einleitung in eine bestehende Datei
grep Aug /var/log/messages sucht nach dem Schlüsselwort „Aug“ in der Datei ‚/var/log/messages‘
grep ^Aug /var/log/messages Sucht Wörter, die mit „Aug“ beginnen, in der Datei '/var/log/messages'
grep [0-9] /var/log/messages wählt alle Zeilen aus, die Zahlen in der Datei „/var/log/messages“ enthalten
grep Aug -R /var/log/* Suchen Sie im Verzeichnis „/var/log“ und den nachfolgenden Verzeichnissen nach der Zeichenfolge „Aug“.
sed 's/stringa1/stringa2/g' example.txt Ersetzen Sie "string1" in der Datei example.txt durch "string2"
sed '/^$/d' example.txt entfernt alle Leerzeilen aus der Datei example.txt
sed '/ *#/d; /^$/d' example.txt entfernt alle Kommentare und Leerzeilen aus der Datei example.txt
echo 'esempio' | tr '[:lower:]' '[:upper:]' Führt den Inhalt der oberen und unteren Zellen zusammen
sed -e '1d' result.txt schließt die erste Zeile aus der Datei example.txt aus
sed -n '/stringa1/p' Nur Zeilen anzeigen, die das Wort "string1" enthalten
sed -e 's/ *$//' example.txt löscht das letzte Leerzeichen jeder Zeile
sed -e 's/stringa1//g' example.txt entfernt nur das Wort "string1" aus dem Dokument und behält den Rest
sed -n '1,5p;5q' example.txt Zeigt den Inhalt von der ersten Zeile bis zur fünften Zeile an
sed -n '5p;5q' example.txt Zeile 5 anzeigen
sed -e 's/00*/0/g' example.txt ersetzt mehrere Nullen durch eine einzelne Null
cat -n file1 gibt die Anzahl der Zeilen in der Datei an
cat example.txt | awk 'NR%2==1' löscht alle geradzahligen Zeilen in der Datei example.txt
echo abc | awk '{print $1}' Zeigt die erste Spalte einer Zeile an
echo abc | awk '{print $1,$3}' Zeigt die erste und dritte Spalte einer Zeile an
paste file1 file2 Führt den Inhalt von zwei Dateien oder zwei Spalten zusammen
paste -d '+' file1 file2 Führt den Inhalt zweier Dateien oder zweier Spalten zusammen, getrennt durch "+" in der Mitte
sort file1 file2 Sortiert den Inhalt zweier Dateien
sort file1 file2 | uniq Entfernt die Vereinigung von zwei Dateien (nur eine Kopie von doppelten Zeilen wird behalten)
Sortiere Datei1 Datei2 | uniq -u Schnittpunkt entfernen, andere Zeilen belassen
sort file1 file2 | uniq -d Schnittmenge zweier Dateien entfernen (nur Dateien belassen, die in beiden Dateien vorhanden sind)
comm -1 file1 file2 Vergleicht den Inhalt zweier Dateien und löscht nur den Inhalt von „file1“.
comm -2 file1 file2 Vergleicht den Inhalt zweier Dateien und löscht nur den Inhalt von „file2“.
comm -3 file1 file2 Vergleicht den Inhalt zweier Dateien und löscht nur die Teile, die beiden Dateien gemeinsam sind
Dateisystem
mkfs /dev/hda1 erstellt ein Dateisystem auf der hda1-Partition
mke2fs /dev/hda1 erstellt ein Linux ext2-Dateisystem in der hda1-Partition
mke2fs -j /dev/hda1 Erstellen Sie ein Linux ext3 (Journal)-Dateisystem in der hda1-Partition
mkfs -t vfat 32 -F /dev/hda1 Erstellt ein FAT32-Dateisystem
fdformat -n /dev/fd0 formatiert eine Diskette
mkswap /dev/hda3 erstellt ein Swap-Dateisystem
Netzwerk
ifconfig eth0 zeigt die Konfiguration einer Ethernetkarte
ifup eth0 aktiviert ein 'eth0'-Netzwerkgerät
ifdown eth0 deaktiviert ein 'eth0'-Netzwerkgerät
ifconfig eth0 192.168.1.1 Netzmaske 255.255.255.0 Steuer-IP-Adresse
ifconfig eth0 promisc setze 'eth0' auf Promiscuous-Modus, um Pakete zu schnüffeln (Sniffing)
dhclient eth0 aktiviert „eth0“ im DHCP-Modus
route -n Routing-Tabelle anzeigen
route add -net 0/0 gw IP_Gateway konfiguriert Standard-Gateway
route add -net 192.168.0.0 Netzmaske 255.255.0.0 gw 192.168.1.1 statische Route konfigurieren, um Netzwerk '192.168.0.0/16' zu erreichen
route del 0/0 gw IP_gateway statische Route entfernen
echo "1" > /proc/sys/net/ipv4/ip_forward IP-Routing aktivieren
ethtool eth0 zeigt Statistiken der Netzwerkkarte 'eth0'
netstat -tup zeigt alle aktiven Netzwerkverbindungen und ihre PID
netstat -tupl zeigt alle Netzwerkdienste, die auf dem System lauschen, und ihre PID
tcpdump TCP-Port 80 zeigt den gesamten HTTP-Verkehr
andere
export TERM=linux – Setzt die TERM-Umgebungsvariable auf linux, sehr nützlich für die Anzeige von Linux-Terminals
export LD_LIBRARY_PATH=.-LD_LIBRARY_PATH ist eine Umgebungsvariable, die dem dynamischen Linker mitteilt, wo er nach gemeinsam genutzten Bibliotheksdateien suchen soll. Wenn Sie beispielsweise export LD_LIBRARY_PATH=. zu Ihren Umgebungsvariablen hinzufügen, sucht der dynamische Linker im aktuellen Verzeichnis nach gemeinsam genutzten Bibliotheksdateien.
Git-Befehle
git init - Initialisiert ein neues Git-Repository.
git clone – Klont ein entferntes Git-Repository lokal.
git add – Fügt eine Datei zum Staging-Bereich von Git hinzu.
git commit – Überträgt die Dateien im Staging-Bereich in das Git-Repository.
git status – Zeigt den Status des Arbeitsverzeichnisses und des Bereitstellungsbereichs an.
git log – Zeigen Sie das Commit-Protokoll eines Git-Repositorys an.
git log --grep=x - findet Schlüsselwörter aus dem Protokoll
git log --pretty=fuller – Zeigen Sie die Änderungszeit an, Sie können die detaillierte Übermittlungszeit sehen
git log --after="2020-9-23 00:00:00" --before="2020-9-23 23:59:59" – Commit-Aufzeichnungen für einen bestimmten Zeitraum anzeigen
git log --oneline --graph --all - Commit-Datensätze grafisch anzeigen
git log xxx.c - Commits für eine Datei anzeigen
git branch - listet lokale Branches auf oder erstellt/löscht/umbenennt Branches.
git branch new branch hat bereits eine Verzweigung - erstelle eine neue Verzweigung basierend auf einer Verzweigung
git branch Die Commit-ID eines bestimmten Zweigs des neuen Zweigs – erstellt einen Zweig basierend auf einem bestimmten Commit
git rev-parse --abbrev-ref HEAD - den aktuellen Zweig nur anzeigen, wenn die Git-Version älter ist
git checkout - Verzweigungen wechseln oder Dateien im Arbeitsverzeichnis wiederherstellen.
git checkout -b new branch - Erstelle einen Branch und wechsle zu ihm
git merge – Merge einen Branch mit dem aktuellen Branch.
git pull – Hole den neuesten Commit aus einem Remote-Repository und führe ihn in den aktuellen Zweig ein.
git push - Pushe lokale Commits in ein entferntes Repository.
git push origin xxx -f - Push erzwingen
git fetch – zieht die neuesten Commits aus einem entfernten Repository, ohne sie automatisch in den aktuellen Zweig einzufügen.
git remote - Verwalten Sie eine Liste von Remote-Repositories.
git remote -v - listet alle Fernbedienungen auf
git remote URL-Adresse hinzufügen - Remote hinzufügen
git remote add origin [email protected]:/home/git/.projects/nrf51822.git
git remote Name der Fernbedienung entfernen - Remote entfernen
git stash – Speichern Sie nicht festgeschriebene Änderungen im Arbeitsverzeichnis, um sie später wiederherzustellen.
git stash list - listet aktuelle Backup-Änderungen auf
git stash pop stash@{1} - ruft die Änderung des Arbeitsinhalts des aktuellen Knotens auf und löscht den Knotendatensatz
git stash apply stash@{1} – Ruft die Änderung des Arbeitsinhalts des aktuellen Knotens auf, ohne den Knotendatensatz zu löschen
git tag – Markieren Sie einen Commit.
git diff – Arbeitsverzeichnis und Staging-Bereich oder Unterschiede zwischen zwei Commits anzeigen.
git reset – Zu einem früheren Commit zurückkehren oder Dateien aus dem Staging-Bereich rückgängig machen.
git revert – Macht das angegebene Commit rückgängig.
git rm – Dateien aus dem Staging-Bereich und dem Arbeitsverzeichnis entfernen.
git mv - Dateien verschieben oder umbenennen.
git show - Zeigt Details eines Commits an.
git config - Konfigurieren Sie Einstellungen für Git.
git config log.date iso8601 - ändert die Git-Log-Zeitanzeige des aktuellen Warehouse
git config --global log.date iso8601 - Ändere die Zeitanzeige des globalen Git-Protokolls
git grep - Durchsucht ein Repository nach einem bestimmten Muster.
git bisect - Finde Commits, die Fehler in eine binäre Suche einführen.
git submodule - Verwalten Sie Submodule in Git-Repositories.
git clone --bare xxx/ - packt ein Git Warehouse in xxx.git
git-Klon xxx.git - extrahieren