ΣΥΓΧΡΟΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (Ε)

ΣΑΡΡΗΣ - ΤΣΙΡΑΚΑΚΗΣ

Περιγραφή

Η μαθησιακή ενότητα «Σύγχρονα λειτουργικά συστήματα» εισάγει τους/τις εκπαιδευόμενους/ες στην έννοια του λειτουργικού συστήματος και στη χρήση αυτού σε όλο το φάσμα των επιστημών Ανάπτυξης Λογισμικού και Δικτύων Επικοινωνίας. Ο/Η εκπαιδευόμενος/η θα έρθει σε επαφή με τις πιο γνωστές και πλέον πρόσφατες τεχνολογίες λειτουργικών συστημάτων καθώς και τον τρόπο που αυτές χρησιμοποιούνται για τη διαχείριση διεργασιών και αρχείων, την εγκατάσταση/απεγκατάσταση εφαρμογών και τη συμπίεση/αποσυμπίεση δεδομένων. Επιπροσθέτως, ο/η εκπαιδευόμενος/η θα αναλύσει τους αλγορίθμους χρονοπρογραμματισμού διεργασιών και τα διαφορετικά κριτήρια βάσει των οποίων διαχωρίζονται. Τέλος, ο/η εκπαιδευόμενος/η θα έρθει σε επαφή με τη χρήση Εικονικών Μηχανών, Docker Container και Kubernetes και τον πολλαπλά εφαρμοζόμενο ρόλο που αυτές κατέχουν στη βιομηχανία της Πληροφορικής.

Ενότητες

Από τις σημειώσεις και τους χρήσιμους όρους αποσαφηνίζουμε τις παρακατω εννοιες.

 

Βασικές έννοιες λειτουργικών συστημάτων

Λειτουργικό σύστημα (ΛΣ) είναι το λογισμικό που διαχειρίζεται τους πόρους του υπολογιστικού συστήματος (όπως η CPU, η μνήμη, οι συσκευές αποθήκευσης) και παρέχει υπηρεσίες προς τα εφαρμογές και τους χρήστες. Το ΛΣ βρίσκεται στο επίπεδο μεταξύ του υλικού και των εφαρμογών, επιτρέποντας την εκτέλεση των προγραμμάτων και την επικοινωνία τους με το υλικό.

 

Ρόλος του ΛΣ

Διαχείριση πόρων (CPU, μνήμη, συσκευές)

Διασφάλιση της ασφάλειας και της ακεραιότητας του συστήματος

Εξασφάλιση πολυπρογραμματισμού και χρονομερισμού

Παροχή διεπαφής χρήστη (GUI ή CLI)

 

- Διάκριση μεταξύ λογισμικού συστημάτων και λογισμικού εφαρμογών. Παραδείγματα

- Ιστορία εξέλιξης των ΛΣ

- Κατηγορίες ΛΣ (Single-user, multi-user)

- Πολυπρογραμματισμός, χρονομερισμός, διαχείριση πόρων

1. Εγκατάσταση Λογισμικού Εικονικοποίησης (π.χ., VirtualBox)

Κατεβάστε και εγκαταστήστε το VirtualBox

 

2. Δημιουργία Εικονικής Μηχανής

Στο VirtualBox επιλέγουμε το κουμπί "New" για να δημιουργήσουμε μια νέα εικονική μηχανή.

 

3. Επιλέγουμε όνομα και Λειτουργικό Σύστημα για την Εικονική Μηχανή.

 

4. Καθορίζουμε πόρους:

- Επιλέγουμε την ποσότητα RAM που θα αναθέσουμε στην εικονική μηχανή (π.χ., 6GB για απλά λειτουργικά συστήματα).

- Δημιουργούμε εικονικό σκληρό δίσκο (π.χ., 20GB).  Καλό είναι να επιλέξουμε δυναμική μεγέθυνση στο δίσκο, έτσι ώστε να μη δεσμέυσει εξ αρχής όλο το χώρο. 


5. Εγκατάσταση του Λειτουργικού Συστήματος

Κατεβάζουμε σε εικόνα ISO το ΛΣ που θέλουμε να εγκαταστήσουμε.

Ανεβάζουμε το ISO στην εικονική μηχανή (μενού "Settings" -> "Storage" και προσθέτουμε το ISO ως virtual optical drive.)

 

