kurse:ef05a-2021:js:webupload

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
kurse:ef05a-2021:js:webupload [2022/04/27 15:21]
Ivo Blöchliger
kurse:ef05a-2021:js:webupload [2022/05/05 09:34] (current)
Ivo Blöchliger [Benfords law auf Dateigrössen]
Line 118: Line 118:
 </hidden> </hidden>
  
 +==== 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'')
 +
 +  * ''find'' mit ''-type'' und ''-printf''
 +  * ''cut'' mit ''-c''
 +  * ''sort''
 +  * ''uniq'' mit ''-c''
 +
 +Erstellen Sie einen entsprechenden Graphen in einer Tabellenkalkulation oder gleich mit ''gnuplot'' ;-)
 +
 +<code bash>
 +find /usr -type f -printf "%s\n" | cut -c 1 | sort | uniq -c
 +</code>
 +Mit Gnuplot (der Skalierungsfaktor 190000 ist Handgelenk mal $\pi$):
 +<code bash>
 +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)"
 +</code>
 +
 +{{kurse:ef05a-2021:js:ersteziffer-dateigroesse-benfords-law.svg}}
 +
 +<hidden Ausgabe mit Gnuplot auf dem Terminal>
 +<code txt>
 +                                                                                                                                                                                             
 +  160000 +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+   
 +                                                                                                                                                                           
 +                                                                                                                                                                 '-' using 2:1 ******* |   
 +                                                                                                                                                             190000*log(1+1/x) ####### |   
 +         |*                                                                                                                                                                              |   
 +  140000 |-*                                                                                                                                                                           +-|   
 +          *                                                                                                                                                                            |   
 +                                                                                                                                                                                       
 +         |#                                                                                                                                                                            |   
 +         | #                                                                                                                                                                             
 +  120000 |-+#                                                                                                                                                                        +-|   
 +           #                                                                                                                                                                           
 +            #                                                                                                                                                                        |   
 +             #                                                                                                                                                                         
 +              ##  **                                                                                                                                                                     
 +  100000 |-+      ##  *                                                                                                                                                                +-|   
 +                  #  *                                                                                                                                                                   
 +                   ## *                                                                                                                                                                |   
 +                     ##                                                                                                                                                                
 +                       ##                                                                                                                                                              |   
 +   80000 |-+               ###                                                                                                                                                         +-|   
 +                          * ##                                                                                                                                                           
 +                            ####                                                                                                                                                       
 +                            *     ###                                                                                                                                                  |   
 +                                     ####                                                                                                                                              |   
 +                             *********   ###                                                                                                                                             
 +   60000 |-+                            ***** ######                                                                                                                                   +-|   
 +                                           ****** #####                                                                                                                                |   
 +                                                 **    #####                                                                                                                             
 +                                                   *********#########                                                                                                                  |   
 +                                                            *****    #########                                                                                                           
 +   40000 |-+                                                       ******       ###########                                                                                            +-|   
 +                                                                       **                ############                                                                                  |   
 +                                                                         ****************************################                                                                  |   
 +                                                                                                                *****#######################                                             
 +                                                                                                                     ********************** ###############################            |   
 +   20000 |-+                                                                                                                                 ********************************############  
 +                                                                                                                                                                                         
 +                                                                                                                                                                                         
 +                                                                                                                                                                                         
 +                                                                                                                                                                           
 +       0 +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+   
 +                                                                                                                                                                           
 +</code>
 +</hidden>
 +==== Links auf Schülerwebseiten auf der Kommandozeile ====
 +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
 +
 +
 +    
 +  
  • kurse/ef05a-2021/js/webupload.1651065675.txt.gz
  • Last modified: 2022/04/27 15:21
  • by Ivo Blöchliger