Website-Suche

Linux-Spickzettel


In diesem Tutorial listen wir verschiedene praktische Linux-Befehle auf, die nur als Referenz und von erfahrenen Linux-Benutzern verwendet werden können. Nicht alle Linux-Befehle werden standardmäßig auf Ihrem System verfügbar sein, also sollten Sie in Erwägung ziehen, das entsprechende Paket zu installieren, bevor Sie es verwenden.

Dieser praktische Leitfaden für Linux-Befehle listet möglicherweise Linux-Befehle auf, die Sie bereits kennen, sich aber nicht an die Verwendungssyntax erinnern können, sowie einige neue Linux-Befehle, um die Effizienz Ihrer Linux-Befehlszeile zu verbessern. Beachten Sie, dass Sie in diesem Leitfaden nicht lernen, wie Sie Linux-Befehle verwenden, da es sich auf Ihre Erfahrung verlässt, die Syntax der Linux-Befehle unten an Ihre Bedürfnisse anzupassen.

In diesem Tutorial lernen Sie:

  • Linux-Spickzettel

Backup und Komprimierung

BefehlBeschreibung
tar -c scripts/ | bzip2 -9 > scripts.tar.bz2
Dieser Linux-Befehl verwendet tar und bzip2, um das Skriptverzeichnis mit maximaler Komprimierung zu komprimieren
dd if=/dev/sda1 | gzip -c9 > /media/usb/sda1.dd.gz
Sichern und komprimieren Sie die Partition /dev/sda1 in eine lokale Datei sda1.dd.gz
cat /media/usb/sda1.dd.gz | gzip -d | dd of=/dev/sdX1
Wiederherstellen einer komprimierten /dev/sda1-Partitionssicherung aus einer Datei auf eine /dev/sdX1-Partition
dd bs=1M if=/dev/sda | gzip -c9 | ssh user@linuxconfig.org 'dd of=sda.dd.gz'
Erstellen Sie eine komprimierte Sicherung der Festplatte /dev/sda und erstellen Sie eine Remote-Kopie mit SSH
find /etc/ -name '*.conf' | tar -c --files-from=- | bzip2 -9 > system_confs.tar.bz2
Suchen und komprimieren Sie alle Konfigurationsdateien ( *.conf ), die sich im Verzeichnis /etc/ befinden, in eine Datei mit dem Namen system_confs.tar.bz2
dd if=/dev/sdb of=my.mbr bs=466 count=1
Sichern und speichern Sie einen Master Boot Record der Festplatte /dev/sdb in einer Datei my.mbr
dd if=my.mbr of=/dev/sdX bs=466 count=1
Wiederherstellen eines Master Boot Records aus der Datei my.mbr auf die Festplatte /dev/sdX
wget --mirror https://example.com
Erstellen Sie einen vollständigen Spiegel einer Remote-Website mit dem Befehl wget
tar cvjf etc_$(date +%Y%m%d).tar.bz2 /etc/
Erstellen Sie ein Archiv des Verzeichnisses /etc/ mit dem Befehl tar und komprimieren Sie es mit bzip2. Die komprimierte Datei enthält ein aktuelles Datum in einem Dateinamen.
tar xvjf etc.tar.bz2
Entpacken eines bzip2-Archivs etc.tar.bz2
find /var/www/ -name '*.gif' | xargs cp -va --target-directory=/tmp/gifs
Suchen Sie alle GIF-Dateien ( *.gif ) in /var/www/ und kopieren Sie sie in das Verzeichnis /tmp/gifs.
ssh user@linuxconfig.org '( mysqldump --password='pass' data > data.sql )'
Erstellen Sie aus der Ferne eine MySQL-Datenbanksicherung der Datendatenbank in eine Remote-Datei data.sql
split -b 1000m linux-commands.iso
Teilen Sie eine Datei linux-commands.iso in 1-GB-Dateien auf. Dies wird xaa, xab, xac erzeugen. Dateien mit einer maximalen Größe von jeweils 1 GB. Kann bei der Arbeit mit dem FAT32-Dateisystem nützlich sein. Im Folgenden erfahren Sie, wie Sie die geteilte Datei wiederherstellen können.
cat xa* > linux-commands.iso
Stellen Sie eine geteilte Datei wieder in linux-commands.iso wieder her. Siehe oben, wie man eine Datei aufteilt.

