ΕΙΣΑΓΩΓΗ ΣΤΟ ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι Βάνα Ντουφεξή

Σχετικά έγγραφα
lab0: Εισαγωγή σε Linux

lab1: Εισαγωγή σε Linux

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

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

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

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

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

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

Προγραµµατισµός Ι Εργαστήριο 6ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

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

Προγραµµατισµός Ι Εργαστήριο 6ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΕΡΓΑΣΤΗΡΙΟ #1. Το Λειτουργικό Σύστηµα Unix

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 3ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

Computing and Information Systems Service. ιαχείριση Αρχείων

Οδηγίες εγκατάστασης και χρήσης Java σε προσωπικό υπολογιστή

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

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης

ΕΠΛ : Εισαγωγή στην Επιστήμη της Πληροφορικής Σημειώσεις Εργαστηρίων (2009)

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

Hase οδηγίες χρήσης.

Atlantis - Νέο user interface

Τα Windows Πολύ Απλά και Πολύ Σύντομα

Hase οδηγίες χρήσης.

Κεφάλαιο Ι : Το περιβάλλον εργασίας και το πρώτο απλό πρόγραµµα σε Java.

Προγραμματισμός Ι Εργαστήριο 9ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 9 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Hase οδηγίες χρήσης.

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

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

Προγραµµατισµός Ι Εργαστήριο 9ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 9 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Εργαστήριο Εγκατάσταση Ubuntu με VirtualBox Εγκατάσταση Ubuntu με Unetbootin Απομακρυσμένη πρόσβαση με Putty/WinSCP

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

Οδηγίες κατασκευής Ιστοσελίδων µε το πρόγραµµα FRONTPAGE 2003

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

CE121 Προγραµµατισµός 2. Εισαγωγή σε Makefiles. CE121 -

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Πέµπτη 17/12/2015, 22:00

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

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

LAB1 ΛΥΣΗ. Ευρετήριο απαντήσεων ανά τµήµα: Ευρετήριο απαντήσεων ανά µήνυµα λάθους/προειδοποίησης

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

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

Προγραμματισμός Ι Εργαστήριο 5ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

ΠΑΓΚΑΛΟΣ ΙΩΑΝΝΗΣ ΣΙΣΜΑΝΗΣ ΝΙΚΟΣ. File Transfer Protocol

Εργαστήριο του Μαθήματος: ΕΠΛ 001: Εισαγωγή στην Επιστήμη της Πληροφορικής

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

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

Εγκατάσταση του PiNet για διαχείριση εργαστηρίου με Raspberry Pi. Συγγραφέας: Τριχόπουλος Γιώργος Δεκέμβριος 2016

Μια εισαγωγή στο Linux με την διανομή Fedora. Βάιος Κολοφωτιάς MSc Informational Systems

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #0

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

abistarakis PASS - Σωστή κατασκευή tgz και ονοµασία αρχείων

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Windows XP Κεφάλαιο 2: Επιφάνεια εργασίας (desktop)... 15

Computing and Information Systems Service. Windows XP

BloodShed Dev C++ Οδηγίες Χρήσης (Συγγραφέας: Πάρις Πολύζος)

Οδηγός Χρήσης προσωπικού χώρου και επιπλέον χώρου αποθήκευσης δεδομένων στο Τμήμα Πληροφορικής

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

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

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

Προγραμματισμός Ι Εργαστήριο 8ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 8 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

Προγραμματισμός Ι Εργαστήριο 8ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 8 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

Εγχειρίδιο χρήσης συστήματος ηλεκτρονικής αλληλογραφίας της Ελληνικής Ομοσπονδίας Μπριτζ

Εισαγωγικό εργαστήριο C

Πρόσβαση μέσω webdav. ΚΕ.Δ.Δ. Τ.Ε.Ι. Μεσολογγίου. 3. Στην συνέχεια πληκτρολογούμε το username και το password και πατάμε στο κουμπί Είσοδος.

Σύνδεση σε ένα Microsoft Windows XP Η/Υ

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

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

Outlook Express-User Instructions.doc 1

Οδηγίες για τη Χρήση του Google Drive

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

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

To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition

