Allgemeine Befehle - alphabetisch

Aus Mediawiki Ferdinand Gruber
Version vom 9. August 2023, 07:31 Uhr von WikiSysop (Diskussion | Beiträge) (→‎at)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

at

Einen Befehl zu einer bestimmten Zeit ausführen

  • atd starten
service atd start
  • Anwendungsbeispiele
at 23:00 
at 06:00 2023-08-09

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
# Beispiel:
unalias wake_backup

chroot

Verschieben des Wurzelverzeichnisses = Root Verzeichnis

chroot /mnt /bin/bash
# ergänzend:
mount /proc
mount /sys

... wenn in /mnt ein Linux Rootsystem gemountet ist

date

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

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 /root 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 {} 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 Phocagallery 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/
  • Suchbegriff enthält Sonderzeichen

Suchbegriff in singleQuotes setzen und vor jedes Sonderrzeichen einen Backslash

# Beispiel
grep '\-!\-' *.php

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

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

  • Howto

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

screen

Mit screen kann man innerhalb einer Konsole mehrere Konsolensitzungen erzeugen.

Info: 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 Strg a. Eine Liste der Tastenkombinationen erhält man mit der Tastenkombination Strg a ?. Einige Beispiele:

Neues Fenster: Strg a c
Nächstes Fenster: Strg a Leertaste
Sitzung abtrennen: Strg a d
  • 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 /etc/sudoers bearbeiten

Einen anderen Editor für visudo verwenden

Einen Alias anlegen und diesen in /root/.bashrc eintragen.

# tilde als Editor für visudo verwenden
alias visudo='export VISUAL=tilde; visudo'

Beispiele

Shutdown für die Gruppe users erlauben

%users  localhost=/sbin/shutdown -h now
# ... für alle:
ALL  localhost=/sbin/shutdown -h now 

Script für chown

Das Kommando chown kann normalerweise nur der Benutzer root ausführen.

# chown.sh
user=$1
group=$2
filePattern=$3
chown $user.$group $filePattern

Das Script speichern als /usr/local/bin/chown.sh. Man kann es als normaler User aufrufen bzw. in einem Script verwenden, wenn man folgende Zeile zu /etc/sudowers hinzufügt:

myusername  ALL = (root) NOPASSWD:/usr/local/bin/chown.sh 

Aufruf des Scripts vor dem Upload von Dateien zum Webhost.

# Beispiel
sudo chown.sh wwwrun www *.php

Es erfolgt keine Passwortabfrage. Es kann also der Eigentümer der Dateien ohne root-Rechte geändert werden.

Info

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