#!/bin/bash
dir=/
temp=`mktemp`
ilekat=0
ileplik=0
ile=0
xplik=0
rplik=0
wplik=0
xkat=0
rkat=0
wkat=0
if test "$1" = "-h" || test "$1" = "-help"
then
echo Witam,
echo Skrypt sluzy do zliczania plikow oraz katalogow wraz z rekurencyjnie przeszkukiwanymi podkatalogami
echo i wyswietla ilosc plikow i katalogow z danymi prawami r,w,x dla aktualnie zalogowanego usera.
echo
echo Sprosb wywolania:
echo ------------------
echo host#bash bash.sh [-f][katalog]
echo lub
echo host#bash bash.sh [-d][katalog]
echo ------------------
echo
echo -f wyswietlaj statystyke dla plikow
echo -d wyswietlaj statystyke dla katalogow
elif test $# -eq 0
then
echo Nie podales parametrow
elif test $# -gt 3
then
echo Zle parametry!
elif test "$1" != "-d" && test "$1" != "-f"
then
echo Zly parametr $1
elif test $# -eq 2 && test ! -d $2 && test "$2" != "-f" && test "$2" != "-d"
then
echo Zly parametr
elif test "$2" != "-d" && test "$2" != "-f" && test "$2" != "" && test ! -d $2
then
echo Zly parametr $2
elif test $# -eq 3 && test -d $2 && test -d $3
then
echo Zle parametry
elif test $# -eq 3 && test ! -d $3
then
echo $3 nie jest katalogiem
else
if test -d $3
then
dir=$3
fi
if test -d $2
then
dir=$2
fi
find $dir -name '*' -print > $temp
while read a
do
ile=`expr $ile + 1`
if test -d $a
then
ilekat=`expr $ilekat + 1`
if test -x $a
then
xkat=`expr $xkat + 1`
fi
if test -r $a
then
rkat=`expr $rkat + 1`
fi
if test -w $a
then
wkat=`expr $wkat + 1`
fi
else
ileplik=`expr $ileplik + 1`
if test -x $a
then
xplik=`expr $xplik + 1`
fi
if test -r $a
then
rplik=`expr $rplik + 1`
fi
if test -w $a
then
wplik=`expr $wplik + 1`
fi
fi
done < $temp
if test "$1" = "-f" || test "$2" = "-f"
then
echo Przegladnientych plikow: $ileplik
echo Liczba plikow wykonywalnych: $xplik
echo Liczba plikow do odczytu: $rplik
echo Liczba plikow do pisania: $wplik
fi
if test "$1" = "-d" || test "$2" = "-d"
then
echo Przegladnietych katalogow: $ilekat
echo Liczba katalogow z prawem wykonywania: $xkat
echo Liczba katalogow z prawem do odczytu: $rkat
echo Liczba katalogow z prawem do zapisu: $wkat
fi
fi