CE121 Προγραµµατισµός 2. Εισαγωγή σε Makefiles. CE121 -

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

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

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

Εγχειρίδιο Φοιτητή. Course Management Platform. Εισαγωγή. for Universities Ομάδα Ασύγχρονης Τηλεκπαίδευσης Παν. Μακεδονίας Σεπτέμβριος 2004

Data Focus Business Solutions σελ. 1/10

Εγχειρίδιο Χρήστη - Μαθητή

Atlantis - Νέο user interface

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

Εγχειρίδιο Χρήστη Φάση 1: Καταχώρηση Ειδικοτήτων

Ο ArcCatalog χρησιμοποιείται για την πλοήγηση / διαχείριση χωρικών δεδοµένων.

Transcript:

ΕΙΣΑΓΩΓΗ ΣΤΟ ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι Βάνα Ντουφεξή Περιβάλλον ΠΡΩΤΑ ΒΗΜΑΤΑ ΣΤΟ ΕΡΓΑΣΤΗΡΙΟ Το εργαστήριο γίνεται σε περιβάλλον Linux µε γραφικό περιβάλλον KDE. Το φυλλάδιο αυτό απευθύνεται σε φοιτητές που δεν έχουν προηγούµενη επαφή µε Linux αλλά έχουν χρησιµοποιήσει Windows. Ξεκινώντας Για να µπορέσετε να χρησιµοποιήσετε τους υπολογιστές του εργαστηρίου πρέπει να έχετε προσωπικό λογαρισµό σε αυτούς. Η διαδικασία απόκτησης λογαριασµού θα ολοκληρωθεί κατά τη διάρκεια του πρώτου εργαστηρίου. Θα σας δοθεί ένα προσωπικό όνοµα χρήστη (username) και αρχικό συνθηµατικό (password). Το τεχνικό προσωπικό του εργαστηρίου θα σας καθοδηγήσει στη διαδικασία εισόδου στο λογαριασµό σας και αλλαγής του password. Το password που θα θέσετε στο λογαριασµό σας πρέπει να το κρατήσετε µυστικό και να µην επιτρέπετε ποτέ σε τρίτα άτοµα πρόσβαση στο λογαριασµό σας για οποιοδήποτε λόγο. Πρώτη επαφή Όταν µπείτε στο λογαριασµό σας θα δείτε την επιφάνεια εργασίας η οποία περιέχει, ανάµεσα στα άλλα : FireFox: Ο γνωστός browser. Office: Πακέτο εφαρµογών γραφείου που περιλαµβάνει επεξεργαστή κειµένου, υπολογιστικό φύλλο, κτλ. My Computer: Ανοίγει ένα παράθυρο µε πληροφορίες για το σύστηµά σας. Από αυτό το παράθυρο µπορείτε να αποκτήσετε εύκολη πρόσβαση στους προσωπικούς σας φακέλους (Home, Documents) Το Start button βρίσκεται κάτω αριστερά και µοιάζει µε το κεφάλι ενός πράσινου χαµελαίοντα. Όταν κάνετε click σε αυτό θα εµφανιστεί ένα panel µε πέντε tabs: Favorites, Applications, Computer, Recently Used, Leave. Auto το είδος µενού λέγεται Kickoff menu style. 1

