$ vi pass Κλήση του vi για το αρχείο pass. $ vi pass. :wq

Σχετικά έγγραφα
Λειτουργικό σύστημα Unix

ΤΕΙΘ ΣΤΕΦ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 3o ΕΡΓΑΣΤΗΡΙΟ

ΤΕΙΘ ΣΤΕΦ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ

Προγραμματισμός Διαχείρισης Συστημάτων Ι

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

Μερικές άλλες χρήσιμες εντολές

ιαφάνειες παρουσίασης #12

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

ΣΕΛΙ Α 1 ΚΕΦΑΛΑΙΟ 1 - ΑΡΧΙΚΑ

Προγραµµατισµός 2 The shell

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 2

Εργαστήριο ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ UNIX

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout)

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

Κεφάλαιο 16: Ο κειμενογράφος Vi

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

Directories & Files

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

ΠΑΓΚΑΛΟΣ ΙΩΑΝΝΗΣ ΣΙΣΜΑΝΗΣ ΝΙΚΟΣ. File Transfer Protocol

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX

Εισαγωγή στον Προγραμματισμό Μάθημα 2: Οκτώβριος 2014 Χ. Αλεξανδράκη, Γ. Δημητρακάκης

Επεξεργασία πολλαπλών φύλλων εργασίας - Γραφημάτων Excel

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης

Μερικές άλλες χρήσιμες εντολές

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 28 Μαρτίου 2009 Οµάδα 1 η

wc -l <file1 10 ή να μετρήσω πόσες γραμμές δίνει μια οποιαδήποτε άλλη εντολή π.χ. η finger : finger wc -l 8

Ενότητα 1 Διάλεξη 1β

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Λειτουργικά Συστήματα

ΒΑΣΙΚΕΣ Ο ΗΓΙΕΣ ΧΡΗΣΗΣ

Computing and Information Systems Service. ιαχείριση Αρχείων

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

Επεξεργασία Αρχείων Κειµένου

Sheet2. Σωστή, και µπράβο που µεριµνήσατε για λίστες διαφορετικών µεγεθών.

CE121 Προγραµµατισµός 2. Εισαγωγή σε Makefiles. CE121 -

Αβδέλαρου Κωνσταντίνα

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Python. 1η Ομάδα Ασκήσεων

ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τµήµα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήµατα (Εργαστήριο) Διδάσκων: I. Τσακνάκης. 7ο Εργαστήριο

ΜΑΘΗΜΑ Προσθήκη Κειμένου. 2. Ελληνική Διάταξη Πληκτρολογίου ΣΤΟΧΟΙ:

Ο ΗΓΙΕΣ ΧΡΗΣΤΗ AR-7664

1st exercise of work2 - REMARKS

*? [xyz] [^xy] [!0-9] [:alpha:] [:digit:]

ΜΑΘΗΜΑ: ΕΙΑΓΩΓΗ ΣΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 9o ΕΡΓΑΣΤΗΡΙΟ

Linux με τη χρήση κονσόλας

ΟΛΑ ΤΑ SCRIPT files πρέπει να είναι ΕΚΤΕΛΕΣΙΜΑ: $*, : ΟΛΑ - Η λίστα (ο πίνακας) με τα ορίσματα $# πλήθος παραμέτρων. one two third parameter

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX

CE121 Προγραµµατισµός 2. Εισαγωγή σε Makefiles. CE121 -

Οδοραµα mobile ΑΠΟΘΗΚΗ

Στην συνέχεια και στο επόµενο παράθυρο η εφαρµογή µας ζητάει να εισάγουµε το Username και το Password το οποίο σας έχει δοθεί από τον ΕΛΚΕ.

Εισαγωγή στο πρόγραμμα Microsoft word 2003

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram.

Εισαγωγή και επεξεργασία δεδοµένων

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

Κάθε ένα κελί θα πρέπει να περιέχει ένα μόνο στοιχείο δεδομένων, για παράδειγμα το όνομα σε ένα κελί, το επίθετο σε άλλο κελί.

Εργαστήριο του Μαθήματος: ΕΠΛ003. Ενότητα 3 Εισαγωγή στο Microsoft Word

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

Εισαγωγή στα Λειτουργικά Συστήματα

Λειτουργικά Συστήματα

Επαναληπτικές Ασκήσεις

Visual Basic Γλώσσα οπτικού

Αλληλεπίδραση με το Matlab

scanf() scanf() stdin scanf() printf() int float double %lf float

Λειτουργικά Συστήματα (ΗΥ-345) Χειμερινό Εξάμηνο

Λειτουργικά Συστήματα

Βασικές οδηγίες χρήσης συστήµατος ProTeAS

Προγραµµατιστικές Τεχνικές

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας)

