Documente Academic
Documente Profesional
Documente Cultură
3. Sciptul care afiseaza numerele de fisiere obisnuite, subdirectoarele, fisiere pire, legaturi simbolice,
dintr-un director dat ca argument
REZOLVARE
1.
a)
mkdir nume
cd .. sau cd nume
b)
c)
cat ./lab21/fis21 ./lab21/lab31/fis31 ./lab21/lab31/lab41/fis41 > concatenare.txt
d)
sort -k1,1 -k3,3 -k2,2r -k4,4rn fis21
e)
ln -s ../../lab41 lab21
2.
COMENZI chmod a+x 777 si ./numescript.sh argument 1 argument 2 etc
#!/bin/bash
if [ "$#" -gt 1 ];
then
for arg in "$@"
do
if test -e $arg
then
echo "$arg exista."
if test -f $arg
then
echo "$arg este un fisier"
if test -r $arg
then
echo "$arg se poate citi"
else
echo "$arg nu se poate citi"
fi
else
echo "$arg nu este un fisier"
fi
else
echo "$arg nu exista si se creeaza."
>$arg
fi
wc -l -w $arg
done
else
echo "Eroare : nr arg nu este mai mare decat 1"
fi
SAU
#!/bin/bash
3.
#!/bin/bash
echo "Directorul $1 "
echo "Fisiere obisnuite :"
find $1 -type f | wc -l
echo "Subdirectoare : "
find $1 -type d | wc -l
echo "Legaturi simbolice : "
find $1 -type l | wc
3. Screti un script care sa omoare toate procesele unui utilizator dat ca argument
REZOLVARE
1
a)
mkdir nume
cd .. sau cd nume
b)
cat >fis1.txt <EOF
>Text text text numar
>EOF
c)
cat ./dir1/fis1.txt ./dir2/fis2.txt ../fis3.txt > concat.txt
d)
sort -k1,1r -k3,3r -k2,2 -k4,4 fis21
e)
ln -s ../../dirCaruiaVreauSaFacLeg numeLegaturaDinDirectorulCurent
2.
#!/bin/bash
declare -a array
for arg in "$@"
do
if [[ $arg = /* ]];
then
if test -f $arg || test -d $arg
then
echo "$arg exista si este valida"
array+=($arg)
else
echo "$arg exista dar nu este valida"
fi
else
echo "$arg nu este o cale relativa"
fi
done
for arg in "${array[@]}"
do
echo "$arg"
done > relative.txt
3.
#!/bin/bash
ps -aux | grep {$1}
pkill -u $1
Exemplu: Creare structura de directoare. In directorul d:\lucru creati un subdirectorul cu numele
vostru; sub nume creati structura din figura 2.
Secventa de comenzi:
\>cd lucru
lucru>md .\nume\a1\b2\c1
lucru>cd nume
nume>cd a1
a1>md b1
a1>cd b2
b2>md c2
b2>cd d:\lucru\nume
nume>md .\a2\b3
nume>md a3
nume>md .\a4\b4\c3
nume>cd .\a2\b4
b4>md c4
b4>md c5
c4>cd ..
a4>md b5
nume>md ..
>tree
Exemplu: Un fisier de comenzi care concateneaza 2 fisiere ( date ca argument), care se afla in 2
directoare (date ca argument), intr-un fisier (dat ca argument) dintr-un director (dat ca argument)