Αν προτιµάτε το µενού να µοιάζει πιο πολύ µε Windows (χωρίς tabs), τότε κάντε δεξί click στο Start button και επιλέξτε Switch to Classic menu style. Λίγο πιο δεξιά από το Start button βρίσκεται ένα εικονίδιο που µοιάζει µε συρταριέρα και λέγεται Dolphin. Αν κάνετε click σε αυτό, ανοίγει ένα παράθυρο το οποίο σας εµφανίζει τον προσωπικό σας φάκελο. Στις επόµενες σελίδες υπάρχουν περισσότερες πληροφορίες για τον προσωπικό χώρο του κάθε χρήστη. Οι εφαρµογές που θα χρησιµοποιήσετε για τον Προγραµµατισµό Ι είναι: Terminal: Ανοίγει ένα παράθυρο τερµατικού. Στο Classic µενού βρίσκεται στο System Terminal.Console. Στο Kickoff µενού, βρίσκεται στο Applications System Terminal Terminal. Περισσότερες πληροφορίες γι αυτό βρίσκονται παρακάτω. Kate: To Kate είναι ένας επεξεργαστής κειµένου που µπορείτε να χρησιµοποιήτε για να γράφετε τα προγράµµατά σας. Στο Classic µενού βρίσκεται στο Utilities Editor Kate ενώ στο Kickoff µενού βρίσκεται στο Applications Utilities Editor Advanced Text Editor. Εναλλακτικά, ο συνδυασµός Alt-F2 εµφανίζει ένα παράθυρο διαλόγου στο οποίο µπορείτε να γράψετε το όνοµα του προγράµµατος που θέλετε να χρησιµοποιήσετε (πχ. kate ή terminal). Θα σας εµφανιστεί µια λίστα από επιλογές και µπορείτε να κάνετε click σε αυτό που θέλετε. Όταν τελειώσετε τη δουλειά σας πρέπει οπωσδήποτε να βγείτε από το λογαριασµό σας πριν φύγετε από το εργαστήριο. Κάντε click στο Start Button και επιλέξτε Leave Logout αν είστε στο Classic µενού ή Leave Logout και µετά πάλι Logout αν είστε στο Kickoff µενού. Χρησιµοποιώντας Memory Stick Όταν βάλετε memory stick στην είσοδο USB αναγνωρίζεται αµέσως και ανοίγει στην επιφάνεια εργασίας. Μπορείτε να µεταφέρετε αρχεία ανάµεσα στο memory stick και τον υπολογιστή σας µε drag and drop όπως και στα Windows. Όταν τελειώσετε, πρέπει να κάνετε ασφαλή αφαίρεση: Ανοίξτε το Dolphin ή το My Computer, βρείτε το USB στη λίστα δίσκων κάντε δεξί click και επιλέξτε Safely Remove. ΠΡΟΣΟΧΗ: Αν δε γίνει ασφαλής αφαίρεση, τότε υπάρχει µεγάλη πιθανότητα να χάσετε τα αρχεία που µεταφέρατε στο memory stick. 2

ΕΙΣΑΓΩΓΗ ΣΤΟ LINUX Περιβάλλον γραµµής εντολών Αν έχετε χρησιµοποιήσει Windows, τότε έχετε ήδη µια εξοικείωση µε ένα γραφικό περιβάλλον (graphical interface). Το Linux έχει παρόµοιο γραφικό περιβάλλον. Σε αυτό το φυλλάδιο όµως θα δούµε πώς χρησιµοποιείται το περιβάλλον γραµµής εντολών (command-line interface). Η κύρια διαφορά µεταξύ τους είναι ότι ενώ στο γραφικό περιβάλλον ο χρήστης δουλεύει κυρίως µε το ποντίκι για να "πηγαίνει" σε φακέλους ή για να επιλέγει εντολές από µενού, στο περιβάλλον γραµµής εντολών δουλεύει κυρίως µε το πληκτρολόγιο. Γράφει εντολές σε ένα ειδικό παράθυρο που λέγεται τερµατικό (terminal window) οι οποίες ερµηνεύονται και εκτελούνται από ένα ειδικό πρόγραµµα. Δοµή αρχείων Μπείτε στο λογαριασµό σας και ανοίξτε ένα τερµατικό (terminal) όπως περιγράφεται στο προηγούµενο κεφάλαιο. Αυτή τη στιγµή βρίσκεστε σε περιβάλλον γραµµής εντολών (commandline). Μπορείτε να πληκτρολογήσετε εντολές για να δείτε σε ποιο φάκελο βρίσκεστε, για να ανοίξετε ένα άλλο φάκελο, για να δηµιουργήσετε ένα καινούργιο φάκελο ή αρχείο για να τρέξετε προγράµµατα και πολλά άλλα πράγµατα που θα ανακαλύψετε σιγά σιγά. Το σύστηµα αρχείων στο linux είναι οργανωµένο σε µορφή δέντρου (σχήµα 1). Στην κορυφή βρίσκεται το λεγόµενο root directory ή root folder ( / ). Κάτω από το root βρίσκονται διάφοροι φάκελοι. Από αυτούς αξίζει να σηµειώσουµε τους: bin: Περιέχει τις εντολές του linux. usr: Περιέχει διάφορους φακέλους ένας εκ των οποίων είναι ο φάκελος µε τα include files της C (θα µάθετε για include files στη θεωρία) home: Στο σύστηµα του εργαστηρίου, το home περιέχει ένα φάκελο µε όνοµα inf2010 µέσα στον οποίο βρίσκονται τα λεγόµενα home folders των φοιτητών, δηλαδή οι προσωπικοί φάκελοι των χρηστών. Για παράδειγµα, σε ένα σύστηµα µε τρεις χρήστες, user1, user2, user3, υπάρχουν τρία home folders µε ονόµατα user1, user2, user3 αντίστοιχα. προσωπικοί φάκελοι χρηστών (στο σχήµα: user1, user2, user3) Όταν ένας από τους χρήστες "µπει" στο λογαριασµό του και ανοίξει ένα τερµατικό, τότε αυτό ανοίγει στον προσωπικό του φάκελο. Μέσα σε αυτόν βρίσκονται άλλοι φάκελοι, όπως το Documents που αναφέραµε πιο πάνω. 3