Durchsuchen des Dateisystems

BefehlBeschreibung
find /opt -name 'pass*' -or -size +1000k
Suchen Sie alle Dateien im Verzeichnis /opt, bei denen der Dateiname mit pass beginnt oder die Dateigröße 1000 KB oder mehr beträgt. Fühlen Sie sich frei, andere boolesche Operatoren wie AND und NOT zu verwenden.
locate -r '[^/]*\.conf'
Durchsuchen Sie den Index und suchen Sie alle Dateien mit der Erweiterung *.conf. Möglicherweise müssen Sie updatedb zuerst ausführen.
find /home/lilo/ -type f ! -perm 755
Suche nach allen Dateien in /home/lilo, die keine Berechtigungen haben 755
find /home/lilo/ -type f -perm 777
Suche nach allen Dateien in /home/lilo mit einer Berechtigung 777
ls -ltr
Listet alle Dateien in einem aktuellen Verzeichnis auf, sortiert nach Zugriffs-/Erstellungszeit
find /tmp/ -mmin -20
Findet alle Dateien in /tmp, die innerhalb der letzten 20 Minuten erstellt wurden
find /tmp -iname file -exec chmod 777 {} \;
Suchen Sie nach einer Datei mit dem Namen file (Groß-/Kleinschreibung wird nicht beachtet) und ändern Sie deren Berechtigungen auf 777
find /var/log/ -size 8k
Suche nach Dateien int /var/log mit einer Größe von 8k
find / * -perm +6000 -type f -exec ls -ld {} \; > setuid.txt
Erstellen Sie eine Liste setuid.txt, die die Namen aller Binärdateien mit setuid und setguid enthält.

Vernetzung

BefehlBeschreibung
curlftpfs ftp-user:ftp-pass@remote.ftp.com /mnt/my_ftp/
Mounten des Remote-FTP-Servers in ein lokales Dateisystem /mnt/my_ftp/
ssh user@ssh-server.com '( cd /tmp/ && touch ssh_file.txt )'
Führen Sie Befehle remote mit ssh aus.
ssh user@ssh-server.com '( cat /etc/passwd )' > /tmp/passwd
Erstellen einer lokalen Kopie von remote /etc/passwd
airodump-ng -c 6 -w data-capture wlan0
Schnüffeln von drahtlosen Netzwerkpaketen über die WLAN0-Funkschnittstelle
macchanger -r eth0
Erstellen einer gefälschten MAC-Adresse für eine eth0-Netzwerkschnittstelle
ssh -L 4500:127.0.0.1:23 linuxconfig.org
Erstellen eines SSH-Tunnels für Telnet über den lokalen Port 4500
ssh -L 8025:mail.sample.org:25 mail.sample.org
Tunneln des Datenverkehrs von einem lokalen Systemport 8025 zu Port mail.sample.org an Port 25
lsof -i tcp:22
Zeigt einen Dienst an, der Port 22 verwendet
ethtool eth0
Status der eth0-Netzwerkschnittstelle anzeigen
iwlist wlan0 scanning
Suche nach verfügbaren drahtlosen Netzwerken über die wlan0-Schnittstelle
netstat -ant
Liste aller TCP-Ports auf dem System
netstat -tupl
Listet alle verfügbaren Dienste auf dem System auf
ip route add default via 10.10.10.10
Festlegen einer Standardroute über 10.10.10.10

Arithmetik und Umrechnungen

