siehe auch: Terminaleinstellungen
GPN18 - Moderne Kommandozeilen Werkzeuge …seine Favoriten:
zsh (inkl. oh-my-zsh) + fzf (Alternative zu bash)ranger (Alternative zu mc)To obtain a neat PostScript rendering of a manual page, use ''-t'' switch
of the man(1) utility: ''man -t <topic>''. For example:
man -t grep > grep.ps # Save the PostScript version to a file
or
man -t printf | lp # Send the PostScript directly to printer
In top gibt es drei wichtige Schalter:
man kann die anzuzeigenden Spalten aber auch über eine Konfigurationsdatei festlegen:
> echo "ABEHIOQTWKNMcdfgjplrsuvyzX" > /etc/toprc oder > echo "ABEHIOQTWKNMcdfgjplrsuvyzX" > ~/.toprc
Die Buchstabenfolge, kann aus der ersten Zeile der Anzeige von "o" oder "f" nehmen.
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 <sched.h> * X: COMMAND = Command name/line
Alt:
> netstat -anp tcp > netstat -anf inet > netstat -Lanf inet
Neu:
> ss -anp tcp > ss -anf inet > ss -Lanf inet
Verbindungstest (hier zu einen MySQL-Server):
> nc 10.11.12.13 3306 -v Connection to 10.11.12.13 3306 port [tcp/mysql] succeeded!
root@host02:~# socat - TCP-LISTEN:12345
root@host01:~# echo "Hallo Welt!" | socat - TCP:host02:12345
root@host02:~# socat - TCP-LISTEN:12345 Hallo Welt! root@host02:~#
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 "nohup" starten. Allerdings kann man nach einem Verbindungsabbruch nicht wieder auf die Konsole zurück.
Deshalb wurde das nützliche Werkzeug "screen" geschrieben.
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 "[Strg]+[A]+[D]" klinkt man sich aus dem Screen aus und alles was darin gestartet wurde, läuft weiter.
Und so kommt man wieder zu seinem Screen zurück:
screen -r
Wurden auf einer Maschine screen mehrfach gestartet, dann bekommt man solche Meldungen:
screen -r
There are several suitable screens on:
14758.pts-2.fritz (12.03.2010 14:44:30) (Detached)
14730.pts-2.fritz (12.03.2010 14:44:25) (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
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]
so werden alle Hard Links angezeigt, die sich im Verzeichnis /mnt befinden:
> find /mnt/ -links +1
so werden alle Dateinamen angezeigt, die keine Hard Links besitzen:
> find /mnt/ -links 1
IPTables-Regeln in Fedora/RHEL/CentOS:
/etc/init.d/iptables save /etc/init.d/iptables stop vi /etc/sysconfig/iptables /etc/init.d/iptables start
iptables -L
built-in chains (INPUT, FORWARD, OUTPUT)
iptables -L -t filter
NAT/Umleitung
iptables -L -t nat
(PREROUTING, OUTPUT und POSTROUTING)
specialized packet alteration
iptables -L -t mangle
(PREROUTING, OUTPUT, INPUT, FORWARD und POSTROUTING)
exemptions (PREROUTING und OUTPUT)
iptables -L -t raw
.... -A PREROUTING -d 217.11.195.209 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 9443 ....
# 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] :RH-Firewall-1-INPUT - [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,RELATED -j ACCEPT -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
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 s_client -connect www.heise.de:https
siehe auch:
Aufruf einer URL, bei der man sich per NTLM (Windows) authentifizieren muss; leider können wget und links kein "ntlm", deshalb müssen wir hierfür curl verwenden;
weil curl immer den Quellkode zurückgibt, müssen wir den Quellkode noch von lynx in eine menschlich lesbaren Ausgabe umwandeln lassen:
> curl --ntlm -u username:passwort --noproxy webserver.net -S https://webserver.net/webseite 2>/dev/null | lynx -stdin -dump -width=120
> apt update
> apt -y full-upgrade
...
Trigger für initramfs-tools (0.142ubuntu25.8) werden verarbeitet ...
update-initramfs: Generating /boot/initrd.img-6.17.0-14-generic
cryptsetup: WARNING: dm_crypt-0: couldn't determine device type, assuming
default (plain).
cryptsetup: WARNING: Option 'cipher' missing in crypttab for plain dm-crypt
mapping dm_crypt-0. Please read
/usr/share/doc/cryptsetup-initramfs/README.initramfs.gz and add the correct
'cipher' option to your crypttab(5).
cryptsetup: WARNING: Option 'size' missing in crypttab for plain dm-crypt
mapping dm_crypt-0. Please read
/usr/share/doc/cryptsetup-initramfs/README.initramfs.gz and add the correct
'size' option to your crypttab(5).
cryptsetup: WARNING: Resume target dm_crypt-0 uses a key file
> cat /etc/fstab # <file system> <mount point> <type> <options> <dump> <pass> /dev/disk/by-id/dm-uuid-CRYPT-PLAIN-dm_crypt-0 none swap sw 0 0 > cryptsetup status /dev/disk/by-id/dm-uuid-CRYPT-PLAIN-dm_crypt-0 /dev/disk/by-id/dm-uuid-CRYPT-PLAIN-dm_crypt-0 is active and is in use. type: PLAIN cipher: aes-cbc-essiv:sha256 keysize: 256 bits key location: dm-crypt device: /dev/nvme0n1p3 sector size: 512 offset: 0 sectors size: 16777216 sectors mode: read/write type: PLAIN cipher: aes-cbc-essiv:sha256 keysize: 256 bits => ,plain,cipher=aes-cbc-essiv:sha256,size=256 > vim /etc/crypttab dm_crypt-0 PARTUUID=bd600e11-0832-48ec-8fdc-83f41d004854 /dev/urandom swap,initramfs,plain,cipher=aes-cbc-essiv:sha256,size=256 > update-initramfs -u -k all