6. Εκκίνηση της Εικονικής Μηχανής:

Επιλέγουμε Έναρξη ("Start") της εικονικής μηχανής που δημιουργήσαμε και η εικονική μηχανή εκκινεί από το ISO.

 

7. Εγκατάσταση ΛΣ (παράδειγμα με Debian)

Αφού εκκινήσει η εικονική μηχανή με το ISO, θα εμφανιστεί το μενού εγκατάστασης του ΛΣ Debian (ή οποιουδήποτε άλλου ΛΣ έχουμε επιλέξει να κατεβάσουμε το ISO image). Προχωράμε στην εγκατάσταση ακολουθώντας τα βήματα του οδηγού εγκατάστασης:

Επιλογή γλώσσας

Ρύθμιση της τοποθεσίας και της ώρας

Επιλογή πληκτρολογίου

Δημιουργία χρήστη και κωδικού πρόσβασης

 

8. Ολοκλήρωση Εγκατάστασης

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

Μπορούμε τώρα να χρησιμοποιήσουμε το νέο ΛΣ στην εικονική μηχανή ακριβώς όπως σε έναν κανονικό υπολογιστή.

- Διαβάζουμε από τις σημειώσεις τις βασικές έννοιες για τα συστήματα αρχείων.

- Τα συστήμα αρχείων fat32, ntfs, ext4

 

Εργαστήριο

------------------------

Προσθήκη, προετοιμασία και χρήση με το σύστημα αρχείων EXT4 στο Linux ενός δεύτερου δίσκου σε εικονική μηχανή (VM).

 

Βήμα 1: Προσθήκη Δεύτερου Δίσκου στην Εικονική Μηχανή

Αρχικά, προσθέτουμε έναν δεύτερο δίσκο στην εικονική μηχανή.

 

Στο VirtualBox:
1. Επιλέγουμε την εικονική μηχανή στην οποία θέλουμε να προσθέσουμε τον δεύτερο δίσκο.
2. Μεταβαίνουμε στις Ρυθμίσεις (Settings) της μηχανής
3. Στην καρτέλα Αποθηκευτικά Μέσα (Storage), επιλέγουμε το εικονίδιο με το **+** δίπλα στον "Controller: SATA" (ή άλλη διαθέσιμη επιλογή για τον τύπο του ελεγκτή αποθήκευσης).
4. Επιλέγουμε **Add Hard Disk** και στη συνέχεια την επιλογή **Create a new disk**.
5. Ρυθμίζουμε τον τύπο του δίσκου και τη χωρητικότητα.
6. Επιλέγουμε **OK** για να αποθηκευτούν οι αλλαγές.


Βήμα 2: Έλεγχος του Δίσκου (lsblk ή blkid)

Μόλις ο δεύτερος δίσκος προστεθεί στην εικονική μηχανή και το σύστημα επανεκκινηθεί, χρησιμοποιούμε την εντολή lsblk για να δούμε όλους τους συνδεδεμένους δίσκους και τις διαμερίσεις. Εκεί θα δούμε τον νέο δίσκο, συνήθως κάτι σαν /dev/sdb.

 

Βήμα 3: Δημιουργία Κατατμήσεων (Partitions) με gdisk

Η επόμενη ενέργεια είναι να δημιουργήσουμε διαμερίσεις στο νέο δίσκο χρησιμοποιώντας το εργαλείο gdisk.
Πχ sudo gdisk /dev/sdb

Θα εμφανιστεί το περιβάλλον του gdisk. Μερικές χρήσιμες εντολές του gdisk είναι:

p: Προβολή της υπάρχουσας διάταξης διαμερισμάτων.
n: Δημιουργία νέου διαμερίσματος.
w: Αποθήκευση των αλλαγών και έξοδος από το gdisk.

Τα βήματα για δημιουργία νέας διαμέρισης είναι:

n για τη δημιουργία νέας διαμέρισης.
Επιλέγουμε τον αριθμό της διαμέρισης (μπορούμε με Enter να επιλέξουμε το default).
Επιλέγουμε το μέγεθος του partition (π.χ., "Enter" για όλο το διαθέσιμο χώρο).
Όταν τελείωσουμε τις επιλογές επιλέγουμε w για να αποθηκευτούν οι αλλαγές και να τερματίσουμε το gdisk.

 

