Κ24:...
TRANSCRIPT
![Page 1: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/1.jpg)
Κ24: Προγραµµατισµός Συστήµατος
∆ιδάσκουσα∆ιδάσκουσα:: ΜέµαΜέµα ΡουσσοπούλουΡουσσοπούλου
∆ιδασκαλία∆ιδασκαλία::ΤρίτηΤρίτη 11:0011:00--13:00 (13:00 (ΑίθουσαΑίθουσα ΣΤΣΤ))ΠέµπτηΠέµπτη 12:0012:00--14:00 (14:00 (ΑίθουσαΑίθουσα ΣΤΣΤ))
ΓραφείοΓραφείο::ΑΑ3838
ΏρεςΏρες ΓραφείουΓραφείου: : ΜετάΜετά τοτο µάθηµαµάθηµαEmailEmail:: [email protected]@di.uoa.gr
Web Page:Web Page:http://cgi.di.uoa.gr/~mema/courses/k24/k24.htmlhttp://cgi.di.uoa.gr/~mema/courses/k24/k24.html
![Page 2: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/2.jpg)
03/08/09
Γενικές Πληροφορίες
Μεταπτυχιακοί ΣυνεργάτεςChristos AgorasGiorgos BalatsourasNikos ChondrosAthanasios DoukoudakisManos KouvarakisDimitris Rabiolos
Ανακοινώσεις, εργασίες, χρήσιµοισύνδεσµοι, και άλλες πληροφορίεςστην ιστοσελίδα.Να γραφτείτε στη mailing list τουµαθήµατος.
![Page 3: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/3.jpg)
03/08/09
Βιβλίο
M.J. Rochkind, Advanced Unix Programming, Prentice-Hall Software Series, Englewood Cliffs, NJ, 2004 Άλλες χρήσιµες αναφορές στηνιστοσελίδα µαθήµατος∆ιαφάνειες στην ιστοσελίδα τουµαθήµατος (ευχαριστίες στους κκ. Τάκη Σταµατόπουλο, Αντώνιο∆ελιγιαννάκη, και Αλέξη ∆ελή).
![Page 4: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/4.jpg)
03/08/09
Βαθµολογία
Τρεις εργασίες (50%)Τελική εξέταση (50%)
![Page 5: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/5.jpg)
5
Περιεχόµενα Μαθήµατος
Λειτουργικό σύστηµα UNIXΠρογραµµατισµός σε κελύφηΠρογραµµατισµός λειτουργιώνσυστήµατος σε C
Χειρισµό λαθώνΑποστολή/παραλαβή σηµάτωνΕίσοδο/έξοδο χαµηλού επιπέδου∆ηµιουργία/τερµατισµό διεργασιώνΕπικοινωνία µεταξύ διεργασιών µέσωσωλήνων, υποδοχών, ουρών µηνυµάτων, κοινής µνήµης, και σηµατοφόρων∆ηµιουργία, τερµατισµό καισυγχρονισµό νηµάτων
![Page 6: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/6.jpg)
Topic 4 (pdf)Topic 4: Process: concept, process state machine execution, syscalls getpid, getppid, exit, fork, wait, waitpid, exec, orphan processes, zombie processes, pipes, file descriptors after exec
Τρίτη13/4
Easter break – no class.
Τρίτη30/3-Πεµπτη8/4
----Holiday – no class.Πέµπτη25/3
Φροντιστήριο – θέµα: HW 1.Τρίτη23/3
Topic 3 (cont’d).Πέµπτη18/3
HW1 assignedTopic 3 (cont’d).Τρίτη
16/3
Topic 3 (pdf)--Topic 3: Error handling, perror, errno, low-level I/O, system calls link, unlink, mkdir, rmdir, rename, symlink, readlink, signals, signal handling actions, syscalls raise, pause, alarm.
Πέµπτη11/3
Topic 2 (cont’d).Τρίτη 9/3
Topic 2 (cont’d).Πέµπτη4/3
Topic 2 (pdf)Topic 2: Bash shell programming: parameters, arithmetics, expr, conditional statements, if stmt, case stmt, for loops, while loops, sample script programs.
Τρίτη 2/3
Topic 1 (cont’d).Πέµπτη25/2
Topic 1 (continued). Τρίτη23/2
Topic 1 (pdf)Topic 1: Intro to Unix, basic commands, file processing, C shell, metacharacters, environment variables, process management, makefiles.
Πέµπτη18/2
Class overview.Τρίτη16/2
Lecture NotesHandouts, Assignments
TopicDate
![Page 7: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/7.jpg)
HW 3 dueTopic 7 (cont’d)Πέµπτη27/5
Topic 7 (cont’d)Τρίτη25/5
Topic 7: Interprocess Communication: System V, message queues, shared memory, semaphores, deadlock
Πέµπτη20/5
Topic 6 (cont’d)Τρίτη18/5
Φροντιστήριο – θέµα: HW 3Πέµπτη13/5
Topic 6 (cont’d)Τρίτη11/5
Topic 6 (pdf)HW 2 dueHW3 assigned
Topic 6: Threads: concept, thread creation, termination, going from single-threaded to multi-threaded, synchronization, binary semaphores, conditional variables, producer-consumer problem
Πέµπτη6/5
Topic 5 (cont’d)Τρίτη 4/5
Topic 5 (cont’d)Πέµπτη29/4
Topic 5: Interprocess Communication across the Net: client-server model, handling client requests, socket syscalls, bind, connect, listen, accept, bzero, bcopy, TCP, UDP
Τρίτη27/4
Topic 5 (pdf)Topic 4 (cont’d)Πέµπτη22/4
Φροντιστήριο – θέµα: HW 2Τρίτη20/4
HW 1 due,HW2 assigned
Topic 4 (cont’d)Πέµπτη15/4
![Page 8: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/8.jpg)
8
Λειτουργικό σύστηµα
Ενδιάµεσο πρόγραµµα µεταξύχρήστη-υλικού συστήµατοςΣτόχος∆ιευκόλυνση χρήσης υπολογιστήΑποδοτική χρήση υπολογιστή
∆ιαχείρηση ΠόρωνΕπεξεργαστέςΚύρια και δευτερεύουσα µνήµηΣυσκευές εισόδου/εξόδου
Σύστηµα διαχείρισης αρχείωνµακροπρόθεσµη αποθήκευσηπληροφοριών
![Page 9: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/9.jpg)
9
Unix
1969 Bell Laboratories (AT&T) σε µορφή assembly1973 υλοποίηση σε γλώσσα CΠολλές αλλαγές βελτιώσειςαπό τότε
Major Revision από Univ. of California, Berkeley
Χρήση σε προσωπικούςυπολογιστές ως Linux (αλλάκαι σε servers).
![Page 10: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/10.jpg)
10
Χαρακτηριστικά Unix
Πολλαπλοί χρήστες
Πολλαπλές διεργασίες, διαµέρισηχρόνου
Παροχή ασφάλειας
Υποστήριξη δικτύων
∆οµή:Πυρήνας (kernel)Βοηθητικά προγράµµαταΜεταγλωττιστές, διορθωτές, γλώσσεςδιαταγών
ΚέλυφοςC, Bourne, Bash, Korn…
![Page 11: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/11.jpg)
11
Χαρακτηριστικά Unix (2)
Παροχή C συναρτήσεις για κλήσειςσυστήµατος
∆ιαλογική επικοινωνία χρήστη µέσωτου κελύφους
Επιτρέπει προγραµµατισµό τουκελύφους
∆ιάκριση πεζών-κεφαλαίων
![Page 12: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/12.jpg)
12
Ιεραρχική Οργάνωση
/
bin etc home dev var usr tmp
jim john mary tmp spool local bin
Κατάλογος-Ρίζα (/)
Τρέχων κατάλογος (.)
Γονικός κατάλογος (..)
Μονοπάτια απόλυτα και σχετικά
Αρχεία
Σύνδεσµοι
Συσκευές
![Page 13: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/13.jpg)
13
Λογαριασµός Χρήστη
Όνοµα και συνθηµατικό χρήστη
Κέλυφος αρχικής σύνδεσης
Οµάδες χρήστη
Κατάλογος αφετηρίας
mema@bowser's password: Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26 00:13:11 UTC 2009 i686
The programs included with the Ubuntu system are free software;the exact distribution terms for each program are described in theindividual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted byapplicable law.
To access official Ubuntu documentation, please visit:http://help.ubuntu.com/Last login: Mon Jan 7 01:25:54 2008mema@bowser:~$ pwd/home/mema
![Page 14: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/14.jpg)
14
Βασικές Εντολές
Κειµενογράφος οθόνηςviΕκτύπωση αρχείουlprΕµφάνιση περιεχοµένων αρχείουcat∆ιαγραφή αρχείουrmΜετακίνηση αρχείουmvΑντιγραφή αρχείου/καταλόγουcp∆ιαγραφή καταλόγουrmdir∆ηµιουργία καταλόγουmkdirΑλλαγή τρέχοντος καταλόγουcdΜονοπάτι τρέχοντος καταλόγουpwdΕµφάνιση περιεχοµένων καταλόγουlsΕµφάνιση οδηγιών χρήσης εντολώνman
![Page 15: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/15.jpg)
15
Εντολή man
PWD(1) User Commands PWD(1)
NAMEpwd - print name of current/working directory
SYNOPSISpwd [OPTION]
DESCRIPTIONPrint the full filename of the current working directory.
--help display this help and exit
--versionoutput version information and exit
NOTE: your shell may have its own version of pwd, which usually super�sedes the version described here. Please refer to your shell’s docu�mentation for details about the options it supports.
AUTHORWritten by Jim Meyering.
REPORTING BUGSReport bugs to <[email protected]>.
COPYRIGHTCopyright © 2008 Free Software Foundation, Inc. License GPLv3+: GNUGPL version 3 or later <http://gnu.org/licenses/gpl.html>This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law.
SEE ALSOgetcwd(3)
The full documentation for pwd is maintained as a Texinfo manual. Ifthe info and pwd programs are properly installed at your site, the com�mand
info coreutils ’pwd invocation’
should give you access to the complete manual.
GNU coreutils 6.10 April 2008 PWD(1)
![Page 16: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/16.jpg)
16
Εντολή man (-k)
Όλα όσα περιέχουν τη λέξη manual (-k) mema@bowser:~$ man -k manualapropos (1) - search the manual page names and descriptionsark (1) - manual page for Arkcatman (8) - create or update the pre-formatted manual pagescddb-slave2-properties (1) - manual page for Gnome cddb-slave2-properties 2.0.0ecj (1) - manual page for eclipse JDT Compilerecj-gcj (1) - manual page for eclipse JDT Compileresdcompat (1) - manual page for pulseaudio esd wrapper 0.9.5gnome-volume-control (1) - manual page for Gnome gnome-volume-control 2.1.0grub-reboot (8) - manual page for grub-reboot 0.01gstreamer-properties (1) - manual page for Gnome gstreamer-properties 2.2.1.1kwifimanager (1) - manual page for kwifimanagerman (1) - an interface to the on-line reference manualsmanconv (1) - convert manual page from one encoding to anothermandb (8) - create or update the manual page index cachesmanpath (1) - determine search path for manual pagesmissing (7) - missing manual pagespdfclose (1) - manual page for pdfopen 0.4: Acrobat Reader remote con...pdfopen (1) - manual page for pdfopen 0.4: Acrobat Reader remote con...pulseaudio (1) - manual page for pulseaudio 0.9.5readahead-list (8) - manual page for readahead-list: 0.20050517.0220readahead-watch (8) - manual page for readahead-watch: 0.20050517.0220vumeter (1) - manual page for Gnome Volume Meter 2.1.0w3mman (1) - an interface to the on-line reference manuals by w3m(1)whatis (1) - display manual page descriptionswhereis (1) - locate the binary, source, and manual page files for a...xman (1) - Manual page display program for the X Window System
![Page 17: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/17.jpg)
17
Εντολή ls (-a, -l, -r)
Ότι το προηγούµενο, λεπτοµερώς (-l)
Αντίστροφη εκτύπωση (-r)
Τύπωσε και περιεχόµενα από ‘.’ (-a)
Αρχείο που εκτελείται όταν ξεκινάει το κέλυφος:bash: .bashrccsh: .cshrctcsh: .tcshrc
![Page 18: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/18.jpg)
18
∆ικαιώµατα χρηστών
Κάθε αρχείο/κατάλογος ανήκειστον δηµιουργό τουΚάθε χρήστης ανήκει σε µια ήπερισσότερες οµάδες. Πχ:
users, postgrads, dep, undergrads,.10 bits- rwx r-x r-x
ιδιοκτήτη οµάδα υπόλοιποι
1o bit συνήθως d (κατάλογος) ή‘-’ (κανονικό αρχείο)3 οµάδες τριών bit (ανάγνωση, εγγραφή, εκτέλεση)
![Page 19: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/19.jpg)
19
∆ικαιώµατα χρηστών
x
w
r
ΚατάλογοςΑρχείο
Πρόσβαση µεεντολή cd. Αν δενέχω ‘r’ δεν βλέπωόµως ονόµατα των
αρχείων
Εκτέλεσηαρχείου
∆ιαγραφή, δηµιουργία αρχείων
Αλλαγήαρχείου. ΟΧΙδιαγραφή
Περιεχόµενακαταλόγου
Ανάγνωση, αντιγραφή
![Page 20: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/20.jpg)
20
Εντολή ls (-d, -R, -t)
Μόνο για τον κατάλογο (-d)
Ταξινόµηση µε βάση τελευταία µεταβολή (-t)
Αναδροµική εκτύπωση υποκαταλόγων (-R)
![Page 21: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/21.jpg)
21
Εντολές pwd, cd, mkdir, rmdir
rmdir -r (όχι για καταλόγους)
Μονοπάτι τρέχοντος καταλόγου
Έξτρα σύµβολα στο τέλος ονόµατος (-F)
![Page 22: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/22.jpg)
22
Εντολές cp (-i, -r), mv (-i), rm (-i, -r, -f)
rm -f (διαγραφή χωρίς ερώτηση – λιγότερο ισχυρό από το -i)
Αναδροµική αντιγραφή (-r)
Αν υπάρχει, επιβεβαίωση (-i)
Αν υπάρχει, επιβεβαίωση (-i)
Αναδροµική διαγραφή (-r)
![Page 23: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/23.jpg)
23
Κειµενογράφος vi
vi filename
Οδηγίες χρήσης στο βιβλίο(Kernighan & Pike) και στο Web
![Page 24: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/24.jpg)
24
Εντολές cat (-n), lpr (-P), emacs
Εµφάνισε και αριθµούς γραµµών (-n)
![Page 25: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/25.jpg)
25
Επεξεργασία Αρχείων
Αλλαγή δικαιωµάτων προστασίας αρχείωνκαι καταλόγωνchmod
Σύγκριση 2 αρχείωνcmp
Εµφάνιση διαφορών 2 αρχείων κειµένουdiff
∆ηµιουργία συνδέσµωνln
Εµφάνιση τελευταίων κ γραµµών.tailΕµφάνιση πρώτων κ γραµµώνhead
Παρουσίαση συγκεκριµένων τµηµάτωνγραµµών αρχείουcut
Χρονική ενηµέρωση αρχείου/ καταλόγουtouchΤαξινόµηση αρχείουsortΛεξικο-στατιστικά αρχείουwc
Εµφάνιση συγκεκριµένου περιεχοµένου σεαρχείοgrepΣταδιακή εµφάνιση περιεχοµένουmore
![Page 26: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/26.jpg)
26
Εντολή chmod (-R)
Αφαίρεσε ανάγνωση από υπόλοιπουςΠρόσθεσε εγγραφή, εκτέλεσησε οµάδα
Αναδροµικά στον κατάλογο (-R)
![Page 27: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/27.jpg)
27
Θέµα εξέτασης
Σαν owner, µπορώ. Αλλιώς όχι.
∆εν έχει δικαίωµα ανάγνωσης
![Page 28: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/28.jpg)
28
Εντολή more
![Page 29: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/29.jpg)
29
Εντολές grep (-n, -i, -v), wc (-l, -w, -c)
Τύπωσε # γραµµής
Αγνόησεκεφαλαία-µικρά
Όλες τις γραµµές ΕΚΤΟΣαπό όσες ταιριάζουν
# Γραµµές, λέξεις, χαρακτήρες
Μόνο # λέξεωνΜόνο # γραµµών
Μόνο # χαρακτήρων
Γραµµές που περιέχουν 6000
![Page 30: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/30.jpg)
30
Εντολή sort
Ταξινόµηση (ανάγραµµή, σαν κείµενο)
Με βάση 2η στήλη, σαν κείµενο
Με βάση 2η στήλη,
Αριθµητική (-n),
Αντίστροφη (-r)
>sort -k 2 example.txt
>sort -r -n -k 2 example.txt
![Page 31: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/31.jpg)
31
Εντολές touch, ln (-s)Αν υπάρχει ήδη, άλλαξε χρόνοτροποποίησης. Αλλιώς δηµιούργησε
Σκληρός σύνδεσµος
Συµβολικός Σύνδεσµος (-s)
∆ε σβήνει ούτε το .bashrcούτε το /etc/group
![Page 32: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/32.jpg)
32
Εντολή ln (συνέχεια)
Ίδιο inode
![Page 33: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/33.jpg)
33
Σκληροί και Συµβολικοί Σύνδεσµοι
∆ιαγραφή ∆ΕΝεπηρεάζει αρχικόαρχείο
Αρχείο σβήνεταιόταν ΟΛΟΙ οι δείκτεςσε αυτό σβηστούν
Αλλαγές σε σύνδεσµοή αρχικό αρχείοεπηρεάζουν και τα 2
Αλλαγές σεσύνδεσµο ή αρχικόαρχείο επηρεάζουνκαι τα 2
Μετονοµασία αρχικούαρχείου “σπάει” τοσύνδεσµο
Μετονοµασίααρχικού αρχείου δεδηµιουργεί πρόβληµα
Εφαρµόζεται σεκαταλόγους
∆εν εφαρµόζεται σεκαταλόγους
Αντιγράφει µονοπάτιαρχείου ΜΟΝΟ
∆είκτης σε κοινόαρχείο
ΣυµβολικοίΣκληροί
![Page 34: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/34.jpg)
Θέµα Εξέτασης
![Page 35: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/35.jpg)
35
Θέµα Εξέτασης
Ο adeli (επόµενη σελ.) φτιάχνει συνδέσµους σε αρχείατου spro (παραπάνω). Πρέπει να σβήσουν όλοι οι δείκτεςσε 1 αρχείο για να διαγραφεί αυτό. Όλα καλά αν ο adeliέχει ‘x’ στον ~spro/popo και ‘w’ στον δικό του. Ο sproδιαγράφει µε ‘wx’ στο ~adeli/popo.
1.
Ιδιοκτήτης, αλλά όχι ‘w’στο κατάλογο
4.
7.
![Page 36: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/36.jpg)
Θέµα Εξέτασης
Katv
2. Όλα ΟΚ
3.
5.
6.
![Page 37: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/37.jpg)
37
Έντολή cut (-f, -d)
-f (επιλογή στηλών που θέλουµε)-d (διαχωριστικό στηλών – αν δεν οριστείείναι το tab ‘\t’)
Αν δυνατότητες της cut δεν είναι επαρκείς, τότε γλώσσες awk, perl, python, ruby…
![Page 38: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/38.jpg)
38
Εντολές cmp, diff, head (-n), tail (-n)
Αν διέφεραν, θα τύπωνε1ο σηµείο διαφοράς
Χωρίς όρισµα, πρώτες 10 γραµµές
Πρώτες 2 γραµµές (-n)
![Page 39: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/39.jpg)
39
Λοιπές Εντολές: echo (-n), date, passwd, hostname, whoami, lpq (-P), lprm (-P)
Με αλλαγή γραµµής
Όνοµα µηχανήµατος
Κατάσταση ουράς εκτυπωτή
Χωρίς αλλαγήγραµµής
∆ιαγραφή εργασίας εκτύπωσης
![Page 40: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/40.jpg)
40
Κέλυφος C (csh ή tcsh)
Συχνά το κέλυφος αρχικής σύνδεσης (bash στο Linux)Η εντολή logout αποσυνδέει το χρήστηΜε csh (tcsh) δηµιουργείται νεό κέλυφος CΗ εντολή exit τερµατίζει ένα κέλυφος CTo ~ συµβολίζει τον κατάλογο αφετηρίαςΚατά την ενεργοποίηση εκτελείται το~/.cshrcΚατά την αρχική σύνδεση εκτελείται το~/.loginΚατά την διακοπή της σύνδεσης εκτελείταιτο ~/.logout
![Page 41: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/41.jpg)
41
Κέλυφος C (συνέχεια)
Προκαθορισµένη είσοδος stdin(πληκτρολόγιο)Προκαθορισµένη έξοδος stdout (οθόνη) Προκαθορισµένη έξοδος διαγνωστικώνσφαλµάτων stderr (οθόνη)
Για ορισµένες εντολές (cat, lpr, grep, wc, sort, head, tail κτλ) τα ορίσµατα τωναρχείων είναι προαιρετικά
Αν παραλειφθούν χρησιµοποιείται το stdin
Τέλος εισόδου για εντολή
![Page 42: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/42.jpg)
42
Ανακατευθύνσεις
Ηµεροµηνία στο a_file
Το > δεν γράφει σε υπάρχον αρχείο σεκάποια UNIX συστήµατα
Είσοδος από το .screenrc
Το >! οµως ναι
Ανακατεύθυνση stdout και stderr
Γράψε πάνω στο αρχείο
ΠΡΟΣΟΧΗ: Για να προστατέψετε τα υπάρχοντααρχεία σε συστήµατα όπου η συµπεριφορά είναιδιαφορετική, γράψτε: set noclobberγια να µην γράφει σε υπάρχοντα αρχεία.
![Page 43: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/43.jpg)
43
Ανακατευθύνσεις µεπροσάρτηση
Γράψε έξοδο του date στο ΤΕΛΟΣ του c_file
Γράψε µε έµφαση στο c_fileτα στατιστικά του .bashrc
Προσάρτηση stdout και stderr
Τύπωσε ταξινοµηµένες τις τελευταίες 5 γραµµέςτου .bashrc
![Page 44: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/44.jpg)
44
Ανακατευθύνσεις
1) Για ανακατεύθυνση stdout and stderr σεδιαφορετικά αρχεία:
(command > stdout_file) >& stderr_file
1) Για ανακατεύθυνση µόνο stderr
sh –c ’command 2> stderr_file’mema@bowser> mema@bowser> more bllbll: No such file or directorymema@bowser> more balheymema@bowser> (cat bll bal > outFile) >& errFilemema@bowser> more outFileheymema@bowser> more errFilecat: bll: No such file or directorymema@bowser> sh -c 'cat bll bal 2> errFile2'heybowser.eecs.harvard.edu> more errFile2cat: bll: No such file or directorybowser.eecs.harvard.edu>
![Page 45: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/45.jpg)
45
Ακολουθίες και ΟµάδεςΕντολών (;)
Με παρένθεση παραµένουµεστον ίδιο κατάλογο που δώσαµετις εντολές
Με παρένθεση
![Page 46: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/46.jpg)
46
Εντολή umask
ΠΡΟΣΟΧΗ: Ο αριθµός της umaskδείχνει ποια δικαιώµατα ∆ΕΝθέλουµε να δίνουµεΣυγκρίνετε µε chmod
022: Όχι εγγραφή σε οµάδα, υπόλοιπους
077: Όλα κοµµένα σε οµάδα, υπόλοιπους
![Page 47: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/47.jpg)
47
Μεταχαρακτήρες
cd
cd
![Page 48: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/48.jpg)
48
ΜεταβλητέςΠεριβάλλοντος καιΜεταβλητές κελύφους
setenv displays/sets all environment (i.e., global) variables usable by any program.Αν θέλουµε όλα τα προγράµµαταπου τρέχουµε από µέσα από τοκέλυφος να έχουν πρόσβαση σεκάποιες µεταβλητές τότε τιςκαθορίζουµε µε setenv.
set displays/sets properties specific to the shell
e.g., prompt, path, etc.
![Page 49: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/49.jpg)
49
Μεταβλητές Περιβάλλοντος(setenv, unsetenv)
Τελευταίες 5 ορισµένες µεταβλητές
Ακύρωση εντολής
![Page 50: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/50.jpg)
50
Τοπικές ΜεταβλητέςΚελύφους C (set, unset)
∆ε χρειάζεται τώρα το !Αγνόησε το ^D ως logout
Μεταβλητές που ξεκινάνεαπό [i-t]
![Page 51: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/51.jpg)
51
Ιστορία εντολών
![Page 52: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/52.jpg)
52
Ψευδώνυµα Εντολών(alias, unalias)
Πάντα ερώτηση σε διαγραφή
Ακύρωση ψευδώνυµου
Για όταν ξεχνιέµαι (windows)
![Page 53: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/53.jpg)
53
∆ιαχείρηση ∆ιεργασιών
Στατιστικά διαχείρισης επεξεργαστή, µνήµης κτλ για προγράµµαταtop
Βάλε διεργασία να τρέχει στο προσκήνιο(foreground)fg
Βάλε διεργασία να τρέχει στο παρασκήνιο(background)bgΣκότωσε µια διεργασίαkillΕµφάνιση ενεργών διεργασιών που έχουν διακοπείjobs
Εµφάνιση κατάστασης τρέχουσωνδιεργασιώνps
![Page 54: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/54.jpg)
54
Εντολές ps (-u), jobs, kill (-9)
![Page 55: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/55.jpg)
55
Εντολές bg, fg
![Page 56: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/56.jpg)
56
Εντολή top
![Page 57: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/57.jpg)
57
Συµπίεση, αποσυµπίεσηαρχείωνΠολλά προγράµµατα (tar, zip, gzip, gunzip, zcat, uuencode…)
gzip compr.tar
gunzip compr.tar.gz
Συµπίεση των αρχείων Makefile *.c *.h καιτου καταλόγου experiments στο αρχείοcompr.tar:
tar cvf compr.tar Makefile *.c *.h experiments
Αποσυµπίεση µε:
tar xvf compr.tar
Σε .gz χρησιµοποιήστε gunzip
Σε .tgz χρησιµοποιήστε gunzip και µετά tar xvf
Σε .uue χρησιµοποιήστε uudecode
![Page 58: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/58.jpg)
58
Κι άλλες Εντολές
Μετατροπή χαρακτήρων σε αρχείαtr
Αναµονή για χρονικό διάστηµαsleepΚαθάρισµα οθόνηςclear
Καταγραφή αλληλεπίδρασης µεκέλυφος σε αρχείαscript
Εµφάνιση πρόσφατων συνδέσεωνχρηστώνlast
Ανεύρεση αρχείων ή καταλόγωνfind∆ιαγραφή στηλών από αρχείαcolrm
![Page 59: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/59.jpg)
59
Εντολές tr (-d), colrm
Τύπωσε στην οθόνη το/etc/resolv.conf αντικαθιστώντας τουςχαρακτήρες του 56789abc µε τουςαντίστοιχους από το 012345xyz
Όλα εκτός από τους χαρακτήρες…
Όλους τους χαρακτήρες σεστήλες 8-14
Όλoυς τους χαρακτήρες σεστήλες >= 15
tr: translate, squeeze, and/or delete characters from standard input, writing to standard output
![Page 60: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/60.jpg)
60
Εντολή find (-name, -exec)
Τύπωσε περιεχόµενα από τααρχεία (-exec την cat εντολή)
Τύπωσε πλήρες όνοµααρχείων (-print) και ταπεριεχόµενά τους
![Page 61: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/61.jpg)
61
Εντολές last (-n), script, sleep, clear
Κατέγραψε τα πάντα απόεδώ και πέρα στοmy_session
Επίσης µε ^D, τέλος καταγραφής
![Page 62: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/62.jpg)
62
Άλλα Χρήσιµα…
Ηλεκτρονικό ταχυδροµείοΠρογράµµατα mail ή pine
Μεταγλωτιστές της C gcc ή cc
![Page 63: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/63.jpg)
63
Makefiles
Οργάνωση µεταγλώττισης αρχείων
Στη µορφή:Στόχος: Απαιτούµενα
\t Εντολή
Προσοχή στο tab.
Τα Απαιτούµενα πρέπει να υλοποιηθούνπριν το Στόχο.
Αν τα Απαιτούµενα δεν έχουν αλλάξει, δενεκτελείται η εντολή
Συχνά ο Στόχος του εκτελέσιµουπρογράµµατος έχει το όνοµα all
Συχνά ο Στόχος clean διαγράφει ταπαραγόµενα εκτελέσιµα και *.o
![Page 64: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/64.jpg)
64
Παράδειγµα Makefile
Αν αλλάξει το kbd.c, υπολογίζεται τοkbd.o, και στη συνέχεια το edit
![Page 65: Κ24: ΠρογραµµατισµόςΣυστήµατοςcgi.di.uoa.gr/~mema/courses/k24/lectures/old/topic1... · 2009-03-08 · Linux bowser 2.6.24-23-generic #1 SMP Mon Jan 26](https://reader033.vdocuments.mx/reader033/viewer/2022060307/5f09e7c37e708231d42910e4/html5/thumbnails/65.jpg)
65
Παράδειγµα Makefile
OBJS = main.o iodat.o dorun.oLIB = /usr/lib/crtn.oCC = /usr/bin/gcc
program: ${OBJ} ${LIB} mylibops.a${CC} -o $@ ${OBJS} ${LIB} mylibops.a
main.o: main.c${CC} -c $?
iodat.o: iodat.c${CC} -c $?
dorun.o: dorun.c${CC} -c $?
mylibops.a: interact.o sched.o gen.oar r $@ $?
interact.o: interact.c${CC} -c $?
gen.o: gen.c${CC} -c $?
sched.o: sched.c${CC} -c $?
$? : current list of prerequisites$@: current target
tab