Die einfachste Möglichkeit einen Wert zu einer hexadezimalen Zahl wie bspw. einen Teil einer MAC-Adresse auf der Konsole hizuzufügen ist die printf Funktion:
#> a=0xA9
#> printf "%X\n" $(($a + 2))
AB
A mix of digital topics.
Mit sed "s/.\{x\}/& /g"
kann man in eine Zeichenkette alle x
Zeichen ein Leerzeichen automatisiert einfügen. Aber auch andere Zeichen sind möglich. So kann man bspw. alle zwei Zeichen einen Doppelpunkt in einen String einfügen:
#~> echo "AA11CC22EE" | sed "s/.\{2\}/&:/g"
AA:11:CC:22:EE:
Sollte das letzte Zeichen stören, kann man dies wie folgt entfernen:
#~> a = $(echo "AA11CC22EE" | sed "s/.\{2\}/&:/g")
#~> echo ${a%?}
AA:11:CC:22:EE
When cmake complains about a missing MHD library, install the microhttpd library development files.
On RHEL/CentOS:
yum install libmicrohttpd-devel
Or download the up-to-date release from https://www.gnu.org/software/libmicrohttpd/ and compile and install it with:
tar -xzf libmicrohttpd-latest.tar.gz cd libmicrohttpd-* ./configure && make install
Um den bei vielen Linux und Unix Installationen und Tools (wie bspw. git) standardmäßig genutzten VI Editor zu beenden muss man mit der “ESC”-Taste in den Kommandomodus wechseln (am besten mehrfach drücken um ggf. schon eingegeben Kommandos abzubrechen). Und dort dann
> :q
eingeben und Enter drücken.
Dies beendet VIM wenn vorher nichts geändert wurde.
Wurde etwas am Text der geöffneten Datei geändert und man will dies speichern so nutzt man den Befehl:
> :wq
Will man die Änderungen verwerfen und VI verlassen, so hilft:
> :q!
Ein sehr hilfreiches und detailliertes Cheat Sheet zum Nachschlagen selten benutzter Befehle findet sich unter: https://devhints.io/vim
After installing CUDA on Ubuntu, compiling CUDA applications with nvcc results in an error similar to this:
In file included from /usr/local/cuda-8.0/bin/../targets/x86_64-linux/include/cuda_runtime.h:78:0,
from <command-line>:0:
/usr/local/cuda-8.0/bin/../targets/x86_64-linux/include/host_config.h:119:2: error: #error — unsupported GNU version! gcc versions later than 5 are not supported!
#error — unsupported GNU version! gcc versions later than 5 are not supported!
^~~~~}}}
Ubuntu comes with a more up-to-date GCC then CUDA can handle. To solve this issue we install GCC 4.9:
sudo apt install gcc-4.9 g++-4.9
Now GCC 4.9 and the up-to-date GCC are installed on the system. To be able to use the up-to-date GCC without CUDA, one can setup and use the “update-alternatives” system for GCC. In this case we replace the default GCC 6 compiler:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 50 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
Now we can list the available compilers with
update-alternatives --list gcc
and set the GCC 4.9 as default with
update-alternatives --set gcc /usr/bin/gcc-4.9
Wenn man alle Zeilen einer Datei bis auf die ersten x auf der Konsole ausgeben möchte, kann man tail
nutzen. Normalerweise kann man damit die letzten 10 Zeilen tail namesliste.txt
bzw. die letzten Y Zeilen mit tail -n Y namesliste.txt
ausgeben.
Wenn man jedoch alles bis auf die ersten x Zeilen einer Datei ausgeben möchte, so kann man tail -n +(x+1)
nutzen. In diesem Modus gibt tail
ab der hinter dem +
stehenden Zeile alles aus – daher x+1.
Wenn die Frequenzen der CPU über den “intel_pstate” Treiber¹ gesteuert werden und der Turbo Modus im BIOS angeschaltet ist, kann man den Turbomodus für alle CPUs / Cores mit dem folgenden Befehl ausschalten:
echo "1" > /sys/devices/system/cpu/intel_pstate/no_turbo
Und mit diesem Befehl wieder anschalten:
echo "0" > /sys/devices/system/cpu/intel_pstate/no_turbo
Dies hilft beim Energiesparen und verlängert die Akkulaufzeit von Notebooks.
¹ Dies ist der Fall,wenn cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
“intel_pstate” ausgibt.