Βήμα 4: Δημιουργία Συστήματος Αρχείων με mkfs.ext4

Μόλις δημιουργηθούν οι διαμερίσεις μπορούμε να τις μορφοποιήσουμε με το σύστημα αρχείων EXT4, χρησιμοποιώντας την εντολή mkfs.ext4.
Πχ. Για τη δημιουργία συστήματος αρχείων EXT4 στο partition /dev/sdb1 η εντολή είναι sudo mkfs.ext4 /dev/sdb1

 

Βήμα 5: Προσάρτηση Δίσκου με mount

Μετά τη μορφοποίηση, το partition πρέπει να προσαρτηθεί στο σύστημα για να μπορεί να χρησιμοποιηθεί. Αυτό γίνεται με την εντολή mount.

Αρχικά πρέπει να δημιουργηθεί ένας φάκελος στον οποίο θα προσαρτηθεί το νέο partition.
Πχ sudo mkdir /mnt/mydisk

Η προσάρτηση γίνεται με την εντολή mount, ως sudo mount /dev/sdb1 /mnt/mydisk

Για να ελέγξουμε ότι ο δίσκος είναι σωστά προσαρτημένος, μπορούμε να δούμε το διαθέσιμο ελεύθερο χώρο στο δίσκο με την εντολή df -h

 

(Προεραιτικό) Βήμα 6: Αυτόματη Προσάρτηση Κατά την Εκκίνηση

Αν θέλουμε ο δίσκος να προσαρτάται αυτόματα κάθε φορά που εκκινείται το σύστημα, πρέπει να προστεθεί η σχετική γραμμή στο αρχείο /etc/fstab.
Για την προαγματοποίηση αυτού, ανοίγουμε το αρχείο /etc/fstab με έναν επεξεργαστή κειμένου (πχ nano) sudo nano /etc/fstab και προσθέτουμε την εξής γραμμή στο τέλος του αρχείου:

/dev/sdb1 /mnt/mydisk ext4 defaults 0 2

Αποθηκεύουμε την αλλαγή στο αρχείο και ο δίσκος θα προσαρτάται αυτόματα με την εκκίνηση του συστήματος.

1. Παρακολούθηση και Διαχείριση των Διεργασιών

Στο ΛΣ Windows με χρήση του Task Manager, το εργαλείο της Microsoft για παρακολούθηση και διαχείριση των διεργασιών.
Μπορούμε να δούμε τη Διαχείριση Διεργασιών (Task Manager) με τους εξής τρόπους:

* Πατώντας `Ctrl + Shift + Esc`
* Κάνοντας δεξί κλικ στην taskbar και επιλέγοντας "Task Manager"

- Στην καρτέλα Processes, εμφανίζονται πληροφορίες για όλες τις τρέχουσες διεργασίες και τους αντίστοιχους πόρους (resources) που καταναλώνουν (CPU, RAM, Disk, Network).
- Στην καρτέλα Performance, εμφανίζονται πληροφορίες για τις επιδόσεις του συστήματος σε πραγματικό χρόνο (π.χ. CPU usage, Memory, Disk, Network).

Για τον τερματισμό μίας διεργασίας επιλέγουμε τη διεργασία που θέλουμε να τερματιστεί και επιλέγουμε End Task για να την τερματίσουμε.

 

Στο ΛΣ Linux μπορούμε να δούμε τις απαραίτητες πληροφορίες με χρήση των εντολών ps, top και htop

 

- ps

Η εντολή ps (process status) εμφανίζει τη λίστα των διεργασιών που εκτελούνται στον υπολογιστή. Για να δούμε όλες τις διεργασίες, μπορούμε να τρέξουμε την εντολή με τις εξής παραμέτρους

ps aux

Η παράμετρος a δείχνει τις διεργασίες άλλων χρηστών, η u εμφανίζει χρήσιμες πληροφορίες για το χρήστη και η παράμετρος x εμφανίζει τις διεργασίες που τρέχουν χωρίς συνδεδεμένο τερματικό.

Πχ Η εντολή ps aux | grep firefox θα εμφανίσει όλες τις διεργασίες που σχετίζονται με τον Firefox.

 

- top