BefehlBeschreibung
echo $((0xFFF))
Konvertieren Sie die Hexadezimalzahl ( in diesem Fall FFF ) in eine Dezimalzahl mit Hilfe der Shell-Erweiterung.
echo $((8#44))
Konvertieren Sie die Oktalzahl ( in diesem Fall 44 ) mit Hilfe der Shell-Erweiterung in eine Dezimalzahl.
echo "obase=16; ibase=10; 555;" | bc
Konvertieren Sie die Dezimalzahl ( in diesem Fall 555 ) in eine Hexadezimalzahl mit Hilfe der Shell-Erweiterung.
echo "obase=8; ibase=10; 64;" | bc
Konvertieren Sie die Dezimalzahl ( in diesem Fall 64 ) mit der Shell-Erweiterung in eine Oktalzahl.
echo "obase=16; ibase=8; 255;" | bc
Konvertieren Sie die Oktalzahl ( in diesem Fall 255 ) in hexadezimal mit der Shell-Erweiterung.
echo "3447.2 * 343.61" | bc
Multipliziere eine Zahl. Für Addition und Subtraktion verwenden Sie "+" und "-" anstelle von "*"
echo "scale=10; 100 / 3" | bc
Dividieren Sie die Zahl mit einer Gleitkommagenauigkeit von 10
units -t '13miles' 'km'
Meilen in Kilometer umrechnen ( z.B. 13 Meilen )
units -t '10.5inches' 'cm'
Konvertieren Sie Zoll in Zentimeter (z. B. 10,5 Zoll)
units -t '78344352ms' 'hour'
Millisekunden in Stunden umrechnen

Manipulation von Text

BefehlBeschreibung
dd if=commands.txt of=commands.new conv=lcase
Konvertieren Sie alle Zeichen von Großbuchstaben in Kleinbuchstaben Dadurch wird eine Quelldatei nicht geändert, sondern eine neue Datei mit dem Namen commands.new erstellt
rename 's/\.sh$/.bash/' *.sh
Benennen Sie alle Dateien in einem aktuellen Arbeitsverzeichnis mit der Erweiterung *.sh in *.bash um
rename 's/^/new_/' *.conf
Fügen Sie allen Dateien in einem aktuellen Arbeitsverzeichnis mit der Erweiterung *.conf ein Präfix new_ hinzu
grep -v ^\# /etc/ntp.conf | grep .
Zeigt nur unkommentierte Zeilen innerhalb einer Konfigurationsdatei sowie leere Zeilen an.
ls | grep " " | while read -r f; do mv "$f" `echo $f | tr ' ' '_'`; done
Entfernen von Leerzeichen aus allen Dateinamen in einem aktuellen Arbeitsverzeichnis
ls | while read -r f; do mv "$f" `echo $f | tr '[A-Z]' '[a-z]'`; done
Ändern Sie alle Dateinamen in einem aktuellen Verzeichnis von Großbuchstaben in Kleinbuchstaben.

Datum und Uhrzeit

BefehlBeschreibung
date -ud@1244763573
Konvertieren einer Epochenzeit in eine koordinierte Weltzeit
date -d "Dec 23 18:10:02 EST 2010" +%s
Konvertieren des Datums in eine Epochenzeit
echo 'wget -c http://linux.com/distro.iso' | at 03:00
Laden Sie ein ISO-Image um 3 Uhr morgens herunter. -c ermöglicht es Ihnen, den Download fortzusetzen, falls die Netzwerkverbindung unterbrochen wird.
date -d '2 Feb 2013' +%A
Welcher Tag wäre/war der 2. Februar 2013? ...Samstag
units -t '10 days + 6 hours + 26 minutes + 59 seconds' 'seconds'
Zeit in Sekunden umrechnen

Multimedia

BefehlBeschreibung
wodim --devices
Abrufen eines Dateinamens für einen Brennerblock
cdrecord -v blank=all dev=/dev/scd0
Löschen Sie Ihre CD-rw/löschen Sie sie vollständig. Hinweis: Verwenden Sie wodim –devices, um den Dateinamen Ihres Blockgeräts zu erhalten.
cdrecord -v blank=fast dev=/dev/scd0
Löschen Sie schnell Ihre CD-RW. Hinweis: Verwenden Sie wodim –devices, um den Dateinamen Ihres Blockgeräts zu erhalten.
fmpeg -i out.wav -acodec libmp3lame out.mp3
Konvertieren Sie das WAV-Audioformat in MP3
normalize-mp3 *.mp3
Normalisieren Sie die Lautstärke für alle Ihre MP3-Audiodateien, um plötzliche Lautstärkespitzen zwischen den Titeln zu reduzieren.
cat file1.mp3 file2.mp3 > out.mp3
Fügen Sie alle MP3-Audiodateien zu einer einzigen Spur zusammen.
sox file1.wav file2.wav file3.wav out.wav
Fügen Sie alle wav-Audiodateien zu einer einzigen Spur zusammen.
for i in $( ls ); do ffmpeg -i $i $i.wav; done
Konvertieren Sie alle MP3- oder AC3-Audiodateien in das WAV-Format.
normalize-audio -m *.wav
Normalisieren Sie die Lautstärke für alle Ihre WAV-Audiodateien, um plötzliche Lautstärkespitzen zwischen den Titeln zu reduzieren.
cdrecord -v -nofix -eject dev='/dev/scd0' -audio -pad *.wav
Brennen Sie alle WAV-Audiodateien auf eine CD mit dem Gerät /dev/scd0
cdrecord -v -fix -eject dev='/dev/scd0'	
Beenden Sie eine CD-Sitzung mit dem Brenngerät /dev/scd0.
ffmpeg -f x11grab -s xga -r 25 -i :0 -sameq screen.mpg
Nehmen Sie ein Video Ihres Bildschirms in einer screen.mpg Videodatei auf.
for i in $( ls *.jpg ); do convert -resize 25% $i new_$i; done
Ändern Sie die Größe aller Bilder in Ihrem aktuellen Verzeichnis ( in diesem Fall Bilder mit der Erweiterung *jpg ) auf 25% der Originalgröße.
mkisofs -o /tmp/cd.iso /path/to/your/files/
Erstellen Sie ein ISO-Image aus Dateien in /path/to/your/files/
wodim -eject -tao speed=0 dev=/dev/scd0 -v -data /my/image.iso
Brennen Sie ein ISO-Image mit wodim und /dev/scd0 Brenngerät.
mount -t iso9660 /path/to/iso/file.iso /mnt/iso -o loop
Mounten Sie das ISO-Image in ein /mnt/iso-Verzeichnis.
xrandr --output VGA --auto
Klonen Sie einen Videoausgang auf Ihren VGA-Anschluss. Nützlich für Präsentationen. Verwenden Sie xrandr ohne Argumente, um zu sehen, ob VGA an einen Projektor angeschlossen ist.
arecord -d 10 /tmp/out.wav
Testen Sie Ihr Mikrofon.

Festplattennutzung und -verwaltung

BefehlBeschreibung
time dd if=/dev/hdb of=/dev/null bs=1024k
Zerstörungsfreier Test der Festplattengeschwindigkeit und -größe. Ersetzen Sie /dev/hdb durch Ihre Festplatte.
du -m --max-depth 1 | sort -rn | head -11
Ermitteln Sie die Verzeichnisgröße aller Verzeichnisse in einem aktuellen Arbeitsverzeichnis, sortieren Sie sie und zeigen Sie die ersten 10 größten Verzeichnisse an. Hinweis: Das erste Verzeichnis ist ein übergeordnetes Verzeichnis.
du -s * | sort -k1,1rn | head
Zeigen Sie die Top 10 der größten Dateien oder Verzeichnisse in einem aktuellen Arbeitsverzeichnis an.
dd if=/dev/zero of=/sp bs=10000 count=10000; mkswap /sp; swapon /sp
Erstellen Sie eine /sp-Datei mit einer Größe von 100 MB, generieren Sie eine Auslagerungssignatur und fügen Sie die /sp-Datei in den Auslagerungsspeicher des Gesamtsystems ein. Dadurch werden weitere 100 MB zum Swap Ihres Systems hinzugefügt.
dpkg-query -Wf='${Installed-Size;10}\t${Package}\n' | sort -k1,1rn
Nur DEB-Paketverwaltung. Zeige alle installierten Pakete an und sortiere sie vom größten zum kleinsten.
rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1rn
Nur RPM-Paketverwaltung. Zeige alle installierten Pakete an und sortiere sie vom größten zum kleinsten.
head -c 100000000 /dev/urandom > file.data
Erstellen Sie eine file.data mit zufälligen Daten und einer Größe von ca. 100 MB.
dd bs=1 seek=2TB if=/dev/null of=~/large-file
Erstellen Sie eine 2 TB ~/große Datei, die keinen Speicherplatz benötigt.
df -h .
Informationen über den freien Speicherplatz für eine Partition, die sich unter Ihrem aktuellen Arbeitsverzeichnis befindet.

Hardware-Informationen

BefehlBeschreibung
biosdecode
Rufen Sie BIOS-Informationen ab.
dmidecode -s bios-vendor
Abrufen Ihres BIOS-Anbieters
dmidecode --type baseboard
Abrufen von Informationen über Ihr Motherboard
ls -la /dev/disk/by-id/usb-*
Dateien von USB-Festplattengeräten. HINWEIS: Der USB-Datenträger muss eingesteckt sein. Funktioniert möglicherweise nicht auf allen Systemen.
hdparm -I /dev/sdx
Festplattenmodell von /dev/sdx.
hdparm -tT /dev/sdx
Geschwindigkeit der Festplatte. HINWEIS: Bei diesem Test wird ein Dateisystem nicht berücksichtigt.
hddtemp /dev/sda
Überprüfen Sie die Temperatur der /dev/sda-Festplatte
lspci | grep VGA
Abrufen von Informationen zu Ihrer Grafikkarte
dmidecode --type 4
Rufen Sie Ihre Prozessorinformationen ab. Versuchen Sie es auch mit cat /proc/cpuinfo
x86info -a 2> /dev/null | grep Connector | uniq
Rufen Sie einen Prozessorsockeltyp ab. Damit dies funktioniert, müssen Sie einen x86info-Befehl zur Verfügung haben. Versuchen Sie, das x86info-Paket zu installieren.
dmidecode -t 17
Ermitteln Sie die Anzahl der verwendeten RAM-Steckplätze, deren Geschwindigkeit und Größe. Versuchen Sie auch: lshw -C memory -short
cat /dev/sndstat
Überprüfen Sie die Einstellungen Ihrer Soundkarte und das verwendete Modul.
powersave -b
Abrufen von Informationen zur Batterie.
free -m
Überprüfen Sie den freien Speicher des Systems. Dazu gehört auch der Auslagerungsspeicher. Alternativen sind: top, cat /proc/meminfo
fdisk -l | grep GB
Überprüfen Sie die Größe aller Festplatten einschließlich USB.

Tipps & Tricks

BefehlBeschreibung
head -c 4 /dev/urandom | mimencode
Generiere 8 zufällige Zeichen. HINWEIS: mimencode ist Teil des metamail-Pakets
echo "DISPLAY=$DISPLAY xmessage -center 'abc'" | at "NOW +1hour"
Zeigen Sie in einer Stunde eine GUI-Meldung in der Mitte Ihres Bildschirms an.
:(){ :|:& };:
Gabel-Bombe. Einfache Möglichkeit, Ihr System zum Absturz zu bringen.
ccrypt mypasswords.txt
Verschlüsseln Sie eine Datei.
ccdecrypt mypasswords.txt.cpt
Entschlüsseln Sie eine zuvor verschlüsselte Datei mit ccrypt.

Abschließende Gedanken

Fühlen Sie sich frei, jederzeit auf diesen Spickzettel zu verweisen, wenn Sie eine schnelle Auffrischung benötigen. Das Ziel hier ist es, Ihnen so viel Zeit wie möglich zu sparen, wenn Sie versuchen, sich einen bestimmten Befehl zu merken.

Zwei weitere Befehle, die jeder Benutzer kennen sollte, sind der Befehl man und der Befehl apropos. Wenn Sie diese beiden Befehle kennen, die sehr einfach zu bedienen sind, können Sie alle Optionen nachschlagen, die zu bestimmten Befehlen gehören. Apropos eignet sich auch gut als manuelles Suchprogramm, sodass Sie Ihr Terminal nicht sehr oft verlassen müssen.

Verwandte Artikel: