Linux Befehle: Unterschied zwischen den Versionen

Aus Mediawiki Ferdinand Gruber
Zur Navigation springen Zur Suche springen
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
 
[[Kontrollstrukturen]]
 
[[Kontrollstrukturen]]
  
[[Datenträger und Dateisystem]]
+
[[Allgemeine Befehle - alphabetisch]]
 
 
[[Dateiverwaltung]]
 
  
[[Bilder bearbeiten]]
 
  
[[Prozesse verwalten]]
 
  
[[Netzwerk]]
+
[[Zeichenketten bearbeiten]]
  
= Allgemein =
+
[[Rechnen]]
  
== at ==
+
[[Bilder bearbeiten]]
* Befehl zu einer bestimmten Zeit ausführen
 
Einen bestimmten Befehl um 23:00 ausführen
 
at 23:00
 
Es erscheint der at-Prompt zur Eingabe eines Befehls. Eingabe abschließen mit '''STRG + D'''. Der Befehl wird unter einer Jobnummer gespeichert in
 
/var/spool/atjobs
 
* Job löschen
 
Beispiel: Job Nr. 3 löschen
 
atrm 3
 
* Jobs anzeigen
 
atq
 
  
== alias ==
 
* Aufruf von Linux Kommandos in verkürzter Form
 
Beispiele:
 
alias wol_backup="wol 00:18:F3:23:BD:B8"
 
alias lpr="lpr -o page-left=30 -o page-top=40"
 
  
* Aliases dauerhaft speichern in
 
~/.bashrc
 
Gespeicherte Aliases aufrufen durch
 
alias
 
  
* Alias löschen
+
[[Datenträger und Dateisystem]]
# Beispiel:
 
unalias wake_backup
 
  
== chroot ==
+
[[Dateiverwaltung]]
Verschieben des Wurzelverzeichnisses = Root Verzeichnis
 
chroot /mnt /bin/bash
 
# ergänzend:
 
mount /proc
 
mount /sys
 
wenn in /mnt ein Linux Rootsystem gemountet ist
 
  
== date ==
+
[[Prozesse verwalten]]
Die Formatdefinition wird mit einem '''+''' eingeleitet.
 
* Alter einer Datei in Stunden
 
  Stunden=`( ($(date +%s) - $(date +%s --reference $LOCKFILE)) / 3600 )`
 
* Zeit und Datum extrahieren
 
zeit=`date +%T | cut -c1-5`
 
datum="`date +%A'  '%d.%m.%Y`"
 
  
== dmesg ==
+
[[Netzwerk]]
Zeigt Kernelmeldungen beim Booten an.
 
 
 
== find ==
 
* Suchen von Dateien in einem bestimmten Verzeichnis
 
Normalerweise beginnt die Suche im aktuellen Verzeichnis.
 
find /root -name "fileCopy.lock*"
 
In diesem Beispiel ist das Verzeichnis <code> /root </code> der Startpunkt für die Suche.
 
=== Ein Kommando auf das Suchergebnis anwenden ===
 
Mit der Option '''-exec''' kann man nur einen Befehl ausführen. Die Konstruktion <tt>{}</tt> wird durch den '''Pfadnamen''' der gefundenen Datei(en) ersetzt.
 
* Bestimmte Bilder rekursiv löschen
 
filename=DSC00079.jpg
 
find . -name "$filename" -exec rm {} \;
 
 
 
# Beispiel für das Verzeichnis der Komponente <tt>Phocagallery</tt> in Joomla
 
In diesem Beispiel sollen folgende Dateien gelöscht werden:
 
DSC00079.jpg
 
phoca_thumb_l_DSC00079.jpg
 
phoca_thumb_m_DSC00079.jpg
 
phoca_thumb_s_DSC00079.jpg
 
 
 
filename=DSC00079.jpg
 
find . -name "*$filename" -exec rm {} \;
 
 
 
# Dateien löschen
 
find . -name '*.bak' -exec rm {} \;
 
 
 
# Verzeichnisse löschen
 
find  . -name "*Foto laden*" -type d -exec rm {} -R \;
 
 
 
# Broken Symlinks finden und speichern
 
find . -type l ! -execdir test -e '{}' \; -print > broken.links
 
 
 
# Broken Links löschen
 
while read Zeile ; do rm "$Zeile" ; done < broken.links
 
 
 
* Schleife durch die Ausgabe des find Befehles
 
find . -name *.tif | \
 
while read file ; do
 
  # Bilder konvertieren:
 
  convert "$file" "`dirname "$file"`/`basename "$file" .tif`.jpg"
 
  # Dateinamen in Großbuchstaben:
 
  cp $file `dirname $file`/`basename $file | tr a-z A-Z`
 
done
 
 
 
* Suchen und ersetzen von Text
 
find . -type f -name "*.php" | \
 
while read file ; do
 
  cp "$file" Datei.tmp 
 
  sed -e s/'suchtext'/'ersatztext'/g Datei.tmp > "$file"                             
 
done
 
 
 
* Suchtiefe einschränken
 
find . -type d -maxtepth 1 -name "joomla_*"
 
 
 
== grep ==
 
* Text rekursiv in allen Dateien suchen
 
grep -r Suchtext /www/HS_Server/
 
* Nur in bestimmten Dateien suchen
 
grep -r --include "*.php" Suchtext /www/HS_Server/
 
 
 
== hwinfo ==
 
Hardwareinfo ausgeben, Beispiele:
 
hwinfo --sound
 
hwinfo --scanner
 
 
 
== iconv ==
 
Textdateien konvertieren in andere Kodierung
 
# Beispiel
 
cat Datei.html | iconv -f ISO_8859-15 > Datei.html
 
# oder iconv -f ISO_8859-15 Quelldatei.html -o Zieldatei.html
 
 
Folgendes Script konvertiert alle html-Dateien und php-Dateien im aktuellen Verzeichnis:
 
/usr/local/bin/iconv.sh
 
 
 
== loadkeys ==
 
loadkeys de
 
Deutsche Tastatur laden
 
 
 
== lpr ==
 
Drucken von der Kommandozeile
 
* Datei im Querformat drucken und Ränder setzen
 
lpr -o page-left=30 -o page-top=40 -o landscape /etc/fstab
 
* Ausgabe eines Kommandos drucken
 
fdisk -l | lpr
 
* Standard Options
 
[http://www.cups.org/documentation.php/options.html#OPTIONS http://www.cups.org/documentation.php/options.html#OPTIONS]
 
* Howto
 
[http://www.cups.org/documentation.php/options.html http://www.cups.org/documentation.php/options.html]
 
 
 
== read ==
 
Variable einlesen mit editierbarem Vorgabewert
 
name="Ferdinand Anton"
 
read -e -i "$name" -p "Please enter your name: " input
 
echo $input
 
== rpm ==
 
RPM Paket downloaden und gleich installieren, Beispiel:
 
 
rpm -vU http://download.insecure.org/nmap/dist/nmap-4.20-1.i386.rpm
 
 
# -v (verbose)
 
# -U (Update)
 
Infos über Pakete abrufen: -qa = Abfrage, query über alle Pakete.
 
# Anzahl der Pakete
 
rpm -qa | wc -l
 
 
# Info über bestimmtes Paket, in diesem Fall quenview
 
rpm -qa | grep quenview
 
 
 
Info über rpm: [http://www.tu-chemnitz.de/docs/lindocs/RPM/node4.html http://www.tu-chemnitz.de/docs/lindocs/RPM/node4.html]
 
 
 
== screen ==
 
Mit <tt>screen</tt> kann man innerhalb einer Konsole mehrere Konsolensitzungen erzeugen.
 
 
 
Info: [http://web.archive.org/web/20041012204417/www.linux-user.de/ausgabe/2001/01/092-zubefehl/befehl12.html Artikel aus LinuxUser ]
 
* Screen Session starten
 
screen
 
* Screen Session abtrennen
 
screen -d [-S Name]
 
Die Sitzung läuft dann im Hintergrund eigenständig weiter.
 
* Screen Sitzung wiederaufnehmen
 
screen -R [-S Name]
 
* Tastenbefehle für den interaktiven Modus:
 
Die Tastenbefehle werden eingeleitet mit <tt>Strg a</tt>.
 
Eine Liste der Tastenkombinationen erhält man mit der Tastenkombination Strg a ?.
 
Einige Beispiele:
 
: Neues Fenster: <tt>Strg a c</tt>
 
: Nächstes Fenster: <tt>Strg a Leertaste</tt>
 
: Sitzung abtrennen: <tt>Strg a d</tt>
 
* Screen Befehle
 
Diese Befehle ersetzen die im interaktiven Modus verwendbaren Tastenkombinationen und können somit in Scripten verwendet werden. Die Befehle werden mit der Option -X eingeleitet.
 
* Nächstes Fenster
 
screen -X next
 
* Neues Fenster
 
screen -X screen
 
* Befehl in neuem Fenster
 
screen -X screen yast
 
 
 
== seq ==
 
seq -w 10
 
Gibt die Zahlen von 1 bis 10 mit führenden Nullen aus.
 
 
 
== su ==
 
Dauerhafter Wechsel der Identität
 
# Login als Root mit entsprechenden Umgebungseinstellungen
 
su -
 
 
# Wechsel zu Root ohne Umgebungseinstellungen, man bleibt im selben Verzeichnis
 
su
 
 
 
Damit man von der Textkonsole aus auch grafische Programme verwenden kann, gibt es den Befehl '''kdesu'''.
 
Beispiel:
 
kdesu konqueror
 
 
 
== sudo ==
 
* Mit sudo kann ein Befehl unter einem anderen Benutzer ausgeführt werden, typischerweise als root.
 
sudo befehl
 
# oder
 
sudo -u username befehl
 
 
 
* Mit dem Kommando
 
visudo
 
kann man die Datei <code>/etc/sudoers</code> bearbeiten
 
 
 
* Beispiel:
 
# Shutdown für die  Gruppe users erlauben:
 
%users  localhost=/sbin/shutdown -h now
 
 
 
# ... für alle:
 
ALL  localhost=/sbin/shutdown -h now
 
 
 
* Hier findet man eine gute Anleitung: http://www.gentoo.org/doc/de/sudo-guide.xml#doc_chap3
 
 
 
== uname ==
 
Systeminformationen ausgeben
 
uname -a
 
liefert alle Infos
 
 
 
== xdg-open ==
 
Öffnet eine Datei oder URL mit dem dafür vorgesehenen Standardprogramm.
 
xdg-open PIC12345.jpg
 
 
 
[[Zeichenketten bearbeiten]]
 
 
 
=Rechnen=
 
* Syntax
 
Rechenaufgabe sind für die bash mit dem richtigen Syntax kein Problem:
 
echo $(( 2 * 2 ))
 
4
 
 
 
Auch mit kleineren Formeln kommt sie klar:
 
echo $((a=1,b=2,n=2,c=a+b,c**n))
 
9
 
* expr
 
expr 13 + 37
 
ergebnis=`expr 13 + 37`
 
echo $ergebnis
 
50
 

Aktuelle Version vom 19. November 2021, 19:27 Uhr