Η εντολή top εμφανίζει τις διεργασίες σε πραγματικό χρόνο και είναι παρόμοια με τον Task Manager του ΛΣ Windows. Τρέχουμε την εντολή ως top και βλέπουμε τις διεργασίες με βάση τη χρήση CPU και RAM, με τα δεδομένα να ενημερώνονται σε πραγματικό χρόνο.

Μπορούμε να επιλέξουμε την ταξινόμηση των διεργασιών με βάση τη χρήση της CPU ή άλλως κριτηρίων επιλέγοντας κατάλληλα με συνδυασμούς πλήκτρων εντός της top. Πχ για την ταξινόμηση των διεργασιών με βάση τη χρήση CPU, πατάμε `Shift + P`.

 

- htop

Το εργαλείο htop είναι μια βελτιωμένη έκδοση του top, με βελτιωμένη εμφάνιση έτσι ώστε να είναι πιο ευανάγνωστη. Αρχικά το εγκαθιστούμε με την εντολή sudo apt install htop και στη συνέχεια μπορούμε να το τρέξουμε με την εντολή htop.

Με το εργαλείο αυτό παρουσιάζονται οι διεργασίες που εκτελούνται στο σύστημα με χρώματα και είναι πιο διαδραστικό από το top.

Με το htop, μπορούμε να χρησιμοποιήσουμε τα πλήκτρα πάνω/κάτω για να επιλέξουμε μια διεργασία και το F9 για να την τερματίσουμε.

 

2. Τερματισμός Διεργασίας

Για να τερματίσουμε μια διεργασία στο ΛΣ Windows, στον Task Manager με δεξί κλικ πάνω στην διεργασία επιλέγουμε End Task. 

 

Για τον τερματισμο διεργασίας στο Linux μπορούμε να χρησιμοποιήσουμε τις εντολές kill και killall.

 

- kill

Για χρήση της εντολής kill, πρέπει να γνωρίζουμε το αναγνωριστικό PID της διεργασίας την οποία επιθυμούμε να τερματίσουμε.

Με χρήση της εντολής ps aux ή top μπορούμε να δούμε το PID της διεργασίας που θέλουμε να τερματίσουμε.

Στη συνέχεια, χρησιμοποίησε την εντολή kill ως kill <PID>.  

Για παράδειγμα αν η διεργασία που θέλουμε να τερματίσουμε έχει PID 1234, μπορούμε να την τερματίσουμε με την εντολή kill 1234.

Αν μια διεργασία δεν τερματίζεται με την προηγούμενη εντολή, μπορούμε να την εξαναγκάσουμε σε τερματισμό δίνοντας την παράμετρο -9.

Πχ kill -9 1234


- killall

Η εντολή killall χρησιμοποιείται για να τερματίσουμε όλες τις διεργασίες με συγκεκριμένο όνομα.

Για παράδειγμα 

killall firefox

1. Διαχείριση χρηστών και δικαιωμάτων πρόσβασης σε Linux.


Για τη δημιουργία νέου χρήστη στο Linux μπορούμε να χρησιμοποιήσουμε τις εντολές useradd και adduser, με τη δεύτερη να είναι η πιο φιλική μέθοδος για τη δημιουργία χρηστών σε Linux, καθώς προσφέρει ένα διαδραστικό περιβάλλον και δημιουργεί έναν νέο χρήστη με τις βασικές ρυθμίσεις (π.χ. δημιουργία προσωπικού φακέλου, καταχώρηση του χρήστη στο αρχείο /etc/passwd, και ορισμός βασικών παραμέτρων).

Η εντολή καλείται ως sudo adduser <username>.

Για παράδειγμα για τη δημιουργία ενός χρήστη με το όνομα john δίνουμε

sudo adduser john

Η εντολή αυτή θα ξεκινήσει μια σειρά ερωτήσεων:

* Θα ζητηθεί να εισάγουμε τον κωδικό του χρήστη.

* Θα ζητηθούν επιπλέον πληροφορίες (όνομα, τηλέφωνο κ.λπ.), οι οποίες είναι προαιρετικές.

* Όταν ολοκληρωθεί, θα δημιουργηθεί ο χρήστης και ο προσωπικός του φάκελος στο /home/john.


Αφού δημιουργηθεί ο χρήστης, μπορούμε να του εκχωρήσουμε κωδικό πρόσβασης, αν δεν το έχουμε ήδη κάνει κατά τη δημιουργία του χρήστη. Η αλλαγή του κωδικού πρόσβασης του χρήστη γίνεται με την εντολή passwd ως

