Προγραμματισμός Ruby. Τερματικό αρχάριων - μέρος 1
Damian Watroba
Software Engineer
Ήρθε η ώρα να συζητήσουμε το δεύτερο σημείο (Terminal) από το λήμμα Πώς να ξεκινήσετε τον προγραμματισμό στη Ruby σε 7 βήματα. Χωρίς άλλη καθυστέρηση, σας καλώ να διαβάσετε το περιεχόμενο και να ακολουθήσετε κάποιες πρακτικές ασκήσεις που έχω ετοιμάσει για εσάς. Πάμε!
Τερματικό - θεωρία
Το τερματικό είναι ένα βασικό εργαλείο σε κάθε λειτουργικό σύστημα, που ονομάζεται επίσης κονσόλα ή γραμμή εντολών. Κάθε φορά που ακούτε έναν από αυτούς τους όρους, θα ξέρετε ότι πρόκειται γι' αυτό. Επιτρέπει την επικοινωνία με το κέλυφος του συστήματος, για παράδειγμα, με το bass (το προεπιλεγμένο κέλυφος για το Ubuntu). Το κέλυφος λειτουργεί ως ενδιάμεσος μεταξύ του λειτουργικού συστήματος ή των εφαρμογών και του χρήστη. Με απλά λόγια, η κονσόλα σας επιτρέπει να δίνετε εντολές στο σύστημα. Δεν έχει σημασία σε ποια γλώσσα προγραμματίζετε - όσο πιο γρήγορα κατακτήσετε αυτό το εργαλείο, τόσο το καλύτερο. Το τερματικό θα χρησιμοποιηθεί για την εγκατάσταση/εκτέλεση προγραμμάτων στο μηχάνημά σας, τη διαχείριση των πόρων του υπολογιστή, την πλοήγηση σε καταλόγους, τη δημιουργία αρχείων ή την εκτέλεση σεναρίων που έχουν προετοιμαστεί προηγουμένως. Αυτές οι δεξιότητες είναι απαραίτητες όταν διαχειρίζεστε έναν διακομιστή που δεν διαθέτει γραφικό περιβάλλον χρήστη (GUI).
Η συντόμευση πληκτρολογίου που ανοίγει το τερματικό είναι ctrl + alt + t
Πολλοί άνθρωποι προσπαθούν να αναβάλουν την εκμάθηση της γραμμής εντολών, αναζητώντας εκδόσεις προγραμμάτων με ωραίο γραφικό περιβάλλον. Ωστόσο, αν θέλετε να ξεκινήσετε την περιπέτεια με τον προγραμματισμό, το τερματικό θα είναι απαραίτητο στοιχείο εκμάθησης, οπότε ήρθε η ώρα να γίνετε φίλοι. Τα πρώτα βήματα μπορεί να είναι δύσκολα, αλλά μην ανησυχείτε.
Τερματικό - Πρακτική
Στην παραπάνω εικόνα, έχουμε ένα ήδη ανοιχτό τερματικό Ubuntu όπου μπορείτε να δείτε:
damian@rubydev:~$
Το πρώτο μέρος, πριν από την άνω και κάτω τελεία, δεν είναι τίποτα άλλο παρά το όνομα χρήστη που επιλέξαμε κατά την εγκατάσταση του Ubuntu και το όνομα του υπολογιστή μας. Ωστόσο, η τελεία ~ σημαίνει τον αρχικό κατάλογο. Ο τελευταίος χαρακτήρας $ είναι η λεγόμενη "προτροπή". Μετά από αυτό μπορούν να εισαχθούν εντολές.
Πού βρίσκομαι;
pwd (Εκτύπωση καταλόγου εργασίας) - επιστρέφει πάντα τη διαδρομή προς το μέρος όπου βρίσκεστε αυτή τη στιγμή. Όταν χάνεστε, μπορείτε πάντα να χρησιμοποιήσετε την εντολή pwd εντολή.
Σε αυτό το σημείο, αξίζει να σημειωθεί ότι αμέσως μετά την εκκίνηση της κονσόλας βρίσκεστε πάντα στον αρχικό σας κατάλογο, δηλ. / home / USER_NAME, όπου USER_NAME σημαίνει το όνομα χρήστη σας.
Δείξε μου τι έχεις!
ls (Λίστα) - είναι μια από τις πιο συχνά χρησιμοποιούμενες εντολές για να εμφανίσετε τα περιεχόμενα του καταλόγου στον οποίο βρίσκεστε αυτή τη στιγμή.
Οι εντολές μπορούν επίσης να λάβουν ορίσματα (επιλογές) που θα τροποποιήσουν τη συμπεριφορά των εντολών σας με κάποιο τρόπο. Μπορείτε να τα γράψετε μαζί ή ξεχωριστά, π.χ:
damian@rubydev:~$ ls -la
ή:
damian@rubydev:~$ ls -l -a
-l είναι μια επιλογή που εκτυπώνει αρχεία και καταλόγους με τη μορφή λίστας με λεπτομερείς πληροφορίες, ενώ -a ή --όλα εκτυπώνει επίσης κρυμμένα αρχεία (δηλαδή αρχεία με ονόματα που αρχίζουν με τελεία).
Οι επιλογές που περνούν συνήθως προηγούνται από - ή --. Ένα άλλο χρήσιμο τέχνασμα είναι να εισάγετε τη διαδρομή προς τον κατάλογο του οποίου τα περιεχόμενα θέλετε να ελέγξετε αμέσως μετά το ls ή μετά τις επιλογές που έχουν περάσει (αν τις χρησιμοποιείτε). Με αυτόν τον τρόπο, θα το κάνετε χωρίς να αλλάξετε την τρέχουσα θέση σας.
Σε αυτή την περίπτωση, μάθαμε ποια αρχεία έχουμε στο αρχείο Έγγραφα χωρίς να μετακινηθείτε από τον αρχικό κατάλογο.
Ας ξεκινήσουμε!
Ώρα να εξερευνήσετε λίγο το σύστημά σας και να μάθετε πώς να το περιηγείστε. Θα χρησιμοποιήσουμε το cd (αλλαγή καταλόγου) για μετακίνηση.
Αν θέλετε να πάτε στο Έγγραφα από τον αρχικό σας κατάλογο, η εντολή θα μοιάζει με την εξής: cd Έγγραφα. Για να βεβαιωθείτε ότι βρίσκεστε στο σωστό μέρος, μπορείτε να το ελέγξετε με το ήδη γνωστό pwd εντολή:
Αν θέλετε να επιστρέψετε, μπορείτε να χρησιμοποιήσετε το cd .., αλλά να θυμάστε ότι .. θα σας μεταφέρει πίσω στο γονικό κατάλογο, όχι στο σημείο από το οποίο εισάγατε την εντολή. Ίσως αυτή η οθόνη να απεικονίσει καλύτερα αυτό το ζήτημα:
Αξίζει επίσης να γνωρίζετε ορισμένες συντομεύσεις που θα σας βοηθήσουν να εργαστείτε πιο αποτελεσματικά. Το cd ή cd ~ θα σας μεταφέρει κατευθείαν στον αρχικό κατάλογο, από οποιοδήποτε σημείο του συστήματός σας.
damian@rubydev:~/Pulpit/Praca$ cd
damian@rubydev:~$ pwd
Επιλέξτε το / αν θέλετε να φτάσετε στον ριζικό κατάλογο, τον λεγόμενο "root". Είναι ο βασικός κατάλογος του συστήματος, που περιέχει τους καταλόγους με τα αρχεία ρυθμίσεων, τις εγκατεστημένες εφαρμογές και τους καταλόγους χρηστών (συμπεριλαμβανομένου του αρχικού σας καταλόγου).
damian@rubydev:~$ cd /
damian@rubydev:/$ pwd
/
Ένα άλλο πράγμα που θα διευκολύνει την εργασία σας είναι η χρήση του κουμπιού TAB. Δεν χρειάζεται να πληκτρολογείτε κάθε φορά το πλήρες όνομα του καταλόγου στον οποίο θέλετε να μεταβείτε, ούτε καν να θυμάστε το πλήρες όνομά του. Πληκτρολογώντας το πρώτο γράμμα του καταλόγου και πατώντας το πλήκτρο TAB, το τερματικό θα σας προτείνει τις διαθέσιμες επιλογές ή θα ολοκληρώσει αμέσως την εντολή αν υπάρχει μόνο μία δυνατότητα. Ας το δοκιμάσουμε:
damian@rubydev:/$ cd P[tab]
Pobrane/ Publiczny/ Pulpit/
damian@rubydev:/$ cd P
damian@rubydev:~$ cd D[tab]
damian@rubydev:/$ cd Dokumenty/
Θα χρησιμοποιήσουμε τον ταμπλό αρκετά συχνά σε αυτή την εκπαιδευτική συνεδρία.
Βοήθεια;
Μήπως ξεχάσατε ποιες είναι οι επιλογές του <codecd; Μπορείτε να χρησιμοποιήσετε την υποστήριξη τεκμηρίωσης που προσφέρει το σύστημά σας. Το άνθρωπος (χειροκίνητη) εντολή χρησιμοποιείται γι' αυτό:
damian@rubydev:/$ man cd
Αυτός δεν είναι ο μόνος τρόπος. Μπορείτε επίσης να χρησιμοποιήσετε το --help ή -h επιλογή, η οποία θα σας εμφανίσει έναν οδηγό γρήγορης βοήθειας, για παράδειγμα:
damian@rubydev:~$ ls --help
Καθήκοντα:
1. Μάθετε ποιες άλλες επιλογές εκτός από -l -a το ls εντολή μπορεί να δεχτεί, και ποιες λεπτομέρειες μπορεί να δεχτεί η -l επιλογή επιστρέφει ακριβώς.
2. Εφόσον μπορείτε να περιηγηθείτε στους καταλόγους, εξοικειωθείτε με τη δομή των αρχείων του συστήματός σας.
Ώρα να προσθέσετε και να αλλάξετε κάτι!
Για να δημιουργήσετε νέους καταλόγους στους οποίους θα διατηρείτε τα έργα σας, χρησιμοποιήστε την εντολή mkdir (make directory) ακολουθούμενη από το όνομα της επιλογής σας.
damian@rubydev:~/Pulpit$ mkdir Projekty
damian@rubydev:~/Pulpit$ ls
Praca Projekty
Αν θέλετε να δημιουργήσετε ένα αρχείο, μπορείτε να χρησιμοποιήσετε την εντολή touch εντολή:
damian@rubydev:~/Pulpit/Projekty$ touch rubydev.rb
damian@rubydev:~/Pulpit/Projekty$ ls
rubydev.rb
Αφού μπορείτε να προσθέσετε νέους καταλόγους και αρχεία, μπορείτε επίσης να τα αντιγράψετε! Για να αντιγράψετε τα αρχεία, θα χρησιμοποιήσετε την εντολή cp (αντιγραφή), και για να αντιγράψετε καταλόγους cp προσθέστε το -r (αναδρομική) επιλογή. Κατά την αντιγραφή ενός αρχείου/καταλόγου, η εντολή λαμβάνει δύο παραμέτρους:
το αρχείο που θέλετε να αντιγράψετε, π.χ. το ήδη δημιουργημένο rubydev.rb αρχείο,
το μέρος στο οποίο αντιγράφετε (μπορείτε να δώσετε στο αντίγραφο ένα νέο όνομα εισάγοντας το στο τέλος της διαδρομής προορισμού).
Αντέγραψα το αρχείο rubydev.rb στον γονικό κατάλογο, δηλαδή στον κατάλογο Desktop
Μπορείτε επίσης να μεταφέρετε αρχεία. Ας προσπαθήσουμε να μετακινήσουμε το αρχείο που αντιγράψαμε προηγουμένως πίσω στον κατάλογο στον οποίο βρίσκεστε, αλλάζοντας ταυτόχρονα το όνομά του.
Μετακινούμε το αρχείο rubydev_copy.rb από τον γονικό κατάλογο στον κατάλογο στον οποίο βρισκόμαστε αυτή τη στιγμή
Για να μετακινήσετε αρχεία και καταλόγους, χρησιμοποιήστε την εντολή mv (μετακίνηση), η οποία - όπως και η εντολή cp - δέχεται δύο πληροφορίες εισόδου: τι και πού θα μετακινηθεί.
Περιττό; Ας το διαγράψουμε!
Όπως συμβαίνει συνήθως, μετά από κάποιο χρονικό διάστημα, θα έχετε αρχεία και καταλόγους που δεν χρειάζεστε ή δεν χρησιμοποιείτε πλέον. Υπάρχουν επίσης κατάλληλες εντολές για τη διαγραφή τέτοιων αρχείων και καταλόγων.
rmdir (remove directory) - αφαιρεί τον κενό κατάλογο που δίνετε ως παράμετρο. Αν δώσετε περισσότερες διαδρομές σε καταλόγους, θα τους διαγράψει όλους.
rm (remove) - αφαιρεί το αρχείο. Για να διαγράψετε έναν κατάλογο με αυτή την εντολή, σας δίνουμε την εντολή -r -f επιλογή. Αυτή η εντολή δέχεται μία μόνο παράμετρο, δηλαδή τη διαδρομή προς το αρχείο ή τον κατάλογο. Αν θέλετε να διαγράψετε όλα τα αρχεία του καταλόγου στον οποίο βρίσκεστε, μπορείτε να περάσετε την παράμετρο * χαρακτήρα ως παράμετρο. Η εντολή θα μοιάζει ως εξής: rm *
damian@rubydev:~/Pulpit/Projekty$ ls rubydev_move.rb rubydev.rb
damian@rubydev:~/Pulpit/Projekty$ rm *
damian@rubydev:~/Pulpit/Projekty$ ls
damian@rubydev:~/Pulpit/Projekty$
Πριν από τη χρήση *, βεβαιωθείτε ότι (με pwd) ότι βρίσκεστε στο σωστό μέρος, ώστε να μην διαγράψετε σημαντικά αρχεία.
Οι προαναφερθείσες επιλογές -r (αναδρομική, διαγραφή αρχείων σε υποκαταλόγους) και -f (force, διαγραφή χωρίς επιβεβαίωση, συμπεριλαμβανομένων των αρχείων που προστατεύονται από τη διαγραφή) χρησιμοποιούνται μαζί για να διαγράψετε έναν κατάλογο με όλο το περιεχόμενό του. Επομένως, πριν χρησιμοποιήσετε το rm -rf, πρέπει να είστε σίγουροι για το τι αφαιρείτε.
Καθήκοντα:
1. Χρησιμοποιώντας τη man, διαβάστε την τεκμηρίωση για τις εντολές που συζητήθηκαν παραπάνω,
2. Δημιουργήστε δύο καταλόγους: project_1, project_2
3. Δημιουργήστε τρία αρχεία στον κατάλογο project_1 (οποιαδήποτε ονόματα), π.χ. application.rb, routes.rb, puma.rb
4. Αντιγράψτε όλα τα αρχεία από project_1 στο project_2, και στη συνέχεια διαγράψτε project_1.
Περίληψη
Όπως βλέπετε, ο χειρισμός του τερματικού δεν είναι δύσκολος, απλώς χρειάζεται λίγη εξάσκηση. Για να το μάθετε πραγματικά, σας συνιστώ να χρησιμοποιείτε το τερματικό για όλες τις απλές λειτουργίες. Στο δεύτερο μέρος αυτού του σεμιναρίου, θα σας δείξω κάποιες άλλες εντολές που αξίζει να γνωρίζετε. Αντίο!