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

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

Εισαγωγή στον Προγραμματισμό Μάθημα 2: Οκτώβριος 2014 Χ. Αλεξανδράκη, Γ. Δημητρακάκης

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

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

Εισαγωγή στον Προγραμματισμό Μάθημα 1: Βασική Πλοήγηση σε Linux CLI. Οκτώβριος 2016 Χ. Αλεξανδράκη

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

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

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

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

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

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

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

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

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

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

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

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

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

Είσοδος/Έξοδος (I/O) Παράδειγμα Δένδρου Συστήματος Αρχείων. Ανακατεύθυνση Εισόδου/Εξόδου και Διασωλήνωση στο Λειτουργικό Σύστημα UNIX

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

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

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

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

Αβδέλαρου Κωνσταντίνα

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

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

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

Σύντομη εισαγωγή στο Unix

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

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

wc -l <file1 10 ή να μετρήσω πόσες γραμμές δίνει μια οποιαδήποτε άλλη εντολή π.χ. η finger : finger wc -l 8

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

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

% ls -l /usr/bin/wc -rwxr-xr-x 1 root bin 7368 Jul /usr/bin/wc

Εργαστήριο ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ & ΚΑΤΑΛΟΓΩΝ ΣΤΟ UNIX. Εισαγωγή

$./jms console -w <jms in> -r <jms out> -o <operations file> namedpipe. (standard input).

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

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

2.Shell, users, groups και privilegies

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

Λειτουργικά Συστήματα (ΗΥ-345) Χειμερινό Εξάμηνο

Δικαιώματα Πρόσβασης στο Λειτουργικό Σύστημα UNIX. Χρήστες και Ομάδες στο Unix. Δικαιώματα στο Unix. Παράδειγμα Δένδρου Συστήματος Αρχείων

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

Ανακατεύθυνση Εισόδου/Εξόδου και Διασωλήνωση στο Λειτουργικό Σύστημα UNIX

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

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ ΕΡΓΑΣΤΗΡΙΟ ΑΠΑΙΤΗΣΕΙΣ ΚΑΙ ΔΙΑΔΙΚΑΣΙΑ ΕΞΕΤΑΣΗΣ

Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ FILE & PROCESS HANDLING

Προγραμματισμός Ι. Εργαστήριο 1 ο Περιβάλλον Εργασίας. Νικόλαος Δ. Τσελίκας Κυριακή Θ. Σεκλού

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

Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

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

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

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

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

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

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

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

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

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

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

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

Εγχειρίδιο για το Λειτουργικό Σύστηµα Linux. Ιωάννης Ε. Λιβιέρης

Εισαγωγή στο UNIX. Κωνσταντίνος Καραφασούλης ιδάσκων (Π 407) Τµήµα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστηµάτων

2ο Εργαστήριο. Εισαγωγική στο Λ.Σ. LINUX Γενικές εντολές συστήματος και χρηστών

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

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

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

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

Βιβλιοθήκη stdio. Προγραμματισμός II 1

File Handling & I/O ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ

Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI

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

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

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

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

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59

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

Η γλώσσα προγραμματισμού C

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

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Ρύθμιση Εξυπηρετητή Apache σε Ubuntu Linux

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

Διάλεξη 18η: Διαχείρηση Αρχείων

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

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων.

an:3 are:6 a:10

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

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

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

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

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

Σύντομη εισαγωγή στο Unix

ΟΛΑ ΤΑ SCRIPT files πρέπει να είναι ΕΚΤΕΛΕΣΙΜΑ: $*, : ΟΛΑ - Η λίστα (ο πίνακας) με τα ορίσματα $# πλήθος παραμέτρων. one two third parameter

Transcript:

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

Περίληψη Προηγούμενου Επισκόπηση αρχείων και επεξεργασία κειμένου Εντολές file, wc, more, less, df Επεξεργαστές κειμένου nano, vi

Σημερινό μάθημα Δικαιώματα πρόσβασης σε αρχεία Ιστορικό εντολών και επανεκτέλεσηεντολών history Φίλτρα head, tail, sort Ανακατεύθυνση δεδομένων(redirection) και Σωλήνωση διεργασιών (piping) και Αναζήτηση αρχείων (find) και αναζήτηση μοτίβου (grep)

