ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τµήµα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήµατα (Εργαστήριο) Διδάσκων: I. Τσακνάκης. 7ο Εργαστήριο

Σχετικά έγγραφα
Λειτουργικά Συστήματα - Εργαστήριο 6. 6ο Εργαστήριο. Συμπίεση αρχείων Χρήση ειδικών χαρακτήρων στην γραμμή εντολών. Χρήστες και Ομάδες Χρηστών

Εισαγωγή...1 Το κοινό αυτού του βιβλίου...2 Οι συμβάσεις που χρησιμοποιούνται στο βιβλίο...3

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

7ο Εργαστήριο - Ο φλοιός Bash και η διαμόρφωση του

Εφαρμογές Πληροφορικής

Προγραμματισμός Διαχείρισης Συστημάτων Ι

Στο εργαστήριο θα μελετηθούν: Διδάσκων: Γιώργος Χατζηπολλάς. Εργαστήριο 2: Εργαλεία Συστήματος UNIX. Ομάδες για παρουσίαση

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

Εισαγωγή στον Προγραμματισμό

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Σχολή Θετικών Επιστημών Τμ. Πληροφορικής. Διδάσκων: Ι. Η. Λαγαρής. Εισαγωγή

Εργαστήριο ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ UNIX

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Επισκόπηση Λ.Σ. Εργαστηριακές Ασκήσεις

Λειτουργικά Συστήματα

ΑΣΚΗΣΗ 2 -ΑΚΥΡΩΣΗ ΣΗΜΑΣΙΑΣ ΕΙΔΙΚΩΝ ΧΑΡΑΚΤΗΡΩΝ

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD

Το gzip(1) είναι ένα GNU πρόγραμμα συμπίεσης. Παίρνει ένα απλό αρχείο και το συμπιέζει. Η βασική χρήση είναι ως ακολούθως: % gzip όνομααρχείου

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout)

επιµέλεια Θοδωρής Πιερράτος

Προγραμματιστικό Περιβάλλον

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

Μερικές άλλες χρήσιμες εντολές

Η εντολή ln. σύνδεση με την πραγματική καταχωρημένη πληροφορία. περισσότερα ονόματα (συνδέσεις). Τα επιπλέον ονόματα δημιουργούνται με

Μερικές άλλες χρήσιμες εντολές

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

Εισαγωγή στην Αριθμητική Ανάλυση

Unix: Εντολές, οργάνωση και χειρισµός αρχείων, διεργασίες

ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων

9ο Εργαστήριο - Ο φλοιός Bash και η διαµόρφωση του

Σημαντικές δυνατότητες των σύγχρονων υπολογιστικών μηχανών: Αξιόπιστη καταγραφή πολύ μεγάλου όγκου δεδομένων

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

Δίκτυα Η/Υ στην Επιχείρηση

Πως δημιουργούμε ένα νέο αρχείο κειμένου; Με τρεις τρόπους:

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Shell Scripts: loops / if / test

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Τυπικές χρήσεις της Matlab

Προγραµµατισµός Συστήµατος

Λειτουργικά Συστήματα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

Εισαγωγή στη Matlab Βασικές Συναρτήσεις

Βασικά στοιχεία της Java

Λειτουργικά Συστήματα

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

του και από αυτόν επιλέγουµε το φάκελο εµφανίζεται ένα παράθυρο παρόµοιο µε το ακόλουθο:

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

Δημιουργία μιας εφαρμογής Java με το NetBeans

Συστήματα Αναμονής (Queuing Systems)

Χρήση του διακόπτη /D για αλλαγή της τρέχουσας μονάδας δίσκου πέραν της αλλαγής τρέχοντος καταλόγου για μια μονάδα δίσκου.

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

scanf() scanf() stdin scanf() printf() int float double %lf float

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Διαδικασιακός Προγραμματισμός

Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις

1st exercise of work2 - REMARKS

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας)

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΤΕΙΘ ΣΤΕΦ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 3o ΕΡΓΑΣΤΗΡΙΟ

Εισαγωγή στα Λειτουργικά Συστήματα

