Τι είναι το UNIX

Το UΝΙΧ είναι ένα λειτουργικό σύστημα που ξεκίνησε να αναπτύσσεται τη δεκαετία του 1960 και βρίσκεται από τότε σε διαρκή ανάπτυξη. Η έννοια του Λειτουργικού Συστήματος αναφέρεται σε ένα αριθμό προγραμμάτων που κάνει έναν υπολογιστή να λειτουργεί. Το UNIX είναι ένα σταθερό σύστημα το οποίο έχει την ικανότητα να εκτελεί πολλά προγράμματα ταυτόχρονα και να εξυπηρετεί πολλούς χρήστες την ίδια στιγμή. Είναι κατάλληλο για εξυπηρετητές (servers) μηχανήματα γραφείου (desktops) σταθμούς εργασίας (workstations) και φορητούς υπολογιστές. Τα συστήματα UNIX διαθέτουν και γραφικό περιβάλλον εργασίας (GUI) παρόμοιο με αυτό που χρησιμοποιείται στα Microsoft Windows. Το γραφικό περιβάλλον παρέχει ένα εύκολο τρόπο εργασίας. Ωστόσο ή γνώση του UNIX είναι απαραίτητη για εργασίες που δεν καλύπτονται από κάποιο γραφικό εργαλείο, ή όταν το γραφικό περιβάλλον δεν είναι διαθέσιμο, για παράδειγμα όταν είμαστε συνδεδεμένα μέσω απομακρυσμένης πρόσβασης.



Υπάρχουν αρκετές διαφορετικές εκδόσεις του UNIX, αν και οι περισσότερες έχουν αρκετές ομοιότητες. Οι πιο συνηθισμένες είναι:


  • Sun Solaris

  • GNU/Linux

  • Διάφορες εκδόσεις BSD

  • MacOS Χ



Logo linux Λ.Σ



Ο πυρήνας

Ο πυρήνας Linux είναι ένας πυρήνας λειτουργικού συστήματος που χρησιμοποιείται σε όλες τις linux εκδώσεις. Ο πυρήνας Linux διανέμεται υπό την Γενική ’δεια Δημόσιας Χρήσης GNU και ορισμένων άλλων αδειών κλειστού κώδικα, για μερικά προγράμματα οδήγησης. Αναπτύσσεται από προγραμματιστές παγκοσμίως, ο συντονισμός των οποίων γίνεται με καθημερινές συζητήσεις. Ο πυρήνας Linux δημιουργήθηκε αρχικά από τον Φινλανδό φοιτητή πληροφορικής Linus Torvalds το 1991. Το Linux από την αρχή της δημιουργίας του συγκέντρωσε προγραμματιστές και χρήστες οι οποίο προσάρμοσαν κώδικα από άλλα έργα ελεύθερου λογισμικού για χρήση με το καινούριο λειτουργικό σύστημα. Ο πυρήνας έχει συγκεντρώσει συνεισφορές από χιλιάδες προγραμματιστές, και πάνω σε αυτόν βασίζονται πολλές διανομές Linux. Κάποιες από αυτές είναι:


  • Ubuntu

  • GNU/Linux

  • Linux Mint

  • Kali Linux

  • Arch Linux

  • Mandriva Linux

  • Red Hat Linux

  • CentOS

  • Fedora

  • openSUSE

  • BackTrack

  • Bodhi Linux

  • Linux Lite

  • Xubuntu

  • Oracle Linux



Ο πυρήνας Linux 3.0.0 κατά την εκκίνησή του