Δικαιώματα πρόσβασης σε αρχεία (File Permissions) Προσδιορίζουν τι μπορεί και τι δεν μπορεί να κάνει ο κάθε χρήστης σε κάποιο αρχείο ή φάκελο Είναι απαραίτητα για τη ασφάλεια του όλου συστήματος Αρχεία, προγράμματα και λειτουργικό Παράδειγμα: Δεν θέλετε άλλοι χρήστες να βλέπουν τα αρχεία σας Δεν πρέπει να διαγραφούν αρχεία του συστήματος κατά λάθος Ο μόνος χρήστης που μπορεί να έχει πρόσβαση σε όλα τα αρχεία είναι ο διαχειριστής (root) Η αλλαγή δικαιωμάτων πρόσβασης σε αρχεία και φακέλους είναι πολύ εύκολη διαδικασία στο linux

Τι είναι τα permissions Υπάρχουν 3 είδη πρόσβασης τα για ένα αρχείο ή φάκελο και συμβολίζονται με 3 γράμματα: r read - μπορείς να διαβάσεις τα περιεχόμενα ενός αρχείου/φακέλου w write - μπορείς να αλλάξεις τα περιεχόμενα ενός αρχείου/φακέλου x execute μπορείς να εκτελέσεις το αρχείο, εάν αυτό είναι το εκτελέσιμο ενός προγράμματος ή για ένα directory εκτελέσιμο σημαίνει ότι κάποιος χρήστης μπορεί να εισέλθει σε αυτό με την εντολή cd Για κάθε αρχείο/φάκελο υπάρχουν 3 είδη χρηστών για τους οποίους μπορείς να προσδιορίσεις permissions u owner ο ιδιοκτήτης, ο χρήστης στον οποίο ανήκει το αρχείο/φάκελος g group - κάθε αρχείο ανήκει σε ένα μοναδικό group o others υπόλοιποι: οι χρήστες που δεν είναι ούτε ο ιδιοκτήτης ούτε το group Δηλαδή τρία είδη πρόσβασης για τρία είδη χρηστών

Εμφάνιση δικαιωμάτων ls l, π.χ. $ ls -l cylinder.py -rwxr-xr-x 1 mary students 171 Jun 8 11:37 cylinder.py

Αλλαγή δικαιωμάτων Με την εντολή chmod. Σύνταξη: chmod [permissions] [path] Όπου [permissions]: 1. Για ποιόν αλλάζουμε δικαιώματα? [ugoa] - user (or owner), group, others, all 2. Πρόσθεση ( + ) ή αφαίρεση δικαιώματος ( - )? 3. Ποιο δικαίωμα αλλάζουμε? - read ( r ), write ( w ) or execute ( x ) Παραδείγματα: chmod g+wx frog.png chmod go-x data.txt chmod a+rwx *

Ιστορικό Εντολών Κάθε φορά που ο χρήστης εκτελεί μια εντολή στο terminal, η εντολή αποθηκεύεται σε ένα κρυφό αρχείο Αυτό μου επιτρέπει να επανεκτελώ εντολές που έχω εκτελέσει στο παρελθόν, χωρίς να τις ξαναγράφω, π.χ. με βελάκια Για να δω όλες τις εντολές που έχουν καταχωρηθεί στο ιστορικό χρησιμοποιώ την εντολή history Μου παράγει λίστα με κάθε εντολή αριθμημένη, π.χ.: 501 pwd 502 ls -l cylinder.py 503./cylinder.py 504 man history 505 history Για να επανεκτελέσω μια εντολή μπορώ επίσης να δώσω στο terminal θαυμαστικό (!) ακολουθούμενο από το νούμερό της εντολής στο ιστορικό: $!502 ls -l cylinder.py -rwxr-xr-x 1 Administrators None 171 Jun 8 11:37 cylinder.py

Άσκηση Βρείτε το αρχείο όπου αποθηκεύεται το ιστορικό του χρήστη στο ubuntu και στο cygwin

