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

Σχετικά έγγραφα
Ελεύθερο Ανοικτό Λογισμικό

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

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

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

Ελεύθερο Λογισμικό. Η αρχή της ιστορίας Κιαγιαδάκης Γιώργος (το labάκι)

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

GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα

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

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

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

GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα

Πληροφορική I. "Λογισμικό (Software)" B. Φερεντίνος

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Εισαγωγή στο λειτουργικό σύστηµα Unix

ver Επεξεργαστές κειμένου, λογιστικών φύλλων, παρουσιάσεων Οδηγοί συσκευών (Device Drivers)

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 4

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

Εισαγωγή στην Πληροφορική

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Ένωση Ελλήνων Χρηστών και Φίλων ΕΛ/ΛΑΚ

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

Εισαγωγή στην Πληροφορική

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

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

Εφαρμογές Υπολογιστών. Κεφάλαιο 4 Λογισμικό Συστήματος

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

Αρχιτεκτονική Υπολογιστών

Προγραμματισμός Η/Υ. Λογισμικό. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Άδεια Δημόσιας Χρήσης GNU

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

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Εργαστηριακή εισήγηση. «Ψηφιακή τάξη και Linux Ubuntu: ξεκίνημα, χρήση, τεκμηρίωση, πλεονεκτήματα»

Αρχιτεκτονική Υπολογιστών

Σε κάθε διανομή μπορεί να παρέχονται διαφορετικοί windows manager όπως: Xfe (Xubuntu) Gnome, (Debian,Ubuntu) KDE, (Kubuntu, Mandriva)

Αγροτική Ανάπτυξη Περιβάλλον

Πληροφορική 2. Λειτουργικά Συστήματα

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

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

Εισαγωγή στο Linux και στο περιβάλλον εργασίας.

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

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

Μαλούτα Θεανώ Σελίδα 1

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

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

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System)

Αντικειμενοστρεφής Προγραμματισμός

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

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

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

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

ΒασικέςέννοιεςτουUNIX: Πλοήγηση στο Σύστημα Αρχείων, ΟφλοιόςτουUNIX, Βοηθητικά Προγράμματα, ΗδομήτουΠυρήνα.

Ελεύθερο Λογισμικό και GNU/Linux

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

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

Εισαγωγή στο Λειτουργικό Σύστημα UNIX

Εγχειρίδιο της εφαρμογής αναπαραγωγής CD V2.6 i. Εγχειρίδιο της εφαρμογής αναπαραγωγής CD V2.6

ΚΕΦΑΛΑΙΟ 2 - ΛΟΓΙΣΜΙΚΟ

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

Βασίλειος Κοντογιάννης ΠΕ19

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

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

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

2.Shell, users, groups και privilegies

Εγχειρίδιο του πίνακα χαρακτήρων

Διαδικαστικά. Εισαγωγή στο Λειτουργικό Σύστημα UNIX. Διαδικαστικά. Τι είναι το Λειτουργικό Σύστημα

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

Πως μπορούν τα μέρη του υλικού ενός υπολογιστή να επικοινωνούν και να συνεργάζονται μεταξύ τους; Επειδή ακολουθούν συγκεκριμένες οδηγίες (εντολές).

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

Linux Terminal Server Project

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

ΠΡΟΑΙΡΕΤΙΚΑ ΣΕΜΙΝΑΡΙΑ Πληροφορική και Επιστήμη Ηλεκτρονικών Υπολογιστών

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

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

Εγκατάσταση του εκτυπωτή από το CD λογισμικού και τεκμηρίωσης

Οδηγός ρυθμίσεων Wi-Fi

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

Εισαγωγή στην Python. Διάλεξη 0

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

Εγχειρίδιο Προσάρτησης δίσκων

ΕΙΣΑΓΩΓΗ ΣΤΑ ΠΡΟΓΡΑΜΜΑΤΑ ΚΑΙ ΤΙΣ ΕΦΑΡΜΟΓΕΣ ΤΟΥ

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Παράρτηµα Α : Εισαγωγή στο Linux.

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

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης

Κεφάλαιο 1. Διδακτικοί Στόχοι

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 1 : Λειτουργικά συστήματα. Δρ.

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

Εισαγωγή στο περιβάλλον Code::Blocks

