kleine Shell Programme ed
eng verwandt mit Shell Scripte
Text-Verarbeitung ed
Ausgabe ed
- Strings ausgeben
echo STRINGS
- Dateiinhalt ausgeben
cat DATEIEN
- Ausgabe in Datei kopieren UND trotzdem ausgeben
BEFEHL | tee DATEI
- viel Text scrollen
less DATEI # auf- und ab BEFEHL | less more DATEI # nur abwärts
- Ausschnitt aus Datei anzeigen
head DATEI # erste 10 Zeilen anzeigen head -n ZEILEN ... # Anzahl der Zeilen tail DATEI # letzte 10 Zeilen anzeigen tail -n ZEILEN ...
einfache Operationen ed
- Wörter zählen
wc DATEI # Wörter/Zeilen/Buchstaben
- Zeilen sortieren
sort DATEI # Zeilen sortiert ausgeben -> STDOUT sort -u ... # unique (keine doppelten Zeilen) -> STDOUT uniq DATEI # keine doppelten Zeilen (falls direkt aufeinander folgend) -> STDOUT tac DATEI # in umgekehrter Reihenfolge ausgeben -> STDOUT
- Spalten
paste DATEIEN # fügt zeilenweise die Dateiinhalte durch Tabs getrennt zusammen -> STDOUT cut -f1,3-5 DATEI # nur Spalte 1, 3 bis 5 ausgeben (Spalten durch Tab getrennt) -> STDOUT cut -dZEICHEN ... # Spalten-Trennzeichen festlegen cut -c1,3-5 DATEI # nur Zeichen 1, 3 bis 5 ausgeben -> STDOUT
- Vergleichen
diff DATEI_A DATEI_B # Text-Dateien cmp DATEI_A DATEI_B # auch binär
- Konvertieren
tr DATEI ZEICHEN1 ZEICHEN2 # Zeichen1 durch Zeichen2 ersetzen (angegeben z.B. als aeiou oder [a-z]) -> STDOUT
- Ausschnitte kopieren
dd if=EINGABE_DATEI of=AUSGABE_DATEI bs=1024 count=10
# kopiert 10 Blöcke (BlockSize = 1024b = 1kb)
dd skip=10 ... # überspringt 10 Blöcke in der Eingabe
dd seek=10 ... # überspringt 10 Blöcke in der Ausgabe
dd conf=notrunc ... # Datei2 NICHT abschneidenBearbeitung ed
- Muster suchen
- Texteditoren (interaktiv)
nano emacs vi joe
Datei-Verwaltung ed
einfach ed
- Arbeitsverzeichnis
pwd # aktuelles Verzeichnis anzeigen cd VERZEICHNIS # ins Verzeichnis springen cd - # zuletzt besuchtes Verzeichnis
- Verzeichnis-Inhalt anzeigen
ls ls -l # ausführlich
- kopieren
cp DATEIEN ZIEL_VERZEICHNIS cp DATEI ZIEL_DATEI cp -r ... # rekursiv cp -u ... # update (nur wenn Quelle neuer) cp -v ... # verbose (Operationen anzeigen)
- löschen
rm DATEIEN rm -r ... # rekursiv (auch Verzeichnisse) rm -f ... # force (auch keine Fehler ausgeben) rmdir VERZEICHNIS # muss leer sein! (sonst rm -r ...)
- verschieben/umbenennen
mv DATEI ZIEL_VERZEICHNIS mv DATEI ZIEL_DATEI
- Verzeichnis erstellen
mkdir VERZEICHNIS
komplizierter ed
- Berechtigungen ändern
chmod [uga][+-][rwx] DATEI # User/Group/All +- Read/Write/Execute chmod -R ... # rekursiv
- Besitzer ändern
chown BESITZER DATEI chown -R ... # rekursiv chgrp GRUPPE DATEI chgrp -R ... # rekursiv
- Verknüpfung erstellen
ln ZIEL LINK_NAKE ln -s ... # nur symbolisch (sonst "hart")
- suchen
find -name "NAME" # im aktuellen Verzeichnis suchen (NAME kann * enthalten) find VERZEICHNIS ... # im angegebenen Verzeichnis which BEFEHL # Pfad der ausführbaren Datei whereis BEFEHL # Pfad der ausführbaren Datei, Quellcode und Manpage
- suchen und Befehl ausführen
find -name "NAME" -exec Befehl {} \; # {} wird durch den Dateinamen ersetzt- Hilfe
man BEFEHL # Dokumentation anzeigen man 3 BEFEHL # zu einem Bibliotheks-Befehl (C-Programmierung) info BEFEHL # ebenso...
- Dateisystem einhängen
mount # alle anzeigen mount DEVICE VERZEICHNIS umount DEVICE # wieder aushängen umount VERZEICHNIS
- Festplatten-Platz
df # Verbrauch auf allen Dateisystemen anzeigen du # Speicherbedarf (in kb) des aktuellen Verzeichnisses (rekursiv gelistet) du VERZEICHNIS du -h # sinnvolle Einheiten (mb/gb) du -s # nur Gesamtgröße angeben du --apparent-size # Datei-Größen (!= Speicherbedarf) angeben
- sonstige
touch DATEI # Änderungs- und Zugriffsdatum auf "jetzt" setzen
# (erstellt die Datei, falls nicht vorhanden)
file DATEI # Typ der Datei anzeigenComputer ed
Daten anzeigen ed
- aktuelle Shell
tty
- aktuelles Datum
date date +"FORMAT" # Zeit-Format angeben %S sek, %M min, %H stunde, %d tag, %m monat, % jahr
- sonstige Daten
uptime # Zeit seit dem letzten Neustart uname -a # Computername, Kernel, Architektur anzeigen
Benutzer ed
- Benutzernamen anzeigen
whoami # eigener who # alle angemeldeten w # alle angemeldeten (und deren Prozesse) finger BENUTZER # Kontodaten anzeigen
- Passwort ändern
passwd
- Benutzer wechseln
su BENUTZER su # -> Root sudo BEFEHL # Befehl als Root ausführen
Prozesse ed
- auflisten
top # Auslastung und Prozesse überwachen ps -A # alle Prozesse pidof PROZESS_NAME # prozess-id
- töten
kill PROZESS_ID killall PROZESS_NAME
- mehrere Shells (im Hintergrund)
screen # startet im Vordergrund
Strg+A+D -> Hintergrund
screen -r # wieder aufrufen (oder mehrere auflisten)- später ausführen
at ZEIT_PUNKT
BEFEHLE
Strg+D
at STUNDE:MINUTE
at now+3hours
atq # Jobs anzeigen
atrm JOB_NR # löschen- Cron Tabelle
crontable -l # anzeigen crontable -r # löschen crontable DATEI # durch Datei ersetzen
- Vordergrund/Hintergrund
befehl & # befehl im Hintergrund ausführen (und zur Shell zurückkehren)
Strg+Z # aktuellen Prozess pausieren (und zur Shell zurückkehren)
jobs # alle Prozesse anzeigen
fg # Prozess wieder im Vordergrund ausführen
fg %JOB_NR # Prozessnummer aus jobs, bei befehl & oder bei Strg+Z
bg # pausierten Prozess wieder im Hintergrund starten
bg %JOB_NR- Debugging
time BEFEHL # Ausführungszeit messen
Netzwerk ed
- generell
ping COMPUTER # Verbindung zu computer testen tracepath COMPUTER # alle Computer auf dem Weg anzeigen
- auf anderem Computer anmelden
ssh COMPUTER ssh BENUTZER@COMPUTER # als anderer Benutzer ssh -X ... # grafische Oberfläche benutzbar machen
- Dateien kopieren
scp DATEI COMPUTER:ZIEL_DATEI # auch mit BENUTZER@COMPUTER:DATEI scp COMPUTER:DATEI ZIEL_DATEI
- Dateien synchronisieren
rsync -av QUELLE/ ZIEL/ # -n: "dry run"
- Konfiguration
ifconfig # anzeigen
ifconfig eth0 IP_ADRESSE netmask 255.255.255.0 broadcast 192.168.1.255
# IP-Adresse setzen (für Gerät eth0)
route # Routing anzeigen
route add default gw IP_ADRESSE eth0
# IP-Adresse des Standart-Gateway für eth0 setzen- Samba Freigaben
smbtree # Samba im Netzwerk auflisten
smbmount //COMPUTER/FREIGABE ZIEL_VERZEICHNIS
# mounten
smbumount VERZEICHNIS # aushängen- Http
wget http://URL # Datei herunterladen w3c http://URL # Konsolen-Web-Browser
Programmieren ed
- Compiler
gcc QUELLCODE.c -o ZIEL_DATEI # C g++ # C++ gfortran # fortran python DATEI # Python
- erstellen
make # nach Regeln aus der Datei Makefile
- sonstige
ldd DATEI # benötigte Bibliotheken auflisten valgrind DATEI # Speicher debugen
sonstige ed
- eine Bedingung testen
test ... test 2 -lt 5 [ ... ]
Categories: Computer