Φίλτρα Στο Linux τα φίλτρα είναι βοηθητικά προγράμματα τα οποία διαβάζουν αρχεία ASCII και τα μετασχηματίζουν με κάποιο τρόπο. Παράδειγμα Δείξε τις 4 πρώτες γραμμές από το αρχείο mydata.txt head -4 mydata.txt Δείξε τις 10 τελευταίες γραμμές tail -10 mydata.txt Ταξινόμησε αλφαβητικά τις γραμμές ενός αρχείου: sort mydata.txt

Ροές Δεδομένων προγραμμάτων Κάθε διεργασία που εκτελείται στο command line συσχετίζεται με τρεις ροές δεδομένων (data streams): STDIN (0) - Standard input (δεδομένα εισόδου στο πρόγραμμα) STDOUT (1) - Standard output (δεδομένα εξόδου) STDERR (2) - Standard error (μηνύματα λάθους) Η σωλήνωση και η ανακατεύθυνση αφορά τον τρόπο με τον οποίο ενώνουμε αυτές τις ροές μεταξύ προγραμμάτων και αρχείων

Ανακατεύθυνση ροών σε αρχείο (Redirection to file) Επιτελείται με τα σύμβολα > και < Παραδείγματα Redirecting to file ls > myoutput Redirecting from file wc -l < myoutput wc -l < mydata.txt > myoutput Append output to file ls >> mydata.txt Redirecting STDERR ls -l video.mpg blah.foo 2> errors.txt

Σωλήνωση Διεργασιών (Pipelines) H σωλήνωση διεργασιών επιτρέπει τη σύνδεση προγραμμάτων σε σειρά, ώστε η έξοδος του ενός να χρησιμοποιείται σαν είσοδος στο επόμενο. Η σωλήνωση επιτυγχάνεται με το σύμβολο Παραδείγματα: ls head -3 ls head -3 tail -1 ls head -3 tail -1 > myoutput ls -l /etc tail -10 sort ls l /etc less

Αναζήτηση αρχείων στο σύστημα Μπορεί να γίνει αναζήτηση με διάφορα κριτήρια, όπως: Όνομα αρχείου, permissions, μέγεθος, τύπος, ημερομηνία τροποποίησης, owner, group, κ.λ.π. Εντολή find [path] [options] [what_to_find] Παραδείγματα: find. -name tecmint.txt find /home -name "*.txt find /home -iname tecmint.txt αγνόησε εάν το όνομα είναι με κεφαλαία ή μικρά γράμματα find /home -type d -name mathimata find / -size +50k -size -100k βρες τα αρχεία με μέγεθός s, όπου 50kbytes <s <100kbytes

H εντολή grep Κάνει αναζήτηση σε δεδομένα κειμένου και επιστρέφει τις γραμμές του κειμένου που περιέχουν μία λέξη ή γενικότερα ένα μοτίβο (pattern). Σύνταξη: grep [options] <pattern> [path] Παραδείγματα: grep mellon mydata.txt Βρες τη λέξη mellon στο αρχείο mydata.txt grep n mellon mydata.txt Επιστρέφει και τον αριθμό γραμμής

grep & find Προσοχή: πολλοί φοιτητές συγχέουν τις δύο αυτές εντολές Το grep θα το χρησιμοποιείτε όταν θέλετε να αναζητήσετε μια λέξη μέσα σε ένα κείμενο Το find θα το χρησιμοποιείτε όταν θέλετε να αναζητήσετε ένα αρχείο στο file system

Ερωτήσεις/Ασκήσεις 1. Αποθηκεύστε τις 5 πρώτες εντολές του ιστορικού εντολών στο αρχείο data.txt 2. Αλλάξτε τα δικαιώματα πρόσβασης στο αρχείο data.txt ώστε να μην μπορείτε να αλλάξετε τα περιεχόμενά του. Εν συνεχεία διαγράψτε το αρχείο αυτό. Τι παρατηρείτε? 3. Βρείτε όλες τις εντολές δημιουργίας φακέλου που βρίσκονται στο ιστορικό 4. Ποια εντολή πρέπει να γράψετε σε Linux CLI για να δείτε ποιες είναι οι εντολές διαγραφής αρχείου που έχουν εκτελεστεί στις 20 πιο πρόσφατες εντολές του ιστορικού.