Εισαγωγή στον Προγραμματισμό Μάθημα 2: Χειρισμός Αρχείων στο Linux CLI Οκτώβριος 2014 Χ. Αλεξανδράκη, Γ. Δημητρακάκης
Περίληψη Προηγουμένου Εντολές Πλοήγησης στο σύστημα αρχείων ls,cd,man,cp,mv,rm,mkdir,rmdir
Σε αυτό το μάθημα Επισκόπηση αρχείων και επεξεργασία κειμένου Εντολές file, wc, more, less, df Επεξεργαστής κειμένου nano, vi
H εντολή file Επιστρέφει πληροφορίες για τον τύπο ενός αρχείου, π.χ. $ file out.txt out.txt: ASCII text $ file sax.wav sax.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 44100 Hz $ file sax.mid sax.mid: Standard MIDI data (format 1) using 2 tracks at 1/480 $ file photo.jpg photo.jpg: JPEG image data, JFIF standard 1.01 Η εντολή αυτή δε βασίζεται στην κατάληξη του αρχείου, αλλά σε πληροφορίες που διαβάζει μέσα στα αρχεία
Άσκηση1 Εκτελέστε την εντολή file για τέσσερα αρχεία (txt, wav, jpg, mid) Μετονομάστε τα αρχεία έτσι ώστε Το wav να έχει την κατάληξη txt To jpg την κατάληξη mid To txt την κατάληξη jpg Ξαναεκτελέστε την εντολή file για τα αρχεία αυτά Tι παρατηρείτε?
Η εντολή wc wc(word count): εκτυπώνει τον αριθμό γραμμών λέξεων και χαρακτήρων(byte) σε ένα αρχείο $ wc cylinder.py 10 17 171 cylinder.py $ wc -l cylinder.py 10 cylinder.py $ wc -w cylinder.py 17 cylinder.py $ wc -c cylinder.py 171 cylinder.py
Εντολήmore και εντολή less Εμφανίζει τα περιεχόμενα ενός ASCII αρχείου Με πάνω κάτω βελάκι προχωράω το αρχείο μία-μια γραμμή Με space bar πάω στην επόμενη σελίδα Με b πάω στην προηγούμενη σελίδα (ισχύει μόνο για το less) Με q (quit) τερματίζω την εντολή και επιστρέφω στο prompt
Χρήση αποθηκευτικού χώρου $ df -h Filesystem Size Used Avail Use% Mounted on C:/cygwin/bin 60G 59G 1.9G 97% /usr/bin C:/cygwin/lib 60G 59G 1.9G 97% /usr/lib C:/cygwin 60G 59G 1.9G 97% / C: 60G 59G 1.9G 97% /cygdrive/c D: 60G 8.5G 52G 15% /cygdrive/d E: 257G 129G 129G 51% /cygdrive/e
Ο επεξεργαστής κειμένου vi Ανοίγω ένα αρχείο για επεξεργασία vi firstfile Αν το firstfile δεν υπάρχει θα δημιουργηθεί O vi είναι ο πιο διαδεδομένος επεξεργαστής κειμένου σε CLI Τα πάντα γίνονται με το πληκτρολόγιο
Τρόποι λειτουργίας vi Δύο τρόποι λειτουργίας edit mode και insert mode Επειδή οι διάφορες λειτουργίες στον vi γίνονται με συγκεκριμένα πλήκτρα του πληκτρολογίου (π.χ. x, d, p, y κλπ.) Σε edit mode τα πλήκτρα ενεργοποιούν λειτουργίες Σε insert mode τα πλήκτρα λειτουργούν ως χαρακτήρες Μετάβαση edit mode -> insert mode (πλήκτρο i) insert mode -> edit mode (πλήκτρο Esc) Αν δεν ξέρω σε τι mode είμαι πατάω Esc Προσοχή μη χρησιμοποιείται τα βελάκια για πλοήγηση όταν είστε σε insert mode. Αντιστοιχούν σε χαρακτήρες!!! Για να πλoηγηθείτε με βελάκια πατήστε πρώτα Esc
Έξοδος και αποθήκευση αλλαγών το vi ZZ(Note: capitals) -Save and exit :q!-discard all changes, since the last save, and exit :w (write) save file but don't exit :wq (write and quit) again, save and exit
Λειτουργίες σε edit mode x: διαγραφή ενός χαρακτήρα dd: διαγραφή τρέχουσας γραμμής r: (replace) αντικατάσταση τρέχοντος χαρακτήρα u: (undo) πατήστε το πλήκτρο επανειλημμένα για πολλαπλά undo
Διαδικασία copy(cut)/paste στο vi Σε edit mode μετακινήστε τον κέρσορα στο σημείο του κειμένου που σας ενδιαφέρει Επιλογή κειμένου: Πατήστε vγια να επιλέξετε χαρακτήρες (ή Vκεφαλαίο για επιλογή γραμμών). Μετακινηθείτε έως το τέλος του κειμένου που σας ενδιαφέρει Αντιγραφή/Αποκοπή: Πατήστε dγια αποκοπή (cut) του επιλεγμένου κειμένου ή y για αντιγραφή (copy) Μετακινηθείτε στο σημείο όπου θέλετε να κάνετε επικόλληση Επικόλληση:Πατήστε Pγια επικόλληση πριν από την τρέχουσα θέση του κέρσορα ή pγια μετά τη θέση του κέρσορα
Ο επεξεργαστής κειμένου nano Αντιγραφή κειμένου (copy): Είτε cut-uncut ^Κ ^U στο ίδιο σημείο Είτε Alt-6 (κάνει line copy) Επικόλληση (paste) uncut ^U
wildcards Είναι ειδικοί χαρακτήρες που επιτρέπουν τον ορισμό ενός μοτίβου για τα ονόματα αρχείων και φακέλων. Ειδικότερα: *αντιπροσωπεύει οποιουσδήποτε χαρακτήρες σε οποιοδήποτε πλήθος?αντιπροσωπεύει ένα μοναδικό χαρακτήρα, οποιονδήποτε [] αντιπροσωπεύει ένα εύρος χαρακτήρων Παραδείγματα: $ls*.txt $ls?i* $ls*[0-9]* //βρίσκει τα αρχεία με κατάληξη txt //βρίσκει τα αρχεία που το δεύτερο γράμμα του ονόματος τους είναι i //βρίσκει τα αρχεία τα οποία περιέχουν στο όνομά τους κάποιον αριθμό
Άσκηση 2 Στην παρακάτω δομή τα μπλε πλαίσια αντιστοιχούν σε αρχεία κειμένου (ASCII) ενώ τα λευκά σε φακέλους(directories): 1. Χρησιμοποιήστε τον vi για να προσθέσετε ονοματεπώνυμο και AM για εσάς και τους συμφοιτητές σας. 2. Χρησιμοποιήστε τη δυνατότητα αντιγραφής/επικόλλησης ώστε η λίστα φοιτητών να εμφανίζεται 5 φορές μέσα σε κάθε αρχείο. Διαχωρίστε με μία κενή γραμμή 3. Ποιές εντολές πρέπει να εκτελέσετε εάν τα τμήματα της Τρίτης μετακινηθούν την Τετάρτη χωρίς να αλλάξουν ώρα? 4. Ποια εντολή θα τρέξετε για να αντιγράψετε όλα τα τμήματα του εργαστηρίου προγραμματισμού στο εργαστήριο Φυσικής Κυματικής. Μόνο μία εντολή! Mathimata Programmatismos FysikiKymatiki Theoria Ergasthrio Theoria Ergasthrio Trith2_4 Trith4_6 Paraskeyh10_12