49
לללללל1 לללללללללללל ללללל ללt2 - ללללל לללללל לUnix - ללללל לללללל לUnix, gcc

תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

  • View
    266

  • Download
    6

Embed Size (px)

Citation preview

Page 1: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

1תירגול אדמיניסטרציה

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

UnixUnix, gccתכנית ראשונה ב-

Page 2: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

234122

Page 3: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

מטרת הקורס

לימוד שיטות וכלים בסיסיים בפיתוח תוכנה•

המשך של מבוא למדעי במחשב, שם לומדים •לכתוב תוכניות קטנות

במת''ם מדובר בפיתוח של תוכנה גדולה•שיטות וכלים בסיסיים לפיתוח תוכנה–

3

Page 4: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

אתר הבית: •http://webcourse.cs.technion.ac.il/234122

האתר מכיל מידע רב וחשוב המתעדכן במהלך הסמסטר.

מהקורס: בכדי להירשם לרשימת e-mailקבלת • של הקורס, יש להיכנס לאתר e-mailה

http://grades.cs.technion.ac.il להיכנס , ולוודא כי תחת Settings/AutoUpdateללשונית

"Announcements Update מסומן "e-mail.

4

Page 5: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

של הקורסe-mailקבלת

5

Page 6: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

תרגילי בית

במהלך הסמסטר יינתנו ארבעה תרגילי בית בנושאים •הבאים:

–C – 5%–ADT – 10%–C-Shell – 5%–C++ -10%

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

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

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

6

Page 7: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

תרגילי בית

תרגילי הבית בזוגות : התרגילים דורשים הרבה •עבודה, מומלץ לעשותם בזוגות.

רשימת מחפשי שותף מופיעה באתר הקורס–כל סמסטר מספר אנשים נעזבים על ידי השותפים –

שלהם באמצע התרגילים. תשמרו על קשר טוב עם השותף שלכם – זה חלק מתהליך פיתוח התוכנה

סגל הקורס לא יטפל בבעיות בין שותפים ולא ייתן –שום הקלות לשותפים שנעזבו

7

Page 8: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

חיפוש שותף

8

Page 9: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

תרגילי בית

הגשת תרגילי בית: יש להגיש עותק מודפס של •תרגיל הבית לתא של הקורס, וגם לבצע הגשה

אלקטרונית דרך אתר הקורס.

במהלך העבודה על תרגילי הבית מומלץ לגבות •את הקבצים באופן שותף על כמה מחשבים –

זה חלק מהפיתוח תוכנה. לא יינתנו שום הקלות לסטודנטים שהקבצים שלהם

נמחקו/נהרסו מסיבה כלשהי.

9

Page 10: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

תרגילי בית

יש לשמור מספר האישור של ההגשה •האוטומטית. מומלץ גם לא למחוק את התיקייה

שמכילה את הקבצים שהוגשו עד לקבלת t2ב-הציון עבור התרגיל ולא לגעת בקבצים שהוגשו.

כל זה עשוי לעזור למקרה של בעיות עם ההגשה האלקטרונית.

10

Page 11: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

הגשה אלקטרונית

11

Page 12: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

t2עבודה עם

t2הבדיקה האוטומטית של התרגילים נעשית ב-•stud.technion.ac.ilהוא t2 השם האינטרנטי של•קיימות כמה אפשרויות עבודה:•

t2לפתח ב-–לפתח רוב הזמן במחשב אחר ורק את השלב הסופי של –

)שעלול לקחת הרבה מאוד זמן( –debuggingבדיקות ו. לצורך כך יש להעביר קבצים מהמחשב האחר -t2לעשות ב

.t2ל-המחשב האחר לפיתוח יכול להיות מחשב כלשהו בבית או

בחווה. ניתן לפתח באחת הסביבות :–Windows–Cygwin (on Windows)–Linux

12

Page 13: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

מערכת הפעלה

•Linux-ו Windows הן מערכות (Operating systems)הפעלה

למערכת הפעלה יש שני תפקידים •בהקשר של פיתוח תוכנה

מתווכת בין התוכנה לחומרה ומנהלת –משאבים בשביל התוכנה בזמן הריצה

- ניהול זיכרון, קבצים וכו'.משמשת מעין "אתר בניה" בשביל –

התוכנה

תוכנה

חומרה

מערכת הפעלה

13

Page 14: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

t2עבודה עם

t2

חוותמחשבים

Windows / Linux

Windows / Linux / Cygwin

Linux

SSH Secure Shell Client

t2התחברות ל-

SSH Secure File Transfer Clientהעברת קבצים

14

Page 15: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

t2 - Linux• Linux היא מערכת ההפעלה דמויית Unixשמותקנת ב- t2 . מתבצעת בצורה טקסטואלית ולא גרפית Unixהעבודה ב-•

( Windows)לא חלונאית כמו ב-ניתן להקיש פקודות למחשב ולקבל פלט Unix בחלון של•

של הפקודות באותו החלון( command line)מקישים פקודות בשורת הפקודה •כשהמחשב מוכן לקבל פקודה לביצוע, שורת הפקודה •

promptמכילה מוצג ניתן לתת למחשב כל פקודה שהיא promptכשה-•

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

הפקודה הבאה.

15

Page 16: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

SSH) דרך t2 )ב-Unixעבודה עם