sudo passwd <username>

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

sudo passwd john


Για να ελέγξουμε αν ο χρήστης δημιουργήθηκε με επιτυχία, μπορούμε να χρησιμοποιήσουμε τις εντολές getent ή id.

Η εντολή getent passwd <username> εμφανίζει τα στοιχεία του χρήστη από το σύστημα διαχείρισης χρηστών.

Για παράδειγμα η εντολή  

getent passwd john

θα επιστρέψει τα στοιχεία του χρήστη, αν ο χρήστης υπάρχει.


Ενώ, η εντολή id <username> εμφανίζει το UID (User ID), το GID (Group ID) και τις ομάδες στις οποίες ανήκει ο χρήστης. Για παράδειγμα 

id john

 

2. Διαχείριση Δικαιωμάτων Πρόσβασης σε Αρχεία και Φακέλους

 

Στο Linux κάθε αρχείο ανήκει σε κάποιο χρήστη (ιδιοκήτη) και σε κάποια ομάδα χρηστών. Αρχικά μπορεί να είναι ο χρήστης που το δημιούργησε, αλλά μπορεί να αλλάξει στη συνέχεια με τη χρήση της εντολής chown.

Αναλυτικότερα:

Ιδιοκτήτης (Owner): Κάθε αρχείο έχει έναν ιδιοκτήτη, που συνήθως είναι ο χρήστης που το δημιούργησε. Ο ιδιοκτήτης έχει τη δυνατότητα να τροποποιεί τα δικαιώματα πρόσβασης του αρχείου, όπως και να το διαγράψει ή να το μετακινήσει (ανάλογα με τα δικαιώματα του χρήστη).

Ομάδα (Group): Κάθε αρχείο ανήκει επίσης σε μια ομάδα χρηστών. Όλοι οι χρήστες που ανήκουν στην ίδια ομάδα με τον ιδιοκτήτη του αρχείου μπορούν να έχουν πρόσβαση στο αρχείο με τα δικαιώματα που έχουν οριστεί για την ομάδα.
Αυτό επιτρέπει την ευκολότερη διαχείριση των δικαιωμάτων, καθώς οι χρήστες της ίδιας ομάδας μπορούν να μοιράζονται αρχεία.

Αρχικά Δικαιώματα. Όταν δημιουργείται ένα αρχείο, το σύστημα το εκχωρεί στον χρήστη που το δημιούργησε και στον προεπιλεγμένο όνομα ομάδας που έχει συνδεθεί με αυτόν τον χρήστη. Στη συνέχεια, τα δικαιώματα για το αρχείο καθορίζονται με τη χρήση των εντολών chmod, chown.

Τα δικαιώματα των αρχείων εμφανίζονται με την εντολή ls -a. Ο πρώτος χαρακτήρας ορίζει αν πρόκειται για κατάλογο (d), αρχείο (-) ή σύνδεσμο (l). Η επόμενη τριάδα προσδιορίζει τα δικαιώματα του ιδιοκτήτη, η επόμενη τριάδα χαρακτήρων τα δικαιώματα της ομάδας και η τελευταία τριάδα τα δικαιώματα των υπολοίπων, όπως φαίνεται και στο παρακάτω σχήμα 

Για παράδειγμα αν ο χρήστης john δημιουργήσει ένα αρχείο, τότε το αρχείο θα ανήκει σε εκείνον (ιδιοκτήτης) και στην ομάδα του χρήστη (π.χ. `john` ή `users`, ανάλογα με την ομάδα του χρήστη). Η έξοδος της εντολής ls -l θα εμφανίσει τα δικαιώματα ως:

-rw-r--r-- 1 john users 0 Nov 21 12:00 file.txt

Τα χαρακτηριστικά περιγραφής του αρχείου σημαίνουν:

- είναι κανονικό αρχείο
rw- Ο ιδιοκτήτης (`john`) έχει δικαίωμα ανάγνωσης και εγγραφής, όχι εκτέλεσης
r-- η ομάδα (`users`) έχει δικαίωμα μόνο ανάγνωσης
r-- οι άλλοι χρήστες έχουν δικαίωμα μόνο ανάγνωσης.
john: Ο ιδιοκτήτης του αρχείου.
users: Η ομάδα του αρχείου.

