Μπορεί να με βοηθήσει κάποιος σε αυτή την άσκηση?

...ασύγχρονα μαθήματα Τερματικού

Μπορεί να με βοηθήσει κάποιος σε αυτή την άσκηση?

Δημοσίευσηαπό chris m » 01 Ιουν 2014, 15:10

Σε κάθε σύστημα Unix υπάρχει ένα αρχείο με πληροφορίες σχετικά με τα
διαθέσιμα internet πρωτόκολλα. Συνήθως, το αρχείο αυτό είναι το
/etc/protocols. Με την εντολή “man protocols” μπορείτε να ενημερωθείτε
σχετικά με τη δομή του αρχείου αυτού (για την ευκολία σας δείτε το
protocols.pdf). Να γράψετε ένα πρόγραμμα για το κέλυφος (έστω ότι
ονομάζεται “protinfo”) το οποίο, χρησιμοποιώντας το πρόγραμμα AWK, να
εξάγει από το αρχείο πρωτοκόλλων και να παρουσιάζει τις διαθέσιμες
πληροφορίες για τα πρωτόκολλα που πληρούν τα κριτήρια επιλογής που
δίνονται στη γραμμή εντολής που καλείται το “protinfo”, σαν “-protocol
<substr>” και “-number <range>, <range>, …” όπου τα διάφορα <range>
μπορεί να είναι της μορφής <k> ή <k>:<m>. Πιο συγκεκριμένα, με το
κριτήριο “-protocol <substr>” επιλέγονται τα πρωτόκολλα που το όνομά τους
περιέχει τη συμβολοσειρά <substr>, ενώ με το το κριτήριο “-number
<range>, <range>,…” επιλέγονται τα πρωτόκολλα που ο αριθμός τους <n>
είτε είναι κάποιο από τα <range> (της μορφής <k>) που δόθηκαν, δηλαδή
n=k, είτε περιέχεται μέσα σε κάποιο <range> (της μορφής <k>:<m>), δηλαδή
k<=n<=m. Μπορούν να δοθούν στο “protinfo” οσαδήποτε από τα κριτήρια
επιλογής, ακόμα και κανένα, ακόμα και περισσότερα από ένα του ίδιου τύπου
(“-protocol” ή “-number”). Το πνεύμα είναι ότι τελικά πρέπει να επιλεγούν
εκείνα τα πρωτόκολλα που πληρούν όλα τα κριτήρια (προφανώς επιλέγονται
όλα τα διαθέσιμα πρωτόκολλα αν δεν δοθεί κανένα κριτήριο). Για τα
επιλεγμένα πρωτόκολλα, το “protinfo” να παρουσιάζει όλες τις διαθέσιμες
πληροφορίες, δηλαδή όνομα, αριθμό και συνώνυμα (aliases).
Το πρόγραμμά σας να μην θεωρεί δεδομένο το πλήρες όνομα-μονοπάτι του
αρχείου πρωτοκόλλων, αλλά να συμβουλεύεται τη μεταβλητή περιβάλλοντος
PROTOCOLSFILE, στην οποία πρέπει να δίνεται κατάλληλη τιμή πριν την
εκτέλεση του προγράμματός σας από τον χρήστη του και όχι μέσα στο
πρόγραμμα από εσάς. Μία ενδεικτική εκτέλεση του “protinfo” ακολουθεί:
$ PROTOCOLSFILE=/etc/protocols
$ export PROTOCOLSFILE
$ ./protinfo -number 50:58,8,42:45,60 -protocol ip -number 57:60,44

Protocol: ipv6-frag
Number: 44
Aliases: IPv6-Frag

Protocol: skip
Number: 57
Aliases: SKIP
chris m
babeTUX
babeTUX
 
Δημοσιεύσεις: 2
Εγγραφή: 01 Ιουν 2014, 14:27
Εκτύπωση

Re: Μπορεί να με βοηθήσει κάποιος σε αυτή την άσκηση?

Δημοσίευσηαπό the_eye » 01 Ιουν 2014, 16:05

Δες εδώ στο forum έχει αρκετούς οδηγούς για το τερματικό.
http://forum.ubuntu-gr.org/viewforum.php?f=65
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: Μπορεί να με βοηθήσει κάποιος σε αυτή την άσκηση?

Δημοσίευσηαπό chris m » 01 Ιουν 2014, 17:40

τα εχω δει αυτα. εγω θελω πληροφοριες σχετικα με προγραμματα AWK και προτοκολα.
chris m
babeTUX
babeTUX
 
Δημοσιεύσεις: 2
Εγγραφή: 01 Ιουν 2014, 14:27
Εκτύπωση

Re: Μπορεί να με βοηθήσει κάποιος σε αυτή την άσκηση?

Δημοσίευσηαπό the_eye » 01 Ιουν 2014, 19:07

AWK
https://forum.ubuntu-gr.org/viewtopic.p ... 211#p14632

Για το πρωτόκολλα της άσκησης δώσε σε τερματικό
Κώδικας: Επιλογή όλων
cat /etc/protocols
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση


Επιστροφή στο Μαθήματα Τερματικού

cron