command line

user’s commands

computer’s output

the network name of t2

prompt

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

Computing Services -> Services -> software support -> SSH)ראו קישור בתחתית העמוד(

16 http://system.cs.technion.ac.il/Software/software_support.htm

Page 17: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

העברת קבצים בין מחשבים

חלון My Computer

חלון SSH

חלון SSH FTP

ניתן לגרור ע''י העכבר קבצים בין המחשב המקומי

(t2למחשב המרוחק )

17

Page 18: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

t2( Go-Global )עבודה עם

SSH להבדיל מ-–clients לא דורש

התקנה, נכנסים דרך אתר אינטרנט.

מאפשר עבודה עם –יישומים גרפיים בצורה

חלונאית– החשוב debugger dddבהם

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

18

Page 19: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

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

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

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

www.cygwin.com

19

Page 20: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

מידע נוסף

מידע נוסף לגבי כלים לעבודה בקורס מופיע • <- Course Materialבאתר של הקורס, בדף

Helpers

20

Page 21: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

UNIXבסיסי

Page 22: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

Unixמערכת הקבצים ב- (file)היחידה הבסיסית – קובץ •

אוסף סדור של תווים– אין הגבלה על מה יכול להכיל–

או להיות קובץ הרצה. ASCIIיכול להכיל למשל טקסט ע"י תוי לכל קובץ יש שם•

אין מגבלות על אורך השם– יכול להכיל כל צרוף של תווים – < name>.<extension<מקובל ששם קובץ הוא מהצורה –

C - קובץ מקור בשפת test.cלמשל: hello.o קובץ - object

סיומת של קובץ•אין מגבלה על אורכה–לקובץ הרצה יכולה להיות כל סיומת שהיא. )אין הכרח שתהיה –

