Bash

cat as a shell builtin

Recently i blogged about how to get a process list if you aren’t able to fork any processes . Also a process list is allways handy, i allways find cat a very usefull tool too. But as you might have noticed cat is not a shell builtin. So everytime cat is called a new process needs to be forked. In case you can’t fork processes it’s a problem, and even if you can fork them you may save resources by “creating” a shell builtin cat.
So lets do this,
open your .profile for usage with your user only or /etc/profile for global usage (You may also use your .bashrc or .zshrc instead).
Append the following lines to the file:

#pseudo bash builtin cat function
function cat { echo “$(< $1)" }

Siehe Kommentar :)

More ...

How to get a process list if you can’t fork any processes?

Recently I got the question what to do if one got a bash session but can’t fork processes on a Linux system.
So here is an attempt to get a processlist just by using bash buildins:

OLDPWD=$PWD
cd /proc
for x in [0-9]*
do
read cmd < /proc/${x}/comm
read cmdl < /proc/${x}/cmdline
printf "%8s - %15s - %s" $x $cmd $cmdl
echo
done
cd $OLDPWD

Swapfile – Swap ohne eigenes Dateisystem

Ich dachte bis vor kurzen um unter Linux zu Swap-en bräuche man eine Swap Partition.

Es zeigte sich, dass das nur halb richtig ist : Den man kann auch eine Datei, die sich in einem normalen Dateisystem befindet (ext3) als Swap Partition Mounten.

Warscheinlich ist das nicht die beste, schönste oder schnellste Methode,
aber mir spaart es das sehr mühevolle ändern meiner Partitionen.

Als machen wirs kurz:

dd if=/dev/zero of=/Datei/in/die/geswapt/werden/soll.swp bs=1M count=512
#count gibt die Größe in MB an und kann nach belieben geändert werden
mkswap /Datei/in/die/geswapt/werden/soll.swp
swapon /Datei/in/die/geswapt/werden/soll.swp
echo >>/etc/fstab "#add new swapfiles"
echo >>/etc/fstab "/Datei/in/die/geswapt/werden/soll.swp swap swap noauto 0 0"
swapon -a

Was man besser nicht tun sollte

Okay zugegeben die meisten werden es wissen,
aber trotzdem, als Hinweis für alle dies nicht wissen:

macht das nicht:

rm -r /etc/*

durch ein doofes Missgeschick ist mir das passiert und es ist kein Spaß.

Damit wären wir beim zweiten Punkt:

Sorgt dafür das im Backup die Dateirechte erhalten werden.

So genug der Altklugheit, aber ich musstes mal loswerden.
Ja ich weiß den kram erzählt jeder und ich glaube jeder muss selbst die Erfahrung machen das man die dinge einhalten sollte ;)

Archiv