1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# SPDX-License-Identifier: AGPL-3.0-or-later
# preimenuj vse datoteke tako, da zamenjaš minuse s podčrtaji
def rename():
import os
for filename in os.listdir('.'):
os.rename(filename, filename.replace('-', '_'))
# Napiši čim krajši ukaz, ki vse datoteke iz /home/user/mapa/mojimenik premakne v /home/user/novi
def mv_novi():
import os
for filename in os.listdir("/home/user/mapa/mojimenik/"):
os.rename('/home/user/mapa/mojimenik/' + filename, '/home/user/novi/' + filename)
# Napiši ukaz, ki s pomočjo ukaza grep v datoteko "mama.txt" izpiše vse navade (ne skrite) datoteke v trenutnem imeniku, ki vsebujejo niz "mama", v datoteko "napake.txt" pa izpiše vse morebitne napake (npr. to, da so nekateri objekti v trenutnem imeniku dejansko imeniki ali napačne simbolične povezave)
def mama():
import os
import re
import mmap
mama = ''
wrong = ''
for filename in os.listdir('.'):
try:
f = open(filename, 'r+')
data = mmap.mmap(f.fileno(), 0)
if re.search('mama', data):
mama = mama + filename + "\n"
except ValueError:
wrong = wrong + filename + "\n"
open('mama.txt', 'w').write(mama)
open('napake.txt', 'w').write(wrong)
# Napiši ukaz, ki bo 5s sledil vsebini /var/log/syslog. V primeru, da se v syslogu pojavi niz "zmeda", naj program izpiše "imam ga". Poleg tega naj program med sledenjem syslog-u odšteva od 5 do 1 (vsako sekundo naj se izpiše naslednja številka.
def checker():
import time
import re
import mmap
t = time.time() * 1000
n = t
f = open('/var/log/syslog', 'r+')
data = mmap.mmap(f.fileno(), 0)
me = re.findall('zmeda', data)
c = len(me)
for i in range(5, 0, -1):
print(i)
n += 1000
while n > t:
f = open('/var/log/syslog', 'r+')
data = mmap.mmap(f.fileno(), 0)
me = re.findall('zmeda', data)
if len(me) > c:
c = len(me)
print('imam ga')
t = time.time() * 1000
# Nastavi okoljsko spremenljivko TEST, da bo imela isto vrednost kot okoljska spremenljivka USER + število okoljskih spremenljivk, ki v imenu ali vrednosti ne vsebujejo besede TEST. Primer: polz37
def env():
import os
import re
c = 0
for i in os.environ:
if not (re.search('TEST', i) or re.search('TEST', os.environ[i])):
c = c + 1
os.environ['TEST'] = os.environ['USER'] + repr(c)
# S pomočjo programa cURL shrani vsebino spletne strani www.google.com v datoteko z imenom website.txt
def googl():
import urllib.request
open('website.txt', 'w').write(urllib.request.urlopen('http://www.google.com').read())
# Napiši ukaz, ki bo število pojavitev značke <div> v datoteki website.txt dodal na konec te iste datoteke brez, da bi se ukaz zapisal v zgodovino ukazov "bash history"
def div():
import re
import mmap
f = open('website.txt', 'r+')
data = mmap.mmap(f.fileno(), 0)
me = re.findall('<[^/<>]*div[^>]*>', data)
open('website.txt', 'a+').write(repr(len(me)))
# Napiši ukaz brez uporabe programa cron, kateri 5 minut po izvedbi izpiše vsebino imenika v katerem se trenutno nahajaš
def sleep():
import time
import os
time.sleep(300)
print(os.listdir('.'))
# Napiši najkrajši ukaz, ki s pomočjo Pythona zažene preprost (integriran) HTTP strežnik kateri streže datoteke iz imenika iz katerega je bil pognan na vratih 8000
def server():
import http.server
import socketserver
httpd = socketserver.TCPServer(("", 8000), http.server.SimpleHTTPRequestHandler)
httpd.serve_forever()
|