(exe.סיומת

22

Page 23: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

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

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

ביחד. מאפשרות לכל משתמש לבנות Unixהתיקיות ב - •

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

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

בקבצים מיוחדים.

23

Page 24: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

במערכת הזאת ישנם שני •. הם יכולים uri ו- ariמשתמשים,

ליצור תיקיות עם אותם שמות שמות נוספים לתיקייה בעברית:•

מדריך–

ספרייה–

/ (root)

tmp bin usr

ari uri

progs progs

Hello.c Matam

hw1 hw2

24

Page 25: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

בכל שלב העבודה המשתמש "נמצא" Unixב-•בתיקייה כלשהי – "התיקייה הנוכחית".

התיקייה העליונה של כל משתמש נקראת •(. כאשר home directoryתיקיית הבית שלו )

המשתמש נכנס לחשבון שלו, הוא נמצא בתיקיית הבית שלו. ניתן לעבור בין תיקיות

.cdע''י פקודה pathnamesניתן לציין קבצים )או תיקיות( לפי •

full או relative pathnames יחסית לתיקייה( הנוכחית(

25

Page 26: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

Unixסימונים לתיקיות וקבצים ב-

או סימן מפריד (root) תיקיית השורש / –pathnameב-

התיקייה הנוכחית. –

התיקייה שמכילה את התיקייה הנוכחית – .. –"תיקיית האב"

תיקיית הבית של המשתמש הנוכחי~ –

– ~uri תיקיית הבית של משתמשuri

כל הקבצים והתיקיות בתיקייה מסוימת* –26

Page 27: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

Unix מערכת הקבצים ב-מה מציינים השמות הבאים? :•/usr/uri/progs/Hello.c/usr/uri/progs/Matam

progs/~progs/.hw1

/..hw2~ari/progs~mtm/public/0809a/ex1/~progs*/

/ (root)

tmp bin usr

ari uri

progs progs

Hello.c Matam

hw1 hw2

27

Page 28: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

ניתן לבצע את הפעולות הבאות לצורך העבודה •עם התיקיות

לשאול מהי התיקייה הנוכחית–לעבור לתיקייה כלשהי )לשנות את התיקייה –

הנוכחית(לראות תוכן תיקייה כלשהי–ליצור תיקייה חדשה–למחוק תיקייה –

28

Page 29: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

pwdלשאול מהי התיקייה הנוכחית

cd <directory name>

לעבור לתיקייה אחרת

>pwd/usr/ari

>cd progs>pwd/usr/ari/progs

>cd.. >pwd

/usr/ari

29

Page 30: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

ls <directory name> לראות את תוכן התיקייה. לדוגמא, לראות את תוכן

התיקייה הנוכחית:>ls

progs:progsלראות את תוכן תת-תיקייה •

>ls progshellohello.c

30

Page 31: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

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

> 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

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

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

בעל הקובץ

.לתיקייה – מספר תת-תיקיות, כולל * ..וגם

מס' לינקים

*

31

Page 32: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

mkdir <directory name>:docsליצור תיקייה חדשה. לדוגמא, ליצור תיקייה בשם

rmdir <directory name> :docsלמחוק תיקייה. לדוגמא, למחוק את התיקייה

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

> mkdir docs> lsdocs progs> ls docs>

> rmdir docs> lsprogs

32

Page 33: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

ניתן לבצע את הפעולות הבאות לצורך העבודה •עם קבצים ותיקיות

להעתיק קבצים או תיקיות–להעביר קבצים או תיקיות לתיקייה כלשהי–

לשנות שם של תיקייה/קובץ

למחוק קובץ/תיקייה–

33

Page 34: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

cp [options] file1 file2cp [options] file1 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 יצירת עותק נוסף של

34

Page 35: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

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

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

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

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

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

>rm –rf *

35

Page 36: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

פקודות לעבודה עם קבצים ותיקיות mv [options] sources 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שם התיקייה

new_dir_name לא קיימת נהית תת תיקייה old_dir_name קיימת, new_dir_nameבמידה ותיקייה בשם

! new_dir_nameשל >mv file1 file2 … dir_name

.dir_name… מועברים לתיקייה file1, file2הקבצים אופציות:

-i.בקש אישור לפני מחיקת קובץ קיים

36

Page 37: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

mv [options] sources 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להעביר את הקובץ

37

Page 38: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

הרשאות קבצים

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

במערכת הקבצים מי יצר אותו והוא נקרא בעל הקובץ. סוגים של משתמשים העשויים לגשת לקובץ:3ישנם

1.User.בעל הקובץ - 2.Group.משתמש ששייך לקבוצה של בעל הקובץ - 3.Other.כל שאר המשתמשים במערכת שאינם בנ"ל -

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

הגדרת קבוצות

משתמשים מחוץ לחומר

של הקורס

38

Page 39: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

הרשאות קבצים

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

39

Page 40: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

chmod mode files

mode הוא שרשור תוים של 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--

40

Page 41: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

הרשאות לתיקיות

•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האות 41

Page 42: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

•Executeהרשאת כניסה לתיקייה –

•Write הרשאת יצירת/מחיקת קבצים – בתיקייה

•Read הרשאה לראות את רשימת – cd [dir]<הקבצים

>mkdir directory

>rmdir directory

>ls

42

Page 43: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

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

more <file name>

less <file name>

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

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

>man ls>man man

43

Page 44: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

Unix ראשונה ב-Cתוכנית

#include >stdio.h>int main)({ printf )"Hello world \n"(; return 0;}

בעורך טקסט כלשהו :hello.cכותבים קובץ 1.

>gcc hello.c –o hello . מהדרים )מקמפלים( את הקובץ 2hello.c:

helloנוצר קובץ הרצה

hello:>./hello.מריצים את קובץ ההרצה 3Hello world>44

Page 45: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

Unix ראשונה ב-Cתוכנית

> /usr/uri/progs/hello

> ~/progs/hello

>./hello

חייבים לציין את השם המלא של קובץ •ההרצה )תמיד אפשר להשתמש

בסימונים . וגם ~ (

אם לא מציינים את השם המלא של קובץ •ההרצה, עלולים לקבל הודעת שגיאה

הבאה:

 

> hellohello: Command not found.

45

Page 46: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

Unix ראשונה ב-Cתוכנית

כדי להשתמש בשם היחסי של הקובץ, יש • להריץ את הפקודה הבאה

הפקודה הזאת ומשמעותה יילמדו בתרגיל על • C-shell

> set path=)$path .(

46

Page 47: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

gccשימוש בקומפיילר .t2 המותקן על gccבקורס נשתמש בקומפיילר •הקומפיילר מייצר, בתנאי שאין שגיאות, קובץ הרצה •

a.out.בשם :file.cלדוגמא, הפקודה הבאה מקמפלת את הקובץ

>gcc file.c•-o <destination name> האופציה הזאת גורמת לקומפיילר

לקרוא לקובץ פלט בשם אחר> gcc file.c -o my_prog

•-g האופציה הזאת גורמת לקומפיילר להכניס לקובץ הרצה )חייבים להשתמש בה כשמדבגים(debuggerמידע הנחוץ ל-

> gcc file.c -g -o my_progניתן גם ליצור קובץ הרצה אחד ממספר קבצי מקור:•

>gcc file1.c file2.c file3.c -o my_prog

47

Page 48: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

gccשימוש בקומפיילר האופציות הבאות גורמות לקומפיילר להדפיס את רוב האזהרות •

(warnings)האפשריות -Wall

- pedantic-errors> gcc -Wall -pedantic-errors file.c -o my_prog

האזהרות נועדו להתריע על באגים ובעיות פוטנציאליות בתוכניות•תיקון ההזהרות מקטין הסתברות לבאגים– – עבודה קשה שלוקחת הרבה זמןdebugging חוסך –

חשוב מאוד להבין ולתקן את כל האזהרות של הקומפיילר•לא להתעלם–לא "להשתיק"–לא לתקן באופן מקרי בלי להבין על מה הייתה האזהרה–

48

Page 49: תירגול 1 אדמיניסטרציה עבודה עם t2 מערכת הקבצים ב - Unix תכנית ראשונה ב -Unix, gcc

,t2, gccהדגמת העבודה עם debugger

49