Αρχιτεκτονική Υπολογιστών

Ηλεκτρονικά μαθήματα από τη Βιβλιοθήκη & Κέντρο Πληροφόρησης του Πανεπιστημίου Μακεδονίας

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

Οδηγός Ιδιοτήτων GStreamer V2.4

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση:

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

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

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

Transcript:

Linux με τη χρήση κονσόλας Κεφάλαιο 1 Κείμενα Χρυσούλα Παπάζογλου Πανεπιστήμιο Μακεδονίας, Βιβλιοθήκη και Κέντρο Πληροφόρησης Υπηρεσία Ασύγχρονης Τηλεκπαίδευσης Θεσσαλονίκη, Μάρτης 2009

Το υλικό διατίθεται υπό την άδεια Creative Commons Αναφορά-Μη Εμπορική Χρήση-Παρόμοια διανομή 3.0 Unported http://creativecommons.org/licenses/ by-nc-sa/3.0/deed.el

Κατάλογος περιεχομένων Εισαγωγή στο Linux...4 Ιστορία του Linux και του Unix...4 Ο πυρήνας (kernel)...4 Διανομές του Linux (Linux distributions)...5 Γραφικό περιβάλλον στο Linux (window managers/ desktop environments)...5 Το κέλυφος εντολών (command shell)...6 Σύνδεση σε ένα σύστημα Linux/ εκκίνηση τερματικού...6 Τύποι κελύφους εντολών...7 Ποιο κέλυφος εντολών χρησιμοποιώ;...8 Εργασία με την κονσόλα πλεονεκτήματα/ μειονεκτήματα...8 Η δομή του μαθήματος...9

Εισαγωγή στο Linux Ιστορία του Linux και του Unix Το λειτουργικό σύστημα Unix ξεκίνησε να αναπτύσσεται στα τέλη της δεκαετίας του '60 (1969) από επιστήμονες που απασχολούνταν στην αμερικανική εταιρία AT&T και εργάζονταν στα Bell Labs. Στο συγκεκριμένο project έχουν εργαστεί ιστορικές μορφές στον τομέα της πληροφορικής (Ken Thompson, Dennis Ritchie, Brian Kernighan και πολλοί άλλοι) ενώ στα πλαίσιά του (για την υλοποίησή του για την ακρίβεια) αναπτύχθηκε και η γλώσσα προγραμματισμού C, μια γλώσσα-σταθμός και σημείο αναφοράς για τον προγραμματισμό. Στη δεκαετία του '70, η AT&T δημοσιοποίησε τον πλήρη πηγαίο κώδικα (source code) του Unix. Το γεγονός αυτό συνέβαλλε στη διάδοση και την εξέλιξη του Unix και το κατέστησε συνώνυμο με τα ανοικτά (open) συστήματα. Πιο ενεργά από όλους καταπιάστηκε με το project το Πανεπιστήμιο του Berkley στις ΗΠΑ, το οποίο ξεκίνησε από το 1977 να διαθέτει τις διανομές BSD (Berkley Software Distribution). Παράλληλα, από τις αρχές της δεκαετίας του '80 (1983), ο Ricard Stallman (προγραμματιστής/ ερευνητής στο MIT) ξεκίνησε το GNU Project, μια προσπάθεια συγγραφής ενός τελείως ελεύθερου (απαλλαγμένο από κάθε εμπορικό στοιχείο) λειτουργικού συστήματος με βάση φυσικά το Unix. Παρόλο που το GNU Project είχε ως αποτέλεσμα την ανάπτυξη και διάθεση αρκετών εργαλείων λογισμικού, καθώς και των αδειών που συνοδεύουν πλέον το ελεύθερο λογισμικό (GNU General Public License - GPL), δεν μπόρεσε να αναπτύξει τον ελεύθερο πυρήνα λειτουργικού συστήματος που είχε οραματιστεί αρχικά ο Stallman. Το κενό αυτό κάλυψε το 1991 ένας Φινλανδός, ο Linus Torvalds, ο οποίος ξεκίνησε τη συγγραφή ενός λειτουργικού συστήματος για δική του χρήση (just a hobby, όπως δήλωσε ο ίδιος) το οποίο εξελίχθηκε στον πυρήνα του Linux. Το Linux είναι αυτή τη στιγμή το δημοφιλέστερο ελεύθερο και ανοικτού κώδικα (free and open source) λειτουργικό σύστημα. Το Linux διατίθεται σε πολυάριθμες διανομές (distributions) οι οποίες διαφέρουν σημαντικά μεταξύ τους τόσο ως προς το κοινό στο οποίο απευθύνονται όσο και ως προς τα τεχνικά χαρακτηριστικά τους και τη φιλοσοφία ανάπτυξης. Ο πυρήνας (kernel) Ο πυρήνας (kernel) αποτελεί το βασικότερο στοιχείο κάθε λειτουργικού συστήματος. Πρόκειται για εκείνο το κομμάτι του λειτουργικού συστήματος, το οποίο διαχειρίζεται τους πόρους του υπολογιστή (μνήμη, επεξεργαστές, συσκευές εισόδου/εξόδου) και παρέχει τις κατάλληλες διεπαφές στις εφαρμογές ώστε να μπορούν να χρησιμοποιήσουν το διαθέσιμο υλικό. Το υπόλοιπο τμήμα του λειτουργικού συστήματος το οποίο βασίζεται στον πυρήνα για να λειτουργήσει ονομάζεται διανομή (distribution) του λειτουργικού συστήματος. Η τελευταία έκδοση του πυρήνα του Linux (πριν την έναρξη του μαθήματος φυσικά) ήταν η έκδοση 2.6.29 η οποία δημοσιεύθηκε στις 29 Μαρτίου. Πρέπει ωστόσο να σημειωθεί ότι οι διάφορες διανομές του Linux δε χρησιμοποιούν απαραίτητα τον επίσημο πυρήνα, καθώς μπορεί να έχουν κάνει αλλαγές/ προσθήκες για να ενσωματώσουν την επιθυμητή λειτουργικότητα. Περισσότερα για τον πυρήνα του Linux μπορείτε να διαβάσετε στη διεύθυνση http://www.kernel.org.

