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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.Shell, users, groups και privilegies

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

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

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

«Εγχειρίδιο Προγράμματος Hope (version 2)»

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

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

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

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

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

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

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

an:3 are:6 a:10

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

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

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

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

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

ΗΥ-150 Programming. Assignment 3. HY150 Programming, University of Crete

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

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

Ενότητα 1 Διάλεξη 1β

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

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

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

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

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

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

Δικαιώματα Πρόσβασης στο Λειτουργικό Σύστημα UNIX

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

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

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

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

Μαρία Μαμαλάκη, ΕΔΙΠ. Γραφείο: Β229 - Τηλέφωνο: mariam@csd.uoc.gr. Web site μαθήματος:

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

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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 Για κάθε αρχείο/φάκελο υπάρχουν 3 είδη χρηστών για τους οποίους μπορείς να προσδιορίσεις permissions u owner ο ιδιοκτήτης, ο χρήστης στον οποίο ανήκει το αρχείο/φάκελος g group - κάθε αρχείο ανήκει σε ένα μοναδικό group o others υπόλοιποι: οι χρήστες που δεν είναι ούτε ο ιδιοκτήτης ούτε το group Δηλαδή τρία είδη πρόσβασης για τρία είδη χρηστών

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

Αλλαγή δικαιωμάτων Με την εντολή chmod. Σύνταξη: chmod [permissions] [path] Όπου [permissions]: Για ποιόν αλλάζουμε δικαιώματα? [ugoa] - user (or owner), group, others, all Πρόσθεση ( + ) ή αφαίρεση δικαιώματος ( - )? Ποιο δικαίωμα αλλάζουμε? - 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 Κάνει αναζήτηση σε δεδομένα κειμένου και επιστρέφει τις γραμμές του κειμένου που ικανοποιούν ένα μοτίβο. Σύνταξη: grep [options] <pattern> [path] Παραδείγματα: grep mellon mydata.txt Βρες τη λέξη mellon στο αρχείο mydata.txt grep n mellon mydata.txt Επιστρέφει και τον αριθμό γραμμής