Webseiten-Werkzeuge


Hotfix release available: 2025-05-14a "Librarian". upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian". upgrade now! [56] (what's this?)
Hotfix release available: 2024-02-06b "Kaos". upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum". upgrade now! [54.2] (what's this?)
Hotfix release available: 2023-04-04a "Jack Jackrum". upgrade now! [54.1] (what's this?)
New release available: 2023-04-04 "Jack Jackrum". upgrade now! [54] (what's this?)
Hotfix release available: 2022-07-31b "Igor". upgrade now! [53.1] (what's this?)
Hotfix release available: 2022-07-31a "Igor". upgrade now! [53] (what's this?)
New release available: 2022-07-31 "Igor". upgrade now! [52.2] (what's this?)
New release candidate 2 available: rc2022-06-26 "Igor". upgrade now! [52.1] (what's this?)
New release candidate available: 2022-06-26 "Igor". upgrade now! [52] (what's this?)
Hotfix release available: 2020-07-29a "Hogfather". upgrade now! [51.4] (what's this?)
edv

EDV

Der Computer - von Neumann-Architektur und Harvard-Architektur

Zeit-Attribute einer Datei im unixoiden Dateisystem

Name Kurzform Beschreibung Datum ändert sich
Datei anlegen Dateiinhalt lesen Dateiinhalt ändern Dateinamen ändern
Access (Zugriff) atime Datum des letzten Zugriffs (auch lesend) Ja Ja Nein Nein
Modify (Modifiziert) mtime Datum des letzten schreibenden Zugriffs Ja Nein Ja Nein
Change (Geändert) ctime Datum der letzten Statusänderung Ja Nein Ja Ja

Bluetooth-Morsetastatur

gebrauchte Rechner

wissenswertes

httrack - Copy websites to your computer (Offline browser)


  4 Bit = nibble, semioctet
  8 Bit = byte, octet
 16 Bit = word, short
 32 Bit = doubleword, dword, longword, long
 64 Bit = quadword, qword, quad, long long
128 Bit = octaword, double quadword
  n Bit = n-bit integer

blkid

# blkid
/dev/sda6: LABEL="swap" UUID="6ba8d252-b664-4aca-8a3c-8d20d42a7bf2" TYPE="swap" 
/dev/sda1: LABEL="/boot" UUID="86a90784-434d-4f9b-bdac-43339c872326" TYPE="ext3" 
/dev/sda2: UUID="FzNbsT-Wr6U-oxtS-6MBN-Zf80-gIzb-pSYu1U" TYPE="LVM2_member" 
/dev/sda5: LABEL="/" UUID="20e8b653-2ced-4abb-a761-f43893a4a9eb" TYPE="ext3" 
# blkid -t TYPE="ext3"
/dev/sda1: LABEL="/boot" UUID="86a90784-434d-4f9b-bdac-43339c872326" TYPE="ext3" 
/dev/sda5: LABEL="/" UUID="20e8b653-2ced-4abb-a761-f43893a4a9eb" TYPE="ext3" 
# blkid -o device -t TYPE="ext3"
/dev/sda1
/dev/sda5

Platzbedarf der Daten auf 'root'

Manchmal steht man vor dem Problem (besonders bei Verwendung der „ext*“-Dateisysteme), dass man keinen Platz mehr auf dem Dateisystem zur Verfühgung hat aber es gibt keine Datei, die außergewöhnlich groß wird.

In soeinem Fall möchte man nicht nur sehen weiviel Platz auf dem Datenträger noch zur Verfühgung steht, dass geht mit df ganz gut, sondern man möchte auch wissen ob die Summe aller Dateien den von df veranschlgten Platzverbrauch, belegen.

Für diesen Zweck habe ich das folgende Script geschrieben:

#!/bin/sh
echo "verbrauchter Platz auf '/': $(df -hPl /|egrep ' /$'|awk '{print $3}')"
echo "durch Dateien belegter Platz auf '/': $(echo "($(du -skc / 2> /dev/null|egrep 'insgesamt$|total$'|awk '{print $1}' 2> /dev/null)-$(du -skc $(df -Pl | egrep -v ' /$' | egrep '^/dev/' | awk '{print $NF}') 2> /dev/null|egrep 'insgesamt$|total$'|awk '{print $1}'))/1024^2"|bc -l) GB"

Es misst den Platzbedarf aller Dateien im System und zieht davon den Platzbedarf aller Dateien ab, die auf separaten Mount-Point's liegen. So bekommt man als Rest, den Platzbedarf aller Dateien auf dem root-FS ('/').

Tritt hier eine große Differenz auf, dann ist es dringend angesagt, dem System einen fsck -y / im Single-User-Mode zu gönnen.


Unix/Linux allgemein

doscan und nmap

Nmap ist das Original, will man in einem Netz nur einen TCP-Port scannen, ist das Werkzeug doscan ganz praktisch.

doscan

Möchte man zum Beispiel wissen welche Rechner in einem bestimmten Netz per SSH erreichbar sind, dann schickt man das folgende Kommando ab:

# doscan --banner 100 -p 22 192.168.1.0/24

2010-04-25 10:02:17.843 192.168.1.1             SSH-2.0-OpenSSH_5.2p1 FreeBSD-20090522\r\n
2010-04-25 10:03:17.983 192.168.1.204           SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2\r\n
2010-04-25 10:03:17.996 192.168.1.207           SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2\r\n

Installiert wird doscan in FreeBSD mit:

# portinstall -prO security/doscan

Installiert wird doscan in Ubuntu mit:

# aptitude install doscan

Dieses Programm kann nur nach einem Port scannen, es ist eben für den schnellen Einsatz zwischendurch gedacht.

nmap

lsof / fuser

Der gute alte lsof ist in manchen Fällen zu langsam, dann bietet sich die Nutzung von fuser an:

Alle PID's mit Status-Buchstaben, die eine Datei offen halten (FreeBSD):

# fuser -c [Verzeichnis]

Alle PID's mit Status-Buchstaben, die eine Datei offen halten (Linux):

# fuser -mn file [Verzeichnis]

Alle PID's, die eine Datei offen halten (Linux):

# fuser -mn file [Verzeichnis] 2>&1 | tr -s '[ \t]' '\n' | sed -e 's/[a-zA-Z]*$//g' | grep -E '^[0-9]'

Alle Prozesse, die eine Datei offen halten (FreeBSD):

fuser.sh
#!/usr/bin/env bash
 
#------------------------------------------------------------------------------#
#
# Zeigt die PIDs aller offenen Prozesse an,
# die eine Datei in einem Verzeichnis offen hält
#
#------------------------------------------------------------------------------#
 
if [ -d "${1}" ] ; then
 
        unset PID
        PID="$(fuser -c "${1}" 2>&1 | tr -s '[ \t]' '\n' | sed -e 's/[a-zA-Z]*$//g' | grep -E '^[0-9]' | tr -s '\n' '|' | sed -e 's/|$//;s/|/ | /g;s/.*/ & /')"
 
        #----------------------------------------------------------------------#
        if [ "x${PID}" = "x" ] ; then
                echo "frei PID='${PID}'"
        else
                echo "offen PID='${PID}'"
                ps alx | grep -Fv grep | grep -E "${PID}"
        fi
        #----------------------------------------------------------------------#
 
else
        echo "${0} [Verzeichnis]"
        echo "${0} /tmp"
fi
 
#------------------------------------------------------------------------------#

Datei- und Verzeichnisnamen von unsauberen Zeichen befreien

Es kommt beim Austausch von Dateien von, das man nicht so genau auf die entsprechenden Zeichensätze achtet. Dabei werden dann Zeichen wie diese:

& ä ö ü ß ´ á é à è

oft unleserlich. Das stört natürlich gewaltig.

Aus diesem Grund habe ich ein Script geschrieben, welches von der aktuellen Position aus rekursiv alles durcharbeitet und die Verzeichnisnamen sowie Dateinamen von diesen und weiteren Zeichen befreit.

Im speziellen handelt es sich um Leerzeichen, doppelten Unterstrichen sowie den folgenden Zeichen:

& ä ö ü ß ´ á é à è < > { [ ] } , ; ( ) " ! ' `

Hier das Script:

#!/bin/sh

# alles aus dem aktuellen Verzeichnis


for i in $(find . -type d | awk -F'/' '{print NF}' | sort -n | tail -n1 | awk '{for(i=1;i<$1;i++){print i}}')
do

find . -maxdepth ${i} | egrep -i '__|-_-|\&|ä|ö|ü|ß|\´|á|é|à|è| |<|>|\{|\[|\]|\}|\,|\;|\(|\)|\"|\!' | while read ORIGINAL
do
      NEUERNAME="$(echo "${ORIGINAL}" | sed \
                                              -e 's/\&/_und_/g' \
                                              -e 's/ /_/g' \
                                              -e 's/</-_/g' \
                                              -e 's/>/-_/g' \
                                              -e 's/{/-_/g' \
                                              -e 's/\[/-_/g' \
                                              -e 's/\]/_-/g' \
                                              -e 's/}/_-/g' \
                                              -e 's/\,/_-_/g' \
                                              -e 's/\;/_/g' \
                                              -e 's/\´//g' \
                                              -e 's/\`//g' \
                                              -e 's/ß/ss/g' \
                                              -e 's/ä/ae/g' \
                                              -e 's/ö/oe/g' \
                                              -e 's/ü/ue/g' \
                                              -e 's/Ä/AE/g' \
                                              -e 's/Ö/OE/g' \
                                              -e 's/Ü/UE/g' \
                                              -e 's/á/a/g' \
                                              -e 's/Á/A/g' \
                                              -e 's/à/a/g' \
                                              -e 's/À/A/g' \
                                              -e 's/é/e/g' \
                                              -e 's/É/E/g' \
                                              -e 's/è/e/g' \
                                              -e 's/È/E/g' \
                                              -e 's/(/_-_/g' \
                                              -e 's/)/_-_/g' \
                                              -e 's/_$//g' \
                                              -e 's/-$//g' \
                                              -e 's/_$//g' \
                                              -e 's/-$//g' \
                                              | tr -d '!' | tr -d '"' | tr -d "'" | tr -s '_' '_' | sed -e 's/-_-/-/g')"
      mv -fv "${ORIGINAL}" ${NEUERNAME}
done



find . -maxdepth ${i} | egrep -i "'|\`" | while read ORIGINAL
do
      NEUERNAME="$(echo "${ORIGINAL}" | tr -d "\`" | tr -d "'")"
                                              mv -fv "${ORIGINAL}" ${NEUERNAME}
done

done

Dieses Script macht zum Beispiel aus

Berlin - l'effacement des traces

das

Berlin_-_leffacement_des_traces

und aus

Jessy Matador - Allez Olla Olé

wird das

Jessy_Matador_-_Allez_Olla_Ole

Zugangsdaten der Telekom im Standard-Router verwenden

Die Anmeldedaten setzen sich wie folgt zusammen:

früher:

Anschlusskennung + T-Online – Nummer + Mitbenutzernummer/Suffix

heute:

Anschlusskennung + Zugangsnummer + Mitbenutzernummer/Suffix

Zusammengesetzt sieht es dann so aus: 0000000000009876543210001@t-online.de

sonstiges

edv.txt · Zuletzt geändert: 2025/06/09 12:50 von manfred