nuetzliche_linux-werkzeuge
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| nuetzliche_linux-werkzeuge [2020-08-11 11:41:34] – [nützliche Linux-Werkzeuge] manfred | nuetzliche_linux-werkzeuge [2026-02-10 01:39:59] (aktuell) – [dm_crypt-0] manfred | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== nützliche Linux-Werkzeuge ====== | ||
| + | |||
| + | siehe auch: [[:: | ||
| + | |||
| + | [[https:// | ||
| + | ...seine Favoriten: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | |||
| + | ===== man ===== | ||
| + | |||
| + | To obtain a neat PostScript rendering of a manual page, use '' | ||
| + | of the man(1) utility: '' | ||
| + | | ||
| + | man -t grep > grep.ps | ||
| + | or | ||
| + | man -t printf | lp # Send the PostScript directly to printer | ||
| + | |||
| + | |||
| + | ===== top ===== | ||
| + | |||
| + | In //top// gibt es drei wichtige Schalter: | ||
| + | - **h** -> //Hilfe//: hier wird eine Kurzanleitung zur Bedinung angezeigt | ||
| + | - **o** -> //Order//: hiermit kann man dann die Reihenfolge der Felder festlegen | ||
| + | - **f** -> //Field//: hiermit kann man festlegen, nach welcher Spalte sortiert die Tabelle angezeigt werden soll | ||
| + | * es ist aber auch möglich, hiermit zusätzliche Spalten zu aktivieren, indem man sie einfach als // | ||
| + | |||
| + | man kann die anzuzeigenden Spalten aber auch über eine Konfigurationsdatei festlegen: | ||
| + | > echo " | ||
| + | oder | ||
| + | > echo " | ||
| + | |||
| + | Die Buchstabenfolge, | ||
| + | Indem man kleingeschriebene Buchstaben in Grußbuchstaben umwandelt, aktiviert man sichtbare Spalten. | ||
| + | Die Reihenfolge der Buchstaben legt die Reihenfolge der Spalten in der Tabelle fest. | ||
| + | |||
| + | m: TIME+ = CPU Time, hundredths | ||
| + | f: GROUP = Group Name | ||
| + | c: RUSER = Real user name | ||
| + | * A: PID = Process Id | ||
| + | * B: PPID = Parent Process Pid | ||
| + | * K: %CPU = CPU usage | ||
| + | * H: PR = Priority | ||
| + | * I: NI = Nice value | ||
| + | * P: SWAP = Swapped size (kb) | ||
| + | * Q: RES = Resident size (kb) | ||
| + | * L: TIME = CPU Time | ||
| + | * R: CODE = Code size (kb) | ||
| + | * O: VIRT = Virtual Image (kb) | ||
| + | d: UID = User Id | ||
| + | e: USER = User Name | ||
| + | n: %MEM = Memory usage (RES) | ||
| + | g: TTY = Controlling Tty | ||
| + | u: nFLT = Page Fault count | ||
| + | t: SHR = Shared Mem size (kb) | ||
| + | s: DATA = Data+Stack size (kb) | ||
| + | v: nDRT = Dirty Pages count | ||
| + | y: WCHAN = Sleeping in Function | ||
| + | w: S = Process Status | ||
| + | j: P = Last used cpu (SMP) | ||
| + | z: Flags = Task Flags < | ||
| + | * X: COMMAND | ||
| + | |||
| + | |||
| + | ===== netstat / ss ===== | ||
| + | |||
| + | Alt: | ||
| + | > netstat -anp tcp | ||
| + | > netstat -anf inet | ||
| + | > netstat -Lanf inet | ||
| + | |||
| + | Neu: | ||
| + | > ss -anp tcp | ||
| + | > ss -anf inet | ||
| + | > ss -Lanf inet | ||
| + | |||
| + | |||
| + | ===== netcat (nc) ===== | ||
| + | |||
| + | Verbindungstest (hier zu einen MySQL-Server): | ||
| + | > nc 10.11.12.13 3306 -v | ||
| + | Connection to 10.11.12.13 3306 port [tcp/mysql] succeeded! | ||
| + | |||
| + | |||
| + | ===== socat (Nachfolger von netcat) ===== | ||
| + | |||
| + | <code bash 1. socat-Empfänger auf " | ||
| + | root@host02: | ||
| + | </ | ||
| + | |||
| + | <code bash 2. socat-Sender auf " | ||
| + | root@host01: | ||
| + | </ | ||
| + | |||
| + | <code bash 3. Daten werden auf " | ||
| + | root@host02: | ||
| + | Hallo Welt! | ||
| + | root@host02: | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== screen ===== | ||
| + | |||
| + | Will man einen Prozess auf einenen entfernten Rechner starten, dann kann es zu Verbindungsabbrüchen kommen. | ||
| + | In soeinem Fall würde der Prozess in aller Regel auch sterben. | ||
| + | |||
| + | Um das zu vermeiden kann man den Prozess auch mit dem vorangestellten Befehl " | ||
| + | Allerdings kann man nach einem Verbindungsabbruch nicht wieder auf die Konsole zurück. | ||
| + | |||
| + | Deshalb wurde das nützliche Werkzeug " | ||
| + | |||
| + | Mit screen öffnet man einen Schirm (screen), in dem dann die Befehle, Scripte und Prozesse gestartet werden, die auch durch einem Verbindungsabbruch nicht gestört werden sollen: | ||
| + | screen | ||
| + | |||
| + | Mit der Tastenkombination " | ||
| + | |||
| + | Und so kommt man wieder zu seinem Screen zurück: | ||
| + | screen -r | ||
| + | |||
| + | Wurden auf einer Maschine '' | ||
| + | screen -r | ||
| + | There are several suitable screens on: | ||
| + | 14758.pts-2.fritz (12.03.2010 14: | ||
| + | 14730.pts-2.fritz (12.03.2010 14: | ||
| + | Type " | ||
| + | |||
| + | In soeinem Fall muss man screen sagen welchen Schirm er wieder aufspannen soll: | ||
| + | screen -r 14758.pts-2.fritz | ||
| + | |||
| + | Ein Screen beendet man genauso wie eine normale Shell: | ||
| + | exit | ||
| + | oder | ||
| + | [Strg]+[D] | ||
| + | |||
| + | |||
| + | ===== Hard Links ===== | ||
| + | |||
| + | so werden alle Hard Links angezeigt, die sich im Verzeichnis ''/ | ||
| + | > find /mnt/ -links +1 | ||
| + | |||
| + | so werden alle Dateinamen angezeigt, die keine Hard Links besitzen: | ||
| + | > find /mnt/ -links 1 | ||
| + | |||
| + | |||
| + | ===== iptables ===== | ||
| + | |||
| + | IPTables-Regeln in Fedora/ | ||
| + | |||
| + | / | ||
| + | / | ||
| + | | ||
| + | vi / | ||
| + | / | ||
| + | |||
| + | |||
| + | ==== Firewall-Regeln ==== | ||
| + | |||
| + | iptables -L | ||
| + | |||
| + | |||
| + | ==== Tabellen ==== | ||
| + | |||
| + | built-in chains (INPUT, FORWARD, OUTPUT) | ||
| + | |||
| + | iptables -L -t filter | ||
| + | |||
| + | NAT/ | ||
| + | |||
| + | iptables -L -t nat | ||
| + | (PREROUTING, | ||
| + | |||
| + | specialized packet alteration | ||
| + | |||
| + | iptables -L -t mangle | ||
| + | (PREROUTING, | ||
| + | |||
| + | exemptions (PREROUTING und OUTPUT) | ||
| + | |||
| + | iptables -L -t raw | ||
| + | |||
| + | |||
| + | ==== IP-/ | ||
| + | |||
| + | .... | ||
| + | -A PREROUTING -d 217.11.195.209 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 9443 | ||
| + | .... | ||
| + | |||
| + | |||
| + | ==== Beispiel ==== | ||
| + | |||
| + | # Firewall configuration written by system-config-securitylevel | ||
| + | # Manual customization of this file is not recommended. | ||
| + | *filter | ||
| + | :INPUT ACCEPT [0:0] | ||
| + | :FORWARD ACCEPT [0:0] | ||
| + | :OUTPUT ACCEPT [0:0] | ||
| + | : | ||
| + | -A INPUT -j RH-Firewall-1-INPUT | ||
| + | -A FORWARD -j RH-Firewall-1-INPUT | ||
| + | -A RH-Firewall-1-INPUT -i lo -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -p 50 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -p 51 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -m state --state ESTABLISHED, | ||
| + | -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited | ||
| + | COMMIT | ||
| + | |||
| + | |||
| + | ===== hdparm ===== | ||
| + | |||
| + | Infos anzeigen: | ||
| + | > hdparm -Ii /dev/hda | ||
| + | |||
| + | gepufferter Lese-Geschwindigkeits-Tests: | ||
| + | > hdparm -Tt /dev/hda | ||
| + | |||
| + | ungepufferter Lese-Geschwindigkeits-Tests: | ||
| + | > hdparm -Tt --direct /dev/hda | ||
| + | |||
| + | Partitionstabelle neu einlesen: | ||
| + | > hdparm -z /dev/hda | ||
| + | |||
| + | |||
| + | ===== openssl ===== | ||
| + | |||
| + | > openssl s_client -connect www.heise.de: | ||
| + | |||
| + | siehe auch: | ||
| + | * [[:: | ||
| + | * [[einzelne Dateien mit openSSL verschlüsseln]] | ||
| + | |||
| + | |||
| + | ===== curl und lynx ===== | ||
| + | |||
| + | Aufruf einer URL, bei der man sich per NTLM (Windows) authentifizieren muss; leider können '' | ||
| + | weil '' | ||
| + | > curl --ntlm -u username: | ||
| + | |||
| + | |||
| + | ===== dm_crypt-0 ===== | ||
| + | |||
| + | <code text> | ||
| + | > apt update | ||
| + | > apt -y full-upgrade | ||
| + | ... | ||
| + | Trigger für initramfs-tools (0.142ubuntu25.8) werden verarbeitet ... | ||
| + | update-initramfs: | ||
| + | cryptsetup: WARNING: dm_crypt-0: couldn' | ||
| + | default (plain). | ||
| + | cryptsetup: WARNING: Option ' | ||
| + | mapping dm_crypt-0. Please read | ||
| + | / | ||
| + | ' | ||
| + | cryptsetup: WARNING: Option ' | ||
| + | mapping dm_crypt-0. Please read | ||
| + | / | ||
| + | ' | ||
| + | cryptsetup: WARNING: Resume target dm_crypt-0 uses a key file | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | > cat /etc/fstab | ||
| + | # <file system> <mount point> | ||
| + | / | ||
| + | |||
| + | > cryptsetup status / | ||
| + | / | ||
| + | type: PLAIN | ||
| + | cipher: | ||
| + | keysize: 256 bits | ||
| + | key location: dm-crypt | ||
| + | device: | ||
| + | sector size: 512 | ||
| + | offset: | ||
| + | size: 16777216 sectors | ||
| + | mode: read/write | ||
| + | |||
| + | type: PLAIN | ||
| + | cipher: | ||
| + | keysize: 256 bits | ||
| + | |||
| + | => , | ||
| + | |||
| + | > vim / | ||
| + | dm_crypt-0 PARTUUID=bd600e11-0832-48ec-8fdc-83f41d004854 / | ||
| + | |||
| + | > update-initramfs -u -k all | ||
| + | </ | ||
| + | |||
