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



Σχετικά έγγραφα
(Regular Expressions) ΤΕΙΘ-ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ/ ΧΕΙΜ

Κανονικές εκφράσεις ή παραστάσεις (Regular Expressions) 3 ο Εργαστήριο ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - ΕΡΓΑΣΤΗΡΙΟ

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

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

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

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

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

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

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

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

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

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

Mε την ονομασία Unix ή μάλλον Unix-like αναφερόμαστε

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

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

Fixed Character strings

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

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

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

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

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

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

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

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

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

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

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

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

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

Linux με τη χρήση κονσόλας

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

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

Επαναληπτικές Ασκήσεις

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

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

Οδηγός χρήσης «Αναζήτησης αρχείων»

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

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

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

Εντολές του Λειτουργικού Συστήματος UNIX

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

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

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

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Εγχειρίδιο συμπίεσης / αποσυμπίεσης αρχείων με το λο ογισμικό WinRAR Υπηρεσία Πληροφορικών Συστημάτων Τομέας Συστημάτων ΥΠΣ ΕΔ/70 21/11/2012

Regular Expressions ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ

Σύντομη εισαγωγή στο λειτουργικό σύστημα Linux

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή στο Unix

ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY

ΕΡΓΑΣΤΗΡΙΟ 2: Unix Tutorial

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

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

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