/ usr bin etc home include lib ls cd inf2009 stdio.h stdlib.h user1 user2 user3 CE120 my_music φάκελος αρχείο lab1 lab2 hello.c a.out lab1.pdf Σχήµα 1: Οργάνωση αρχείων στο Linux Πλοήγηση και δηµιουργία φακέλων Η θέση ενός φακέλου ή αρχείου στο δέντρο εκφράζεται µέσα από ένα µονοπάτι (path). Για παράδειγµα, η θέση του lab1 όπως φαίνεται στο σχήµα 1 είναι /home/inf2010/user2/ce120/lab1. Οµοίως, το home folder του χρήστη user2 είναι στο µονοπάτι /home/inf2010/user2 Όταν ένα µονοπάτι ξεκινά από το root, όπως στο παραπάνω παράδειγµα, τότε λέγεται "απόλυτο" (absolute path). Όταν ένα µονοπάτι ξεκινά από τον φάκελο στον οποίο βρισκόµαστε, τότε λέγεται "σχετικό" (relative path). Για παράδειγµα, αν βρισκόµαστε ήδη στο /home/inf2010/user2, τότε µπορούµε να εκφράσουµε το µονοπάτι προς στο lab1 ως CE120/lab1 Κάθε φάκελος περιέχει και δύο ειδικούς φακέλους:. : δίνει πρόσβαση στον τρέχοντα φάκελο (π.χ. όταν θέλουµε να µεταφέρουµε ένα αρχείο σε αυτόν).. : δίνει πρόσβαση στο γονέα του, δηλαδή το φάκελο ακριβώς από πάνω στο δέντρο. Ας δούµε τώρα µερικές εντολές που µας επιτρέπουν να κινηθούµε στο δέντρο αρχείων, και να δηµιουργήσουµε ή καταστρέψουµε αρχεία. Ανοίξτε ένα τερµατικό και δοκιµάστε της. Ό,τι τυπώνει ο χρήστης είναι γραµµένο µε έντονους χαρακτήρες. Το % στην αρχή κάθε γραµµής είναι το 4

