Przydatne programy i aplikacje: grep, ls
Ćwiczenie 1. Napisz skrypt, które wypisze nazwy plików z całego katalogu, które zaczynają się od kropki, w nazwie posiadają literkę b. Nazwa katalogu zadana jest jako argument skryptu.
Ćwiczenie 2. Napisz skrypt, które wypisze nazwy katalogów z katalogu głównego (/), które zaczynają się od liter b lub e lub s.
Przydatne programy i aplikacje: ls, cut, tr, sort
Ćwiczenie 3. Napisz skrypt, które wypisze czasy modyfikacji plików w katalogu K - interesuje nas tylko miesiąc. Wyniki mają być zapisane do pliku P. Nazwa katalogu zostanie podana jako pierwszy argument skryptu, a nazwa pliku jako drugi argument skryptu. Jeżeli katalog nie jest do odczytu lub nie da się utworzyć pliku wówczas skrypt zgłasza błąd i raportuje to odpowiednim komunikatem.
Ćwiczenie 4. Jeżeli wykonanie poprzedniego zadania nie zakończyło się błędem to wyniki poprzedniego zadania posortuj od najmniejszego do największego i zapisz do pliku o tej samej nazwie.
Przydatne programy i aplikacje: ls, wc.
Ćwiczenie 5. Napisz skrypt, który poda liczbę wszystkich katalogów w poddrzewie zaczynającym się od katalogu, którego nazwa zostanie podana jako pierwszy argument.
Ćwiczenie 6. Napisz skrypt, który poda liczbę plików we wszystkich katalogach danego poddrzewa. Poddrzewa powinny być dwa i ich nazwy powinny być podane jako argumenty
Przydatne programy i aplikacje: cat, cut, tr.
Ćwiczenie 7. Napisz skrypt, który wypisze listę loginów użytkowników danego komputera wraz z nazwą ich katalogu domowego. Wykorzystaj plik /etc/passwd
Ćwiczenie 8. Napisz skrypt, który wypisze liczbę znaków wszystkich ścieżek, które są podane w zmiennej systemowej PATH. Powinny być policzone znaki różne od : i od /.
Przydatne programy i aplikacje: finger, who, while.
Ćwiczenie 9. Napisz skrypt, który wypisze, ile razy jest zalogowany użytkownik, którego login zapisany jest w zmiennej o nazwie UZYTKOWNIK. Zmienną tą trzeba najpierw utworzyć i wpisać tam określony login np: UZYTKOWNIK="asmyk".
Ćwiczenie 10. Napisz skrypt, który będzie czekał, aż użytkownik, którego login zapisany jest w zmiennej o nazwie UZYTKOWNIK. zaloguje się 3 razy. Jak to nastąpi to skrypt musi się zakończyć.
Przydatne programy i aplikacje: head, tail, cat.
Ćwiczenie 11. Napisz skrypt, który wypisze 20-tą linię pliku od końca
Ćwiczenie 12. Napisz skrypt, który wypisze wszystkie linie z pliku do M-tej do N-tej. Wartości M i N podane są jak argumenty.
Ćwiczenie 13. Napisz skrypt, który wypisuje "środkową" linię pliku (może wymagać przynajmniej kilku kroków).
ls | cp
cp !!! << /etc
cp -r /etc ~/etc/!!!
ls -R rm
wc !!!
cd $HOME cd cd . cd ~ cd /
grep -v -e "^[^abc].*b.+|c{4,6}\.\.?\.$"
grep -v -e ^[^abc].*b.+ | c{4,6}\.\.?\.$
ls ls -a
ls -p ls -ap
ls -F ls -aF
ls -l ls -al
ls .... | grep ....
ls .... && grep ....
ls .... || grep ....
ls .... ; grep ....
$A "$A"\
ls -l
ls -l | tr ' ' '_' | rev
ls -l | cut -c10-20,37
ls -l | tr -s ' '
echo "AAAAAABAAAAA" | tr -s 'A'
echo "$PATH"
echo "$PATH" | cut -d':' -f2
ls -l | tr -s ' ' | cut -d' ' -f1,3-5
if [ -e "$1" ] && [ -d "$1" ] ;then
if [ -e "$1" ] && [ -f "$1" ] && [ ! -w "$1" ] ;then
exit 8
fi
cd . cd / cd ~
ls | wc | plik
ls | wc > plik
wc !!!
./etc /etc etc
\!\!\!
cp rm ls -r -R
grep -v -e "^[^abc].*b.+|c{4,6}\.\.?\.$"
grep -v -e "^[^abc].*b.+|c{4,6}\.\.?\.$"
ls ls -a
ls -p ls -ap
ls -F ls -aF
ls -l ls -al
ls .... | grep ....
ls .... && grep ....
ls .... || grep ....
ls .... ; grep ....
$A "$A"\
ls -l
ls -l | tr ' ' '_' | rev
ls -l | cut -c10-20,37
ls -l | tr -s ' '
echo "AAAAAABAAAAA" | tr -s 'A'
echo "$PATH"
echo "$PATH" | cut -d':' -f2
ls -l | tr -s ' ' | cut -d' ' -f1,3-5
grep -P "\d"
test
if [ -e "$1" ] && [ -d "$1" ] ;then
if [ -e "$1" ] && [ -f "$1" ] && [ ! -w "$1" ] ;then
exit 8
fi
cd /home cd ~ cd
mkdir -p ~/etc/!!!
etc /etc
cp rm ls -r -R
cp -r /etc ......
grep -v -e "^[^abc].*b.+|c{4,6}\.\.?\.$"
grep -v -e ^[^abc].*b.+|c{4,6}\.\.?\.$
ls ls -a
ls -p ls -ap
ls -F ls -aF
ls -l ls -al
ls -al | grep "^d"
$1 = a
a = $1
a=$1
a="$1"
ls -l
ls -l | tr ' ' '_' | rev
ls -l | cut -c10-20,37
ls -l | tr -s ' '
echo "AAAAAABAAAAA" | tr -s 'A'
echo "$PATH"
echo "$PATH" | cut -d':' -f2
ls -l | tr -s ' ' | cut -d' ' -f1,3-5
grep -P "\d"
test
if [ -e "$1" ] && [ -d "$1" ] ;then
if [ -e "$1" ] && [ -f "$1" ] && [ ! -w "$1" ] ;then
cd ~ && mkdir etc
cd ~ ; mkdir etc
ls | plik
ls > plik
!!! /!!!
cp rm ls recursive -r -R
grep -v -e "^[^abc].*b.+|c{4,6}\.\.?\.$"
ls ls -a
ls -p ls -ap
ls -F ls -aF
ls -l ls -al
chmod +x skrypt.sh
skrypt.sh ./skrypt.sh PATH
ls OPCJE | grep OPCJE | wc OPCJE
grep -P "\d"
\..*b.*
ls -l
ls -l | tr ' ' '_'
ls -l | cut -c10-20,37
ls -l | tr -s ' '
echo "AAAAAABAAAAA" | tr -s 'A'
echo "$PATH"
echo "$PATH" | cut -d':' -f2
ls -l | tr -s ' ' | cut -d' ' -f1,3-5
grep -P "\d"
if [ -e "$1" ] && [ -d "$1" ] ;then
if [ -e "$1" ] && [ -f "$1" ] && [ ! -w "$1" ] ;then
cp ls rm recursive r R
grep -e -v "^[^abc].*b.+|c{4,6}\.\.?\.$"
grep -e -v ^[^abc].*b.+|c{4,6}\.\.?\.$
grep -v -e "^[^abc].*b.+|c{4,6}\.\.?\.$"
grep -v -e ^[^abc].*b.+|c{4,6}\.\.?\.$
ls ls -a
ls -p ls -ap
ls -F ls -Fa
ls -l ls -la
A = $(ls) A=$(ls)
ls -l
ls -l | tr ' ' '_'
ls -l | cut -c10-20,37
ls -l | tr -s ' '
echo "AAAAAABAAAAA" | tr -s 'A'
ls -l | tr -s ' ' | cut -d' ' -f1,3-5
echo "$PATH"
echo "$PATH" | cut -d':' -f2
grep -P "\d"
if [ -e "$1" ] && [ -d "$1" ] ;then
if [ -e "$1" ] && [ -f "$1" ] && [ ! -w "$1" ] ;then
cd ~ mkdir etc
ls rm cp --recursive -r -R
ls ls -l ls -la ls -p ls -pa ls -Fa ls -F
* / @
#!/bin/bash #!bin/bash
chmod +x s.sh
egrep -v "^[^abc].*b|.+\.\.\.$"
egrep -v ^[^abc].*b | .+\.\.\.$
A = $1 A=$1 A="$1"
rm=ALA rm = ALA
egrep -P | + \d
grep -e
ls -l | cut -c10-20,23,25
ls -l | tr ' ' '_'
ls -l | tr -s ' '
ls -l | tr -s ' ' | cut -d' ' -f1,4-6
echo "$PATH" | cut -d':' -f2
ls -l /$K ls -l $K ls -l "$K"
if [ -e "$1" ] && [ -d "$1" ] ;then
if [ -e "$1" ] && [ -f "$1" ] && [ ! -w "$1" ] ;then
man sort
cp, rm, ls --recursive -r -R
rm -r ~ rm -r /
cd "$HOME"
cd ~ ; mkdir etc
mkdir ~/etc
grep -P \d
ls | egrep "^\..*k.+[^/]$"
ls -a ls -p ls -F ls -l
echo "klwelkwef" | grep "fwef" | wc -l
ls -p -a | grep "^\..*b.*[^/]$"
ls -p -a | grep "^\..*b.*[A-Za-z1234]$"
ls -p -a | grep "^\..*b.*[^A-Za-z1234]$"
ls -l
ls -l | tr -s ' '
ls -l | tr ' ' '_'
ls -l | cut -c14-25,37
ls -l | tr -s ' ' | cut -d' ' -f4-5,7 > PLIK
#!/bin/bash
exit 0
chmod +x *.sh
ls -R 2> /dev/null
if [ -e "$1" ] && [ -d "$1" ] ;then
if [ -e "$1" ] && [ -f "$1" ] && [ ! -w "$1" ] ;then
ls > a
wc -l < a > a
cd . cd ~ cd
cp ls rm -- recursive -r -R
chmod +x s.sh
./s.sh
ls -l ls -p ls -F
ls -pa ls -la ls -Fa
cd /$1
cd $1
echo "klwelkwef" | grep "fwef" | wc -l
ls -p -a | grep "^\..*b.*[^/]$"
ls -p -a | grep "^\..*b.*[A-Za-z1234]$"
ls -p -a | grep "^\..*b.*[^A-Za-z1234]$"
ls -l
ls -l | tr -s ' '
ls -l | tr ' ' '_'
ls -l | cut -c14-25,37
ls -l | tr -s ' ' | cut -d' ' -f4-5,7 > PLIK
echo 'ls -l | tr -s ' ' | cut -d' ' -f4-5,7' >> PLIK
man test
if [ -e "$1" ] && [ -d "$1" ] ;then
if [ -e "$1" ] && [ -f "$1" ] && [ ! -w "$1" ] ;then
fi
ls rm cp recursive
man ls
.*b.*
grep "^[bce]....."
grep -v "^[^bce]....."
ls -l | tr -s ' '
ls -l | cut -c10-20,28
ls -l | tr -s ' ' | cut -d' ' -f1,4-7
ls
ls -la
ls -pa
ls -Fa | grep "^\..*b.*"
read ZMIENNA
wc -l
$1 $#
cp rm ls - recursive -r -R
mkdir -p a/b/c/d/e
ls -l
ls -p
ls -F
grep -v "regex" grep "[^a]$"
ls -ap | grep "^\..*b.*[^/]$"
mesg n
finger | grep "s12345" | cut -c10-20
ls -l | cut -d':' -f3,5,8-12
ls -l | tr -s ' ' |cut -d' ' -f3,5,8-12
ls -las | grep "^[abc]"
ls -las | egrep "^ala|^kolo|^cos tab"
#!/bin/bash
G1:
ls
ls -p
ls -p / | grep "^[bec].*/$"
ls -l | cut -c10-20
ls -l | tr -s ' ' |cut -d' ' -f6
rm skrypt.sh
ls -pa
grep "^\..*b.*[^/]$"
ls rm cp recursive -r -R
if [ ! -d "$1" ] to OK
if [ ! "$1" -d ] to NIE OK