Outlook Express-User Instructions.doc 1

Shell Scripts: loops / if / test

AC-10S, AC- 10F. Πληκτρολόγια Access Control Για αυτόνοµη (stand alone) λειτουργία.

Unix: Εντολές, οργάνωση και χειρισµός αρχείων, διεργασίες

ιαχείριση Πληροφοριών στο ιαδίκτυο

ΤΕΙΘ ΣΤΕΦ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 6o ΕΡΓΑΣΤΗΡΙΟ

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX

ENOTHTA 8 IAXEIPIΣH KAI ΣYΣTHMATA APXEIΩN

Δημιουργία και εκτέλεση προγραμμάτων. Εντολές εισόδου από το πληκτρολόγιο και εξόδου στην οθόνη.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 5 - Editor

Προγραμματιστικό Περιβάλλον

ΓΡΗΓΟΡΗ ΜΑΝΑΡΙΩΤΗ Ερωτήσεις Εµπέδωσης Αξιολόγησης για το EXCEL

Ανάπτυξη εφαρμογής Input-Output

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

Numerateur RD 64. Οδηγίες προγραµµατισµού RD64

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

ΚΕΦΑΛΑΙΟ Web Services

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

Γνωριµία µε τη Microsoft Access

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Έκδοση: Μάρτιος Συνήθεις Ερωτήσεις και Απαντήσεις

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD

Άσκηση 10 Φωτισµός. Στόχος της άσκησης

Η ΕΞΕΡΕΥΝΗΣΗ ΤΩΝ WINDOWS (WINDOWS EXPLORER)


ΕΡΓΑΣΤΗΡΙΟ FRONT PAGE 2

Transcript:

Ο visual editor vi 1 Θα δηµιουργήσουµε ένα αρχείο µε όνοµα «pass» που θα έχει 12 γραµµές vassik@aetos:~/xunix/lab4$ tail -12 /etc/passwd >pass (δηλ. τις 12 τελευταίες γραµµές από το αρχείο /etc/passwd και τις βάζουµε στο αρχείο pass) O vi ξεκινά σε κατάσταση «command mode» (δηλ δίνουµε εντολές δεν εισάγουµε κείµενο) 1. Eίσοδος & έξοδος από τον vi $ vi pass Κλήση του vi για το αρχείο pass Εµφανίζεται στην οθόνη το κοµµάτι του αρχείου που επιθυµούµε να δούµε και να αλλάξουµε Aρχείο «pass 12 γραµµές 962 χαρακτήρες Κέρσορας στο 1,1 :q Έξοδος από το vi µε :q (uit) κέρσορας 2. ιαγραφή γραµµών & σώσιµο $ vi pass Για να σβήστε π.χ. την 1 η γραµµή (εκεί που είναι ο κέρσορας) πατήστε dd Για να σβήστε π.χ. ακόµα 5 γραµµές 5dd (..και µας έµειναν 6 γραµµές) :wq Έξοδος και σώσιµο µε :w(rite)και :q (uit) Όταν ξεκινάει ο vi βρίσκεται σε κατάσταση «command mode» δηλαδή δέχεται εντολές: dd (delete) σβύνεται η τρέχουσα γραµµή 5dd σβύνονται 5 γραµµές από το κέρσορα (..αλλά και όσες δοθούν ) yy (yank)αντιγράφεται (copy) στο buffer η τρέχουσα γραµµή (από το κέρσορα) p (paste) επικόλληση της γραµµής 3. Αντιγραφή τρέχουσας γραµµής & έξοδος χωρίς σώσιµο $ vi +5 pass 1 Υπάρχει και βελτιωµένη έκδοση ο vim [1]

