Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| kurse:ef05a-2021:js:webupload [2022/05/05 07:00] – [Benfords law auf Dateigrössen] Ivo Blöchliger | kurse:ef05a-2021:js:webupload [2022/05/05 07:34] (current) – [Benfords law auf Dateigrössen] Ivo Blöchliger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Webserver ====== | ||
| + | * Computer der Webseiten ausliefert, im einfachsten Fall einfach Dateien, in der URL sichtbar | ||
| + | * https:// | ||
| + | * Namensauflösung (DNS) -> liefert IP-Adresse von ofi.tech-lab.ch, | ||
| + | * http, bzw. https («s» für secure, mit authentifizierter und verschlüsselter Verbindung) | ||
| + | * Spezielle Datei '' | ||
| + | * Spezielle Datei '' | ||
| + | ===== Upload der Dateien ===== | ||
| + | Nur mit '' | ||
| + | |||
| + | <code bash> | ||
| + | # Lokal zum Server: | ||
| + | scp -P 40199 datei.html hansli@tech-lab.ch: | ||
| + | |||
| + | # Vom Server zu lokal (das aktuelle Verzeichnis ist der Punkt .) | ||
| + | scp -P 40199 hansli@tech-lab.ch: | ||
| + | </ | ||
| + | |||
| + | <WRAP todo> | ||
| + | * Laden Sie Ihr JavaScript Projekt auf den Webserver. Sie können Ihre html-Datei in '' | ||
| + | * Wenn Sie möchten, dass Ihre Seite von überall zugänglich ist, löschen Sie die Datei .htaccess. | ||
| + | </ | ||
| + | |||
| + | ===== Verbindung auf die Kommandozeile ===== | ||
| + | <code bash> | ||
| + | ssh -p 40199 hansli@tech-lab.ch | ||
| + | </ | ||
| + | |||
| + | ===== Wichtigste Kommandos ===== | ||
| + | Generelle Bemerkungen: | ||
| + | * Die Tabulator-Taste (Tab) vervollständigt Dateinamen so weit wie eindeutig. Zweimaliges Drücken zeigt die verbleibenden Möglichkeiten an. | ||
| + | * Leerzeichen sind Trennzeichen. Vermeiden Sie diese in Dateinamen (sonst sind die Dateinamen zwischen ''"'' | ||
| + | * Optionen beginnen mit einem Minuszeichen '' | ||
| + | * Pfeiltaste nach oben geht die Historie der eingegebenen Kommando durch. | ||
| + | * Unix-Philosophie: | ||
| + | * Ein Programm kann ein Ding | ||
| + | * Programme lesen Text als Input und produzieren wieder Text als Output | ||
| + | * Vom «Standard input» (STDIN) wird gelesen, aus «Standard output» wird geschrieben. | ||
| + | * Ein- und Ausgabe können umgeleitet werden (z.B. von oder zu Datei oder von oder zu einem Programm) | ||
| + | * Pipe: '' | ||
| + | * ''>'' | ||
| + | * ''<'' | ||
| + | * Gross-/ | ||
| + | * Dateinamen können mit Wildcards spezifiziert werden: | ||
| + | * '' | ||
| + | * ''?'' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * Der aktuelle Ordner ist '' | ||
| + | * Das Homeverzeichnis kann mit '' | ||
| + | |||
| + | ==== Datei-Manipulation ==== | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | <hidden Beispiel: Meine häufigsten Kommandos> | ||
| + | <code bash> | ||
| + | cut -f1 -d' ' | ||
| + | </ | ||
| + | <code txt> | ||
| + | 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, | ||
| + | |||
| + | 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 '' | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | Erstellen Sie einen entsprechenden Graphen in einer Tabellenkalkulation oder gleich mit '' | ||
| + | |||
| + | <code bash> | ||
| + | find /usr -type f -printf " | ||
| + | </ | ||
| + | Mit Gnuplot (der Skalierungsfaktor 190000 ist Handgelenk mal $\pi$): | ||
| + | <code bash> | ||
| + | find /usr -type f -printf " | ||
| + | </ | ||
| + | |||
| + | {{kurse: | ||
| + | |||
| + | <hidden Ausgabe mit Gnuplot auf dem Terminal> | ||
| + | <code txt> | ||
| + | |||
| + | 160000 +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | 140000 |-* | ||
| + | | ||
| + | | ||
| + | | ||
| + | | # | ||
| + | 120000 |-+# | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | 100000 |-+ ## * +-| | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | 80000 |-+ ### | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | 60000 |-+ ***** ###### | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | 40000 |-+ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | 20000 |-+ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | 0 +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| + | | ||
| + | </ | ||
| + | </ | ||
| + | ==== Links auf Schülerwebseiten auf der Kommandozeile ==== | ||
| + | Im und unterhalb des Verzeichnisses / | ||
| + | cd / | ||
| + | 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=' | ||
| + | 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=' | ||
| + | |||
| + | |||
| + | | ||
| + | | ||