1. Επιλέγουμε το πρώτο αρχείο ή φάκελο στη λίστα 2. Κρατάμε πατημένο το πλήκτρο [Shift] και επιλέγουμε το τελευταίο εικονίδιο επιλογής

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 10

Γλώσσες που περιγράφονται από Κανονικές Εκφράσεις

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 28 Μαρτίου 2009 Οµάδα 1 η

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

2.1. Εντολές Σχόλια Τύποι Δεδομένων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 4 η. Βασίλης Στεφανής

Εγχειρίδιο του Διαχειριστή συμπιεσμένων αρχείων i. Εγχειρίδιο του Διαχειριστή συμπιεσμένων αρχείων

*? [xyz] [^xy] [!0-9] [:alpha:] [:digit:]

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Προγραµµατισµός 2 The shell

Εργαστήριο Μαθηματικής Ανάλυσης Ι. Εισαγωγή στη Matlab Βασικές Συναρτήσεις-Γραφικές παραστάσεις. Πανεπιστήμιο Θεσσαλίας. Σχολή Θετικών Επιστημών

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι

Λειτουργικό σύστημα Unix

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

- program p_name(input) - uses crt

ιαχείριση Πληροφοριών στο ιαδίκτυο

Εμφάνιση μηνυμάτων ή ενεργοποίηση και απενεργοποίηση της ηχούς εντολών.

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

Η ΕΞΕΡΕΥΝΗΣΗ ΤΩΝ WINDOWS (WINDOWS EXPLORER)

Συναρτήσεις. Εισαγωγή

Transcript:

ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τµήµα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήµατα (Εργαστήριο) Διδάσκων: I. Τσακνάκης 7ο Εργαστήριο Συµπίεση αρχείων Χρήση ειδικών χαρακτήρων στην γραµµή εντολών 1

Συµπίεση αρχείων Στα λειτουργικά συστήµατα Unix και Linux χρησιµοποιούνται διάφορες εφαρµογές για συµπίεση και αποσυµπίεση των αρχείων. Για το σκοπό αυτό χρησιµοποιουνται 2 βασικές εντολές: gzip και compress. tar Η εντολή tar παίρνει ως ορίσµατα αρχεία ή καταλόγους και τα συνενώνει σε ένα ενιαίο αρχείο, συνήθως για να συµπιεστεί. Με την ίδια εντολή µπορούµε να κάνουµε και την αντίστροφη ενέργεια. Function letters και η λειτουργεία τους: -c, create a new archive -d, find differences between archive and file system -t, list the contents of an archive -u, only append files newer than copy in archive -x, extract files from an archive Παραδείγµατα: tar cf a.tar test1 test2 συνένωσε τους φακέλους test1 και test2, όλους τους φακέλους τους και τα αρχεία τους, σε ένα αρχείο µε όνοµα a.tar tar tf a.tar εµφάνισε τα περιεχόµενα του αρχείου a.tar tar xf a.tar δηµιούγησε (extract) τους φακέλους test1 και test2, όλους τους φακέλους τους και τα αρχεία τους gzip και gunzip Η εντολή gzip παίρνει όρισµα ένα αρχείο το οποίο το συµπιέζει, προσθέτει σ' αυτό την επέκταση.gz και διαγράφει το πρωτότυπο αρχείο. Για να αποσυµπιέσουµε ένα αρχείο, χρησιµοποιούµε την εντολή gunzip ή την εντολή gzip µε την επιλογή -d αλλά πρέπει το αρχείο που θέλουµε να αποσυµπιέσουµε να έχει την επέκταση.gz. Με την επιλογή -S µπορούµε να καθορίσουµε την δική µας επέκταση και µε την επιλογή -l µπορούµε να δούµε τα συµπιεσµένα ή αποσυµπιεσµένα µεγέθη των αρχείων κατά τη διάρκεια της συµπίεσης ή της αποσυµπίεσης. Με την επιλογή -t µπορούµε να ελέγξουµε την ακεραιότητα του συµπιεσµένου αρχείου. Η εντολή gunzip µπορεί να αποσυµπιέσει και αρχεία που έχουν δηµιουργηθεί µε την εντολή compress που παρουσιάζεται παρακάτω. 2

