ברוכים הבאים למת"ם !

34
!םםםםםם םםםםם םםם"ם234122

Upload: floria

Post on 26-Jan-2016

55 views

Category:

Documents


1 download

DESCRIPTION

ברוכים הבאים למת"ם !. 234122. אדמיניסטרציה. מטרת הקורס: לימוד תכנון וכתיבת תוכניות מורכבות תוך שמוש בכלי פתוח תוכנה מתקדמים. אתר הבית: http://webcourse.cs.technion.ac.il/234122 האתר מכיל מידע רב וחשוב המתעדכן במהלך הסמסטר - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ברוכים הבאים למת"ם !

!ברוכים הבאים למת"ם

234122

Page 2: ברוכים הבאים למת"ם !

אדמיניסטרציה

:לימוד תכנון וכתיבת תוכניות מורכבות תוך שמוש מטרת הקורס בכלי פתוח תוכנה מתקדמים.

:אתר הבית http://webcourse.cs.technion.ac.il/234122 האתר מכיל מידע רב וחשוב המתעדכן במהלך הסמסטר

קבלתe-mail:בכדי להרשם לרשימת ה מהקורס e-mail של , להיכנס http://grades.cs.technion.ac.ilהקורס, יש להיכנס לאתר

Announcements ולוודא כי תחת "Settings/AutoUpdateללשונית Update מסומן "e-mail.

:תרגילי בית בנושאים 4 במהלך הסמסטר ינתנו תרגילי בית C – 5%הבאים:

ADT – 10%C-Shell – 5%

C++ - 10%

Page 3: ברוכים הבאים למת"ם !

אדמיניסטרציה

.לכל תרגיל ישנו מתרגל האחראי על התרגילבמידה ויהיו שאלות הנוגעות לתרגיל מסוים, יש

להפנותם למתרגל האחראי על התרגיל. התרגילים דורשים הרבה עבודה, מומלץ לעשותם

בזוגות.:יש להגיש עותק מודפס של הגשת תרגילי בית

תרגיל הבית לתא של הקורס, וגם לבצע הגשה ממוחשבת דרך אתר הקורס.

נקודות עבור 5הגשה באיחור תגרור הורדה של כל יום איחור.

Page 4: ברוכים הבאים למת"ם !

T2עבודה עם

-התרגילים נבדקים אוטומטית בT2 אשר הינו מחשב UNIX

:קיימות מס' אפשרויות עבודהFTP בעזרת תוכנת T2, להעביר ל-PCלפתח ב-–PC בתקשורת מרחוק, מ-T2לעבוד על ה-– בחווהLINUX: מחשבי UNIXלעבוד ישירות בסביבת –PC מ-UNIXלעבוד בסביבה דמויית –

Page 5: ברוכים הבאים למת"ם !

תקשורת מרחוק

Telnetיתרונות: פשוט מאוד, לא צריך להתקין כלום–חסרונות: לא גרפי, לא מאובטח–

SSHיתרונות: מאפשר הרצת תוכנות גרפיות, מאובטח– לצורך Exceed ושל SSHחסרונות: דורש התקנה )של –