Περισσότερες πληροφορίες για τα δικαιώματα μπορείτε να δείτε στον σύνδεσμο https://linuxopsys.com/linux-file-permissions-explained-co11

 

3. Αλλαγή ιδιοκτησίας αρχείων με την εντολή chown

 

Η εντολή chown χρησιμοποιείται για την αλλαγή του ιδιοκτήτη ή της ομάδας ενός αρχείου ή φακέλου.

Η εντολή συντάσσεται ως chown <owner>:<group> <file_or_directory>

Για παράδειγμα για την αλλαγή του ιδιοκτήτη ενός αρχείου file.txt σε john και της ομάδας σε users  δίνουμε την εντολή

sudo chown john:users file.txt

 

4. Αλλαγή δικαιωμάτων πρόσβασης με την εντολή chmod

 

Η εντολή chmod χρησιμοποιείται για την αλλαγή των δικαιωμάτων πρόσβασης σε αρχεία ή φακέλους. Τα δικαιώματα καθορίζονται με αριθμητική ή συμβολική μορφή.

Αριθμητική Μορφή

4: Ανάγνωση (Read)
2: Εγγραφή (Write)
1: Εκτέλεση (Execute)

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

chmod 744 file.txt


Συμβολική Μορφή

r: Ανάγνωση
w: Εγγραφή
x: Εκτέλεση
+: Προσθήκη δικαιώματος
-: Αφαίρεση δικαιώματος

Για παράδειγμα με τη συμβολική μορφή για να προσθέσουμε δικαίωμα εκτέλεσης στον ιδιοκτήτη και την ομάδα δίνουμε την εντολή

chmod u+x,g+x file.txt

 

5.  Δημιουργία αρχείου και ρύθμιση δικαιωμάτων

 

Για να δημιουργήσουμε ένα αρχείο και να του δώσουμε δικαιώματα ώστε μόνο ο ιδιοκτήτης να μπορεί να το γράψει, ενώ οι άλλοι μόνο να το διαβάζουν αρκεί

i. Να δημιουργήσουμε το νέο αρχείο με την εντολή touch

touch file.txt

ii. Να ρυθμίσουμε τα κατάλληλα δικαιώματα με την εντολή chmod. Έτσι για να επιτρέψουμε στον ιδιοκτήτη να διαβάσει και να γράψει το αρχείο, ενώ οι άλλοι μόνο να το διαβάζουν, μπορούμε να δώσουμε χρησιμοποιώντας την αριθμητική μορφή την εντολή

chmod 644 file.txt

είτε χρησιμοποιώντας τη συμβολική μορφή την εντολή

chmod u=rw,g=r,o=r file.txt

 

Στο τέλος μπορούμε να ελέγξουμε ότι τα δικαιώματα ορίστηκαν σωστά με την εντολή ls -l:

ls -l file.txt

Η έξοδος της εντολής θα πρέπει να είναι

-rw-r--r-- 1 john users 0 Nov 21 12:00 file.txt

όπου

-rw-r--r--: Ο ιδιοκτήτης (john) έχει δικαίωμα ανάγνωσης και εγγραφής, ενώ η ομάδα και οι άλλοι έχουν δικαίωμα μόνο ανάγνωσης.

john: Ο ιδιοκτήτης του αρχείου.

users: Η ομάδα του αρχείου.

0: Μέγεθος αρχείου σε bytes.

Nov 21 12:00: Η ημερομηνία και ώρα τελευταίας τροποποίησης.

file.txt: Το όνομα του αρχείου.

 

 

Τα λειτουργικά συστήματα Unix και Linux είναι λειτουργικά συστήματα που βασίζονται στην ίδια αρχιτεκτονική και ενσωματώνουν πολλές κοινές εντολές και διαδικασίες για τη διαχείριση αρχείων. Παρακάτω παρατίθεται ένα σύνολο βασικών εντολών για τη διαχείριση αρχείων και καταλόγων στο Unix/Linux.


1. Πλοήγηση στο Σύστημα Αρχείων

Η πλοήγηση στους φακέλους (ή καταλόγους) στο σύστημα αρχείων πραγματοποιείται με τις παρακάτω εντολές:

 

cd (Change Directory)

