Sofern die Datei package.json in gültigem Format im Wurzelverzeichnis der Applikation liegt ist eine Reinstallation aller Module mit dem löschen des node_modules Ordner im Wurzelverzeichnis und dem Ausführen von

npm install

erledigt.

Info:
node.js NPM installiert, sofern der Parameter -g (global) NICHT angegeben wird, alle Module in den Ordner node_modules im Wurzelverzeichnis der aktuellen Applikation.

no comments »
 

Die Shell bietet diverse Möglichkeiten die Länge eines Strings zu ermitteln.

Die schnellste und kompatibelste Methode die Länge einer Zeichenkette auf die schnelle im Terminal zu ermitteln ist meiner Meinung nach diese hier:

echo -n "String Länge in Terminal / Konsole" | wc -c

Auf neueren Systemen lässt sich im Terminal die String Länge auch mit einem Kommando ausgeben:

expr length "String Länge in Terminal / Konsole"

Während in einem Shell Script die länge am schönsten so ermittelt wird:

#! /bin/sh
str="string länge in script"
echo ${#str}
no comments »
 

Direkt lassen sich in Python keine Pfade für das import Statement verwenden. Es ist ebenso nur möglich Dateien aus dem selben Ordner oder von Python erkannte Module mit dem import Statement einzubinden. Mit einem kleinen Trick lassen sich beliebige Pfade angeben.

import sys
sys.path.append('/hypatia/')

Das eingefügte Modul muss unbedingt die Datei __init__.py enthalten.

no comments »
 

Die größten installierten DEB Pakete zu finden kann sehr nützlich sein, wenn wenig Festplattenkapazität verfügbar ist.

dpkg-query -Wf '${Installed-Size}t${Package}n' | sort -n

Das größte installierte DEB Paket befindet sich ganz unten. Das kleinste folglich ganz oben.

no comments »
 

ldd gibt dynamisch gelinkte Abhängigkeiten (“dependency”) von ausführbaren Binaries in der Shell aus. Dieser Ausschnitt zeigt welche Bibliotheken catman benötigt um zu funktionieren.

~ ldd /usr/bin/catman
	linux-vdso.so.1 =>  (0x00007fffea5e1000)
	libmandb-2.6.7.1.so => /usr/lib/man-db/libmandb-2.6.7.1.so (0x00007faf0b18a000)
	libman-2.6.7.1.so => /usr/lib/man-db/libman-2.6.7.1.so (0x00007faf0af6a000)
	libgdbm.so.3 => /usr/lib/x86_64-linux-gnu/libgdbm.so.3 (0x00007faf0ad3b000)
	libpipeline.so.1 => /usr/lib/x86_64-linux-gnu/libpipeline.so.1 (0x00007faf0ab2e000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faf0a769000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007faf0a54f000)
	/lib64/ld-linux-x86-64.so.2 (0x00007faf0b59c000)

Wenn ein Programm keine dynamisch gelinkten Bibliotheken / Abhängigkeiten hat gibt es auch keine Ausgabe.

no comments »
 

Hin und wieder kommt es vor das veränderte, erstellte Dateien oder Dateien die vor kurzem verwendet wurden ermittelt werden müssen. Mit find ist das ganz gut möglich.

Veränderte Dateien in den letzten 24 Stunden:

find /path -mtime -1 -ls

Erstellte Dateien in den letzten 24 Stunden:

find /path -ctime -1 -ls

Verwendete Dateien in den letzten 24 Stunden:

find /path -atime -1 -ls

Unter anderem können folgende Parameter für die Zeitangabe übergeben werden:

  • -mtime wenn die Datei verändert wurde in Tagen
  • -mmin wenn die Datei verändert wurde in Minuten
  • -ctime wenn die Datei erstellt wurde in Tagen
  • -cmin wenn die Datei erstellt wurde in Minuten
  • -atime wenn die Datei verwendet wurde in Tagen
  • -amin wenn die Datei verwendet wurde in Minuten

Zu beachten ist der erste Buchstabe. a steht für verwendet. c für erstellt und m für modifiziert. Die Zahl die dem Parameter übergeben wird ist immer 1:1 mit der Zeitangabe verbunden. D.h.:

  • -mmin -1 verändert vor einer Minute
  • -mtime -1 verändert vor einem Tag
  • -mtime -0.25 verändert vor 0,25 Tagen bzw. 6 Stunden.
no comments »