Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam a wiec mam napisac skrypt ktory znajdzie wszystkich uzytkownikow systemu ich full name i ostatnie 5 logowan... a to wszystko do pliku html [tabelka] jak narazie mam uzytkownikow i ich full name.. :
#!/bin/bash
grep -e root -e home /etc/passwd | sed -e 's/:*.//g' | cat -n > uzytko.txt
grep -e root -e home /etc/passwd > fname.txt
cat fname.txt | cut -f 5 --delimiter=: | cut -f 1 --delimiter=, | cat -n > fname.txt
echo "<.center><.table><.tr><.td>" > skrypt2.html
echo "Uzytkownicy:<.br>" >> skrypt2.html
cat uzytko.txt | tr "rn" "%" | sed s/"%"/"<br>"/g >> skrypt2.html
echo "</.td><.td>" >> skrypt2.html
echo "Full Name:<.br>" >> skrypt2.html
cat fname.txt | tr "rn" "%" | sed s/"%"/"<br>"/g >> skrypt2.html
echo "</.td></.tr></.table>" >> skrypt2.html
ale szczerze mowiac nie podoba mi sie to.. bo w tabelce sa same kolumny.. i jak bedzie zadluga nazwa to sie kolejnosc zwali... nie wiem jak zrobic logowania.. i ogole mysle zeby to zrobic w petli.. ale jak..
Dziekuje za wszelkie odpowiedzi i przepraszam za moj brak wiedzy.. w koncu jestem tylko [i]woznym..[/i] :P[/i]
Offline
Ten skrypt w ogóle działa? Odpalilem tego htmla i to co mam:
Uzytkownicy: Full Name:
1 1 root
2 2
3 3
4 4
Co do tabeli to nie czaje czemu miałaby sie zwalić jak nazwa bedzie za długa (to i tabela bedzie miała wiekszą komórke). Ostatnie logowania użytkowników pokaże Ci polecenie last, trzeba tylko wyciagnąć konkretne informacje. Dobrze byłoby napisać to w php zamiast męczyć sie z bashem.
Offline
niestety takie sa wymogi ze ma byc w html :P
a co do dzialania skryptu to fakt musialem cos zle przepisac.. :-/
ale i tak chcialbym to zrobic w petli.. zeby kazdy uzytkownik mial wlasna komorke tabeli.. co do logowan wiem ze mam korzystac z last ale nie wiem jak wstawic tam login uzytkownika systemu..
P.s.
Czy moglbym zostac zapisany do grupy dug??:> sa jakies wymogi ?? ;-)
Offline
Własnie dlatego że ma być to html wygodnie jest to napisać w php :) Kod php przeparsowany przez serwer www z obsługą php daje htmla. A wygodniej z tego wzgledu, że język podobny do c/c++, nie trzeba pisać w bashu :) no i na php.net jest świetna dokumentacjia po polsku. Co do zapisania się nie ma wymogów. No ale przydałoby sie żebyś używał debiana.
Offline
oczywiscie ze uzywam... :-)
ide popisac ten skrypcik moze cos wymysle.. a co do php to nie znam.. :P ma byc tak jak mi napisal pan od cwiczen... :-/
Offline
Myślałem że piszesz na własny użytek, ale skoro pan od ćwiczeń chce w bashu, to widocznie uczy was basha, a nie php. :)
Offline
a no ten pan to taki pan jak kazdy inny jak student ma pytanie z poza programu tematow.. to zawsze... nie wiem :-/ a czeka mnie jeszcze drugi skrypt.. :D z awk ale nie znam jego tresci
hej sutzo jesteś z nowego portu czy jak? i chodzisz na polibudę?
Offline
Z nowego tak z polibudy niet... ja chodze do wsz na zabiance..
Offline
Masz tu kawalek skrypta....
#!/bin/bash cat /etc/passwd |grep /bin/bash | cut -d: -f 1,3,5 | cut -d: -f1,3 | awk '{printf $1; printf " "; print $2}' | sed "s/:/ /" |sed "s/,//" |sed "s/,//" |sed "s/,//" > user.s echo "<HTML>" > login.html echo " <CENTER>" >> login.html echo "<TABLE>" >> login.html echo " <TR>" >> login.html echo " <TD>" >> login.html echo " <CENTER><B> Login uzytkownika <BR>i pelna nazwa </B></CENTER>" >> login.html echo " </TD>" >> login.html echo " <TD>" >> login.html echo " <CENTER><B> Ostatnie 5 logowan </B></CENTER>" >> login.html echo " </TD>" >> login.html echo " </TR>" >> login.html grep -E -v "^#|^$" user.s |while read login nazwa; do echo " <TR>" >> login.html echo " <TD>" >> login.html echo " Login: <CODE><B>$login</B></CODE> <BR> Nazwa: <CODE><B>$nazwa</B></CODE>" >> login.html echo " </TD>" >> login.html echo " <TD>" >> login.html echo " <PRE>" >> login.html last -a -n 5 $login |grep $login >> login.html echo " </PRE>" >> login.html echo " </TD>" >> login.html echo " </TR>" >> login.html done echo " </TABLE>" >> login.html echo " </CENTER>" >> login.html
a oto przykladowy wynik dzialania
http://biexi.dug.net.pl/login.html
Offline
No ładny skrypcik. Ktoś tu wisi BiExi browara :)
Offline
omg i to nie jednego browara... :-) moze dobre wino?? dziekuje Biexi... chyle czola.. teraz tylko to musze przestudiowac :-)
Offline
Ja lubie dobre wino :]
Staralm sie jak napjprsciej to napisac jak z zrozumieniem czegos bedziesz mial problemy to pytaj....
A tak na marginesie bash byl pierwszym jezykiem programowania (jezykiem skryptowym) ktorego poznalam pracujac pod linuxem teraz walcze z perl'em i ucze sie C i corazbardziej mnie to wciaga :]
Offline
Hmmm c++ mam za soba... :-) perl.. hmmmm nie znam ;-) a co do linuxa dzis mialem zerowke i poleglem chyba... strasznie koles sie wygryzl z nim... [tak apropo mam wyklady z autorem cdlinux'a hahahaha panim kaczmarkiem lol ]
co do linijek nie zabardzo rozumiem:
cat /etc/passwd |grep /bin/bash |
cut -d: -f 1,3,5 | cut -d: -f1,3 | awk '{printf $1; printf " "; print $2}' | sed "s/:/ /" |sed "s/,//" |sed "s/,//" |sed "s/,//" > user.s
grep -E -v "^#|^$" user.s |while read login nazwa;
wiem co z czym sie je sed i awk... grep tez... ale nie rozumiem dokladnie : "^#|^$" ... i to chyba wsio...
//
najgorsze przedemna... assembler.. do piatku mam zrobic dwa zadania na dsm51... straszne..
//
Offline
oooj taka kobiete to ze swieczka szukac :-)
ok ok ja cierpliwy i czekac bede
Offline
najgorsze przedemna... assembler[/quote]no to możemy sobie ręce podać - w następnym semestrze mam mnieć przedmiot o wdzięcznej nazwie 'programowanie mikrokontrolerów' czy jakoś tak. no i do tego dojdzie VHDL i inne takie cuda. moja głowa...
linux regd. user #248790
Offline
no ja wlasnie mamw tym semestrze... tyle ze u mnie sie nazywa... Techniki Mikroprocesorowe... lol :-)
Offline
A Wiec co do linijki
cat /etc/passwd |grep /bin/bash | cut -d: -f 1,3,5 | cut -d: -f1,3 | awk '{printf $1; printf " "; print $2}' | sed "s/:/ /" |sed "s/,//" |sed "s/,//" |sed "s/,//" > user.s
w sumie mozna bybylo jeszcze trochw zobtymalizowac ta w/w procedurkt..... ale to juz sam sobie mozesz zrobic...
[b]grep[/b] - wyswietl tylko linie w ktroych znajduje sie ciag zakow "/bin/bash"
[b]cud -d: ....[/b] - podziel na fragmety cag znakow odzielonych ":" i wytnij odpowiednie kolumny...
[b]awk awk '{printf $1;...[/b] - w tym przypadku wyswietla ciag juz przetwozonego wiersza aby muc go przygotowac do dalszej obrobki...
[b]sed "s/,//"[/b] zastepuje znak w tym przypadku zastpuje wszystkie "," niczym.....
co do
grep -E -v "^#|^$" user.s |while read login nazwa;
to co widzisz to ejst poczatek petli.... a
[b]grep -E -v "^#|^$"[/b] - mowi zeby pomojac wszystkie puse wiersze i wiersze zaczynajace sie od znaku "#"
b]read login nazwa[/b] - odczytuje wartosci odzielone spacja 1 wartosc jest przypisywana do zmiennej login a droga do zmiennej nazwa
Offline
no ja wlasnie mamw tym semestrze... tyle ze u mnie sie nazywa... Techniki Mikroprocesorowe... lol :-)[/quote]
Widze, że wszyscy przez to przechodzą :) U mnie to jest Budowa komputerów. Piszemy na mikrokontroler 8051 na zestawie dsm-51. Troche to porabane więc wszystkim współczuje. W tym sobie, musze na zaliczenia oddać program obsługujący silniczek krokowy :(
Offline
Dzieki Biexi... ale nie wiem dlaczego on rowniez przeszukuje /bin/bash
kamikaze:
ja tez musze oddac dwa programy... :( do piatku... chyba bede musial sie usmiechnac do Biexi ;-)
Offline
no ja wlasnie mamw tym semestrze... tyle ze u mnie sie nazywa... Techniki Mikroprocesorowe... lol :-)[/quote]
Widze, że wszyscy przez to przechodzą :) U mnie to jest Budowa komputerów. Piszemy na mikrokontroler 8051 na zestawie dsm-51. Troche to porabane więc wszystkim współczuje. W tym sobie, musze na zaliczenia oddać program obsługujący silniczek krokowy :([/quote]
hehe. widze ze strasznie duzo lduzi sie pojawia z jakiejs elektroniki czy czegos takiego :). co prawda nie tu miejsce na takie zwierzenia, ale tez przez to przechodzilem :). i tak mi zostalo do dzis - cyfrowka fajna rzecz.
Linux Registered User: #348830
In a World without Walls and Fences,
who needs Windows and Gates?Offline
Time (s) | Query |
---|---|
0.00011 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00130 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.144.31.64' WHERE u.id=1 |
0.00081 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.144.31.64', 1732376392) |
0.00041 | SELECT * FROM punbb_online WHERE logged<1732376092 |
0.00063 | SELECT topic_id FROM punbb_posts WHERE id=2176 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=324 ORDER BY posted |
0.00065 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=324 AND t.moved_to IS NULL |
0.00007 | SELECT search_for, replace_with FROM punbb_censoring |
0.00244 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=324 ORDER BY p.id LIMIT 0,25 |
0.00103 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=324 |
Total query time: 0.00754 s |