Η εντολή cd χρησιμοποιείται για την αλλαγή του τρέχοντος καταλόγου εργασίας.

Η βασική της σύνταξη είναι cd <directory>.

Για παράδειγμα για να μεταβούμε στον κατάλογο /home/user δίνουμε την εντολή

cd /home/user

Για να επιστρέψουμε στον ιεραρχικά ανώτερο (parent) κατάλογο υπάρχει η εντολή

cd ..

Για να μεταβούμε στο home directory ενός χρήστη υπάρχει η σύντομη εντολή

cd ~


pwd (Print Working Directory)

Η εντολή pwd εμφανίζει τον πλήρη δρόμο του τρέχοντος καταλόγου εργασίας.

Η σύνταξη της εντολής είναι pwd

Για παράδειγμα το αποτέλεσμα της εντολή μπορεί να είναι η πλήρης διαδρομή έως το φάκελο στον οποίο βρισκόμαστε

/home/user/Documents

 

ls (List)

Η εντολή ls χρησιμοποιείται για να εμφανίσει τα περιεχόμενα ενός καταλόγου.

Η σύνταξη της εντολή είναι ls [options] [directory], όπου συνηθισμένες παράμετροι είναι οι:

-l: Λεπτομερής (long) εμφάνιση.

-a: Εμφάνιση κρυφών αρχείων.

-h: Παρουσίαση μεγέθους αρχείων σε ανθρώπινα αναγνώσιμη μορφή (π.χ. 1K, 234M).

Για παράδειγμα θα μπορούσαμε να δώσουμε την εντολή

ls -lh ή την εντολή ls -a

για να δούμε πληροφορίες για τον τρέχοντα κατάλογο στον οποίο βρισκόμαστε.

 

2. Δημιουργία, Αντιγραφή και Μετακίνηση Αρχείων και Καταλόγων

 

touch (Δημιουργία Αρχείου)

Η εντολή touch χρησιμοποιείται για τη δημιουργία νέου, κενού αρχείου ή για την ενημέρωση της ημερομηνίας και ώρας τελευταίας τροποποίησης ενός υπάρχοντος αρχείου.

Η σύνταξη της εντολής είναι touch <filename>.

Για παράδειγμα με την εντολή

touch newfile.txt

δημιουργείται ένα κενό αρχείο με το όνομα newfile.txt

 

cp (Copy)

Η εντολή cp χρησιμοποιείται για την αντιγραφή αρχείων ή καταλόγων.

Η σύνταξη της εντολής είναι cp <source> <destination>.

Για παράδειγμα με την εντολή  

cp file1.txt file2.txt

αντιγράφουμε το αρχείο file1.txt στο αρχείο file2.txt

Δίνοντας την παράμετρο -r (recursive) στην εντολή cp μπορούμε να αντιγράψουμε όλα τα αρχεία ενός καταλόγου σε έναν άλλο.

Για παράδειγμα μπορούμε να δώσουμε την εντολή

cp -r /path/to/source_directory /path/to/destination_directory

για να αντιγράψουμε όλα τα αρχεία από τον κατάλογο /path/to/source_directory στον κατάλογο /path/to/destination_directory


mv (Move)

Η εντολή mv χρησιμοποιείται για τη μετακίνηση ή μετονομασία αρχείων και καταλόγων.

Η σύνταξή της είναι mv <source> <destination>

Για παράδειγμα με την εντολή

mv oldname.txt newname.txt

αλλάζουμε το όνομα ενός αρχείου από oldname.txt σε newname.txt, ενώ με την εντολή

mv file.txt /path/to/destination_directory/

μετακινούμε το αρχείο file.txt από τον τρέχοντα κατάλογο στον κατάλογο /path/to/destination_directory/

 

rm (Remove)

Η εντολή rm χρησιμοποιείται για τη διαγραφή αρχείων ή καταλόγων.

Η σύνταξη της εντολή είναι rm <filename>.

Για παράδειγμα για τη διαγραφή ενός αρχείου δίνουμε την εντολή

rm file.txt

ενώ για τη διαγραφή καταλόγου μαζί με όλο το περιεχόμενό του δίνουμε την εντολή rm με την παράμετρο -r για αναδρομική διαγραφή

rm -r directory_name

1. Εγκατάσταση/Απεγκατάσταση Εφαρμογών