לפעמים מאוד איטיתt2תוכנות גרפיות(, עבודה מול ה-התקנה והסברים - מהאתר של הפקולטה:

Computing Services -> Services -> software support -> SSH->

Exceed

Page 6: ברוכים הבאים למת"ם !

תקשורת מרחוק – המשך...

Go-Globalלא דורש התקנה SSH יתרונות: בנוסף ליתרונות של–

מיוחדת, נכנסים דרך אתר אינטרנט. לפעמים מאוד איטיתt2חסרונות: עבודה מול ה-–

http://www.technion.ac.il/GG/IPviewer.html

Page 7: ברוכים הבאים למת"ם !

UNIXעבודה ישירה בסביבת

בחווה ישנם מחשביLINUX עליהם מותקנים כל התוכנות אשר נדרשות לקורס מת"ם

קיים יועץ בחווה העוזר למשתמשים מתחילים-יתרון: עובדים על מחשב שאינו עמוס כמו הt2

t2בסביבה זהה ל-...חסרון: אי אפשר לעבוד מהבית

Page 8: ברוכים הבאים למת"ם !

UNIXסביבה דמויית

Cygwin סביבה דמויית – UNIX הרצה על windows

בבית ואין PCיתרונות: קלה להתקנה, עובדים על ה-–t2בעיות של עומס כמו על ה-

רגיל: UNIXחסרונות: ישנם מס' הבדלים מעבודה על –סיומות קבצים, תו שונה בסוף שורה וכו'.

www.cygwin.com

Page 9: ברוכים הבאים למת"ם !

UNIX

בסיסי

Page 10: ברוכים הבאים למת"ם !

Unixבסיסי

Unixהיא מערכת הפעלה בה נשתמש ב - t2 .תוכנית בשםshell מפרשת פקודות

שהמשתמש נותן למערכת העבודה מתבצעת בצורה טקסטואלית ולא

גרפית. -לאחר הכניסה לt2 יוצג prompt. prompt הנו

סימן שמשמעותו שהמחשב מוכן לבצע פקודה.

לאחר שהprompt מוצג ניתן לתת למחשב . Enterכל פקודה שהיא ואח"כ להקיש

המחשב יבצע את הפקודה , ולאחר שיסיים בכדי שנוכל לתת לו promptיציג שוב את ה

את הפקודה הבאה.

< cat file1this is thecontent of file1<cat file2ThisIs

file2<

Page 11: ברוכים הבאים למת"ם !

Unixמערכות הקבצים ב-

- קובץ בUnix הוא אוסף סדור של תוים. אין הגבלה על מה יכול או להיות ASCIIקובץ להכיל. קובץ יכול להכיל למשל טקסט ע"י תוי

קובץ הרצה. אין גם כמעט מגבלות על שמו של קובץ או אורכו. מלבד מספר תוים

שמורים כמו * & יכול שם קובץ להכיל כל צרוף של תוים. מקובל ששם קובץ הוא מהצורה

>name>.<extension< C - קובץ מקור בשפת test.cלמשל:

hello.o קובץ - objectשימו לב:

- בUnix אין מגבלה על אורך ה extension - בUnix לקובץ הרצה יכול להיות כל שם שהוא. )אין הכרח שתהיה

