Δε, 25-9-2017: Ημερολόγιο μαθήματος, Τμ. Α: Διαδικαστικά. Γραμμή εντολών, αρχεία κλπ.

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

Το πρώτο διάστημα (1 εβδομάδα) θα ασχοληθούμε κυρίως με το να δούμε πώς χρησιμοποιούμε τη γραμμή εντολών (command line) στο λειτουργικό σύστημα linux. Ο λόγος που θέλουμε να μάθουμε να χρησιμοποιούμε τη γραμμή εντολών δεν είναι για να κάνουμε τη ζωή μας δύσκολη ("γιατί να μάθουμε εντολές για κάτι που μπορούμε να κάνουμε τόσο εύκολα με το γραφικό περιβάλλον;") αλλά γιατί

  1. Με τη διαδικασία αυτή θα κατανοήσουμε καλύτερα έννοιες όπως αρχείο (file), κατάλογος (directory), πρόγραμμα (program), κειμενογράφος (editor), κλπ.
  2. Θα μάθουμε τρόπους να κάνουμε πολύ γρήγορα δουλειές που αν τις κάναμε με το γραφικό περιβάλλον (κλικ, κλικ, κλικ ...) θα κάναμε πολύ περισσότερο χρόνο.
    Αυτές είναι δουλειές που απαιτούν να κάνουμε επαναλειμμένα το ίδιο και το ίδιο πράγμα, και άρα προσφέρονται για "προγραμματιστική" αντιμετώπιση, κάτι που μόνο η γραμμή εντολών (command line) μας επιτρέπει εύκολα να κάνουμε.
    Σκεφτείτε, π.χ., ότι θέλετε να δείτε πόσα αρχεία mp3 υπάρχουν αποθηκευμένα οπουδήποτε στον υπολογιστή σας. Αν θέλετε να κάνετε τη δουλειά αυτή σε ένα γραφικό περιβάλλον το πιθανότερο είναι ότι θα χρειαστεί να κάνετε αυτό το ψάξιμο  σε διάφορα σημεία (καταλόγους, directories) του υπολογιστή σας, ξανά και ξανά, για να τα βρείτε όλα. Με τη γραμμή εντολών απλά θα δίνατε μια εντολή όπως η
    find / -iname "*.mp3" -print
    και θα περιμένατε κάποια ώρα ώστε ο υπολογιστής σας να ψάξει όλο το δίσκο.

Είδαμε σήμερα στο μάθημα τη βασική δομή των αρχείων στο δίσκο του υπολογιστή σας (ανεστραμμένο δέντρο, δείτε εδώ), το πώς βρίσκουμε σε ποιο σημείο του δέντρου βρισκόμαστε (εντολή pwd), πώς μετακινούμαστε σε ένα διαφορετικό σημείο του δέντρου (εντολή cd), πώς βλέπουμε τα περιεχόμενα ενός αρχείου κειμένου (εντολή cat), πώς βλέπουμε τα περιεχόμενα ενός καταλόγου (εντολή ls), κ.ά.

Ένα καλό σημείο να διαβάσετε τα παραπάνω (και πολλά περισσότερα) είναι π.χ. εδώ και εδώ.

Ο ιδανικός τρόπος να εξασκηθείτε στις εντολές αυτές είναι να έχετε πρόσβαση σε ένα σύστημα linux όπου θα μπορείτε να τις δοκιμάζετε. Ένα τέτοιο σύστημα υπάρχει ήδη για χρήση από σας αλλά οι περισσότεροι πρωτοετείς δεν έχετε ακόμη πάρει από το Πανεπιστήμιο τα passwords που θα σας επιτρέψουν να συνδεθείτε σε αυτό (αργότερα θα συνδέεστε με το username σας, της μορφής mathXYZW ή temXYZW, όπου XYZW είναι ο αριθμός μητρώου σας και math ή tem είναι η κατεύθυνσή σας).

Μια προσωρινή λύση (και όχι τέλεια, με αρκετούς περιορισμούς στη χρήση) για να εξασκηθείτε είναι να πάτε στη σελίδα https://www.codecademy.com/learn/learn-the-command-line (πατεήστε Start και μετά κάντε εγγραφή ή μπείτε ένα υπάρχοντα λογαριασμό σας, π.χ. facebook) . Πειραματιστείτε μετά ελεύθερα στη δεξιά μεριά του παραθύρου. Δοκιμάστε για παράδειγμα να δώσετε τις παρακάτω εντολές. Να βεβαιωθείτε ότι καταλαβαίνετε τι κάνουν. Εναλλακτικά μπορείτε να ακολουθήσετε την ακολουθία μαθημάτων που δίνεται εκεί (οδηγίες στο αριστερό κομμάτι της σελίδας) ώστε γρήγορα να γίνετε ειδικοί στο command line. Δε θα το μετανιώσετε!

  1. pwd
  2. ls
  3. cd /
  4. ls
  5. cd /home
  6. mkdir abcd
  7. cd abcd
  8. ls
  9. date
  10. cd ..
  11. pwd
  12. cd ..
  13. pwd

Για την εκμάθηση της γραμμής εντολών μπορείτε επίσης (για 1-2 εβδομάδες μόνο) να συνδέεστε στο σύστημα eliot.math.uoc.gr του Πανεπιστημίου με username tmp01 έως tmp09. Δείτε εδώ για λεπτομέρειες.

Last modified: Monday, 25 September 2017, 5:19 PM