Παράδειγµα: $ gzip mydir.tar Συµπιέζει το αρχείο mydir.tar στο αρχείο mydir.tar.gz και διαγράφει το mydir.tar. bzip2 και bunzip2 Η εντολή bzip2 παίρνει όρισµα ένα αρχείο το οποίο το συµπιέζει, προσθέτει σ' αυτό την επέκταση.gz2 και διαγράφει το πρωτότυπο αρχείο. Επιτυγχάνει συνήθως καλύτερα αποτελέσµατα από την gzip. zip Η εντολή zip χρησιοποιείται τόσο για την συµπίεση όσο και για την αποσυµπίση αρχείων. Είναι συµβατή µε την εφαρµογή winzip και pkzip των Windows. Σε αντίθεση µε τις προηγούµενες εντολές µπορεί να συµπιέσει περισσότερα από ένα αρχεία. compress και uncompress Η εντολή compress παίρνει όρισµα ένα αρχείο το οποίο το συµπιέζει, προσθέτει σ' αυτό την επέκταση.z και διαγράφει το πρωτότυπο αρχείο. Παράδειγµα: $ compress mydir.tar Συµπιέζει το αρχείο mydir.tar στο αρχείο mydir.tar.z και διαγράφει το mydir.tar. 3

Χρήση ειδικών χαρακτήρων στην γραµµή εντολών Η γραµµή εντολών του φλοιού bash παρέχει πολλές ευκολίες στο χρήστη. Οι σηµαντικότερες από αυτές είναι: Αντικατάσταση µεταχαρακτήρων (File globbing) File globbing: είναι η λειτουργία αντικατάστασης των wildcards (ή µεταχαρακτήρων ή χαρακτήρων-µπαλαντέρ) Ø *, ταιριάζει µε οποιοδήποτε πλήθος χαρακτήρων Ø?, ταιριάζει µε ένα µόνο (οποιοδήποτε) χαρακτήρα Ø [a-z], ταιριάζει µε οποιοδήποτε χαρακτήρα ανήκει σε αυτό το εύρος Ø [^a-z], ταιριάζει µε οποιοδήποτε χαρακτήρα δεν ανήκει σε αυτό το εύρος Η εντολή echo µπορεί να χρησιµοποιηθεί για να ελέγξουµε αν η αντικατάσταση των µεταχαρακτήρων έγινε όπως σκοπεύαµε, πριν εκτελέσουµε µία εντολή µε µεταχαρακτήρες. Το πλήκτρο Tab Το πλήκτρο Tab χρησιµοποιείται για να συµπληρώσουµε το όνοµα εντολής ή αρχείου (που πρέπει να είναι όρισµα σε µία εντολή) Αγκύλες {} Οι αγκύλες { και } χρησιµοποιούνται για να δηµιουργούµε πρότυπα συµβολοσειρών. Για το διαχωρισµό των συµβολοσειρών χρησιµοποιείται ο χαρακτήρας κόµµα (,). Αν ο πρώτος χαρακτήρας είναι κόµµα, εννοείται η κενή συµβολοσειρά. H εντολή echo x{a,b} είναι ισοδύναµη µε την echo xa xb. H εντολή cp file.txt{,-save} είναι ισοδύναµη µε την cp file.txt file.txt-save. Αποτελέσµατα εντολών Μπορείτε να συµπεριλάβετε τα αποτελέσµατα της εκτέλεσης µίας εντολής, χρησιµοποιώντας το $( ) ή τα ``. Οι εντολές: echo "This machine is named: $(hostname)" echo "This machine is named: `hostname`" παράγουν τα ίδια αποτελέσµατα. Αρχικά θα εκτελεστεί η εντολή hostname και το αποτέλεσµά της θα αντικατασταθεί στην εντολή που δώσαµε. 4

