Table of Contents

Webserver

Upload der Dateien

Nur mit scp oder sftp. Entweder via Kommandozeile oder mit Hilfe von FileZilla.

# Lokal zum Server:  (im KSBG-wild muss der Port 23 anstatt 40199 verwendet werden).
scp -P 40199 datei.html hansli@tech-lab.ch:verzeichnis/.
 
# Vom Server zu lokal (das aktuelle Verzeichnis ist der Punkt .)
scp -P 40199 hansli@tech-lab.ch:verzeichnis/datei.html .
  • Laden Sie Ihr JavaScript Projekt auf den Webserver. Sie können Ihre html-Datei in index.html umbenennen, damit diese direkt geladen wird.
  • Wenn Sie möchten, dass Ihre Seite von überall zugänglich ist, löschen Sie die Datei .htaccess.

Verbindung auf die Kommandozeile

ssh -p 40199 hansli@tech-lab.ch

Wichtigste Kommandos

Generelle Bemerkungen:

Datei-Manipulation

Beispiel: Meine häufigsten Kommandos

Beispiel: Meine häufigsten Kommandos

cut -f1 -d' '  ~/.bash_history | sort | uniq -c | sort -nr | head -n 40
    548 ls
    288 cd
    265 git
    102 vim
     52 host
     50 make
     47 less
     42 ssh
     42 okular
     33 sudo
     29 exit
     23 bg
     22 cp
     22 adb
     21 grep
     19 ruby
     18 mkdir
     17 mount
     17 libreoffice
     17 bash
     16 cat
     15 mv
     15 gwenview
     14 ping6
     14 apt
     13 telnet
     13 rm
     12 pdftk
     12 ip
     10 for
      8 touch
      8 ps
      8 asy
      7 teams
      7 irb
      7 inkscape
      6 scp
      6 pwd

Benfords law auf Dateigrössen

Die erste Ziffer $d$ von Dateigrössen ist nicht gleichverteilt, sondern ungefähr $P(d) = \log_{10}\left(1+\frac{1}{d}\right)$

Untersuchen Sie diesen Zusammenhang mit allen Dateien unterhalb /usr auf dem Server (oder auf Ihrem Computer, wenn folgende Tools verfügbar sind).

Lesen Sie dazu die Dokumentation zu den folgenden Kommandos und deren Optionen (entweder online oder mit man kommando)

Erstellen Sie einen entsprechenden Graphen in einer Tabellenkalkulation oder gleich mit gnuplot ;-)

find /usr -type f -printf "%s\n" | cut -c 1 | sort | uniq -c

Mit Gnuplot (der Skalierungsfaktor 190000 ist Handgelenk mal $\pi$):

find /usr -type f -printf "%s\n" | cut -c 1 | grep -v 0 | sort | uniq -c | gnuplot -e "set terminal dumb $COLUMNS $LINES; plot '-' using 2:1 with lines, 190000*log(1+1/x)"

Ausgabe mit Gnuplot auf dem Terminal

Ausgabe mit Gnuplot auf dem Terminal

  160000 +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+   
         |                     +                     +                     +                     +                     +                     +                     +                     |   
         |                                                                                                                                                         '-' using 2:1 ******* |   
         |                                                                                                                                                     190000*log(1+1/x) ####### |   
         |*                                                                                                                                                                              |   
  140000 |-*                                                                                                                                                                           +-|   
         |  *                                                                                                                                                                            |   
         |   *                                                                                                                                                                           |   
         |#   *                                                                                                                                                                          |   
         | #   *                                                                                                                                                                         |   
  120000 |-+#   *                                                                                                                                                                      +-|   
         |   #   *                                                                                                                                                                       |   
         |    #   *                                                                                                                                                                      |   
         |     #   *                                                                                                                                                                     |   
         |      ##  **                                                                                                                                                                   |   
  100000 |-+      ##  *                                                                                                                                                                +-|   
         |          #  *                                                                                                                                                                 |   
         |           ## *                                                                                                                                                                |   
         |             ##*                                                                                                                                                               |   
         |               ##                                                                                                                                                              |   
   80000 |-+               ###                                                                                                                                                         +-|   
         |                  * ##                                                                                                                                                         |   
         |                   *  ####                                                                                                                                                     |   
         |                    *     ###                                                                                                                                                  |   
         |                             ####                                                                                                                                              |   
         |                     *********   ###                                                                                                                                           |   
   60000 |-+                            ***** ######                                                                                                                                   +-|   
         |                                   ****** #####                                                                                                                                |   
         |                                         **    #####                                                                                                                           |   
         |                                           *********#########                                                                                                                  |   
         |                                                    *****    #########                                                                                                         |   
   40000 |-+                                                       ******       ###########                                                                                            +-|   
         |                                                               **                ############                                                                                  |   
         |                                                                 ****************************################                                                                  |   
         |                                                                                                        *****#######################                                           |   
         |                                                                                                             ********************** ###############################            |   
   20000 |-+                                                                                                                                 ********************************############|   
         |                                                                                                                                                                               |   
         |                                                                                                                                                                               |   
         |                                                                                                                                                                               |   
         |                     +                     +                     +                     +                     +                     +                     +                     |   
       0 +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+   
         1                     2                     3                     4                     5                     6                     7                     8                     9   

Im und unterhalb des Verzeichnisses /srv/www/ofi/2022/EF05a werden Dateien gesucht, die in .html enden und in den letzten 30 Tagen erstellt wurden:

cd /srv/www/ofi/2022/EF05a
find . -name \*.html -ctime -30

Es gibt noch backup-Dateien der index.html Datei. Diese werden noch herausgefiltert:

find . -name \*.html -ctime -30 | grep -v back

Jetzt müssen wir die Dateinamen noch in Links verpacken. Die kann z.B. in einem schlauen Text-Editor erfolgen oder ebenfalls auf der Kommandozeile:

for a in `find . -name \*.html -ctime -30 | grep -v back`;do echo "<a href='$a'>$a</a><br>"; done

Schlussendlich leiten wir die Ausgabe in eine Datei um (wofür Sie nicht die Berechtigung haben):

for a in `find . -name \*.html -ctime -30 | grep -v back`;do echo "<a href='$a'>$a</a><br>"; done > projects.html