Διανομές του Linux (Linux distributions) Σύμφωνα με τη Wikipedia (http://en.wikipedia.org/wiki/linux_distributions), σήμερα έχουν καταγραφεί περισσότερες από 300 διανομές Linux, οι οποίες είναι στην πλειοψηφία τους ενεργές (βρίσκονται υπό ανάπτυξη). Κάποιες διανομές περιλαμβάνουν πλήρη γραφικά περιβάλλοντα και εκδόσεις για χρήστες και διακομιστές, ενώ άλλες δίνουν έμφαση στο μικρό μέγεθος και τις ελάχιστες απαιτήσεις σε υλικό, οπότε περιλαμβάνουν τα απολύτως απαραίτητα. Ορισμένες διανομές υποστηρίζονται και αναπτύσσονται από εταιρίες χωρίς αυτό υποχρεωτικά να σημαίνει ότι αποτελούν εμπορικά προϊόντα ενώ άλλες υποστηρίζονται και αναπτύσσονται από κοινότητες χρηστών. Η λίστα που ακολουθεί περιλαμβάνει κάποιες δημοφιλείς διανομές Linux (σε αλφαβητική σειρά): CentOS: πρόκειται για μια διανομή που ακολουθεί τις εκδόσεις του Red Hat Linux. Οι εκδόσεις της είναι 100% συμβατές με τις εκδόσεις της Red Hat και διατίθεται δωρεάν. Debian: πρόκειται επίσης για μη εμπορική διανομή που διατίθεται ελεύθερα και αναπτύσσεται από μια κοινότητα εθελοντών προγραμματιστών. Θεωρείται ως η διανομή που ακολουθεί περισσότερο από όλες τις αρχές του ελεύθερο λογισμικού καθώς δεν περιλαμβάνει εργαλεία που δεν είναι 100% ελεύθερο λογισμικό. Fedora: υποστηρίζεται από κοινότητα χρηστών και χρηματοδοτείται από τη Red Hat. Gentoo: διατίθεται δωρεάν και απευθύνεται σε έμπειρους χρήστες (power users). Αντίθετα με τις περισσότερες διανομές απαιτεί μεταγλώττιση του πηγαίου κώδικα από το χρήστη προκειμένου να εγκατασταθεί. Knoppix: πρόκειται για την πρώτη διανομή με Live CD (CD εκτέλεσης χωρίς εγκατάσταση) η οποία μπορεί να εκτελεστεί από αφαιρούμενο μέσο αποθήκευσης χωρίς εγκατάσταση σε σκληρό δίσκο. Προέρχεται από το Debian. opensuse: αναπτύσσεται από κοινότητα χρηστών και υποστηρίζεται από την εταιρία Novell. Προέρχεται από το Slackware. Red Hat Enterprise Linux: πρόκειται για εμπορική διανομή της Red Hat που προέρχεται από το Fedora. Slackware: μία από τις πρώτες διανομές του Linux (διατίθεται από το 1993) και η παλαιότερη που συνεχίζει να αναπτύσσεται. Ubuntu: δημοφιλής διανομή για προσωπικούς υπολογιστές (η οποία διαθέτει όμως και εκδόσεις για servers) η οποία προήλθε από το Debian. Υποστηρίζεται από την εταιρία Canonical και διατίθεται δωρεάν. Περισσότερα για τις διανομές του Linux μπορείτε να διαβάσετε στα αντίστοιχα άρθρα της Wikipedia ή στις επίσημες ιστοσελίδες τους. Γραφικό περιβάλλον στο Linux (window managers/ desktop environments) Ο window manager είναι το λογισμικό που διαχειρίζεται την τοποθέτηση και την εμφάνιση των παραθύρων σε ένα γραφικό περιβάλλον. Για να το επιτύχει αυτό, συνεργάζεται με ένα υποκείμενο παραθυρικό σύστημα (windowing system) το οποίο χειρίζεται την επικοινωνία με τις συσκευές που σχετίζονται με τα γραφικά, το ποντίκι και

το πληκτρολόγιο. Οι window managers στο Linux βασίζονται στο X Window System (αναφέρεται επίσης και ως Χ ή X11). Ο τελικός χρήστης έρχεται σε επαφή όχι με τον window manager αλλά με ένα περιβάλλον επιφάνειας εργασίας (desktop environment) το οποίο βρίσκεται ένα επίπεδο παραπάνω από τον window manager. Τα δύο δημοφιλέστερα desktop environments του Linux είναι το Gnome (GNU Network Object Model Environment) και το KDE (K Desktop Environment). Το κέλυφος εντολών (command shell) Το κέλυφος εντολών αποτελεί επίσης μια διεπαφή προς τους χρήστες του υπολογιστή (όπως και το περιβάλλον επιφάνειας εργασίας), η οποία ωστόσο δεν περιλαμβάνει γραφικά. Ο χρήστης αλληλεπιδρά με το σύστημα πληκτρολογώντας εντολές των οποίων τη σύνταξη πρέπει να γνωρίζει ή να είναι σε θέση να την εντοπίσει στο σύστημα βοήθειας. Κάθε κέλυφος εντολών χαρακτηρίζεται από το σύνολο των εντολών και των λοιπών δυνατοτήτων σύνταξης που παρέχει στους χρήστες και για το λόγο αυτό υπάρχουν διαφορετικών είδη shells. Τα κελύφη εντολών στο Linux αποτελούν εξέλιξη αυτών του Unix και υπάρχει συμβατότητα προς τα πίσω (δηλαδή υποστηρίζονται οι παλαιότερες εντολές και προστίθενται νέες). Υπάρχουν διάφοροι τύποι shells. Οι κυριότεροι είναι: Bourne shell ή sh: πρόκειται για ένα ιστορικό κέλυφος του Unix το οποίο χρησιμοποιείται ακόμα ευρέως. Αναπτύχθηκε από τον Steven Bourne και η πρώτη του έκδοση κυκλοφόρησε το 1977. Bourne-Again shell ή bash: είναι ένα κέλυφος που δημιουργήθηκε στα πλαίσια του GNU Project το 1987 ως επέκταση του sh και διατίθεται ελεύθερα. Αποτελεί το προεπιλεγμένο κέλυφος του Linux και απαντάται στα περισσότερα συστήματα. Το υλικό του μαθήματος βασίστηκε στο bash. C shell ή csh: αναπτύχθηκε στα πλαίσια του BSD Unix και το συντακτικό του μοιάζει με αυτό της γλώσσας προγραμματισμού C. Η αρχική υλοποίηση δε χρησιμοποιείται ευρέως σήμερα αλλά έχει αντικατασταθεί από το Telnet C shell (tcsh) το οποίο αποτελεί το προεπιλεγμένο κέλυφος του FreeBSD Unix. Korn shell ή ksh: αναπτύχθηκε από τον David Korn στις αρχές της δεκαετίας του '80 στα Bell Labs. Συνδυάζει χαρακτηριστικά τόσο του sh όσο και του csh. Σε επόμενη παράγραφο θα δούμε τις εντολές με τις οποίες μπορείτε να διαπιστώσετε ποια κελύφη υπάρχουν στο σύστημά σας, καθώς και ποιο κέλυφος χρησιμοποιείτε. Οι εντολές του κελύφους είναι στην πραγματικότητα εκτελέσιμα αρχεία που φέρουν σε πέρας κάποιες εργασίες (π.χ. την αντιγραφή ενός αρχείου). Σύνδεση σε ένα σύστημα Linux/ εκκίνηση τερματικού Γενικά, για να συνδεθείτε σε ένα σύστημα Linux θα πρέπει να δώσετε ένα όνομα χρήστη (login name) και ένα συνθηματικό (password), είτε στο γραφικό περιβάλλον είτε σε κάποια γραμμή εντολών. Η πιστοποίηση ταυτότητας του χρήστη είναι ένα βασικό στοιχείο των συστημάτων Linux.

Έστω, για παράδειγμα ότι συνδέεστε στο γραφικό περιβάλλον μιας εγκατάστασης Ubuntu Linux. Για να ανοίξετε την κονσόλα εντολών (τερματικό), μπορείτε να επιλέξετε από το μενού Εφαρμογές -> Βοηθήματα -> Τερματικό. Στο παράθυρο που εμφανίζεται μπορείτε να πληκτρολογείτε τις εντολές και να λαμβάνετε την απόκριση από το σύστημα. Η ένδειξη ubuntu@ubuntu:~$ αποτελεί το προτρεπτικό σήμα (prompt) του κελύφους εντολών και εξηγείται ως εξής: [όνομα_χρήστη]@[όνομα_υπολογιστή]:[τρέχων κατάλογος][σύμβολο_προτροπής] Όπως και όλα τα στοιχεία του περιβάλλοντος στο Linux, το prompt είναι δυνατόν να τροποποιηθεί. Περισσότερα θα δούμε στις ενότητες που ακολουθούν. Τύποι κελύφους εντολών Το αρχείο /etc/shells περιέχει τα διαθέσιμα κελύφη εντολών του συστήματος. Για να εμφανίσετε τα περιεχόμενά του μπορείτε να πληκτρολογήσετε την εντολή cat /etc/shells. mia:~> cat /etc/shells /bin/bash /bin/sh /bin/tcsh /bin/csh

To προκαθορισμένο κέλυφος εντολών προσδιορίζεται στο αρχείο /etc/passwd. Για παράδειγμα, μια γραμμή του αρχείου αυτού μπορεί να είναι (mia είναι το όνομα χρήστη): mia:l2nofqdlprhwe:504:504:mia Maya:/home/mia:/bin/bash Το προκαθορισμένο κέλυφος εντολών είναι το τελευταίο κομμάτι της γραμμής (μετά την τελευταία :), δηλαδή στο συγκεκριμένο παράδειγμα /bin/bash. Για να αλλάξετε κέλυφος εντολών, απλά εισάγετε το όνομα του νέου κελύφους στο παράθυρο του τερματικού. Το προτρεπτικό σήμα κατά πάσα πιθανότητα θα αλλάξει, αφού κάθε κέλυφος ακολουθεί τα δικά του πρότυπα: mia:~> tcsh [mia@post21 ~]$ Ποιο κέλυφος εντολών χρησιμοποιώ; Αν δεν ξέρετε ποιο κέλυφος εντολών χρησιμοποιείτε, μπορείτε είτε να ελέγξετε τη γραμμή που αφορά στο δικό σας όνομα χρήστη (λογαριασμό) στο αρχείο /etc/passwd ή να εισάγετε την εντολή: echo $SHELL Σημείωση: η έκφραση $SHELL αποτελεί μια μεταβλητή περιβάλλοντος (environment variable). Οι μεταβλητές περιβάλλοντος είναι κάποιες τιμές (values) οι οποίες είναι ορατές και μπορούν να χρησιμοποιηθούν από όλες τις διεργασίες που εκτελούνται σε ένα σύστημα. Για να εμφανίσετε μια λίστα με τις μεταβλητές περιβάλλοντος του συστήματός σας μπορείτε να πληκτρολογήσετε την εντολή env. Στις ενότητες που ακολουθούν θα αναφερθούμε σε διάφορες μεταβλητές περιβάλλοντος. Μία πολύ βασική τέτοια μεταβλητή είναι η μεταβλητή $PATH, η οποία περιέχει τους καταλόγους στους οποίους το κέλυφος αναζητά για τα εκτελέσιμα αρχεία των εντολών. Εργασία με την κονσόλα πλεονεκτήματα/ μειονεκτήματα Στις ενότητες που ακολουθούν θα μάθουμε τη σύνταξη των εντολών, οι οποίες διεκπεραιώνουν τις πιο συνηθισμένες εργασίες σε έναν υπολογιστή. Η εργασία με την κονσόλα έχει τόσο πλεονεκτήματα όσο και μειονεκτήματα. Το βασικό μειονέκτημα σχετίζεται με τη δυσκολία στη σύνταξη και την απομνημόνευση εντολών (ιδίως για τον αρχάριο χρήστη). Η εργασία με την κονσόλα είναι αναμφίβολα πιο δύσκολη από την εργασία σε ένα point-and-click γραφικό περιβάλλον που όλα διεκπεραιώνονται με χρήση μενού επιλογών. Ωστόσο, όπως θα δούμε και στη συνέχεια του μαθήματος, ο όγκος των πληροφοριών που πρέπει κανείς να θυμάται δεν είναι και

τόσο μεγάλος αφού υπάρχει πολύ καλή τεκμηρίωση όλων των εντολών και των επιλογών τους. Φυσικά, απαιτείται ιδιαίτερη προσοχή γιατί υπάρχει πάντα ο κίνδυνος η εκτέλεση μιας εντολής να έχει δυσμενή αποτελέσματα στο σύστημα (π.χ. να διαγραφεί κάποιο αρχείο που είναι απαραίτητο για τη λειτουργία του). Το κυρίαρχο πλεονέκτημα της χρήσης της γραμμής εντολών είναι η δύναμη που δίνει στο χρήστη για την αυτοματοποίηση και τη μαζική εκτέλεση λειτουργιών, κάτι που είναι ιδιαίτερα χρήσιμο στους διαχειριστές συστημάτων. Από την κονσόλα μπορεί πραγματικά κανείς να εκτελέσει και να ρυθμίσει τα πάντα (ενώ το γραφικό περιβάλλον παρέχει ένα υποσύνολο των δυνατοτήτων). Επιπλέον, με την καταγραφή ενός συνόλου εντολών σε ένα αρχείο (shell script) έτσι ώστε να διεκπεραιώνεται μια ολοκληρωμένη εργασίας (π.χ. λήψη ενός αντιγράφου ασφαλείας backup) και τον χρονοπρογραμματισμό της εργασίας ώστε να εκτελείται περιοδικά, είναι δυνατό να απαλλαγεί ο χρήστης από ένα μεγάλο μέρος του διαχειριστικού βάρους του υπολογιστή του. Ένα ακόμα πλεονέκτημα της χρήσης της κονσόλας είναι ότι επειδή τα κελύφη εντολών (και συγκεκριμένα το bash που θα χρησιμοποιήσουμε στο μάθημα) είναι κοινά σε πολλές διανομές, οι εντολές ισχύουν αυτούσιες σε πολλά διαφορετικά περιβάλλοντα Linux και Unix. Η δομή του μαθήματος Οι ενότητες του μαθήματος που ακολουθούν, αφορούν: 2. Τις βασικές εντολές 3. Το σύστημα αρχείων 4. Τη διαχείριση αρχείων 5. Τη διαχείριση διεργασιών 6. Τα διάφορα θέματα 7. Τις ρυθμίσεις με χρήση της κονσόλας