Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: Napisać skrypt w Linuxie  (Przeczytany 10815 razy)

ContraBoys

  • Gość
Napisać skrypt w Linuxie
« dnia: 2010-01-22, 23:21:36 »
Prosze dać mi wskazówki jak napisać skrypt w Linuxie Ubuntu o następującej treści :

Proszę napisać skrypt, który w sposób ciągły monitoruje (w tle)
katalog bufor i wykonuje na nim następujące operacje:
-   usuwa pliki o rozmiarze < 50B,
-   sprawdza sumaryczny rozmiar wszystkich plików w katalogu i po
przekroczeniu 500B usuwa z niego pliki najstarsze tak aby uzyskać sumaryczny rozmiar =<
500B.

--edit ZipoKing--
Wątek przeniesiony do odpowiedniejszego działu

arctgx

  • Gość
Napisać skrypt w Linuxie
« Odpowiedź #1 dnia: 2010-01-22, 23:50:49 »
man find
man du
man bash

Te wskazówki powinny wystarczyć. Poszukaj też w sieci przykładów. Na gotowca proszę nie liczyć, skoro to praca domowa.

ContraBoys

  • Gość
Napisać skrypt w Linuxie
« Odpowiedź #2 dnia: 2010-01-23, 08:52:39 »
co to jest man find?? to chyba szuka plików o konkretnym rozmiarze tak?? man du ?? to chyab coś z plikami najstarszymi ?? man bash ?? to chyab jest polecenie , że używam basha

Tego nie wiem jak zrobic w sposób ciągły monitoruje (w tle)
katalog bufor i wykonuje na nim następujące operacje:
Prosze o pomoc

Krzysiek1990

  • Gość
Napisać skrypt w Linuxie
« Odpowiedź #3 dnia: 2010-01-23, 09:35:21 »
Poczytaj o linuxie. Najlepiej zainstaluj sobie jakiegoś np. Ubuntu i popracuj na nim.
Znaczna większość pakietów, programów w linuxie ma swój manual (z ang. poradnik).
Można go otworzyć wpisując man instrukcja w konsoli. Żeby potem zamknąć manual naciśnij q. W edytorze poruszasz się strzałkami góra, dół.

PS. Z takim podejściem daleko nie zajdziesz. Chyba, że dostałeś bana na google.com.

Offline Robert

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2516
    • Zobacz profil
Napisać skrypt w Linuxie
« Odpowiedź #4 dnia: 2010-01-23, 15:04:42 »
Cytat: ContraBoys
co to jest man find?? itd.
1. wpisz sobie w konsolę podane polecenie to zobaczysz co to jest, nie bój się, nie sformatuje ci to dysku, ani nie usunie żadnych danych.

2. Forum linuksa to nie GG, więc dwa pytajniki są zbędne.

3. Jesteś na prostej drodze do utylizacji tego wątku, no chyba, ze zaczniesz samodzielnie myśleć i weźmiesz się sam do pracy, zamiast spychać ją na biurka innych forumowiczów.
Zanim popełnisz grafomaństwo: 1 | 2 | 3
Baza RPM Jak szukać informacji

ContraBoys

  • Gość
Napisać skrypt w Linuxie
« Odpowiedź #5 dnia: 2010-01-23, 16:03:30 »
„#!/bin/bash
bufor[1]=test
bufor[2]=test2
max='500'
min='0'
for y in 1 2
do
cd $(bufor[$y])
jest=$(du -sk)
if [$jest -ge $max]; then
x=0;
for file in *.avi
do
x++;
pliki
  • =$file

done
for(( i=1 ; $i < $1 ; i++ )) ; do
for(( j=$(($1-1)) ; $j >= $i ; j-- )); do
if [ ${pliki[j-1]} -gt ${pliki[j]} ]; then
pom=${pliki[j-1]}
pliki[j-1]=${pliki[j]}
pliki[j]=$pom
fi
done
done
for z in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
do
jest=$(du -sk)
if [$jest -ge $min]; then
rm $(pliki[z]).avi
else
break
fi
done
fi
cd ..
done”

Dobrze??

Offline Robert

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2516
    • Zobacz profil
Napisać skrypt w Linuxie
« Odpowiedź #6 dnia: 2010-01-23, 16:47:38 »
A czy sam już spróbowałeś czy u Ciebie to działa?
EDIT: Skrypt ma sprawdzać tylko pliki AVI ?
Zanim popełnisz grafomaństwo: 1 | 2 | 3
Baza RPM Jak szukać informacji