Ο πυρήνας Linux είναι μία πρωτότυπη υλοποίηση πυρήνα λειτουργικού συστήματος. Αν και δεν χρησιμοποιεί κώδικα του UNIX, μπορεί να θεωρηθεί παρεμφερές σύστημα (ο ακριβής όρος είναι Unix-like) ή ελεύθερη υλοποίησή του, αφού διαθέτει τις περισσότερες εντολές του και την ίδια σχεδόν δομή αρχείων, ενώ η φιλοσοφία της σχεδίασής του πλησιάζει περισσότερο το UNIX από οποιοδήποτε άλλο λειτουργικό σύστημα. Σήμερα το Linux παρέχει όλα όσα θεωρούνται αναγκαία για ένα σύγχρονο πυρήνα λειτουργικού, όπως:


  1. Yποστήριξη πολυεπεξεργαστικών συστημάτων (SMP)

  2. Πραγματική πολυδιεργασία

  3. Εικονική μνήμη

  4. Διαμοιραζόμενες βιβλιοθήκες

  5. Σωστή διαχείριση μνήμης

  6. Δικτύωση μέσω TCP/IP κ.α.

  7. Ο πυρήνας Linux αρχικά σχεδιάστηκε για επεξεργαστές της οικογένειας x86 (386/486/Pentium), αλλά σήμερα τρέχει σε πολύ μεγάλη ποικιλία επεξεργαστών, όπως οι Alpha (64 bit), οι Motorola 68000 (Amiga), PowerPC, MIPS κ.α.


Το κέλυφος

Με τον όρο κέλυφος (shell) αναφερόμαστε σε ένα τμήμα λογισμικού το οποίο παρέχει διασύνδεση προς τους χρήστες. Συνήθως ο όρος αναφέρεται στο κέλυφος του λειτουργικού συστήματος το οποίο παρέχει πρόσβαση στις υπηρεσίες του πυρήνα. Ωστόσο ο όρος μπορεί να εφαρμοστεί γενικότερα σε εφαρμογές. Το όνομα "κέλυφος" προκύπτει από το γεγονός ότι τα κελύφη είναι ένα εξωτερικό επίπεδο διασύνδεσης μεταξύ του χρήστη και των ενδότερων του λειτουργικού συστήματος (του πυρήνα).Τα κελύφη λειτουργικών συστημάτων διακρίνονται σε δύο κατηγορίες: γραμμής εντολών και γραφικά. Τα κελύφη γραμμής εντολών παρέχουν μία διασύνδεση γραμμής εντολών του χρήστη με το λειτουργικό σύστημα, ενώ τα γραφικά κελύφη παρέχουν μία γραφική διασύνδεση χρήστη (GUI). Σε κάθε περίπτωση ο στόχος του κελύφους είναι η κλήση και ενεργοποίηση άλλων προγραμμάτων, αλλά συνήθως ένα κέλυφος έχει και άλλες ικανότητες όπως η προβολή των περιεχομένων των καταλόγων του συστήματος αρχείων.
Το κέλυφος (Shell) είναι το σύνολο των εργαλείων που επιτρέπουν στον χρήστη να χρησιμοποιήσει αποδοτικά τον ηλεκτρονικό υπολογιστή, που βρίσκεται υπό τον έλεγχο του πυρήνα (Kernel). Έχουν αναπτυχθεί διάφορα κελύφη, ως αποτέλεσμα της ανάπτυξης του λειτουργικού και των προσφερόμενων στους χρήστες δυνατοτήτων. Τα γνωστότερα κελύφη είναι:


  • bash (κέλυφος Bourne Again)

  • csh (κέλυφος C)

  • ksh (κέλυφος Korn)

  • sh (κέλυφος Bourne)

  • tcsh (εµπλουτισµένο κέλυφος C)

  • zsh (κέλυφος Ζ)


Όταν δημιουργείται ένας χρήστης καθορίζεται και το κέλυφος εργασίας του. Μπορεί όμως να το αλλάζει σύμφωνα με τις ανάγκες του. Ο χρήστης μπορεί να δει ποιο είναι το κέλυφος στο οποίο εργάζεται πληκτρολογώντας την εντολή echo $SHELL το αποτέλεσμα της οποίας είναι η εμφάνιση του ονόματος του κελύφους στην οθόνη

