Kilka sztuczek konsolowych
Tytułowe sztuczki to efekt poszukiwań wydajniejszych i szybszych metod uporania sie codziennymi zadaniami administracyjnymi.
Pierwszy problem to jak przy pomocy jednolinijkowca a w zasadzie jednego polecenia porównać dwa katalogi:
:::bash
diff -q -r /dir1 /dir2
owszem to samo zadanie można wykonać przy pomocy chociażby rsync’a lub skorzystać z systemów IDS chociażby tripwire,samhain.
Drugi problem to jak przysłać np. plik z hostA do hostB nie wysycając całego dostępnego pasma oraz nie zużywając dużej ilości zasobów:
:::bash
hostA# gzip -c file.1 | pv -L <limit_bajt/s> > /dev/tcp/<hostb_ip>/<hostb_port>
hostB# nc -l <hostb_port | gunzip > file.1
Trzeci problem jak w bash’u napisać skrypt, do którego argumenty podajemy w następujący sposób: <nazwa_skryptu> -a -b <parm1>:
:::bash
#!/bin/bash
args=`getopt ab: $*`
set -- $args
for i do
case "$i" in
-a) PARM1=1; shift ;;
-b) PARM2=$2; shift; shift ;;
--) shift; break ;;
esac
done
echo "-a $PARM1"
echo "-b $PARM2"
powered by Hugo and Noteworthy theme