Μαθηµατικές πράξεις Ορισµένες µαθηµατικές πράξεις µπορούν να εκτελεστούν από το φλοιό. Με χρήση της εντολής expr:, π.χ. echo Area: `expr $X \* $Y`. Η χρήση της expr δεν είναι βολική γιατί έχει αυστηρό συντακτικό. Με χρήση της $[ ]: Οι εντολές echo Area: $[$X*$Y] echo Area: $[ $X * $Y ] και echo Area: $[ $X*$Y ] είναι ισοδύναµες, γιατί το συντακτικό είναι ανεκτικό. Βασικές πράξεις που εκτελούνται από το φλοιό και οι τελεστές τους: πρόσθεση (+), αφαίρεση (-), πολλαπλασιασµός (*), διαίρεση (/), ύψωση σε δύναµη (**), υπόλοιπο διαίρεσης (%). Στη σελίδα bash του man, τµήµα ARITHMETIC EVALUATIONS, υπάρχει πλήρης κατάλογος των αριθµητικών πράξεων που µπορεί να εκτελέσει ο φλοιός. Ακύρωση της σηµασίας των ειδικών χαρακτήρων Για να ακυρώσουµε την σηµασία των ειδικών χαρακτήρων και να τους χειριστούµε ως συνηθισµένους χαρακτήρες πρέπει να ενηµερώσουµε το φλοιό. Ο χαρακτήρας backslash (\) Η εντολή echo Your cost: \$5.00 δεν θα αναζητήσει µεταβλητή (ακυρώνεται η ειδική σηµασία του χαρακτήρα $). Έστω ότι θέλουµε να βρούµε όλα τα αρχεία που βρίσκονται στον τρέχοντα κατάλογο και το όνοµά τους ξεκινάει από file*. Αν εκτελέσουµε την εντολή: find file* ο φλοιός θα µας επιστρέψει όλα τα αρχεία των οποίων το όνοµα αρχίζει µε "file". Εµείς όµως θέλουµε να επιστραφούν µόνο τα αρχεία των οποίων το όνοµα αρχίζει µε "file*". Για να βρούµε αυτό που ψάχνουµε πρέπει να δώσουµε την εντολή ως find file\* Μονά και διπλά εισαγωγικά Ορισµένες φορές θέλουµε να ακυρώσουµε την ειδική σηµασία πολλών χαρακτήρων στη σειρά, π.χ. στην εντολή echo \*\*\* SALES \*\*\* 5

είναι πιο βολικό (και πιο σωστό) να χρησιµοποιήσετε τα µονά ή τα διπλά εισαγωγικά. Τα µονά εισαγωγικά ακυρώνουν την ειδική σηµασία όλων των χαρακτήρων. Τα διπλά εισαγωγικά ακυρώνουν την ειδική σηµασία όλων των χαρακτήρων εκτός από τους $, $(), $[], `, \,!. Σε πολλές περιπτώσεις η χρήση µονών ή διπλών εισαγωγικών παράγει τα ίδια αποτελέσµατα. Συνδυασµοί πλήκτρων για τη γραµµή εντολών <Ctrl+a>, µετακίνηση στην αρχή της γραµµής <Ctrl+e>, µετακίνηση στo τέλος της γραµµής <Ctrl+u>, διαγραφή µέχρι την αρχή της γραµµής <Ctrl+k>, διαγραφή µέχρι το τέλος της γραµµής Δηµιουργία εκτελέσιµων αρχείων script Για να δηµιουργήσουµε ένα αρχείο που εκτελεί συγκεκριµένες εντολές, το δηµιουργούµε µε τον επεξεργαστή nano και όνοµα που τελειώνει µε την επέκταση.sh. Π.χ. δηµιουργήστε το αρχείο area.sh, το οποίο θα µπορεί να υπολογίζει το γινόµενο των αριθµών 5 και 3: #!/bin/bash x = 5 y = 3 ans=$[ $x * $y ] echo "$x * $y = $ans" Σώζουµε το αρχείο. Για να το κάνουµε εκτελέσιµο δίνουµε την εντολή: chmod +x area.sh Για να το εκτελέσουµε δίνουµε την εντολή:./area.sh Τροποποιήστε το αρχείο ώστε να διαβάζει από το χρήστη 2 αριθµούς που αυτός επιθυµεί και να του εµφανίζει την επιφάνεια. Χρησιµοποιήστε την εντολή: read -p "Enter two numbers: " x y η οποία δέχεται ως είσοδο 2 αριθµούς από το πληκτρολόγιο που χωρίζονται µε τον κενό χαρακτήρα (space) και καταχωρίζονται στις µεταβλητές x και y. 6