κέρσορας Για να κάνετε copy π.χ. την 5 η γραµµή (εκεί που είναι ο κέρσορας) πατήστε yy και p κέρσορας στο 5 :q! Έξοδος χωρίς σώσιµο µε q (uit)! (δίνω q! αν έχω κάνει αλλαγέs και δεν έχω σώσει) Υπάρχουν βέβαια πολλές άλλες εντολές π.χ. Kίνηση µέσα στον vi u (undo) ακύρωση της προηγούµενης εντολής ^ αρχή γραµµής d (redo) επανάληψη της προηγούµενης εντολής $ τέλος γραµµής dw σβύνεται η τρέχουσα λέξη (word) G τελευταία γραµµή 5dw σβύνονται 5 λέξεις από το κέρσορα (..αλλά και όσες δοθούν ) 5G 5 η γραµµή.. yw αντιγράφεται (copy) στο buffer η τρέχουσα λέξη (από το κέρσορα) x σβύνεται o τρέχοv χαρακτήρας ΖΖ έξοδος Προσοχή δεν είναι ίδια κεφαλαία και µικρά Σηµαντικές είναι οι εντολές που έχουν µπροστά : µε / : Όταν δοθεί πάνω κάτω τελεία ο vi περιµένει να δώσουµε µια εντολή (command line) Οι πιο συνήθεις εντολές που δίνουµε έχουν σχέση µε search/replace, έξοδο και σώσιµο ή όχι των αλλαγών µας όπως π.χ. :q έξοδος χωρίς σώσιµο - αν δεν έχουµε κάνει αλλαγές :q! έξοδος χωρίς σώσιµο - αν έχουµε κάνει αλλαγές :w σώσιµο των αλλαγών :wq σώσιµο των αλλαγών και έξοδος :x σώσιµο και έξοδος / Όταν δοθεί / ο vi περιµένει να δώσουµε ένα pattern για να το ψάξει στο κείµενο π.χ. /Pan και µε n (ext) πηγαίνει στο επόµενο και Ν στο προηγούµενο pattern O vi σε κατάσταση ««insert mode» (δηλ για να εισάγουµε/τροποποιήσουµε το κείµενο) i Όταν δοθεί i, εισαγωγή πριν το κέρσορα, o vi µπαίνει σε κατάσταση «insert mode» και µπορούµε να τροποποιήσουµε το κείµενο εισάγοντας ότι επί πλέον θέλουµε, καθώς και µε I εισαγωγή στην αρχή της τρέχουσας γραµµής a εισαγωγή µετά το κέρσορα A εισαγωγή στο τέλος της τρέχουσας γραµµής Χρησιµοποιούµε ESC για να αλλαγή mode. [2]

Εστω ότι θέλω να δηµιουργήσω ένα αρχείο που περιέχει 2 γραµµές π.χ. τις 2 εντολές. ls /*/*/staff ls -l /*/*/*/*/dstai*/wo* 1.Μπορώ ναχω δυο shell ανοιχτά, στο 1 ο έχω vi σε Insert mode, στο 2 ο δοκιµάζω την εντολή και την αντιγράφω στο 1 ο µέσα στο vi 2. Bάζω στις εντολές echo, µονά εισ/κά ' και > ls /*/*/staff => echo 'ls /*/*/staff' >out #create ls -l /*/*/*/*/dstai*/wo* => echo 'ls -l /*/*/*/*/dstai*/wo*' >>out #append Αν θέλω να τις αποθηκεύσω σε αρχείο µε όνοµα out θα βάλω µπροστά τους το echo και θα τις περικλείσω µε ' και στο τέλος της 1 ης >out, στο δε τέλος της 2 ης >>out 3. Με την εντολή cat και αντιγράφοντας τις εντολές cat >out # δηµιουργία αρχείου µε όνοµα out <εντολέs> # αντιγράφω τις εντολές ^D # στο τέλος, πατώ Ctrl + D Ασκησούλες (για το σπίτι) Στην 1 η άσκηση του 3 ου εργαστήριου δηµιουργήσατε 11 αρχεία µε ονόµατα: hello.dat Hello.dat hello.doc hello10.exe hello12.c hello1.exe hello2.exe helloa.exe helloaexe hello.exe Hello.exe που έχουν την παρακάτω σειρά 11 αρχεία Πόσα αρχεία θα εµφανίσουν οι εντολές (απαντήστε χωρίς να τις τρέξετε): $ ls * $ ls *. $ ls *.* $ ls *exe $ ls *.exe $ ls *c $ ls h* $ ls H*. $ ls H* $ ls H*exe $ ls h*exe $ ls *1* $ ls? $ ls *.? $ ls *d?* $ ls *o??? $ ls *o???? $ ls *e? $ ls [hh]* $ ls *[12]* $ ls *[12] $ ls *[013]* $ ls *[tfc]* $ ls *[tfc] Λύση 11,,10,7,6,2 9,,2,1,7,3,1,3,,7,7 11,4,,3,4,4,4 Ελέγξτε µε εντολή πόσα αρχεία έχετε. Αλλάξτε το σύνολο των χαρακτήρων σε ΑSCII και επαναλάβετε την άσκηση. Αφού τελειώστε γυρίστε στο ISO8859-7. Μεταφερθείτε στο home directory σας και κατόπιν µε µια εντολή σβήστε όλα όσα υπάρχουν στο directory tests ζητώντας επιβεβαίωση διαγραφής. Άσκηση Να δηµιουργήσετε µε vi ένα script που δείχνει την ώρα και την ηµεροµηνία, απαριθµεί όλους τους συνδεδεµένους χρήστες και δίνει το χρόνο λειτουργίας του συστήµατος. Το σενάριο στη συνέχεια θα αποθηκεύει αυτές τις πληροφορίες σε ένα αρχείο καταγραφής µε όνοµα logfile. Να το κάνετε εκτελέσιµο και να το τρέξετε. (Hint: δείτε στο man, format της εντολής date π.χ. date +%Y καθώς και την εντολή uptime). [3]