Στο Linux, τα πακέτα λογισμικού εγκαθίστανται και διαχειρίζονται μέσω εργαλείων διαχείρισης πακέτων, τα οποία διαφέρουν ανάλογα με τη διανομή του Linux (Debian/Ubuntu, Fedora, Arch).

 

Για τις διανομές τύπου Debian/Ubuntu (και παράγωγες, όπως Mint) η διαχείριση των πακέτων του λογισμικό γίνεται με χρήση της εντολής (packet manager) apt.

Για την εγκατάσταση λογισμικού χρησιμοποιείται η εντολή ως

sudo apt install <όνομα_πακέτου>

Για παράδειγμα για την εγκατάσταση του προγράμματος vlc δίνουμε την εντολή
sudo apt install vlc

 

Για την απεγκατάσταση πακέτου λογισμικού χρησιμοποιείται η εντολή apt remove, ως sudo apt remove <όνομα_πακέτου>

 

Για την απεγκατάσταση πακέτου και τον καθαρισμό των αρχείων ρυθμίσεων χρησιμοποιείται η εντολή apt purge, ως sudo apt purge <όνομα_πακέτου>

 

Για την αναβάθμιση όλων των πακέτων υπάρχει η εντολή sudo apt upgrade


Για διανομές τύπου Fedora (και παράγωγες, όπως Red Hat) ο διαχειριστής πακέτων ονομάζεται dnf. Έτσι για παράδειγμα για την εγκατάσταση λογισμικού δίνουμε την εντολή sudo dnf install <όνομα_πακέτου>

 


2. Συμπίεση/Αποσυμπίεση Δεδομένων

Για τη συμπίεση αρχείων και καταλόγων μπορούμε να χρησιμοποιήσουμε τις παρακάτω εντολές


gzip

Με την εντολή gzip <όνομα_αρχείου> συμπιέζουμε το αρχείο σε μορφή .gz.

Για παράδειγμα
gzip file.txt


tar

Η εντολή tar χρησιμοποιείται για τη συμπίεση και αποσυμπίεση αρχείων σε αρχεία με κατάληξη .tar, .tar.gz, .tar.bz2 και .tar.xz.

Η σύνταξη της εντολής είναι tar -czvf <όνομα_αρχείου.tar.gz> <κατάλογος_ή_αρχεία>.

Για παράδειγμα με την εντολή

tar -czvf archive.tar.gz folder/

συμπιέζουμε όλα τα περιεχόμενα του κατολόγου folder στο αρχείο archive.tar.gz

 

Εάν επιθυμούμε συμπίεση με το πρότυπο bzip2 η εντολή είναι

tar -cjvf archive.tar.bz2 folder/

Για τη δημιουργία αρχείου tar χωρίς συμπίεση οι κατάλληλες παράμετροι στην εντολή είναι οι

tar -cvf archive.tar folder/

 

Για την αποσυμπίεση συμπιεσμένων αρχείων χρησιμοποιούνται οι εντολές

 

gzip

για την αποσυμπίεση .gz αρχείων. Η σύνταξη της εντολής είναι

gunzip <όνομα_αρχείου.gz>


tar

Για την αποσυμπίεση αρχείων .tar, .tar.gz, .tar.bz2 και .tar.xz.

Για παράδειγμα για την αποσυμπίεση .tar.gz αρχείου δίνουμε την εντολή

tar -xzvf <όνομα_αρχείου.tar.gz>

 

ενώ για την αποσυμπίεση .tar.bz2 αρχείου την εντολή

tar -xjvf <όνομα_αρχείου.tar.bz2>

 

Για την απλή αποσυμπίεση .tar αρχείου η εντολή είναι η

tar -xvf <όνομα_αρχείου.tar>

 

unzip

Για την αποσυμπίεση αρχείων .zip η εντολή είναι η

unzip <όνομα_αρχείου.zip>

 

zip

Για τη συμπίεση αρχείων σε μορφή .zip υπάρχει η εντολή

zip <όνομα_αρχείου.zip> <αρχεία>

ενώ για τη συμπίεση φακέλων σε μορφή .zip χρησιμοποιούμε την εντολή

zip -r archive.zip folder/

Ημερολόγιο

Ανακοινώσεις

  • - Δεν υπάρχουν ανακοινώσεις -