Die wichtigsten Linux Befehle: Unterschied zwischen den Versionen
| Zeile 451: | Zeile 451: | ||
patch -p1 < patchdatei.diff | patch -p1 < patchdatei.diff | ||
| + | |||
| + | |||
| + | == wget und curl == | ||
| + | Mit wget kann man Dateien von einem Server holen. | ||
| + | |||
| + | curl kann das gleiche und zusätzlich auch Dateien auf einen Server spielen. | ||
| + | |||
| + | Einfache Beispiele: | ||
| + | |||
| + | wget -> siehe z.B. im Kapitel Typo3 Installation unter Linux | ||
| + | |||
| + | curl | ||
| + | |||
| + | curl - tool to transfer data to and from a server using http, https, ftp, telnet, ldap, gopher, file | ||
| + | Description | ||
| + | |||
| + | curl is a tool to transfer data from or to a server, using one of the supported protocols (HTTP, HTTPS, FTP, FTPS, GOPHER, DICT, TELNET, LDAP or FILE). The command is designed to work without user interaction. | ||
| + | <pre> | ||
| + | # curl [options] [URL...] | ||
| + | </pre> | ||
| + | Too many options to list, see that documentation! | ||
| + | |||
| + | Examples: | ||
| + | |||
| + | To get a page from a web site and output it to stdout: | ||
| + | |||
| + | # curl http://www.domain.com | ||
| + | |||
| + | To get a web page and output it to a file: | ||
| + | |||
| + | # curl http://www.domain.com -o "file1.txt" | ||
| + | |||
| + | To get multiple documents using varaible replacement with the current string for the URL being fetched: | ||
| + | |||
| + | # curl http://{one,two}.site.com -o "file_#1.txt" | ||
| + | |||
| + | To download go to http://curl.haxx.se | ||
| + | Author: Daniel Stenberg | ||
| + | |||
| + | (Quelle: http://www.coolcommands.com/index.php?option=com_cccat&task=display&id=341 Zugriff am 26.1.) | ||
Version vom 26. Januar 2010, 16:11 Uhr
| Basics | |
| startx | startet das X-Window-System und eine grafische Benutzeroberfläche |
| logout | ordnungsgemäßes Abmelden von der Konsole |
| [BEFEHL] --help | gibt einen kurzen Hilfetext zum [BEFEHL] aus |
| man [BEFEHL] | zeigt die Manual-Page zum [BEFEHL] an |
| info [BEFEHL] | zeigt Dokument zu [BEFEHL] im Info-System an |
| shutdown -r now | Rechner neustarten |
| shutdown -h now | Rechner herunterfahren |
| Suchen | |
| whereis [PROGRAMM] | sucht in den Verzeichnissen der Umgebungsvariablen PATH nach [PROGRAMM] |
| find . | grep [DATEI] | sucht ausgehend vom aktuellen Verzeichnis nach [DATEI] |
| grep [SUCHSTRING] [DATEI] | durchsucht DATEI nach dem Suchbegriff [SUCHSTRING] |
| locate [DATEI] | durchsucht die Locate-Datenbank nach [DATEI] |
| Programme starten | |
| [PROG] | Programm [PROG], welches sich im Pfad befindet, starten |
| ./[PROG] | Programm [PROG], welches sich im aktuellen Verzeichnis befindet, starten |
| [PFAD]/[PROG] | Programm [PROG], welches sich im Verzeichnis [PFAD] befindet, starten |
| Navigation im Dateisystem | |
| pwd | gibt das aktuelle Verzeichnis aus |
| cd / | wechselt ins Hauptverzeichnis |
| cd .. | wechselt in das übergeordnete Verzeichnis |
| cd [VERZ] | wechselt ins Verzeichnis [VERZ] |
| cd - | wechselt in das vorherige Verzeichnis |
| cd | wechselt ins Home-Verzeichnis des Benutzers |
| Dateien | |
| cat [DATEI] | zeigt den Inhalt der Datei [DATEI] auf dem Bildschirm an |
| more [DATEI] | zeigt den Inhalt der Datei [DATEI] seitenweise an |
| less [DATEI] | wie more, man kann aber auch nach oben blättern |
| cp [DATEI1] [DATEI2] | kopiert Datei [DATEI1] in Datei [DATEI2] |
| mv [DATEI1] [DATEI2] | benennt Datei [DATEI1] in [DATEI2] um |
| mv [DATEI] [VERZ] | verschiebt Datei [DATEI] ins Verzeichnis [VERZ] |
| rm [DATEI] | löscht die Datei [DATEI] |
| touch [DATEI] | erzeugt die leere Datei [DATEI] |
| Verzeichnisse | |
| ls | kurze Liste des Verzeichnisinhaltes |
| ls -l | ausführliche Liste des Verzeichnisinhaltes |
| ls -la | alle Dateien des Verzeichnisses ausführlich auflisten |
| mkdir [VERZ] | neues Verzeichnis [VERZ] erstellen |
| rmdir [VERZ] | das leere Verzeichnis [VERZ] löschen |
| rm -rf [VERZ] | alle Dateien/Verzeichnisse unterhalb des Verzeichnisses [VERZ] löschen |
| Geräte partitionieren, formatieren, überprüfen, mounten | |
| fdisk [DEVICE] | Partitionierung der Festplatte [DEVICE] |
| mke2fs [DEVICE] | Anlegen eines ext2-Dateisystems auf dem Gerät [DEVICE] |
| fsck [DEVICE] | Gerät [DEVICE] auf Fehler überprüfen |
| mount /mnt/cdrom | bindet eine eingelegte CD-ROM in das Dateisystem ein |
| umount /mnt/cdrom | entfernt eine CD-ROM aus dem Dateisystem |
| Zugriffsrechte | |
| chmod [OPTIONEN] [DATEI] | ändert die Zugriffsrechte der Datei [DATEI] |
| chgrp [GRUPPE] [DATEI] | ändert die Gruppe der Datei [DATEI] in [GRUPPE] |
| chown [OWNER] [DATEI] | ändert den Eigentümer der Datei [DATEI] in [OWNER] |
| Systeminformationen | |
| mount | Ausgabe aller gemounteter Partitionen/Geräte |
| df | Ausgabe der Nutzung der gemounteten Geräte |
| date | Anzeige von Datum und Uhrzeit |
| free | gibt die Nutzung des Arbeitsspeichers aus |
| uptime | zeigt die Prozessorauslastung und -laufzeit an |
| top | zeigt die höchsten Ressourcenverbraucher an |
| ps ax | zeigt Informationen über laufende Prozesse an |
| kill [PID] | beendet den Prozess mit der Prozess-ID [PID] |
| killall [PROZESSNAME] | beendet alle Prozesse mit dem Namen [PROZESSNAME] (z. B. mozilla) |
| uname -a | gibt Kernel-Informationen aus |
| arch | zeigt die Prozessorfamilie an |
| Benutzerverwaltung | |
| id | gibt deinen Benutzernamen und die Gruppenmitgliedschaften aus |
| whoami | Wer bin ich? Ausgabe des Benutzernamens |
| who | Wer ist alles eingeloggt? Ausgabe der Benutzernamen, des Terminals und der Login-Zeit. |
| passwd | ändert das Passwort des aktuellen Benutzers |
| useradd -m [USERNAME] | legt den neuen Benutzer [USERNAME] an und erzeugt ein Homeverzeichnis |
| passwd [USERNAME] | ändert das Passwort des Benutzers [USERNAME] (nur als root) |
| userdel -r [USERNAME] | löscht den Benutzer [USERNAME] und sein Homeverzeichnis |
| groupadd [GRUPPE] | erzeugt eine neue Gruppe [GRUPPE] |
| groupdel [GRUPPE] | löscht die Gruppe [GRUPPE] |
| screen | |
| screen -S [name] | Erzeugt einen "Screen" den sich ein anderer Benutzer "holen" kann um die Aktionen zu beobachten |
| screen -x [name] | Hole dir den Screen "name" |
| STRG+D+A | Deattached den Screen (um wieder zur Konsole zu gelangen) |
| STRG+A+SPACE | Wechselt zwischen mehreren Screens |
| exit | Killt den Screen |
| screen -ls | Listet alle Screens |
Weitere Befehle
diff und patch
Ein "diff" erzeugen mit dem GNU Programm diff
Syntax:
diff [-optionen ] dateiname1.php dateiname2.php
Beschreibung:
Diff vergleicht die beiden angegebenen Dateien und gibt auf die Standardausgabe aus, welche Zeilen wie geändert werden müssen. Ein "diff" kann dann unter Verwendung des GNU Programmes patch wieder in eine andere original Datei eingefügt werden, man nennt das auch Patchen. Das Programm patch weiß anhand der Informationen welche diff erzeugt hat, ganz genau an welcher Stelle (Zeile) was geändert werden muss.
Es besteht auch die Möglichkeit aus den Unterschieden von 2 Verzeichnissen ein "diff" zu erzeugen.
Wir erstellen erst mal ein "unified diff" mit Parameter -u (vereinheitlicht) aus zwei verschiedenen Dateien, diese Variante wird meistens angewendet bzw. gebraucht.
Die Ausgabe von diff wird dabei einfach mit > in eine neue Datei umgeleitet:
diff -u original.php gaenderte.php > meinpatch.diff
Wir erstellen nun ein "unified diff" aus zwei Verzeichnissen.
Entscheidend hierfür ist der Parameter -r (Vergleiche jegliche Unterverzeichnisse rekursiv).:
diff -ru originalverzeichnis/ gaendertverzeichnis/ > meindirpatch.diff
Einen Patch einspielen mit dem GNU Programm patch
Syntax:
patch [-optionen] < name_des_Patch.diff
Beschreibung:
Das Unixprogram patch manipuliert Quelltext anhand eines Patches. Es ist somit das Gegenstück zu dem Programm diff, das Patches erzeugt.
Zum Testen kann der Parameter --dry-run (Keine änderungen an Dateien, nur die Ausgabe was währe wenn ...) verwendet werden. Weiter ist eventuell auch noch der Parameter -b oder --backup zu empfehlen, da hiermit automatisch Sicherheitskopien der betreffenden Dateien gemacht werden.
Der Parameter -p1 bringt patch dazu, die Änderungen der Dateien, die in dem Patch angegeben sind, anzuwenden und den ersten Teil des Pfades zu den Dateien zu überspringen. Patches werden oft so erstellt, dass das Hauptverzeichnis des Quellcode-Baumes in dem Patch enthalten ist, sollen die Dateien aber von innerhalb des Hauptverzeichnisses gepatcht werden, muss patch der Parameter -p1 übergeben werden.
Zum Beispiel unter der Annahme der Dateiname in der Patchdatei war:
/u/howard/src/blurfl/blurfl.c
Ein setzen des Parameters -p0 würde die Datei nicht modifizieren,
Paramenter -p1 würde daraus u/howard/src/blurfl/blurfl.c ohne den führenden "/" machen ,
Parameter -p4 würde daraus blurfl/blurfl.c machen
und ohne -p würde es blurfl.c sein.
Mit dem Parameter -R kann man Änderungen eines einmal angewendeten Patches zurücknehmen.
patch -p1 < patchdatei.diff
wget und curl
Mit wget kann man Dateien von einem Server holen.
curl kann das gleiche und zusätzlich auch Dateien auf einen Server spielen.
Einfache Beispiele:
wget -> siehe z.B. im Kapitel Typo3 Installation unter Linux
curl
curl - tool to transfer data to and from a server using http, https, ftp, telnet, ldap, gopher, file Description
curl is a tool to transfer data from or to a server, using one of the supported protocols (HTTP, HTTPS, FTP, FTPS, GOPHER, DICT, TELNET, LDAP or FILE). The command is designed to work without user interaction.
# curl [options] [URL...]
Too many options to list, see that documentation!
Examples:
To get a page from a web site and output it to stdout:
# curl http://www.domain.com
To get a web page and output it to a file:
# curl http://www.domain.com -o "file1.txt"
To get multiple documents using varaible replacement with the current string for the URL being fetched:
# curl http://{one,two}.site.com -o "file_#1.txt"
To download go to http://curl.haxx.se Author: Daniel Stenberg
(Quelle: http://www.coolcommands.com/index.php?option=com_cccat&task=display&id=341 Zugriff am 26.1.)