או דבר דומה(.exe.סיומת

Page 12: ברוכים הבאים למת"ם !

המשךUnix מערכות הקבצים ב-

Unix הנה מערכת מרובת משתמשים. לכל משתמש יש חשבון משלו במחשב. חשבון זה

מקנה מרחב מסוים על הדיסק שבו רק הוא יכול להשתמש.

-בUnix כמו ב , MS-DOS -ובWindows יש ,( שבהם ניתן לשמור קבצים Directoriesמדריכים )

מבנה המדריכים יכול Unixקרובים ביחד. ב- להראות כדלקמן:

Page 13: ברוכים הבאים למת"ם !

המשךUnix מערכות הקבצים ב-

,במערכת הנ"ל ישנם שני משתמשיםari -ו uri הם יכולים ליצור מדריכים .

עם אותם שמות המדריך העליון של כל משתמש נקרא

שלו. כאשר משתמש homeמדריך ה-נכנס לחשבון שלו, הוא נמצא במדריך

שלו.home ה ניתן לציין קבצים )או מדריכים( לפי

pathnames fullאו

relative pathnames

/ (root)

tmp bin usr

ari uri

progs progs

Hello.c

Page 14: ברוכים הבאים למת"ם !

פקודות לעבודה עם ספריות

pwdpwd

לראות באיזה מדריך הנך נמצא

cd <directory namecd <directory name<<

לעבור למדריך אחר

(:parent directoryלעבור למדריך מעל המדריך הנוכחי )

cd> )ללא פרמטרים(: home directoryלחזור ל

<pwd/usr/ari

>cd progs>pwd/usr/ari/progs

<cd.. <pwd

/usr/ari

Page 15: ברוכים הבאים למת"ם !

פקודות לעבודה עם ספריות - המשך

ls <directory namels <directory name<<

לראות את רשימת הקבצים במדריך. לדוגמא, לראות את הקבצים במדריך הנוכחי:

>ls

progs

:progsלראות את הקבצים בתת-מדריך > ls progs

hello

hello.c

Page 16: ברוכים הבאים למת"ם !

המשך פקודות לעבודה עם ספריות -

ניתן לראות את רשימת הקבצים באופן מפורט יותר:

> ls -aldrwxr-x--- 14 ari 1536 Aug 5 14:04 .drwxr-xr-x 48 root 1024 Aug 1 04:30 ..-rw------- 1 ari 2425 Mar 12 11:59 .login-rw-r--r-- 1 ari 2425 Mar 12 11:59 moshedrwx------ 2 ari 512 May 13 03:30 progs

התאריך האחרון הרשאותשהקובץ שונה

מס' בתיםשם הקובץ

בעל הקובץ

מס' לינקים

Page 17: ברוכים הבאים למת"ם !

המשך - פקודות לעבודה עם ספריות

mkdir <directory namemkdir <directory name<<

:docsליצור מדריך חדש. לדוגמא, ליצור מדריך בשם

rmdir <directory namermdir <directory name<<

:docsלמחוק מדריך. לדוגמא, למחוק את המדריך

ניתן למחוק מדריך רק אם הוא ריק.

> mkdir docs> lsdocs progs> ls docs>

> rmdir docs> lsprogs

Page 18: ברוכים הבאים למת"ם !

פקודות לעבודה עם קבצים וספריות

cp [cp [optionsoptions] ] file1 file2file1 file2cp [cp [optionsoptions] ] filefile11 file2… directory file2… directory

או העתקת אחד או יותר קבצים ל file2 ל file1העתקת directory אם קובץ היעד קיים, קובץ המקור נכתב עליו. אם ה .directory .אופציות: קיים, הקובץ נכתב בתוך המדריך

--ii .בקש אישור לפני מחיקת קובץ קיים--rr .העתק רקורסיבית מדריך עם כל קבציו ותת-המדריכים בו

<cp hello.c prog1.c <ls

hello.c prog1.c

<cp hello.c prog1.c progs <ls progs

hello.c prog1.c

<cp -r my-dir new-dir new-dir בשם my-dirיצירת עותק נוסף של המדריך :progs למדריך prog1.cו hello.c העתקת :prog1.cבשם hello.c יצירת עותק נוסף של

Page 19: ברוכים הבאים למת"ם !

פקודות לעבודה עם קבצים וספריות -המשך

rm [rm [optionsoptions] ] filesfiles מוחקתfile אחד או יותר. כדי למחוק קובץ צריכה להיות

הרשאת כתיבה למדריך בו נמצא הקובץ. אם אין הרשאת כתיבה לקובץ תתבקש לתת אישור למחיקה.

:אופציות-f .מחק קבצים בלי הרשאת כתיבה ללא אישור -i.בקש אישור לפני מחיקת כל קובץ -r אםfile הוא מדריך מחק אותו ואת כל תכולתו כולל

תת-מדריכים.אזהרה: פקודה זו יכולה להיות הרסנית.

הערה: אין עקרונית אפשרות לשחזר קבצים שנמחקו.Unixב -

>rm –rf *

Page 20: ברוכים הבאים למת"ם !

פקודות לעבודה עם קבצים וספריות -המשך

mv [mv [optionsoptions] ] sources targetsources target במערכת או נתינת שמות קבצים ומדריכיםמשמשת להעברה של

חדשים להם. האפשרויות הן:> mv old_file_name new_file_name

במידה וקובץ new_file_name משתנה ל old_file_nameשם הקובץ קיים במדריך הנוכחי, הקובץ הקיים נמחק new_file_nameבשם

(overwritten).> mv old_dir_name new_dir_name

במידה ומדריך new_dir_name משתנה ל old_dir_nameשם המדריך נהיה תת old_dir_name קיים במדריך הנוכחי, new_dir_nameבשם

! new_dir_nameמדריך של > mv file1 file2 … dir_name

.dir_name… מועברים למדריך file1, file2הקבצים :אופציות-i.בקש אישור לפני מחיקת קובץ קיים

Page 21: ברוכים הבאים למת"ם !

- פקודות לעבודה עם קבצים וספריותהמשך

mv [mv [optionsoptions] ] sources targetsources target

::דוגמאותדוגמאות

ל- hello.cלשנות את שמו של הקובץ prog2.c:

> mv hello.c prog2.c> lsprog2.c

> mv prog2.c progs> ls progshello.c prog1.c prog2.c

:progs ל מדריך prog2.cלהזיז את הקובץ

Page 22: ברוכים הבאים למת"ם !

הרשאות קבצים

לכל קובץ יש הרשאות שקובעות למי מותרת הגישה לקובץולצורך אילו פעולות. כאשר קובץ חדש נוצר רשום בו מי

יצר אותו והוא נקרא בעל הקובץ. סוגים של משתמשים העשויים לגשת לקובץ:3ישנם 1.User.בעל הקובץ - 2.Group.משתמש ששייך לקבוצה של בעל הקובץ - 3.Other.כל שאר המשתמשים במערכת שאינם בנ"ל - הרשאות שונות:3לכל סוג משתמש יש 1.Read.האם מותר לו לקרוא )להעתיק( את הקובץ - 2.Write.האם מותר לו לכתוב על )לשנות( את הקובץ - 3.Execute.האם מותר לו להריץ את הקובץ -

Page 23: ברוכים הבאים למת"ם !

הרשאות קבצים המשך

r w x r w x r w x

user group other

> ls -aldrwxr-x--- 14 ari 1536 Aug 5 14:04 .drwxr-xr-x 48 root 1024 Aug 1 04:30 ..-rw------- 1 ari 2425 Mar 12 11:59 .login-rw-r--r-- 1 ari 2425 Mar 12 11:59 moshedrwx------ 2 ari 512 May 13 03:30 progs

Page 24: ברוכים הבאים למת"ם !

שינוי הרשאות קבצים

chmod chmod mode filesmode filesmode הוא שרשור תוים של who, opcode ו permission. who ברירת המחדל היא( הוא אופציונלי a.)

Permissionr - Readw - Writex - Execute

Opcode+ - Add permission- - Remove permission= - Assign permission )and remove permission of the unspecified fields(.

Whou - Userg - Groupo - Othera – All

שיטה ראשונה:

>chmod u+x file

>chmod g-w,o-w file

>chmod =r file

>chmod u=rwx, g=rx, o=r file

--------- --x------rwxrwxrwx rwxr-xr-x

r--r--r--rwxr-xr--

Page 25: ברוכים הבאים למת"ם !

שינוי הרשאות קבצים

chmod chmod mode filesmode files

שיטה שנייה:>chmod 777 file>chmod 444 file

Page 26: ברוכים הבאים למת"ם !

הרשאות לספריות

גם לספריות ישנן הרשאות - הספריות בUnix מאפשרות לכל משתמש לבנות מערכת

homeקבצים היררכית בצורה של עץ. שורש העץ יהיה ה directory של כל משתמש. הענפים יהיו המדריכים השונים

והעלים יהיו הקבצים עצמם. - בUnix נשמר המידע על מדריך והקבצים המוכלים בו

בקבצים מיוחדים. למשל הקובץ המכיל את המידע על המדריך הנוכחי נקרא

"." והקובץ המכיל את המידע על מדריך האב נקרא "..".

Page 27: ברוכים הבאים למת"ם !

הרשאות לספריות המשך

Executeהרשאת כניסה לספרייה – Writeיצירת קבצים בספרייה – Readלראות את רשימת הקבצים –

> ls -aldrwxr-x--- 14 ari 1536 Aug 5 14:04 .drwxr-xr-x 48 root 1024 Aug 1 04:30 ..-rw------- 1 ari 2425 Mar 12 11:59 .logindrwx------ 2 ari 512 May 13 03:30 progs

מסמנת שזהו ספרייהdהאות

Page 28: ברוכים הבאים למת"ם !

הרשאות הנידרשות לביצוע פקודות לספריות

Executeהרשאת כניסה לספרייה – Writeיצירת קבצים בספרייה – Readלראות את רשימת הקבצים –

>cd [dir]

>mkdir directory

>rmdir directory

>ls

Page 29: ברוכים הבאים למת"ם !

Unixתוכנות ב-

דואר אלקטרוני–pine

עריכת קבצים–pico–emacs / xemacs–vim / gvim

Page 30: ברוכים הבאים למת"ם !

סקירת תוכן קבצים

הפקודהcat <cat file_1 file_2 … file_k

לפלט הסטנדרטיfile_1,file_2,…,file_kמדפיסה את תוכן הקבצים הפקודהhead [-n] [files]

מדפיסה רק מספר מהשורות הראשונות של קובץ. (.10 מהשורות הראשונות )ברירת המחדל היא n מאפשרת להדפיס n-האופציה

<head -20 phonephone השורות הראשונות בקובץ 20 את ידפיס

הפקודה tail [options] [files] מדפיסה רק מספר מהשורות האחרונות של קובץ

השורות האחרונות בקובץ )ברירת המחדל היא nמאפשרת להדפיס את n-האופציה - n ה החל מהשורה מאפשרת להדפיס את כל השורות האחרונות n+(. האופציה 10

ית בקובץ.

Page 31: ברוכים הבאים למת"ם !

שילוב תוכניות

נרצה להדפיס את השורות השניה והשלישית של קובץ בשםmyfile

יצרנו קובץ זמני בשםfirst3אשר נידרש למחקו אח"כ נראה דרך פשוטה יותר לביצוע משימה זו של הפניית פלט של תוכנית

– העברה pipeliningאחת לקלט של התוכנית הבאה ע"י שמוש ב ישירה של פלט של תוכנית אחת לקלט של תוכנית אחרת

> head –3 < myfile > first3> head –3 < myfile > first3> tail –2 < first3> tail –2 < first3

Page 32: ברוכים הבאים למת"ם !

פקודות שימושיות נוספות

more <file name>more <file name>

less <file name>less <file name>

man <command name>man <command name> לקרוא מידע מפורט על פקודה

להציג קובץ על המסך עם עצירה אחרי כל דף

>more prog2.c

>man ls>man man

Page 33: ברוכים הבאים למת"ם !

Pipelining

>program1> | <program2< program2 לוקחת כקלט את הפלט של program1 ניתן לבצע שרשור מסוג זה .

למספר תוכניות, כך שכל תוכנית לוקחת כקלט את הפלט של קודמתה, ומעבירה את הפלט שלה לבאה אחריה ברשימה

> cat myfile | head –3 | tail –> cat myfile | head –3 | tail –22

>ls>lsaaaaaa bbbbbb cccccc dddddd>ls | head –3>ls | head –3aaaaaabbbbbbcccccc

Page 34: ברוכים הבאים למת"ם !

teeהפקודה

tee [options] [files] לעיתים נרצה לשמור את הפלט אשר מוציאה פקודה הנמצאת באחד השלבים

piepelineהפנימיים של ה הפקודה משכפלת את כל מה שנכנס לקלט הסטנדרטי שלה ושולחת אותו הן

]files[לפלט הסטנדרטי והן לכל אחד מהקבצים ב

:לדוגמאאם בנוסף להצגת השורה השניה והשלישית נרצה לשמור את שלושת השורות

בשני קבצים שונים, נוכל לבצע :myfileהראשונות של הקובץ

:אופציות נוספות במקום מחיקתם.]files[ מאפשרת שרשור של הפלט לסוף הקבצים a-האופציה –

> head –3 myfile | tee file1 file2 | tail –2> head –3 myfile | tee file1 file2 | tail –2