[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό

Open eclass Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης

Κεφάλαιο 10 Διαχείριση Αρχείων και Καταλόγων

Βασικές έννοιες προγραμματισμού

Σχεδίαση Βάσεων Δεδομένων

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

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

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

Εισαγωγή στη γλώσσα προγραμματισμού C++14

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Mεταγλωττιστές. 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex. Θεωρία

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης eclass 1.7. Οδηγίες Αναβάθμισης (Upgrade) Αθήνα, 16 Μαρτίου Εισαγωγή

Περιεχόμενα. Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων...

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ I. 1. Εισαγωγή 3 ΠΡΟΛΟΓΟΣ

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

Τρόποι εγκατάστασης προγράμματος στο Ubuntu / Mint 1. Με το Ubuntu Software Center (ή το αντίστοιχο εργαλείο του Mint) 2.

Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου

Linux με τη χρήση κονσόλας

Επαναληπτικό διαγώνισμα στην Α.Ε.Π.Π - 18 / Απριλίου / 2010 ΘΕΜΑ 1

Βασικές εντολές του Unix-Linux

Μεταφραστής (Compiler)

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ

Εισαγωγικά στοιχεία. Ιστορία του Linux

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (TP-105)

Εισαγωγή στη γλώσσα προγραμματισμού Fortran 95

ΕΠΙΜΕΛΕΙΑ: ΚΩΣΤΑΣ ΔΕΛΗΜΑΡΗΣ - ΧΡΗΣΗ ΗΥ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ

Εργαστήριο 4 Ασκήσεις: Διαχείριση Δικτύου (nmap, iptables) και Προχωρημένες Εντολές Unix (grep, ps, cut, find)

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

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

Transcript:

Προγραμματισμός Διαχείρισης Συστημάτων Ι Μάθημα 4ο Εργαλεία UNIX/Linux Μιχαηλίδης Παναγιώτης

Εργαλεία Linux Τα εργαλεία του Linux μπορούν να ομαδοποιηθούν λογικά σε κατηγορίες ανάλογα με την χρήση τους: Κανονικές και επεκταμένες κανονικές εκφράσεις Αναζήτηση αρχείων Συμπίεση αρχείων Αρχειοθέτηση αρχείων

Οικογένεια grep Για αναζήτηση ενός προτύπου ή αλφαριθμητικού σε αρχεία κειμένου χρησιμοποιούμε την εντολή grep και τις παραλλαγές της (fgrep και egrep). Οι εντολές grep, fgrep και egrep εμφανίζουν όλες τις γραμμές του αρχείου κειμένου που περιέχουν το πρότυπο. Οι εντολές αυτές είναι παρόμοιες αλλά κάθε μια από αυτές έχουν μια διαφορετική συμπεριφορά.

Οικογένεια grep Σύνταξη: grep [options] pattern filename(s) fgrep [options] string filename(s) egrep [options] pattern filename(s) Αν δεν οριστούν τα αρχεία, τότε κάνει αναζήτηση στην πρότυπη είσοδο. Σημαντικές επιλογές εντολών grep: n: εμφανίζει τους αριθμούς γραμμών. i: αγνοεί τη διάκριση μεταξύ πεζών και κεφαλαίων χαρακτήρων. l: εμφανίζει τα ονόματα αρχείων που περιέχουν το πρότυπο. v: εμφανίζει τις γραμμές κειμένου που δεν ταιριάζουν το πρότυπο. w: περιορίζει την αναζήτηση σε ολόκληρες λέξεις μόνο.

Οικογένεια grep: Παραδείγματα cp /etc/passwd passwd1 grep pdpuser passwd1 Εμφανίζει όλες τις γραμμές του αρχείου passwd1 που περιέχουν το πρότυπο pdpuser. grep -wn bash passwd1 Εμφανίζει όλες τις γραμμές του αρχείου passwd1 αριθμημένες που περιέχουν το πρότυπο bash σε ολόκληρη λέξη μόνο.

Οικογένεια grep Οι εντολές grep, fgrep και egrep διαφέρουν μεταξύ τους κατά ότι το καθένα επιτρέπει να ταυτίζει ένα διαφορετικό είδος προτύπου. Η εντολή grep χρησιμοποιείται για αναζήτηση μιας κανονικής έκφρασης. Η εντολή egrep χρησιμοποιείται για αναζήτηση μιας επεκταμένης κανονικής έκφρασης. Η εντολή fgrep χρησιμοποιείται για αναζήτηση ενός σταθερού αλφαριθμητικού.

Κανονικές εκφράσεις: Εντολή grep Κανονική έκφραση (regular expression) είναι ένα πρότυπο αποτελούμενο από μια ακολουθία χαρακτήρων που ταυτίζεται μέσα στο κείμενο. Οι κανονικές εκφράσεις χρησιμοποιούνται: Για να προσδιορίσουν ονόματα αρχείων στο σύστημα αρχείων. Για αναζήτηση αλφαριθμητικών στα αρχεία κειμένου. Για εξαγωγή δεδομένων από μια βάση δεδομένων. Οι κανονικές εκφράσεις προτάθηκαν για πρώτη φορά το 1956 (S. Kleene). Ο Ken Thomson (1968) τις χρησιμοποίησε στην εντολή grep (global regular expression print).

Προγράμματα Linux Κανονικές εκφράσεις Προγράμματα που υποστηρίζουν κανονικές εκφράσεις είναι: grep egrep vi, vim, emacs sed awk, nawk perl

Κανονικοί και Μεταχαρακτήρες Oι κανονικές εκφράσεις αποτελούνται από κανονικούς χαρακτήρες και μεταχαρακτήρες. Οι κανονικοί χαρακτήρες είναι ένα οποιοδήποτε χαρακτήρα εκτός τον χαρακτήρα νέας γραμμής. Οι μεταχαρακτήρες είναι ειδικοί χαρακτήρες που έχουν ειδική σημασία.

Μεταχαρακτήρες Τελεία (.) ταυτίζει ένα οποιοδήποτε απλό χαρακτήρα εκτός από τον χαρακτήρα νέας γραμμής. α.c ταυτίζει abc, adc, a&c και a;c. u..x ταυτίζει unix, uvax και u3(x. Αστερίσκο (*) ταυτίζει μηδέν ή περισσότερες εμφανίσεις του χαρακτήρα που προηγείται. ab*c ταυτίζει ac, abc, abbc και abbbc..* ταυτίζει οποιοδήποτε αλφαριθμητικό.

Μεταχαρακτήρες Κλάση χαρακτήρων ([]) ταυτίζει οποιοδήποτε από τους χαρακτήρες που βρίσκονται μέσα στις αγκύλες. Η παύλα (-) δηλώνει μια περιοχή χαρακτήρων. Π.χ. [α-e] O χαρακτήρας (^) ταιριάζει κάθε χαρακτήρα που δεν περικλείεται μέσα στις αγκύλες. Παραδείγματα: [ff]un ταυτίζει fun και Fun. b[aeiou]g ταυτίζει bag, beg, big, bog και bug. [A-Z].* ταυτίζει ένα αλφαριθμητικό που αρχίζει με ένα κεφαλαίο γράμμα. [^abc].* ταυτίζει ένα οποιοδήποτε αλφαριθμητικό που να μην αρχίζει με τους χαρακτήρες a, b ή c.

Μεταχαρακτήρες Το σύμβολο (^) ταυτίζει μόνο την αρχή της γραμμής. ^D.* ταυτίζει μια γραμμή που στην αρχή της ξεκινά με D. Σύμβολο δολάριο ($) ταυτίζει μόνο το τέλος της γραμμής..*d$ ταυτίζει μια γραμμή που τελειώνει με d. Σύμβολο (\) αναστέλει την σημασία κάθε μεταχαρακτήρα. file\.txt ταυτίζει file.txt αλλά όχι file_txt.

Μεταχαρακτήρες και χαρακτήρες μπαλαντέρ Για την ομαλή λειτουργία οι κανονικές εκφράσεις πρέπει να περικλείονται σε μονές αποστρόφους (π.χ. ' ') ώστε ο φλοιός να διερμηνεύσει τους χαρακτήρες που περιέχονται στην κανονική έκφραση ως μεταχαρακτήρες και όχι ως χαρακτήρες μπαλαντέρ. Οι χαρακτήρες μπαλαντέρ είναι ένα εργαλείο που επιτρέπει την αναφορά σε ονόματα αρχείων με συγκεκριμένα χαρακτηριστικά. Οι μεταχαρακτήρες που χρησιμοποιούνται στις κανονικές εκφράσεις είναι διαφορετικά και πιο ισχυρά εργαλεία αναζήτησης προτύπων. Οι μεταχαρακτήρες χρησιμοποιούνται από ειδικές εντολές (π.χ. grep, sed).

Κανονικές εκφράσεις: Παραδείγματα grep '.n' textfile Εμφανίζει όλες τις γραμμές του αρχείου textfile που ταυτίζουν ένα οποιοδήποτε χαρακτήρα ακολουθούμενο από τον χαρακτήρα n. grep 'bio*' textfile Εμφανίζει όλες τις γραμμές του αρχείου textfile που περιέχουν το πρότυπο bio ακολοθούμενο από μια οποιαδήποτε ακολουθία χαρακτήρων. grep '199[1-5] Εμφανίζει όλες τις γραμμές του αρχείου textfile που περιέχουν τα έτη 1991 έως 1995.

Κανονικές εκφράσεις: Παραδείγματα grep '^[a-z]' textfile Εμφανίζει όλες τις γραμμές του αρχείου textfile που ξεκινούν με έναν οποιοδήποτε πεζό αγγλικό χαρακτήρα. grep '22$' textfile Εμφανίζει όλες τις γραμμές του αρχείου textfile που τελειώνουν σε 22. grep '\$1\.20' textfile Εμφανίζει όλες τις γραμμές του αρχείου textfile που περιέχουν την τιμή $1.20.

Κανονικές εκφράσεις: Παραδείγματα grep '^[A-Z]' textfile Εμφανίζει όλες τις γραμμές του αρχείου textfile που ξεκινούν με ένα κεφαλαίο αγγλικό χαρακτήρα. grep '^..$' textfile Εμφανίζει όλες τις γραμμές του αρχείου textfile που περιέχουν 2 χαρακτήρες. grep '^[^0-9]*$' textfile Εμφανίζει όλες τις γραμμές του αρχείου textfile που δεν περιέχουν αριθμούς.

Κανονικές εκφράσεις: Παραδείγματα grep '[0-9]*[.][0-9]*' textfile Eμφανίζει όλες τις γραμμές του αρχείου textfile που περιέχουν πραγματικούς αριθμούς. grep '1*[012]*[1-9]*:[0-5][0-9]' textfile Εμφανίζει όλες τις γραμμές του αρχείου textfile που περιέχουν ώρα σε 12ωρη μορφή.

Επεκταμένες κανονικές εκφράσεις: Εντολή egrep Oι επεκταμένες κανονικές εκφράσεις υποστηρίζονται από την εντολή egrep. Είναι υπερσύνολο της εντολής grep. Αναζητεί και αντιστοιχεί όλες τις περιπτώσεις κανονικών εκφράσεων της grep και επιπλέον μεταχαρακτήρων.

Μεταχαρακτήρες Σύμβολο (+) ταυτίζει μια ή περισσότερες εμφανίσεις του χαρακτήρα που προηγείται. ab+c ταυτίζει abc, abbc, abbbc άλλα όχι ac. Ερωτηματικό (?) ταυτίζει μηδέν ή μια εμφάνιση του χαρακτήρα που προηγείται. ab?c ταυτίζει ac ή abc αλλά όχι abbc. Λογικό Η ( ) ταυτίζει μια από τις δύο κανονικές εκφράσεις. abc def ταυτίζει abc ή def.

Μεταχαρακτήρες Παρενθέσεις ( ) τοποθετούνται στην κανονική έκφραση ώστε οι μεταχαρακτήρες *, + ή?, να δράσουν στην έκφραση αντί ενός χαρακτήρα. a(bc)* ταυτίζει a, abc, abcbc, abcbcbc. (foot base)ball ταυτίζει football ή baseball. Αγκύλες { } δηλώνουν τον αριθμό των επαναλήψεων που μπορεί να επαναληφθεί η κανονική έκφραση. [a-z]{3} ταιριάζει τρεις πεζούς χαρακτήρες. m.{2,4} ταιριάζει αλφαριθμητικά που ξεκινούν με m και ακολουθούν από 2 μέχρι και 4 χαρακτήρες.

Εμφανίζει όλες τις γραμμές του αρχείου textfile που περιέχουν τηλέφωνα που το 4 ψηφίο είναι 4 ή 6 και το 6 ψηφίο είναι 0 ή 1. Επεκταμένες κανονικές εκφράσεις: Παραδείγματα egrep '[A-Z][A-Z]+' textfile Εμφανίζει όλες τις γραμμές του αρχείου textfile που περιέχουν μια οποιαδήποτε ακολουθία μόνο κεφαλαίων αγγλικών χαρακτήρων. egrep '[α-z]?' textfile Εμφανίζει όλες τις γραμμές του αρχείου textfile που περιέχουν ένα ή κανένα πεζό αγγλικό χαρακτήρα. egrep '239(4 6)-(0 1)' textfile

Επεκταμένες κανονικές εκφράσεις: Παραδείγματα egrep '[0-9]{2}' textfile Εμφανίζει όλες τις γραμμές του αρχείου textfile που περιέχουν αριθμούς με 2 ψηφία. egrep '[\!\*]' textfile Εμφανίζει όλες τις γραμμές του αρχείου textfile που περιέχουν τους χαρακτήρες! και *.

Εντολή fgrep Χρησιμοποιείται για αναζήτηση σταθερών αλφαριθμητικών και δεν χρησιμοποιεί μεταχαρακτήρες. Στην εντολή fgrep υπάρχει η επιλογή -f pattern_filename για να αναζητήσουμε πρότυπα που βρίσκονται στο αρχείο προτύπων με όνομα pattern_filename. fgrep -f pattern_filename filename pattern_filename περιέχει τα πρότυπα.

Εντολή fgrep: Παραδείγματα fgrep friend datafile Εμφανίζει όλες τις γραμμές του αρχείου datafile που περιέχουν το σταθερό αλφαριθμητικό friend. fgrep -f pattern.txt textfile Εμφανίζει όλες τις γραμμές του αρχείου textfile που περιέχουν τα πρότυπα που περιλαμβάνονται στο αρχείο pattern.txt.

Αναζήτηση αρχείων Υπάρχει ανάγκη για αναζήτηση αρχείων και καταλόγων στο σύστημα αρχείων του Linux, εφόσον το σύστημα αρχείων είναι πολύπλοκο και διογκώνεται συνεχώς. Το εργαλείο find είναι το διαδεδομένο και δυνατό εργαλείο για αναζήτηση αρχείων διότι κάνει περισσότερα πράγματα από ότι να βρίσκει αρχεία. Το find μπορεί να κάνει ενέργειες σε ένα σύνολο αρχείων που ικανοποιούν συγκεκριμένα κριτήρια ακόμη και σε συνδυασμό. Oι ενέργειες της find μπορεί να είναι η διαγραφή, αντιγραφή, μετονομασία αρχείων κλπ.

Αναζήτηση αρχείων Τα κριτήρια αναζήτησης της find μπορεί να είναι: Αναζήτηση με το χρόνο προσπέλασης ή τύπο ή μέγεθος του αρχείου. Αναζήτηση με το όνομα ή με κάποια κανονική έκφραση. Παράδειγμα: Na διαγράψουμε όλα τα αρχεία που έχουν μέγεθος πάνω από 50 Κbytes τα οποία δεν έχουν τροποποιηθεί για 3 μέρες.

Εντολή find Σύνταξη: find pathname expression action To pathname είναι το σημείο εκκίνησης της αναζήτησης. Το expression είναι μια έκφραση που συνδυάζει ένα ή περισσότερα κριτήρια αναζήτησης. Η action είναι μια ενέργεια που θα επιδράσει πάνω στα αρχεία που έχουν εντοπισθεί.

Εντολή find Εκφράσεις της εντολής find: -name filename: αληθής αν το όνομα αρχείου ταυτίζεται με το filename. -type filetype: αληθής αν το τύπος του αρχείου είναι b αρχείο μπλοκ c - αρχείο χαρακτήρα d - κατάλογος f κανονικό αρχείο p ονομαστικός δίαυλος fifo l συμβολικός σύνδεσμος s - υποδοχή

Εντολή find Εκφράσεις της εντολής find: -size +/-number: αληθής αν το μέγεθος του αρχείου είναι number. -atime +/- n: αληθής αν το αρχείο έχει προσπελαστεί μέσα n μέρες. Το κενό ανάμεσα στα κριτήρια είναι το λογικό ΚΑΙ. Το -o ανάμεσα στα κριτήρια είναι το λογικό Η. Το! είναι το λογικό ΌΧΙ.

Εντολή find Ενέργειες της εντολής find: -print: εμφανίζει όλα τα αρχεία που έχουν εντοπισθεί, στην οθόνη του υπολογιστή. -exec command \; :εκτελεί την εντολή command στα αρχεία που έχουν εντοπισθεί. Αν καθορίσετε {} σαν όρισμα γραμμής εντολών, αυτό αντικαθίσταται από το όνομα του τρέχοντος αρχείου. - ok command \; : To ίδιο με το exec αλλά με ερώτηση επιβεβαίωσης του χρήστη πριν από την εκτέλεση της εντολής command.

Εντολή find: Παραδείγματα find / -type d -print Αναζητά όλους τους καταλόγους σε όλο το σύστημα Linux και εμφανίζει τα ονόματα των καταλόγων. find / -type d -size 30 -print Αναζητά όλους τους καταλόγους που έχουν μέγεθος 30 blocks σε όλο το σύστημα Linux και εμφανίζει τα ονόματα των καταλόγων. find /etc -name 'f*' -print Αναζητά ονόματα αρχείων που ξεκινούν με f από το κατάλογο /etc και εμφανίζει τα ονόματα των αρχείων.

Εντολή find: Παραδείγματα find / -name core -exec rm -f '{}'\; Αναζητά αρχεία με όνομα core σε όλο το σύστημα και όσα εντοπιστούν να διαγραφούν. find / -size +100k -exec cp '{}' bigfiles \; Αναζητά αρχεία που έχουν μέγεθος μεγαλύτερο από 100 ΚΒ σε όλο το σύστημα και όσα εντοπιστούν να μετακινηθούν στον κατάλογο bigfiles. find. -name '*.c' -o -name '*.txt' -print Αναζητά αρχεία που τελειώνουν σε c ή σε txt από το τρέχοντα κατάλογο και εμφανίζει τα ονόματα τους.

Συμπίεση και Αποσυμπίεση αρχείων Η συμπίεση αρχείων είναι για να μειωθεί ο χώρος που απαιτείται στο δίσκο για την αποθήκευση ενός αρχείου ή συνόλου αρχείων. Η αποσυμπίεση αρχείων είναι η αντίστροφη διαδικασία της συμπίεσης. Στο Linux υπάρχουν δύο δημοφιλή εργαλεία για την συμπίεση αρχείων: gzip (GNU zip) και bzip2. Στο Linux υπάρχουν δύο εργαλεία για την αποσυμπίεση αρχείων: gunzip και bunzip2.

Εντολές gzip και gunzip To gzip ή gunzip είναι ένα ταχύτερο και αποτελεσματικό πρόγραμμα συμπίεσης ή αποσυμπίεσης που διανέμεται από την GNU. To gzip βασίζεται στον αλγόριθμο συμπίεσης Lempel-Ziv. Σύνταξη: gzip [options] filename(s) gunzip [options] filename(s)

Εντολές gzip και gunzip To gzip συμπιέσει το πρωτότυπο αρχείο, το αποθηκεύει προσαρτώντας στο τέλος του ονόματος του αρχείου «.gz» και αφαιρεί το πρωτότυπο μη συμπιεσμένο αρχείο. Το πρωτότυπο αρχείο αφαιρείται μόνο όταν η λειτουργία του gzip είναι επιτυχής. To gunzip μπορεί να αποσυμπιέσει ένα αρχείο που δημιουργήθηκε με το εργαλείο gzip.

Εντολές gzip και gunzip Οι επιλογές των εντολών gzip και gunzip είναι: -c συμπιέζει ή αποσυμπιέζει και εμφανίζει το αποτέλεσμα στην πρότυπη έξοδο. -v εμφανίζει το ποσοστό της συμπίεσης ή αποσυμπίεσης που επετεύχθη. -# ορίζει το επίπεδο ποιότητας της συμπίεσης. Η -1 ή ισοδύναμα - fast δίνει μεγαλύτερη έμφαση στη μείωση του χρόνου συμπίεσης, ενώ η -9 ή ισοδύναμα - best προσπαθεί να επιτύχει μεγαλύτερο λόγο συμπίεσης. Το προκαθορισμένο επίπεδο συμπίεσης είναι -6. Υπάρχουν εντολές όπως zmore, zless, zgrep που θεωρούνται ως εκδόσεις των εντολών more, less, grep για συμπιεσμένα αρχεία.

Εντολές gzip και gunzip: Παραδείγματα $ cp /etc/passwd. $ ls -l passwd -rw-r--r-- 1 panosm gstudent 1110 Nov 10 23:59 passwd $ gzip -v passwd passwd: 57.9% -- replaced with passwd.gz $ ls -l passwd.gz -rw-r--r-- 1 panosm gstudent 492 Nov 10 23:59 passwd.gz $ gunzip -v *.gz passwd.gz: 57.9% -- replaced with passwd $ ls -l passwd -rw-r--r-- 1 panosm gstudent 1110 Nov 10 23:59 passwd

Εντολές bzip2 και bunzip2 H εντολή bzip2 βασίζεται στον αλγόριθμο ταξινόμησης μπλοκ κειμένου Burrows-Wheeler που σε πολλές περιπτώσεις παρέχει καλύτερους λόγους συμπίεσης από την εντολή gzip. Σύνταξη: bzip2 [options] filename(s) bunzip2 [options] filename(s) To bzip2 συμπιέσει το πρωτότυπο αρχείο και το αποθηκεύει προσαρτώντας στο τέλος του ονόματος του αρχείου «.bz2». To bunzip2 μπορεί να αποσυμπιέσει ένα αρχείο που δημιουργήθηκε με το bzip2.

Εντολές bzip2 και bunzip2 Oι επιλογές των εντολών bzip2 και bunzip2 είναι σχεδόν ίδιες με αυτές των εντολών gzip και gunzip. Υπάρχουν εντολές όπως bzmore, bzless, bzgrep που θεωρούνται ως εκδόσεις των εντολών more, less, grep για συμπιεσμένα αρχεία.

Εντολές bzip2 και bunzip2: Παραδείγματα $ cp /etc/passwd. $ ls -l passwd -rw-r--r-- 1 panosm gstudent 1110 Nov 10 23:59 passwd $ bzip2 -v passwd passwd: 2.106:1, 3.798 bits/byte, 52.52% saved, 1110 in, 527 out. $ ls -l passwd.bz2 -rw-r--r-- 1 panosm gstudent 527 Nov 10 23:59 passwd.bz2 $ bunzip2 -v *.bz2 passwd.bz2: done $ ls -l passwd -rw-r--r-- 1 panosm gstudent 1110 Nov 10 23:59 passwd

Αρχειοθέτηση αρχείων Υπάρχουν πολλοί λόγοι για την αποθήκευση ορισμένων αρχείων μέσα σε ένα μέσο δευτερεύουσας αποθήκευσης (π.χ. δίσκο, ταινία κλπ): Για δημιουργία εβδομαδιαίων ή μηνιαίων αντιγράφων ασφαλείας. Για μεταφορά σε μη δικτυωμένες τοποθεσίες. Για να τα κρατήσουμε. Το Linux διαθέτει τρία εργαλεία για την αρχειοθέτηση αρχείων: cpio, tar και dump. Σε αυτό το μάθημα θα δούμε το εργαλείο tar.

Εντολή tar H εντολή tar προέρχεται από τα αρχικά των λέξεων tap archive και το εργαλείο αυτό σχεδιάστηκε αρχικά για δημιουργία μιας αρχειοθήκης αρχείων σε μαγνητική ταινία. Η tar μπορεί να αποθηκεύσει δομές καταλόγων (πολλά αρχεία/καταλόγους) σε ένα αρχείο αρχειοθήκης διατηρώντας πληροφορίες όπως οι άδειες και η ιδιοκτησία των αρχείων. Σύνταξη: tar operationoptions filename(s) H operation είναι ένα μόνο γράμμα που δείχνει τη λειτουργία που θα εκτελεστεί. Οι options είναι μια λίστα με ενός γράμματος επιλογές για αυτή τη λειτουργία.

Εντολή tar Η operation της tar είναι: -c: δημιουργεί ένα αρχείο αρχειοθήκης tar. -x: εξάγει όλα τα αρχεία από την αρχειοθήκη. -t: εμφανίζει το πίνακα των περιεχομένων της αρχειοθήκης. -r: προσαρτά τα αρχεία filename(s) στο τέλος του αρχείου αρχειοθήκης. -u: προσαρτά μόνο αρχεία τα οποία είναι πιο πρόσφατα από αυτά που έχουν ήδη αρχειοθετηθεί.

Εντολή tar Οι options της εντολής tar είναι: -f tarfilename: αντικαθιστά την προεπιλογή του ονόματος αρχείου αρχειοθήκης (ταινία - /dev/rmt0) σε όνομα tarfilename. -v: εμφανίζει αναλυτικές πληροφορίες κατά τη δημιουργία ή εξαγωγή αρχειοθηκών. -z: τα αρχεία που θα γραφτούν στο αρχείο tar θα πρέπει να συμπιεστούν ή ότι τα αρχεία του αρχείου tar είναι συμπιεσμένα με το gzip.

Εντολή tar: Παραδείγματα $ mkdir mt $ cd mt $ cp /etc/profile. $ touch hm.1 hm.2 $ ls hm.1 hm.2 profile $ cd.. $ tar -cvf tarfile.tar mt mt/ mt/profile mt/hm.1 mt/hm.2 $ ls -l tarfile.tar -rw-r--r-- 1 panosm gstudent 10240 Nov 11 00:06 tarfile.tar $ tar -tvf tarfile.tar drwxr-xr-x panosm/gstudents 0 2005-11-11 00:05:50 mt/ -rw-r--r-- panosm/gstudents 358 2005-11-11 00:05:40 mt/profile -rw-r--r-- panosm/gstudents 0 2005-11-11 00:05:50 mt/hm.1 -rw-r--r-- panosm/gstudents 0 2005-11-11 00:05:50 mt/hm.2

Εντολή tar: Παραδείγματα $ rm -fr mt $ tar -xvf tarfile.tar $ ls mt hm.1 hm.2 profile $ tar cvzf test.tar.gz mt $ rm -fr mt $ tar xvzf test.tar.gz