Το κέλυφος έχει κάποια χαρακτηριστικά που βοηθούν το χρήστη όταν εισάγει εντολές:


  1. Αυτόματη συμπλήρωση ονόματος αρχείου: Πληκτρολογώντας μόνο ένα μέρος μιας εντολής ή ενός ονόματος αρχείου και πιέζοντας το Tab, το κέλυφος θα συμπληρώσει αυτόματα το υπόλοιπο μέρος. Αν το κέλυφος βρει περισσότερα από ένα ονόματα που να ταιριάζουν με τα γράμματα που έχουν πληκτρολογήσει, θα ακουστεί ένας χαρακτηριστικός ήχος (beep) που σημαίνει ότι πρέπει να γράψετε ακόμα μερικά γράμματα και να πιέσετε ξανά το Tab.

  2. Ιστορικό: Το κέλυφος διατηρεί μια λίστα με εντολές που έχουν χρησιμοποιηθεί. Με αυτήν την δυνατότητα όταν χρειαστείτε στο terminal να επαναλάβετε μια εντολή μπορείτε να χρησιμοποιήσετε τα πάνω και κάτω βελάκια στο πληκτρολόγιο σας για να δείτε και να εκτελέσετε ξανά τις προηγούμενες εντολές. Μπορείτε επίσης να γράψετε την εντολή history για να δείτε μια λίστα με τις προηγούμενες εντολές που πληκτρολογήσατε.


Εικόνα του bash και του sh, η οποία δείχνει κάποια χαρακτηριστικά τους



Σε αυτό το σημείο ας εξερευνήσουμε μερικές εντολές linux και το αποτέλεσμα που θα εμφανίσουν στο terminal του λειτουργικού συστήματος. Παλιότερα όλες οι διανομές linux όπως και άλλα λογισμικά δεν είχαν γραφικό περιβάλλον και βασίζονταν σε εντολές που έδινε ο χρήστης σε μια κονσόλα. Ξεκινώντας ας δούμε πρώτα κάποιες βασικές εντολές.



Εντολή Περιγραφή
echo «κείμενο» Τυπώνει το κείμενο που του έχουμε δώσει ως όρισμα στην οθόνη
Terminal Linux
codebrakes@mint:~$  echo Παράδειγμα κειμένου
Παράδειγμα κειμένου

codebrakes@mint:~$ |
clear Καθαρίζει το terminal
Terminal Linux (πρίν την εντολή clear)
codebrakes@mint:~$  echo Παράδειγμα κειμένου
Παράδειγμα κειμένου

codebrakes@mint:~$ clear
Terminal Linux (μετά την εντολή clear)
codebrakes@mint:~$ |
date Εμφανίζει ώρα και ημερομηνία στην οθόνη
Terminal Linux
codebrakes@mint:~$ date
Sat Jul 28 17:08:27 EEST 2018
man «εντολή» Δείχνει τι κάνει η εντολή που δίνουμε σαν όρισμα και πως συντάσσεται
Terminal Linux (πρίν την εντολή man)
codebrakes@mint:~$ man echo
Terminal Linux (μετά την εντολή man)

ECHO(1)          User Commands         ECHO(1)

NAME

echo - display a line of text

SYNOPSIS

echo [SHORT-OPTION]... [STRING]...

echo LONG-OPTION

DESCRIPTION

Echo the STRING(s) to standard output.

-n    do not output the trailing newline

-e    enable interpretation of backslash escapes

-E    disable interpretation of backslash escapes (default)

--help    display this help and exit

--version    output version information and exit



Manual page echo(1) line 1 (press h for help or q to quit)
id «όνομα χρήστη» Εμφανίζει τα στοιχεία ενός user και σε ποίο group ανήκει
Terminal Linux
codebrakes@mint:~$ id codebrakes
uid=1000(codebrakes) gid=1000(codebrakes) groups=1000(codebrakes), 4(adm),24(cdrom), 27(sudo),30(dip), 46(plugdev), 115(lpadmin), 127(sambashare)
who Εμφανίζει ποιοι χρήστες είναι συνδεδεμένοι στο σύστημα
Terminal Linux
codebrakes@mint:~$ id codebrakes
codebrakes tty7   2018-07-28 16:18 (:0)
whoami Εμφανίζει το login του χρήστη
Terminal Linux
codebrakes@mint:~$ whoami
codebrakes
hostname Εμφανίζει το όνομα του host υπολογιστή στον οποίο είμαστε συνδεδεμένοι
Terminal Linux
codebrakes@mint:~$ hostname
mint
passwd Αλλάζει τον κωδικό πρόσβασης του χρήστη
Terminal Linux
codebrakes@mint:~$ passwd
Changing password for codebrakes.
(current) UNIX password: *****
Enter new UNIX password: *****
Retype new UNIX password: *****

passwd: Password Changed



Τελευταία ενημέρωση: 28/07/2018





Follow us

 ☰