cf6707fc070cfbefe53b11fd26dd2df0.ppt
- Количество слайдов: 38
ברוכים הבאים למת"ם! 221432
אדמיניסטרציה l l מטרת הקורס: לימוד תכנון וכתיבת תוכניות מורכבות תוך שמוש בכלי פתוח תוכנה מתקדמים. אתר הבית: 221432/ http: //webcourse. cs. technion. ac. il האתר מכיל מידע רב וחשוב המתעדכן במהלך הסמסטר קבלת e-mail מהקורס: בכדי להרשם לרשימת ה e-mail של הקורס, יש להיכנס לאתר , http: //grades. cs. technion. ac. il להיכנס ללשונית Settings/Auto. Update ולוודא כי תחת " "Announcements Update מסומן . e-mail תרגילי בית: במהלך הסמסטר ינתנו 4 תרגילי בית בנושאים 5% – C הבאים: 10% – ADT 5% – C-Shell ++ 10% - C
אדמיניסטרציה l l לכל תרגיל ישנו מתרגל האחראי על התרגיל. במידה ויהיו שאלות הנוגעות לתרגיל מסוים, יש להפנותם למתרגל האחראי על התרגילים דורשים הרבה עבודה, מומלץ לעשותם בזוגות. הגשת תרגילי בית: יש להגיש עותק מודפס של תרגיל הבית לתא של הקורס, וגם לבצע הגשה ממוחשבת דרך אתר הקורס. הגשה באיחור תגרור הורדה של 5 נקודות עבור כל יום איחור.
עבודה עם 2 T l l התרגילים נבדקים אוטומטית ב-2 T אשר הינו מחשב UNIX קיימות מס' אפשרויות עבודה: – – לפתח ב- , PC להעביר ל-2 T בעזרת תוכנת FTP לעבוד על ה-2 T בתקשורת מרחוק, מ- PC לעבוד ישירות בסביבת : UNIX מחשבי LINUX בחווה לעבוד בסביבה דמויית UNIX מ- PC
תקשורת מרחוק l Telnet – – l יתרונות: פשוט מאוד, לא צריך להתקין כלום חסרונות: לא גרפי, לא מאובטח SSH – יתרונות: מאפשר הרצת תוכנות גרפיות, מאובטח – חסרונות: דורש התקנה )של SSH ושל Exceed לצורך תוכנות גרפיות(, עבודה מול ה-2 t לפעמים מאוד איטית התקנה והסברים - מהאתר של הפקולטה: Computing Services -> software support -> SSH -> Exceed
תקשורת מרחוק – המשך. . . l Go-Global – – יתרונות: בנוסף ליתרונות של SSH לא דורש התקנה מיוחדת, נכנסים דרך אתר אינטרנט. חסרונות: עבודה מול ה-2 t לפעמים מאוד איטית http: //www. technion. ac. il/GG/IPviewer. html
עבודה ישירה בסביבת UNIX l l בחווה ישנם מחשבי LINUX עליהם מותקנים כל התוכנות אשר נדרשות לקורס מת"ם קיים יועץ בחווה העוזר למשתמשים מתחילים יתרון: עובדים על מחשב שאינו עמוס כמו ה-2 t בסביבה זהה ל-2 t חסרון: אי אפשר לעבוד מהבית. . .
סביבה דמויית UNIX l – Cygwin סביבה דמויית UNIX הרצה על windows – – יתרונות: קלה להתקנה, עובדים על ה- PC בבית ואין בעיות של עומס כמו על ה-2 t חסרונות: ישנם מס' הבדלים מעבודה על UNIX רגיל: סיומות קבצים, תו שונה בסוף שורה וכו'. www. cygwin. com
UNIX בסיסי
Unix בסיסי l l l Unix היא מערכת הפעלה בה נשתמש ב- 2 . t 1 > cat file תוכנית בשם shell מפרשת פקודות שהמשתמש this is the נותן למערכת 1 content of file 2 >cat file העבודה מתבצעת בצורה טקסטואלית ולא גרפית. This לאחר הכניסה ל-2 t יוצג prompt הנו Is סימן שמשמעותו שהמחשב מוכן לבצע פקודה. 2 file > לאחר שה prompt מוצג ניתן לתת למחשב כל פקודה שהיא ואח"כ להקיש . Enter המחשב יבצע את הפקודה , ולאחר שיסיים יציג שוב את ה prompt בכדי שנוכל לתת לו את הפקודה הבאה.
מערכות הקבצים ב- Unix l קובץ ב - Unix הוא אוסף סדור של תוים. אין הגבלה על מה יכול קובץ להכיל. קובץ יכול להכיל למשל טקסט ע"י תוי ASCII או להיות קובץ הרצה. l אין גם כמעט מגבלות על שמו של קובץ או אורכו. מלבד מספר תוים שמורים כמו * & יכול שם קובץ להכיל כל צרוף של תוים. מקובל ששם קובץ הוא מהצורה > <name>. <extension למשל: - test. c קובץ מקור בשפת C - hello. o קובץ object שימו לב: l ב - Unix אין מגבלה על אורך ה extension l ב - Unix לקובץ הרצה יכול להיות כל שם שהוא. )אין הכרח שתהיה סיומת . exe או דבר דומה(.
מערכות הקבצים ב- Unix המשך l l Unix הנה מערכת מרובת משתמשים. לכל משתמש יש חשבון משלו במחשב. חשבון זה מקנה מרחב מסוים על הדיסק שבו רק הוא יכול להשתמש. ב- , Unix כמו ב MS-DOS וב- , Windows יש מדריכים ) (Directories שבהם ניתן לשמור קבצים קרובים ביחד. ב- Unix מבנה המדריכים יכול להראות כדלקמן:
מערכות הקבצים ב- Unix המשך l l l במערכת הנ"ל ישנם שני משתמשים, ari ו- . uri הם יכולים ליצור מדריכים עם אותם שמות המדריך העליון של כל משתמש נקרא מדריך ה- home שלו. כאשר משתמש נכנס לחשבון שלו, הוא נמצא במדריך ה home שלו. ניתן לציין קבצים )או מדריכים( לפי full pathnames או relative pathnames Hello. c
פקודות לעבודה עם ספריות pwd לראות באיזה מדריך הנך נמצא >pwd /usr/ari > cd <directory name לעבור למדריך אחר >cd progs >pwd /usr/ari/progs לעבור למדריך מעל המדריך הנוכחי ) : (parent directory לחזור ל ) : home directory ללא פרמטרים( >cd . . > cd >pwd /usr/ari
פקודות לעבודה עם ספריות - המשך > ls <directory name לראות את רשימת הקבצים במדריך. לדוגמא, לראות את הקבצים במדריך הנוכחי: >ls progs לראות את הקבצים בתת-מדריך : progs > ls progs hello. c
פקודות לעבודה עם ספריות - המשך ניתן לראות את רשימת הקבצים באופן מפורט יותר: שם הקובץ . . login moshe progs מס' בתים 40: 41 5 1536 Aug 03: 40 1 1024 Aug 95: 11 21 2425 Mar 215 03: 30 31 May התאריך האחרון שהקובץ שונה ari root ari ari מס' לינקים 41 84 1 1 2 בעל הקובץ > ls -al -- drwxr-xr-x ------ -rw - -rw-r--r ----- drwx הרשאות
פקודות לעבודה עם ספריות - המשך > mkdir <directory name ליצור מדריך חדש. לדוגמא, ליצור מדריך בשם : docs > mkdir docs > ls docs progs > ls docs > > rmdir <directory name למחוק מדריך. לדוגמא, למחוק את המדריך : docs > rmdir docs > ls progs ניתן למחוק מדריך רק אם הוא ריק.
פקודות לעבודה עם קבצים וספריות 2 cp [options] file 1 file 2… directory העתקת 1 file ל 2 file או העתקת אחד או יותר קבצים ל . directory אם קובץ היעד קיים, קובץ המקור נכתב עליו. אם ה directory קיים, הקובץ נכתב בתוך המדריך. אופציות: -i בקש אישור לפני מחיקת קובץ קיים. -r העתק רקורסיבית מדריך עם כל קבציו ותת-המדריכים בו. יצירת עותק נוסףו של my-dir hello. c בשם: new-dir המדריך בשם : prog 1. c העתקת prog 1. c hello. c למדריך progs > cp -r my-dir new-dir > cp hello. c prog 1. c progs prog 1. c > ls progs hello. c prog 1. c
פקודות לעבודה עם קבצים וספריות - המשך rm [options] files l מוחקת file אחד או יותר. כדי למחוק קובץ צריכה להיות הרשאת כתיבה למדריך בו נמצא הקובץ. אם אין הרשאת כתיבה לקובץ תתבקש לתת אישור למחיקה. l אופציות: -f מחק קבצים בלי הרשאת כתיבה ללא אישור. -i בקש אישור לפני מחיקת כל קובץ. -r אם file הוא מדריך מחק אותו ואת כל תכולתו כולל תת- מדריכים. אזהרה: פקודה זו יכולה להיות הרסנית. * >rm –rf הערה: ב - Unix אין עקרונית אפשרות לשחזר קבצים שנמחקו.
פקודות לעבודה עם קבצים וספריות - המשך mv [options] sources target משמשת להעברה של קבצים ומדריכים במערכת או נתינת שמות חדשים להם. האפשרויות הן: > mv old_file_name new_file_name שם הקובץ old_file_name משתנה ל new_file_name במידה וקובץ בשם new_file_name קיים במדריך הנוכחי, הקובץ הקיים נמחק ). (overwritten > mv old_dir_name new_dir_name שם המדריך old_dir_name משתנה ל new_dir_name במידה ומדריך בשם new_dir_name קיים במדריך הנוכחי, old_dir_name נהיה תת מדריך של ! new_dir_name > mv file 1 file 2 … dir_name הקבצים 2 …file 1, file מועברים למדריך . dir_name l אופציות: -i בקש אישור לפני מחיקת קובץ קיים.
פקודות לעבודה עם קבצים וספריות - המשך mv [options] sources target : דוגמאות : progs להזיז את שמו של הקובץ ל מדריך : prog 2. c - ל hello. c prog 2. c לשנות אתהקובץ > mv prog 2. c progs > mv hello. c prog 2. c > ls progs > ls hello. c prog 2. cprog 1. c prog 2. c
הרשאות קבצים l l l לכל קובץ יש הרשאות שקובעות למי מותרת הגישה לקובץ ולצורך אילו פעולות. כאשר קובץ חדש נוצר רשום בו מי יצר אותו והוא נקרא בעל הקובץ. ישנם 3 סוגים של משתמשים העשויים לגשת לקובץ: 1. - User בעל הקובץ. 2. - Group משתמש ששייך לקבוצה של בעל הקובץ. 3. - Other כל שאר המשתמשים במערכת שאינם בנ"ל. לכל סוג משתמש יש 3 הרשאות שונות: 1. - Read האם מותר לו לקרוא )להעתיק( את הקובץ. 2. - Write האם מותר לו לכתוב על )לשנות( את הקובץ. 3. - Execute האם מותר לו להריץ את הקובץ.
הרשאות קבצים המשך r w x > ls -al drwxr-x--drwxr-xr-x -rw-------rw-r--r-drwx------ 14 48 1 1 2 user ari root ari ari 1536 1024 2425 512 group Aug 5 14: 04 Aug 1 04: 30 Mar 12 11: 59 May 13 03: 30 other . . login moshe progs
שינוי הרשאות קבצים chmod mode files : שיטה ראשונה . (a הוא אופציונלי )ברירת המחדל היא who. permission ו opcode , who הוא שרשור תוים של mode Who u - User g - Group o - Other a – All Opcode + - Add permission - - Remove permission = - Assign permission (and remove permission of the unspecified fields). >chmod u+x file >chmod g-w, o-w file >chmod =r file ----rwxrwxrwx >chmod u=rwx, g=rx, o=r file Permission r - Read w - Write x - Execute --x-----rwxr-xr-x r--r--r-rwxr-xr--
שינוי הרשאות קבצים chmod mode files : שיטה שנייה >chmod 777 file >chmod 444 file
הרשאות לספריות l l גם לספריות ישנן הרשאות הספריות ב - Unix מאפשרות לכל משתמש לבנות מערכת קבצים היררכית בצורה של עץ. שורש העץ יהיה ה home directory של כל משתמש. הענפים יהיו המדריכים השונים והעלים יהיו הקבצים עצמם. ב - Unix נשמר המידע על מדריך והקבצים המוכלים בו בקבצים מיוחדים. למשל הקובץ המכיל את המידע על המדריך הנוכחי נקרא ". " והקובץ המכיל את המידע על מדריך האב נקרא ".
הרשאות לספריות המשך l l l – Execute הרשאת כניסה לספרייה – Write יצירת קבצים בספרייה – Read לראות את רשימת הקבצים . 40: 41 5 Aug . . 03: 40 1 Aug Mar 12 11: 59. login May 13 03: 30 progs > ls -al 6351 drwxr-x--- 14 ari 4201 drwxr-xr-x 48 root 5242 -rw------- 1 ari 215 drwx------ 2 ari האות d מסמנת שזהו ספרייה
הרשאות הנידרשות לביצוע פקודות לספריות l l l – Execute הרשאת כניסה לספרייה – Write יצירת קבצים בספרייה – Read לראות את רשימת הקבצים ] >cd [dir >mkdir directory >rmdir directory >ls
פקודות שימושיות נוספות > cat <file name להציג קובץ על המסך >cat prog 2. c להציג קובץ על המסך עם עצירה אחרי כל דף > more <file name > less <file name >more prog 2. c > man <command name לקרוא מידע מפורט על פקודה >man ls >man להדפיס קובץ למדפסת מסויימת > lpr –P<printer> <filename >lpr –Pptr prog 2. c
Unix- תוכנות ב דואר אלקטרוני pine – עריכת קבצים pico emacs / xemacs vim / gvim l – – – l
Unix- ראשונה ב C תוכנית #include <stdio. h> int main() { printf ("Hello world n"); return 0; } >gcc hello. c –o hello >. /hello Hello world > : hello. c הקובץ : hello. c הידור )קימפול( הקובץ : hello הרצת קובץ ההרצה
>. /hello Hello world > תוכנית C ראשונה ב- Unix • הסימן "/. " שמופיע לפני שם קובץ ההרצה בא לציין את העובדה שאנו מריצים קובץ מהספרייה הנוכחית שלנו • אם כותבים שם של קובץ הרצה, ה- shell יבדוק האם הקובץ נמצא בקבוצה של ספריות שהוגדרו במיוחד, ויריץ אותו משם • ניתן לראות את רשימת הספריות הללו באמצעות הפקודה > echo $path כדי להוסיף ספרייה לרשימה, משתמשים בפקודה ) > set $path=($path new. Directory ). > set $path=($path וכדי להוסיף את הספרייה הנוכחית הסבר מפורט יותר בנושא יילמד בפרק העוסק ב- C-Shell
שימוש במהדר gcc l l l >. gcc <file name הקומפיילר בו נשתמש הנו קומפיילר gcc המותקן על 2. T אם איו שגיאות נוצר קובץ הרצה בשם . a. out לדוגמא, לקמפל את הקובץ : file. c > gcc file. c > -o <destination name מאלץ את המהדר לקרוא לקובץ בשם אחר > gcc file. c -o my_prog ניתן גם ליצור קובץ הרצה אחד ממספר קבצי מקור: > gcc file 1. c file 2. c file 3. c -o my_prog לפרטים נוספים - הקלידו . man gcc
העברת קבצים בין מחשבים - ftp l l l - File Transfer Protocol - ftp תוכנית שמאפשרת העברת קבצים מהירה בין מחשבים באתרים שונים על אותה רשת. בעזרת פקודת ftp ניתן להעביר קבצים ממחשב PC לחשבונכם ב-2 t הפעלת ftp טקסטואלי ftp – SSH Secure Shell גרפי ftp: //t 2. technion. ac. il
Debugging l l debugging הוא התהליך של ניפוי שגיאות שניתגלו בתוכנית למרות שרצוי שתהליך ניפוי השגיאות יהיה מדעי ומסודר ככל האפשר הוא עדיין ברובו אומנות )שנרכשת בזיעה רבה(. בעבר היו שמים הדפסות רבות בקוד במקומות שונים בניסיון "לתפוס" את השגיאה. שיטה זו מסורבלת, דורשת כתיבת קוד נוסף שאינו נחוץ לאחר מכן, ושיש צורך לעדכונו עם כל שינוי. השיטה העדיפה היא שימוש בכלי ייעודי למטרה זו - . debugger
Debugging המשך Debugger מאפשר: 1( קביעת נקודות עצירה בתוך התוכנית. 2( הרצה מבוקרת של התוכנית. 3( בדיקת ערכי משתנים. 4( מציאת מקום ה"המראה" של תוכנית שעפה. פעולות אלו ועוד רבות נוספות יסייעו במציאת שגיאות בתוכנית.
המשך Debugging Unix טקסטואלי debugger – gdb – גרפי debugger – ddd – l
דוגמא למציאת שגיאה
cf6707fc070cfbefe53b11fd26dd2df0.ppt