σύµβολο που εµφανίζεται στο τερµατικό όταν είναι έτοιµο να δεχτεί µια εντολή σας. Πιθανώς στο δικό σας τερµατικό να εµφανίζεται κάτι διαφορετικό, για παράδειγµα το µονοπάτι στο οποίο βρίσκεστε κάθε στιγµή. Προσέξτε: To Linux είναι case-sensitive, δηλαδή ευαίσθητο στα κεφαλαία και µικρά γράµµατα. Το Pwd είναι τελείως διαφορετικό από το pwd. pwd = Πού είµαι? [Print Working Directory] Αυτή η εντολή τυπώνει το απόλυτο µονοπάτι προς τον τρέχοντα φάκελο. /home/inf2010/user2/ ls = Τι υπάρχει εδώ? [LiSt] Αυτή η εντολή εκτυπώνει µια λίστα των περιεχοµένων ενός φακέλου. Μπορούµε να προσδιορίσουµε επιπλέον επιλογές που µας επιτρέπουν να δούµε περισσότερες πληροφορίες. /home/inf2010/user2/ Desktop/ Documents/ -a./../ Desktop/ Documents/ Συνήθως, οι φάκελοι εµφανίζονται µε µια κάθετο µετά το όνοµά τους για να τους ξεχωρίζουµε από απλά αρχεία. Η επιλογή -a εκτυπώνει και όλα τα αρχεία ή φακέλους που το όνοµά τους ξεκινά από µια τελεία (συχνά υπάρχουν και άλλα ειδικά αρχεία σε αυτή την κατηγορία) cd µονοπάτι = Πήγαινε µε στο... [Change Directory] Αυτή η εντολή δέχεται ένα µονοπάτι (απόλυτο ή σχετικό) και σας µεταφέρει εκεί. /home/inf2010/user2/ % cd Desktop /home/inf2010/user2/desktop/ Στο παραπάνω παράδειγµα χρησιµοποιήσαµε σχετικό µονοπάτι. Θα είχαµε το ίδιο αποτέλεσµα αν είχαµε γράψει cd /home/inf2010/user2/desktop /home/inf2010/user2/desktop/ 5

% cd../documents /home/inf2010/user2/documents/ % cd haha haha: No such file or directory. /home/inf2010/user2/documents/ % cd../../user1 user1: Permission denied. % cd /home/inf2010/user2/ Στην προτελευταία χρήση του cd στο παραπάνω παράδειγµα προσπαθήσαµε να µπούµε στο φάκελο ενός άλλου χρήστη και φυσικά το σύστηµα µας το απαγόρευσε. Όταν δέν προσδιορίζουµε µονοπάτι, το cd µας πηγαίνει πάντα στο home directory. mkdir όνοµα_φακέλου = Φτιάξε µου αυτό το φάκελο Αυτή η εντολή δηµιουργεί ένα νέο, άδειο φάκελο µέσα στον τρέχοντα φάκελο. % cd % mkdir CE120 CE120/ Desktop/ Documents/ % mkdir photos games CE120/ Desktop/ Documents/ games/ photos/ rmdir όνοµα_φακέλου = Κατέστρεψε αυτό το φάκελο [ReMove DIRectory] Αυτή η εντολή καταστρέφει ένα φάκελο, αλλά µόνο αν είναι άδειος. % cd ~/CE120 % mkdir lab1 % cd.. % rmdir CE120 rmdir: CE120: Directory not empty % mkdir junk CE120/ Desktop/ Documents/ junk/ % rmdir junk CE120/ Desktop/ Documents/ ΠΡΟΣΟΧΗ: Όταν σβήνετε ένα αρχείο ή φάκελο στο Linux από τη γραµµή εντολών, δε µπορείτε να το ανακτήσετε και δε γίνεται back up στις µηχανές του εργαστηρίου. 6

