User:Vkolesni

From ICO wiki
Jump to navigationJump to search

We have 1,496 articles.

Bash quest

Luua skript, mis otsiks etteantud kataloogist ühesuguseid faile. Failide võrdlemine võiks toimuda md5sum tasandil. Loodav skript peaks olema suuteline leidma kõikide ühesuguste failide asukoha ja kuvama ka nende nimed.


Näideks failidel võivad olla erinevad nimed, kuid sama sisu :

fca209683890bb2a02c60535ca82f920 joujou

fca209683890bb2a02c60535ca82f920 tere

fca209683890bb2a02c60535ca82f920 hello

fca209683890bb2a02c60535ca82f920 asd


Quest8 lahendus

#!/bin/bash
#Autor: Vladimir Kolesnik, vkolesni@itcollege.ee
#Versioon 0.5
#Antud skript otsib etteantud kataloogist ühesuguseid faile. Failide võrdlemine toimub md5sum tasandil. 
#Skript leiab ja kuvab kõikide ühusuguste failide asukoha ja nimed.
#Skripti kasutamiseks liiguge kataloogise, kus on vaja otsida ühesuguseid faile ja käivitage skripti sudo õigusega
 
#kontrollib, kas on piisavalt õigusi skripti käivitamiseks 
if [ $UID -ne 0 ]; then
 
echo "Käivita skripti $(basename $0) juurkasutaja õigustes: sudo"
exit 1
 
fi

#Otsimine ainult faile (-type f), mida ei ole tühjad(-not -empty), ning määratleme print formati ("%s\n")
find -not -empty -type f -printf "%s\n" |

#Sorteerime descending (reverse) numeric järgi
sort -rn | 

#Ainult printimine dublicated unikaalsed faile
uniq -d | 

#Kasutame käsu "xargs" selleks, et asendama ("I") {} argumenti listiga
xargs -I{} -n1 find -type f -size {}c -print0 | 

#Võtame ainult md5summi, mis ei sisalda komasi ega tühikuid ("-0")
xargs -0 md5sum | 

#Sorteerimine
sort | 

#Võtame ainult 32 numbri ("-w32") võrdlemiseks
uniq -w32 --all-repeated=separate

PowerShell

Kodu 1

#*****************************************************************
#
#   Skripti nimi:  malu_check.ps1
#   Versioon:  1.0
#   Autor:  Vladimir Kolesnik
#   Kuupäev:  17. mai, 2011
#
#   Selgitus: Antud  skript kuvab kõike protsesse, mille mälu on üle 1MB
#   ja vormistab sisend faili HTML kujul 
#
#*****************************************************************

# Võtame protsesside nimekirja
Get-Process |

# Võtame ainult neid protsesse, kus mälu on üle 1MB
Where-Object {$_.WS -ge 1048576} |

# Sorteerime suuremast väiksemaks
Sort-Object WS desc |

# Vormistame HTML kujul C:\WWW\ kaustas, ning kuvame ainult name, working setting, path(asukoht) ja CPU
convertto-html -property Name,WS,Path,CPU > C:\WWW\malu_check.html


Kodu 2

#*****************************************************************
#
#   Skripti nimi:  testProtsess.ps1
#   Versioon:  1.0
#   Autor:  Vladimir Kolesnik
#   Kuupäev:  23. mai, 2011
#
#   Selgitus: Antud skript kontrollib, kas ettemääratud protsess töötab või ei.
#             Kui protsess töötab, skript ei tee midagi.
#             Kui ettemääratud protsess ei tööta, siis käivitab selle.
#
#
#*****************************************************************

#Siin peab kirjutada Teie protsessi nimi! Asenda "C:\Program Files (x86)\AIMP2\AIMP2.exe /switches" sinu protsessiga!
$minuProtsess = "C:\Program Files (x86)\AIMP2\AIMP2.exe /switches"

#Siin peab määrata protsessi nimi. Asenda Aimp2 sinu protsessiga!
#Kasutame -ea SilentContinue atribuuti selleks, et eemaldada vead.
$Protsesstootab = (Get-Process Aimp2 -ea SilentlyContinue)
if ( $Protsesstootab ){
Write-Host "$Protsesstootab juba tootab. Skript lõpeb."
}
else
{
$wmi = ([wmiclass]"win32_process").Create($minuProtsess)
Write-Host "$minuProtsess Antud process ei toota. Käivitan..."
}


Python kodu

#!/usr/bin/python
# ************************************************
# Skripti autor: Vladimir Kolesnik
# Versioon: 1.0
# Selgitus: Antud skript kysib kasutajalt gruppi ja vaatab kas grupp on olemas, kui ei ole olemas, siis kysib kas tahad seda teha.
#           kui kasutaja tahab, siis teeb selle gruppi
#*************************************************
#
import os

grupp = raw_input("Sisestage gruppi: ")


for line in open("/etc/group"):
	line = line.split("\"")[0].split(":x")	
	if grupp in line:
		print "Gruup " + grupp + " on olemas"
		break
else:
	print "Gruup " + grupp + " ei ole olemas"
	teemegrupp = raw_input("Tahad teha gruppi " + grupp + " ? Sisesta Y (jah) voi N (ei): ")
	if teemegrupp == "Y" or teemegrupp == "y":
		os.system("addgroup " + grupp)
		print "Grupp " + grupp + " on tehtud. Bye!"
	elif teemegrupp == "N" or teemegrupp == "n":
		print "ok! head aega!"
	else:
		print "Vale argument! Bye!"