Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Εισαγωγή στο UNIX και άλλα εργαλεία Pedro Trancoso Γιαννάκης Σαζεϊδης.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Εισαγωγή στο UNIX και άλλα εργαλεία Pedro Trancoso Γιαννάκης Σαζεϊδης."— Μεταγράφημα παρουσίασης:

1 Εισαγωγή στο UNIX και άλλα εργαλεία Pedro Trancoso Γιαννάκης Σαζεϊδης

2 UNIX Τι είναι; Γιατί UNIX;

3 UNIX Δημιούργησε στης αρχές του 70 από τα Bell Labs Παραλλαγές Unix: Linux, AIX, Solaris, Ultrix, Irix, Tru64, FreeBSD Χαρακτηριστικά: Πολλών χρηστών (multi-user) Πολλών εργασιών (multi-tasking)

4 Χρησιμοποίηση του συστήματος 1 User account: Username Password (αλλαγή του password με την εντολή passwd) Προσοχή!(1) Το UNIX είναι case-sensitive δηλαδή το username pedro είναι διαφορετικό από Pedro ή PEDRO Προσοχή!(2) Αλλάξτε password συχνά! Login και Logout logout, exit, CTRL-D

5 Χρησιμοποίηση του συστήματος 2 Shell (Κέλυφος) Είναι το πρόγραμμα που διαβάζει τις εντολές του χρήστη, τις ερμηνεύει και ξεκινά τα προγράμματα που θα τις εκτελέσουν Παραδείγματα: sh, csh, bash, tcsh Το X: περιβάλλον “windows” Ξεκινά με xinit Ανοίγεις “παράθυρα” με xterm&

6 Οργάνωση Αρχείων Δέντρο Ριζικός κατάλογος (root directory): “/” Κατάλογοι (directories) και υποκατάλογοι (sub-directories) Βασικές εντολές: pwd, ls, cd, mkdir, rm, cp, mv, cat, more Π.Χ.: ls –l Ειδικοί συμβολισμοί. Τρέχον κατάλογος (current dir)..Κατάλογος που περιέχει τον τρέχον (parent dir) ~Κατάλογος του χρήστη (user´s dir) Π.Χ.: cd../.., cd ~/RES Βοήθεια για τις εντολές: man εντολή

7 Προστασία αρχείων (File Protection) Αλλάξτε τις άδειες των κατάλογων και αρχείων: chmod Άδειες: r (διάβαση), w (γράψιμο), x (εκτέλεση) u (χρήστης), g (ομάδα), o (υπόλοιποι), a (όλοι) Π.Χ. χρηστής ομάδα τουάδειες μέγεθος ημερομηνία όνομα >ls –l -rw-r--r-- 1 pedro cs 13710 Apr 16:54 x.c -rw-r--r-- 1 pedro cs 68020 Aug 13:45 x.txt >chmod g+w x.c >ls –l x.c -rw-rw-r-- 1 pedro cs 13710 Apr 16:54 x.c

8 Επιμελητές Vi i (για εισόδου), ESC (για εντολές) Εντολές: h (αριστερά), l (δεξιά), j (κάτω), k (πάνω) Εντολές: :w (φύλαξη ), :q (έξοδο), Emacs Έχει μενού!

9 Δημιουργήσει Προγράμματα Βήματα:...Σκεφτείτε για την λύση του προβλήματος... Γράψτε τον πρόγραμμα σε γλώσσα προγραμματισμού “C”... χρησιμοποιώντας ή το vi ή to emacs Μεταφράστε τον πρόγραμμα χρησιμοποιώντας ένα μεταγλωττιστής όπως το cc ή το gcc >gcc –o hello hello.c Εκτελείστε τον πρόγραμμα >hello Hello World! >

10 Makefiles # # Makefile # CC = gcc CFLAGS = -O3 hello: hello.c $(CC) $(CFLAGS) -o hello hello.c

11 Makefiles (2) # # Makefile - simulator suite make file # CC = gcc OFLAGS = -O3 OEXT = o BINUTILS_INC = -I../include BINUTILS_LIB = -L../lib CFLAGS = $(OFLAGS) $(BINUTILS_INC) $(BINUTILS_LIB) SRCS = main.c sim-outorder.c memory.c regs.c cache.c \ resource.c endian.c misc.c power.c sgtty.c all: sim-outorder @echo "my work is done here..." sim-outorder: sim-outorder.$(OEXT) cache.$(OEXT) $(CC) -o sim-outorder $(CFLAGS) sim-outorder.$(OEXT) cache.$(OEXT) c.$(OEXT): $(CC) $(CFLAGS) -c $*.c

12 Shell Scripts #! /bin/csh set APP = hello set OUTPUT = hello.output echo "Running the program" $APP echo "Running the program and redirecting output" $APP > $OUTPUT echo "The End"

13 Shell Scripts (2) #! /bin/csh # # Variables # set SIM = sim-outorder set SIMOPS = "-cache:dl1 dl1:64:32:4:l" set APP = postgres set OUTDIR = /local/pedro/results set APPX = (q3 q6 q12) set APPINPUT = (Q3.sql Q6.sql Q12.sql) @ i = 1 while ($i <= $#APPX) $SIM $SIMOPS $APP $APPINPUT[$i] >& $OUTDIR/$APPX[$i].out @ i++ end $SIM $SIMOPS $APP Q3.sql >& $OUTDIR/q3.out $SIM $SIMOPS $APP Q6.sql >& $OUTDIR/q6.out $SIM $SIMOPS $APP Q12.sql >& $OUTDIR/q12.out

14 Perl #!/usr/bin/perl open(INFILE, "w01.out"); while (defined($line = )) { if ($line =~ /^sim_num_insn/) { @part = split(/[ ]+/, $line); $data = @part[1]; } print "sim_num_insn = ". $data. "\n"; #!/usr/bin/perl open(INFILE, $ARGV[0]); …

15 Perl (2) #!/usr/bin/perl $path = "."; @tokens = (icache_power, dcache_power, clock_power, sim_num_insn); while (defined($file = )) { open(INFILE, $file); while (defined($line = )) { for ( $x = 0; $x <= $#tokens; $x++ ) { if ($line =~ /^@tokens[$x]/) { @part = split(/[ ]+/, $line); @data[$x] = @part[1]; } # output results print $file. “\n“; for ( $x = 0; $x <= $#tokens; $x++ ) { print " ". @data[$x]; } print "\n"; }

16 Bibliography Links http://www.cs.ucy.ac.cy/~epl605 Documentation http://www.rice.edu/IT/help/documents/ Makefile http://www.cs.indiana.edu/classes/c304/Makefiles.html Shell Scripts http://www.eng.hawaii.edu/Tutor/csh.html Perl http://archive.ncsa.uiuc.edu/General/Training/PerlIntro/


Κατέβασμα ppt "Εισαγωγή στο UNIX και άλλα εργαλεία Pedro Trancoso Γιαννάκης Σαζεϊδης."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google