ContraBoys

  • Gość
Napisać skrypt w Linuxie
« Odpowiedź #7 dnia: 2010-01-23, 21:34:45 »
#!/bin/bash
bufor[1]=test
bufor[2]=test2
max='500'
min='0'
for y in 1 2
do
cd $(bufor[$y])
jest=$(du -sk)
if [$jest -ge $max]; then
x=0;
for file in
do
x++;
pliki
  • =$file

done
for(( i=1 ; $i < $1 ; i++ )) ; do
for(( j=$(($1-1)) ; $j >= $i ; j-- )); do
if [ ${pliki[j-1]} -gt ${pliki[j]} ]; then
pom=${pliki[j-1]}
pliki[j-1]=${pliki[j]}
pliki[j]=$pom
fi
done
done
for z in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
do
jest=$(du -sk)
if [$jest -ge $min]; then
rm $(pliki[z])
else
break
fi
done
fi
cd ..
done

Poprawiłem dobrze??

chmooreck

  • Gość
Napisać skrypt w Linuxie
« Odpowiedź #8 dnia: 2010-01-23, 21:54:18 »
szukasz tu testerów ?
sam sprawdziłeś działanie ?

ContraBoys

  • Gość
Napisać skrypt w Linuxie
« Odpowiedź #9 dnia: 2010-01-24, 09:02:45 »
nie mam jak sprawdzić bo nie posiadam linuxa wieć prosze was o sprawdzenie

ContraBoys

  • Gość
Napisać skrypt w Linuxie
« Odpowiedź #10 dnia: 2010-01-24, 09:30:03 »
#!/bin/bash
for katalog in bufor
do
cd $katalog
x=$(du -sk | cut -f 1)
for plik in `find  -type f | sort -b`; do
if [ $x -gt 500 ]; then
rm $plik
x=$(du -sk | cut -f 1)
else
break 1
fi
done
cd ..
done
 Prosze o poprawienie

ZipoKing

  • Gość
Napisać skrypt w Linuxie
« Odpowiedź #11 dnia: 2010-01-24, 10:46:40 »
Cytat: ContraBoys
nie mam jak sprawdzić bo nie posiadam linuxa wieć prosze was o sprawdzenie
W takim razie sciągnij ten plik: klik (jest to obraz ISO KUbuntu 9.10) i wypal ten obraz na płycie CD, następnie uruchom ponownie komputer i uruchom go z tejże płyty w trybie live (tj. bez dokonywania zmian na samym komputerze; ewentualnie możesz zainstalować sobie np. VirtualBoksa i uruchomić ten obraz na maszynie wirtualnej). W ten sposób zdobędziesz Linuksa, na którym będziesz mógł sprawdzić swój skrypt.

ContraBoys

  • Gość
Napisać skrypt w Linuxie
« Odpowiedź #12 dnia: 2010-01-24, 11:08:54 »
To nie jest potrzebne

Offline roobal

  • Users
  • Guru
  • *****
  • Wiadomości: 2056
    • Zobacz profil
Napisać skrypt w Linuxie
« Odpowiedź #13 dnia: 2010-01-24, 12:03:31 »
Albo zainstaluj sobie Cygwin pod Windowsem.

Pozdrawiam!

arctgx

  • Gość
Napisać skrypt w Linuxie
« Odpowiedź #14 dnia: 2010-01-24, 13:05:30 »
Cytat: ZipoKing
Cytat: ContraBoys
nie mam jak sprawdzić bo nie posiadam linuxa wieć prosze was o sprawdzenie
W takim razie sciągnij ten plik: klik (jest to obraz ISO KUbuntu 9.10) i wypal ten obraz na płycie CD, następnie uruchom ponownie komputer i uruchom go z tejże płyty w trybie live (tj. bez dokonywania zmian na samym komputerze; ewentualnie możesz zainstalować sobie np. VirtualBoksa i uruchomić ten obraz na maszynie wirtualnej). W ten sposób zdobędziesz Linuksa, na którym będziesz mógł sprawdzić swój skrypt.
Cytat: ContraBoys
To nie jest potrzebne
Skoro Linux niepotrzebny, to znaczy że my mamy testować za Ciebie. Jak chcesz się czegoś nauczyć? Powoli nabieram przekonania, że ten wątek też staje się niepotrzebny.

Albo robisz to co do Ciebie należy i my pomagamy, albo liczysz na odwalenie kawałka roboty za Ciebie i wątek idzie do utylizacji.