Μεταφορές κι αντιγραφές αρχείων Σε αυτό το κεφάλαιο θα καλύψουµε εντολές για τη µεταφορά αρχείων και φακέλων, µετονοµασία, αντιγραφή και διαγραφή. Χακεριά: επειδή δεν έχουµε ακόµη δει πως δηµιουργούµε αρχεία, µπορείτε να χρησιµοποιήσετε την εντολή touch όνομα_ αρχείου όποτε θέλετε να δηµιουργήσετε ένα άδειο αρχείο για δοκιµάσετε τις παρακάτω εντολές. Για παράδειγµα, touch test δηµιουργεί ένα αρχείο µε όνοµα test στον τρέχοντα φάκελο. mv πηγή προορισµός = Μετακίνησέ µε! Μετονόµασέ µε! [MoVe] Αυτή η εντολή µετακινεί την πηγή στον προορισµό. Αν ο προορισµός είναι οτιδήποτε εκτός από ένας ήδη υπάρχον φάκελος, τότε η χρήση της εντολής ουσιαστικά µετονοµάζει την πηγή σε προορισµό. ΠΡΟΣΟΧΗ: Αν ο προορισµός υπάρχει ήδη, τότε θα αντικατασταθεί από την πηγή! % cd ~/CE120/lab1 % touch a.out hello.c lab1.pdf a.out hello.c lab1.pdf % mv lab1.pdf ergastirio1.pdf a.out ergastirio1.pdf hello.c Το lab1.pdf µετονοµάστηκε σε ergastirio1.pdf a.out ergastirio1.pdf hello.c % mv a.out hello.c ergastirio1.pdf hello.c Oops! Μεταφέραµε το a.out στο hello.c. Αυτό σηµαίνει ότι τώρα τα περιεχόµενα του hello.c έχουν αντικατασταθεί από τα περιεχόµενα του a.out. Αν αυτό έγινε κατα λάθος, ΔΕΝ υπάρχει τρόπος να ανακτήσουµε τα προηγούµενα περιεχόµενα του hello.c. Για να αποφεύγουµε τέτοια λάθη, µπορούµε να χρησιµοποιούµε το mv µε την επιλογή -i οπότε µας ενηµερώνει αν πρόκειται να αντικαταστήσουµε ένα υπάρχον αρχείο. % touch a.out % mv -i a.out hello.c overwrite hello.c? (y/n [n]) n not overwritten Αν ο προορισµός είναι υπάρχων φάκελος τότε η πηγή µεταφέρεται µέσα στον προορισµό. 7

/home/inf2010/user2/ce120/lab1 a.out ergastirio1.pdf hello.c % mv hello.c../ a.out ergastirio1.pdf % cd../ hello.c lab1/ Σε αυτή την περίπτωση µπορούµε να έχουµε και πολλαπλές πηγές (αρκεί ο προορισµός να είναι φάκελος που υπάρχει ήδη). Για παράδειγµα, πιο πάνω θα µπορούσαµε να είχαµε µεταφέρει και το a.out µε την εντολή mv hello.c a.out../ cp αρχείο-πηγή αρχείο-προορισµός = Αντέγραψέ µε! [CoPy] Αυτή η εντολή αντγράφει τα περιεχόµενα του αρχείου-πηγή στο αρχείο προορισµός. Αν το αρχείοπροορισµός υπάρχει ήδη, τότε τα περιεχόµενά του αντικαθίστανται από αυτά της πηγής και δε µπορούν να ανακληθούν. Η επιλογή -i ισχύει κι εδώ όπως και στη mv. rm αρχείο = Σβήσε µε! [ReMove] Αυτή η εντολή σβήνει ένα αρχείο. Το αρχείο ΔΕ µπορεί να ανακτηθεί. Η εντολή µπορεί να χρησιµοποιηθεί µε την επιλογή -r για να σβήσει ένα φάκελο και όλα τα περιεχόµενά του. /home/inf2010/user2/ce120/lab1/ % rm hello.c a.out ergastirio.pdf % cd.. % rm -r lab1 lab2/ Κι εδώ ισχύει η επιλογή -i όπως στη cp και mv. Και για να µην ξεχνάτε: ΠΡΟΣΟΧΗ: Όταν σβήνετε ένα αρχείο ή φάκελο στο Linux από τη γραµµή εντολών, δε µπορείτε να το ανακτήσετε. Wildcards Πολλές φορές χρειάζεται να εφαρµόσετε µια εντολή σε ένα σύνολο αρχείων. Αυτό µπορείτε να το επιτύχετε µε τη χρήση wildcards τα οποία λειτουργούν ως µπαλαντέρ στο όνοµα αρχείων. Αν µπορείτε να βρείτε κάποιο µοτίβο (pattern) στα ονόµατα ενός συνόλου αρχείων, τότε µπορείτε να χρησιµοποιήσετε wildcards. 8

