Λίνουξ – Πρακτικός οδηγός
Αυτή η σελίδα προορίζεται ως συμπαγής αλλά χρήσιμη αναφορά για το Linux.
Όλα τα παραδείγματα είναι γενικά και εφαρμόσιμα στις περισσότερες διανομές Linux
(Ντεμπιάν/Ουμπουντού, RHEL/Φεντόρα, Άρτς, Άλπιν), εκτός αν αναφέρεται διαφορετικά.
1. Δομή αρχείων και πλοήγηση
Το Linux λειτουργεί με μια κεντρική δομή δέντρου (/), όχι με γράμματα μονάδας όπως στα Windows.
Σημαντικοί φάκελοι:
/– ρίζα του συστήματος/home– προσωπικοί φάκελοι χρηστών/etc– αρχεία ρυθμίσεων/var– μεταβλητά δεδομένα (καταγραφές, αλληλογραφία, κρυφή μνήμη)/usr– προγράμματα και βιβλιοθήκες/tmp– προσωρινά αρχεία/srv– δεδομένα για υπηρεσίες (ιστού, εφαρμογών)
Η πλοήγηση γίνεται πλήρως μέσω του τερματικού. Δουλεύεις πάντα από έναν “τρέχοντα φάκελο”.
Δείτε την τρέχουσα διαδρομή:
pwd
Εμφάνιση αρχείων και φακέλων στον τρέχοντα φάκελο:
ls
ls -lah
Επιλογές:
-lεμφανίζει μια λίστα-aεμφανίζει επίσης κρυφά αρχεία-hκαθιστά τις μεγέθη αναγνώσιμα
Μετακίνηση μέσω της δομής φακέλων:
cd /path/to/folder
cd ..
cd ~
2. Διαχείριση αρχείων και φακέλων
Τα αρχεία και οι φάκελοι δημιουργούνται, μετακινούνται και διαγράφονται πλήρως μέσω εντολών.
Δημιουργία ενός φακέλου:
mkdir folder
mkdir -p a/b/c
-p διασφαλίζει ότι δημιουργούνται επίσης οι ελλείπουσες ενδιάμεσες φάκελοι.
Δημιουργία ενός κενού αρχείου ή ενημέρωση της χρονικής σφραγίδας:
touch file.txt
Αντίγραφα αρχείων ή φακέλων:
cp source dest
cp -a source dest
-a (αρχείο) διατηρεί δικαιώματα, ιδιοκτησία και symlinks και συνιστάται σχεδόν πάντα.
Μετακίνηση ή μετονομασία αρχείων ή φακέλων:
mv old new
Διαγραφή αρχείων και φακέλων:
rm file
rm -r folder
rm -rf folder
-r= αναδρομικός-f= αναγκαστικά, χωρίς επιβεβαίωση
Χρησιμοποίησε το rm -rf μόνο αν είσαι σίγουρος για το τι κάνεις.
Δημιουργία ενός συμβολικού συνδέσμου:
ln -s target link
3. Προβολή και ανάγνωση αρχείων
Για την προβολή αρχείων είναι διαθέσιμα διάφορα εργαλεία, ανάλογα με το μέγεθος και τη χρήση.
Εμφάνιση πλήρους περιεχομένου:
cat file
Κατάλληλο για μικρά αρχεία.
Διαδραστική προβολή (κύλιση και αναζήτηση):
less file
Να δείτε τις πρώτες ή τελευταίες γραμμές:
head -n 20 file
tail -n 20 file
Παρακολούθηση ενός αρχείου σε πραγματικό χρόνο (για παράδειγμα, καταγραφές):
tail -f /var/log/syslog
4. Αναζήτηση και φιλτράρισμα κειμένου
Το Linux προσφέρει ισχυρά εργαλεία για την αναζήτηση και φιλτράρισμα κειμένου, ιδιαίτερα σε αρχεία καταγραφής και αρχεία ρυθμίσεων.
Αναζητώντας κείμενο:
grep "text" file
grep -R "text" folder
grep -Rni "tekst" folder
Επιλογές:
-R= αναδρομικός-n= αριθμός γραμμής-i= μη ευαίσθητο σε κεφαλαία γράμματα
Αναζήτηση αρχείων με όνομα:
find . -name "*.log"
Αναζήτηση αρχείων κατά ημερομηνία τροποποίησης:
find . -type f -mtime -7
Αφαίρεση στηλών ή πεδίων από κείμενο:
awk '{print $1}' file
cut -d: -f1 file
5. Δικαιώματα και ιδιοκτησία
Το Linux λειτουργεί με χρήστες, ομάδες και δικαιώματα ανά αρχείο.
Δείτε τα δικαιώματα:
ls -l
Προσαρμογή δικαιωμάτων:
chmod 644 file
chmod 755 script.sh
Σημασία:
644= ανάγνωση/γραφή για τον ιδιοκτήτη, ανάγνωση για άλλους755= εκτελέσιμο από όλους
Ιδιοκτήτης και ομάδα προσαρμογή:
chown user:group file
Προβολή τρέχοντος χρήστη και ομάδων:
id
groups
6. Διαδικασίες και κατάσταση συστήματος
Το Linux παρέχει εκτενή στοιχεία σχετικά με τις ενεργές διεργασίες και τη χρήση του συστήματος.
Όλες οι διαδικασίες εμφανίζονται:
ps aux
Ζωντανή επισκόπηση της CPU και της μνήμης:
top
htop
Δείτε τη χρήση μνήμης:
free -h
Χώρος αποθήκευσης ανά σύστημα αρχείων:
df -h
Μέγεθος ενός φακέλου:
du -sh folder
Τερματισμός μιας διαδικασίας:
kill PID
kill -9 PID
-9 αναγκάζει το κλείσιμο και πρέπει να χρησιμοποιείται μόνο ως έσχατη λύση.
7. Δίκτυο και συνδεσιμότητα
Η κατάσταση δικτύου και η συνδεσιμότητα είναι ουσιώδεις για διακομιστές και εφαρμογές.
Δικτυακά διεπαφές και διαδρομές:
ip a
ip r
Ακροατές θυρών και διεργασιών:
ss -tulpn
Δοκιμή σύνδεσης δικτύου:
ping domain.tld
Εκτέλεση αιτημάτων HTTP:
curl https://site.tld
curl -I https://site.tld
Αίτηση DNS πληροφοριών:
dig domain.tld
Ελέγξτε αν μια θύρα είναι προσβάσιμη:
nc -vz host 443
8. Υπηρεσίες και καταγραφές (systemd)
Τα περισσότερα σύγχρονα συστήματα Linux χρησιμοποιούν το systemd για τη διαχείριση υπηρεσιών.
Κατάσταση και διαχείριση υπηρεσιών:
systemctl status service
systemctl start service
systemctl stop service
systemctl restart service
systemctl reload service
Υπηρεσίες που ξεκινούν αυτόματα κατά την εκκίνηση:
systemctl enable service
systemctl disable service
Bekijk τα αρχεία καταγραφής:
journalctl -u service
journalctl -u service -f
journalctl -p err
9. Διαχειριστές πακέτων
Το λογισμικό εγκαθίσταται μέσω του διαχειριστή πακέτων της διανομής.
Debian / Ubuntu (apt)
apt update
apt install package
apt remove package
apt purge package
apt autoremove
RHEL / Fedora (dnf)
dnf install package
dnf remove package
dnf search package
Αρχι (pacman)
pacman -S package
pacman -Rns package
pacman -Syu
Αλπικό (apk)
apk add package
apk del package
10. Git – διαχείριση εκδόσεων
Το Git χρησιμοποιείται για τη διαχείριση εκδόσεων κώδικα και ρυθμίσεων.
Βασικές εντολές:
git init
git clone url
git status
git add .
git commit -m "description"
Συγχρονισμός με μια απομακρυσμένη:
git pull --rebase
git push
Επίγνωση των αλλαγών:
git log --oneline --graph
git diff
11. Docker – κοντέινερς
Το Docker επιτρέπει την εκτέλεση εφαρμογών απομονωμένα.
Διαχείριση εικόνων σε κοντέινερ:
docker pull image
docker images
docker ps
docker ps -a
Ξεκινώντας και διαχειριζόμενος ένα κοντέινερ:
docker run -d -p 8080:80 image
docker logs container
docker exec -it container sh
Docker Compose:
docker compose up -d
docker compose down
12. Βασική ασφάλεια
Μια ελάχιστη βάση ασφάλειας είναι ουσιώδης, ειδικά σε διακομιστές.
Τείχος προστασίας (Ubuntu):
ufw status
ufw allow 22
ufw enable
Nftables (χαμηλού επιπέδου τείχος προστασίας):
nft list ruleset
Προστασία κατά επιθέσεων brute-force:
fail2ban-client status
Αυτόματες ενημερώσεις ασφαλείας:
apt install unattended-upgrades
13. Συχνά χρησιμοποιούμενα εργαλεία
curl,wget– HTTP αιτήσειςjq– Επεξεργασία JSONrsync– αποδοτική συγχρονισμός αρχείωνtmux– πολλαπλές θήκες σε μία συνεδρίαncdu– ανάλυση χώρου δίσκουlsof– ανοιχτά αρχεία και θύρεςtcpdump– επιθεώρηση δικτυακής κίνησης