ηµιουργία ενός καλού script http://tldp.org/ldp/abs/html/unofficialst.html Ένα καλό σενάριο/script πρέπει να εκτελεί το έργο που προορίζεται χωρίς σφάλµατα, να µην κάνει περιττές εργασίες και να είναι επαναχρησιµοποιήσιµο. 1. Βάλτε Σχόλια στο κώδικα, έτσι είναι κατανοητός και διορθώνεται πιο εύκολα. PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}" #οxxx den ksero ti kanei? 2. Προσθέστε επικεφαλίδες ( π.χ. 1 η γραµµή & στοιχεία σας) #!/bin/bash #************************************************# # script1.sh # # written by Bozo Bobo # # March 09, 2016 # # # # A preliminary script # #************************************************# 3. Xρησιµοποιήστε µεταβλητές και χαρακτηριστικά ονόµατα µεταβλητών π.χ. αντί ορίστε την LOGFILE if [ -f /var/log/messages ] then fi 4. Xρησιµοποιήστε exit codes µε συστηµατικό τρόπο π.χ. #αν αλλάξει, αλλάζετε µόνο µια γραµµή. LOGFILE=/var/log/messages if [ -f "$LOGFILE" ] then fi E_WRONG_ARGS=95 exit $E_WRONG_ARGS Κάθε σενάριο επιστρέφει ένα exit code, που είναι το exit code της τελευταίας του εντολής. Ανάλογα µε τον αριθµό αυτό (0-255) κρίνεται και η κατάσταση εξόδου του script π.χ. exit 0: αν όλα ΟΚ, exit 1: µικρά λαθάκια exit 2: σοβαρά λάθη 5. Xρησιµοποιήστε στανταρντ γράµµατα για flags/options π.χ. -a:all, -h: Help [4]

. Μια ακόµη χρήση του cat Concatenate files / Ένωµα αρχείων Here document 1. $ cat file 1 εµφανίζει το αρχείο (το περιεχόµενο), που δέχεται σαν όρισµα (file 1 ). 2. $ cat file 1 file 2 file 3 εµφανίζει στην οθόνη τα αρχεία file 1 file 2 file 3, το ένα µετά το άλλο (τα ενώνει). 3. $ cat vlepo oti grafo vlepo oti grafo ^D χωρίς όρισµα, µου ξαναδείχνει στην οθόνη ότι πληκτρολογώ, δηλ. αντιγράφει την standard είσοδο (πληκτρολόγιο), στην standard έξοδο(οθόνη). Σταµατώ µε Ctlr+D. 4. $ cat >neoarxeio mporw etsi na dimiourgiso ena mikro arxeio sta grigora ^D δηµιουργείται ένα νέο αρχείο µε όνοµα neoarxeio, που περιέχει τις γραµµές που πληκτρολογήθηκαν. To τέλος του αρχείου σηµαδοτείται µε Ctlr+D. 5. Ηere document (4 η εργασία /1 η άσκηση) Εστω ένα αρχείο µε όνοµα pagefile, που έχει πολλαπλές εντολές echo π.χ. echo "<HTML>" echo "<HEAD>" # echo. echo "</HEAD>" echo "</HTML>" Aν το καταστήσουµε εκτελέσιµο π.χ. chmod 755 pagefile και το τρέξουµε µε : pagefile >pagefile.html θα δηµιουργηθεί ένα νέο html αρχείο µε όνοµα pagefile.html µε τις html εντολές. Αντί όµως από τα συνεχόµενα echo (κουραστικά!), θα χρησιµοποιήσουµε το cat << σε ένα here document script µπλοκ. Το here document χρησιµοποιεί µια µορφή I/O ανακατεύθυνσης για να τροφοδοτήσει, µια εντολή ή ένα πρόγραµµα (όπως το ftp, cat,ex text editor), µε µια λίστα εντολών. Ένα here script συντάσσεται: command << token <περιεχόµενο που θα είναι το standard input της command> token Εστω το παρακάτω (εκτελέσιµο) αρχείο µε όνοµα makepage #! /bin/bash # scriptfilename : makepage ΤITLE="My page.." cat << telos <HTML> <HEAD> <TITLE> #Eδώ τίτλος $TITLE </TITLE> </HEAD> <BODY> #Εδώ περιεχόµενα σελίδας </BODY> </HTML> telos Mπορούµε να το τρέξουµε µε./makepage και να δηµιουργήσουµε το αρχείο µε την σελίδα µας πχ./makepage > index.html [5]