Το? (ερωτηµατικό) λειτουργεί ως µπαλαντέρ για ένα ακριβώς χαρακτήρα. Για παράδειγµα, αν ένας φάκελος περιέχει τα αρχεία lab1.pdf lab2.pdf labk.pdf, τότε µπορούµε να τα σβήσουµε όλα µαζί µε την εντολή rm lab?.pdf. Aν ο φάκελος περιείχε και το αρχείο lab12.pdf δε θα σβηνόταν (το ερωτηµατικό είναι µπαλαντέρ για ακριβώς ένα χαρακτήρα ανάµεσα στο lab και τo.pdf ενώ το 12 είναι δύο χαρακτήρες. Το * (αστερίσκος) λειτουργεί ως µπαλαντέρ για πολλαπλούς χαρακτήρες. Για παράδειγµα, αν ένας φάκελος περιέχει τα αρχεία: lab1.pdf lab124.pdf lalala.pdf lab1.c hello.c test τότε το lab*.pdf αντιστοιχεί στα lab1.pdf lab124.pdf το l*.pdf αντιστοιχεί στα lab1.pdf lab124.pdf lalala.pdf το lab* αντιστοιχεί στα lab1.pdf lab124.pdf lab1.c το *.* αντιστοιχεί στα lab1.pdf lab124.pdf lalala.pdf lab1.c hello.c το * αντιστοιχεί σε όλα τα αρχεία του φακέλου. Αυτό σηµαίνει πως αν πάτε στο home directory σας και γράψετε rm * ή rm -r * τότε τη βάψατε... Αναζητήσεις Πολλές φορές ψάχνουµε ένα αρχείο χωρίς να ξέρουµε που βρίσκεται ή ψάχνουµε ένα αρχείο που περιέχει µια συγκεκριµένη λέξη ή φράση. Το Linux έχει εντολές και για τις δύο λειτουργίες. grep φράση τοποθεσία = Ποιο αρχείο περιέχει τη φράση? Αυτή η εντολή ψάχνει µια λέξη ή φράση σε ένα ή περισσότερα αρχεία κι εκτυπώνει τις γραµµές των αρχείων που περιέχουν το στόχο. Αν η τοποθεσία είναι φάκελος, µπορούµε να χρησιµοποιήσουµε την επιλογή -r η οποία µας επιτρέπει να ψάξουµε αναδροµικά (recursively) σε όλα τα υποαρχεία. % grep -r "int main" lab? lab1/hello.c:int main () { % cd lab1 % grep int *.c hello.c:int main () { test.c:double num_pints; find = Πού είναι αυτό το αρχείο? Αυτή η εντολή χρησιµοποιείται για την εύρεση αρχείων. Είναι πολύ ισχυρή γιατί επιτρέπει στο χρήστη να εφαρµόσει και άλλες εντολές στα αρχεία που βρίσκει η find. Εδώ θα κάνουµε ένα απλό παράδειγµα µόνο. 9

% cd % find. -name "hello.c" -print./ce120/lab1/hello.c Στο παραπάνω παράδειγµα η find ψάχνει στον τρέχοντα φάκελο και όλους τους υποφακέλους του να βρεί ένα αρχείο µε όνοµα hello.c και τυπώνει τα αποτελέσµατα. Βοήθεια Αν δε θυµάστε πως ακριβώς δουλεύει µια εντολή µπορείτε να βρείτε τη σελίδα της στο εγχειρίδιο (manual) χρησιµοποιώντας την εντολή man. Για παράδειγµα, man rm θα σας δώσει πληροφορίες για τη χρήση και όλες τις διαθέσιµες επιλογές της εντολής rm. Όταν είστε µέσα στο περιβάλλον της εντολής man πατείστε spacebar για να προχωρήσετε στην επόµενη σελίδα, b για να πάτε στην προηγούµενη σελίδα και q για να βγείτε. 10

ΤΟ ΠΡΩΤΟ ΠΡΟΓΡΑΜΜΑ C: Hello world! Γράφοντας το πρόγραµµα Μπείτε στο λογαριασµό σας και φτιάξτε ένα φάκελο µέσα στον οποίο θα γράφετε όλα τα προγράµµατα για το εργαστήριο. Μπορείτε να τον ονοµάσετε ce120 ή prog1 ή κάποιο άλλο αντιπροσωπευτικό όνοµα. Μέσα σε αυτό το φάκελο φτιάξτε ένα νέο φάκελλο, µε όνοµα lab0 γι'αυτό το πρώτο εργαστήριο. Μέσα σε αυτόν, φτιάξτε ένα τελευταίο φάκελο µε βάση το όνοµά σας. Για την ακρίβεια, το όνοµα του φακέλου πρέπει να είναι (µε λατινικούς χαρακτήρες) : επώνυµο_όνοµα_aem_email Για παράδειγµα, doufexi_vana_000_doufexi@gmail.com Ανοίξτε τον επεξεργαστή κειµένου Kate (όταν συνηθίσετε το Linux πειραµατιστείτε και µε άλλους επεξεργαστές κειµένου όπως vi και emacs). Γράψτε στο Kate το παρακάτω πρόγραµµα το οποίο εκτυπώνει στην οθόνη το µήνυµα Hello world! Σώστε το αρχείο µε όνοµα lab0.c µέσα στο φάκελο επώνυµο_όνοµα_aem_email. Παρατηρείστε ότι στην κάτω µπάρα του Kate βρίσκεται ένα tab που γράφει Terminal. Αν το πατήσετε θα ανοίξει ένα τερµατικό µέσα στο περιβάλλον του Kate. Βεβαιωθείτε ότι βρίσκεται στο σωστό φάκελο. Αν δε βρίσκεται, χρησιµοποιείστε την εντολή cd για να µεταφερθείτε εκεί. Τώρα είστε έτοιµοι να κάνετε compile το πρόγραµµά σας. Αν δεν υπάρχουν λάθη, ο compiler θα παράγει ένα εκτελέσιµο πρόγραµµα. 11

Compilation (µεταγλώττιση) και εκτέλεση Ο compiler που θα χρησιµοποιήσετε είναι το gcc. Όπως οι περισσότερες εντολές που δοκιµάσατε στο προηγούµενο κεφάλαιο, το gcc έχει αρκετές επιλογές (κάντε man gcc για να πάρετε µια ιδέα). Αυτές που πρέπει να χρησιµοποιείτε στον Προγραµµατισµό Ι είναι: -Wall : τυπώνει όλες τις δυνατές προειδοποιήσεις. Παρόλο όταν υπάρχουν µόνο προειδοποιήσεις κατά το compilation µπορεί να δηµιουργηθεί εκτελέσιµο, συχνά οι προειδοποιήσεις δίνουν υποδείξεις που βοηθούν στην αποφυγή λογικών λαθών. Πρέπει πάντα να χρησιµοποιείτε -Wall. -g : παράγει πληροφορίες για τον debugger. O debugger είναι ένα εργαλείο που βοηθά στην εύρεση λογικών λαθών. Θα µιλήσουµε περισσότερο γι αυτό σε επόµενο εργαστήριο. -ο : η επιλογή αυτή, ακολουθούµενη από ένα όνοµα αρχείου λέει στον compiler να ονοµάσει το εκτελέσιµο σύµφωνα µε το όνοµα που ακολουθεί. Μπορεί να παραληφθεί, στην οποία περίπτωση το εκτελέσιµο παίρνει το όνοµα a.out Για να κάνετε compile το hello_world.c γράφετε gcc -g -Wall hello_world.c -o hello_world ΠΡΟΣΟΧΗ: Αν γράψετε -o hello_world.c κατα λάθος, τη βάψατε... Το εκτελέσιµο θα γραφτεί πάνω στο hello_world.c και θα χάσετε τον κώδικά σας. Αν όλα πήγαν καλά, πρέπει τώρα να έχετε ή ένα a.out ή ένα hello_world στο φακελό σας. Για να το εκτελέσετε, γράψτε./hello_world Συγχαρητήρια, έχετε το πρώτο σας πρόγραµµα! Για να στείλετε το πρόγραµµά σας για βαθµολόγηση, πηγαίνετε στο φάκελο lab0, και γράψτε την εντολή tar czvf επώνυµο_όνοµα_αεμ_email.tgz επώνυµο_όνοµα_αεμ_email Αν όλα έχουν πάει καλά, θα δηµιουργηθεί το αρχείο επώνυµο_όνοµα_αεμ_email.tgz Στείλτε ένα email στη διεύθυνση ce120lab@gmail.com, µε τίτλο CE120 lab0 tmima X (όπου Χ είναι το τµήµα σας) και συνηµµένο (attached) το αρχείο επώνυµο_όνοµα_αεμ_email.tgz 12