57
מערכות הפעלהUNIX תרגול1 מבוא ל- UNIX Shayke Bilu PhD Chapter 1 - Introduction to Unix 1

UNIX Chapter 1

  • Upload
    sce

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

UNIXמערכות הפעלה

UNIX -מבוא ל – 1תרגול

Shayke Bilu PhD Chapter 1 - Introduction to Unix 1

UNIXעקרונות מערכתTIMESHARING אינטראקטיבית .

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

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

אם הפקודה –דוגמא לעקביותLS A* מציגה את כלתמחק *RM Aאזי הפקודה , A -הקבצים שמתחילים ב

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

PRINCIPLE OF LEAST SURPRISE.

Shayke Bilu PhD Chapter 1 - Introduction to Unix 2

UNIXעקרונות

דבר נוסף שמתכנתים דורשים הואPOWER AND

FLEXIBILITY .

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

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

אחד הדברים שמובנים ב-UNIX הוא שכל תוכנית

.אך תעשה אותו היטב, תעשה רק דבר אחד

כלומר מספיק –כמו כן פקודות קצרותCP ולא צריך

COPY , דרושה מערכת –ולא להסביר כל פעולה

.משרתת לא אומנת

Shayke Bilu PhD Chapter 1 - Introduction to Unix 3

UNIXהממשק של UNIX בנויה כפירמידה המורכבת משכבות

.חומרהציוד ה - 'שיכבה א1.

, קבצים, זיכרון, ניהול תהליכים) -מערכת ההפעלה -'שיכבה ב2.

שתפקידה לשלוט על החומרה ולספק קריאות מערכת ( קלט ועוד\פלט

תכניתן ליצור ולנהל \דבר המאפשר למשתמש, לכל התוכניות

. קבצים ושאר משאבים, תהליכים

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

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

.KERNEL MODE אל USER MODE -מ

Shayke Bilu PhD Chapter 1 - Introduction to Unix 4

UNIXהממשק של מה שלא -ספריות של מערכת ההפעלה – שיכבה שלישית3.

מסופק כספריות של מערכת ההפעלה C -ניתן לכתוב ב

.באסמבלר

(– STANDARD LIBRARY מכילה אתOPEN ,

CLOSE ,READ,WRITE, FORK ועוד .)

הקריאה מהתוכנית היא . C-אך ניתנת לקריאה מתוכנית ב

מה היא עושה ומה התוצאות , הפרמטרים תאורתוך ), לספריה

.ולא לקריאת המערכת עצמה( הדרושות

Shayke Bilu PhD Chapter 1 - Introduction to Unix 5

UNIXהממשק של

תוכניות ייעודיות -שיכבה רביעית4.

מעבדי , SHELLיש תוכניות ייעודיות כגון המעטפת

. 'וכותמלילים מהדרים

. ממשק המשתמש -שיכבה חמישית5.

:יש שלושה ממשקים USER MODE -ב

1. SYSTEM CALL INTERFACE

2. LIBRARY INTERFACE, 3. USER INTERFACE

.ההפעלה' במעניתן לשנות את ממשק משתמש בלי לשנות דבר

Shayke Bilu PhD Chapter 1 - Introduction to Unix 6

וסיסמא משתמש שם עם נכנס משתמש כל ,חובה תהליך זהו

התהליך – לקבצים הגישה הרשאות לו מוגדרות פיהם ועל

.LOGIN -ה תוכנית ידי על מבוצע

והסיסמאות המשתמשים קבצי זמן לשיתוף המערכות ברוב

משתמש כל עבור שורה מכיל הקובץ ,לא UNIX-ב .חבויים

עבודה ספרית ,מוצפנת סיסמא ,ID מספר ,משתמש שם –

.אינפורמציה ועוד

הוא במנגנון היופי .בקובץ המתאימה לשורה מושווה בכניסה

ID -ה מה – קובץ של הבעלים מי לבדוק יכולה תוכנית שכל

.הסיסמאות קובץ עם ולהשוות שלו

Shayke Bilu PhD Chapter 1 - Introduction to Unix 7

UNIXהממשק של

UNIX SHELL

ה לאחר רצה זו תוכנית- LOGIN סמן למשתמש ומדפיסה

.המשתמש יקליד אותה לפקודה וממתינה פקודה שורת של

המילה את גוזרת המעטפת פקודה מקיש כשהמשתמש

.זה בשם תוכנית ומחפשת בפקודה הראשונה

עד עצמה את משהה והמעטפת מורצת התוכנית ,נמצאה אם

.התוכנית לסיום

יודעת שהיא מה שכל משתמש תוכנית בעצם היא המעטפת

.אחרות תוכניות ולהריץ מטרמינל ולכתוב לקרוא היא לעשות

Shayke Bilu PhD Chapter 1 - Introduction to Unix 8

UNIX SHELL - המשך ארגומנטים ששולטים בפעולה של פקודה נקראיםFLAG .

ls –lעבור הפקודה : לדוגמא

ls היא פקודה להצגת רשימת קבצים .

הFLAG הוא -l , ארגומנט לפקודה שמורה על הצגה .מפורטת

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

.?או * כגון

Shayke Bilu PhD Chapter 1 - Introduction to Unix 9

UNIX SHELL - המשך

רוב התוכניות משתמשות בשלושה קבציSTNDARD :

INPUT, ERROR, OUTPUT.

הפניות

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

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

ls –l > file.txt

Shayke Bilu PhD Chapter 1 - Introduction to Unix 10

UNIX SHELL - המשך מעביר מידע בין שני פקודות | י הסימן "צינור הוא המיוצג ע

בפקודה : לדוגמא

ls –l | wc

הצינור לוקח את הפלט של רשימת הקבצים המפורטת ומעבירהשורות ' אשר סופרת ומציגה את מס WCאותה לפקודה

. מס המילים ברשימה ומספר התווים ברשימה , ברשימה

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

Shayke Bilu PhD Chapter 1 - Introduction to Unix 11

UNIX SHELL - המשך

UNIX אינה רק מערכת שיתוף זמנים אלא גםMULTIPROGRAMING SYSTEM .

משתמש אחד יכול להפעיל מספר תוכניות באותו זמן .

.כל אחת מהתוכניות בתהליך נפרד

. &על מנת להריץ תהליך ברקע מסיימים את הפקודה עם

<command> &

>gcc Calc.c -o Calc

.הפקודה מורצת בחזית

>gcc Calc.c -o Calc &

>

.מורצת ברקעהפקודה

:על מנת להריץ את התוכנית שקומפלה

>./ calc

קובץ שמכיל פקודות מעטפת נקרא

SHELL SCRIPTS ,לולאות וכדומה, הוא יכול להכיל גם תנאים.

Shayke Bilu PhD Chapter 1 - Introduction to Unix 12

UNIX -קבצים וספריות ב

לא אכפת לה כלל מה . המערכת מתייחסת לקבצים כאוסף של בתים

אולם , תווים 14שם קובץ הוא . תוכן הקבצים ולמה הם משויכים

.BERKELEY -תווים כמו ב 255 -בחלק מהגרסאות שונה ל

ביטים שנקראים 9קובץ מוגן על ידיRIGHTS BITS . שלושת

שלושת הבאים מייצגים את . הראשונים מגדירים הרשאות הבעלים

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

-rw-r--r-- 1 root root 2562 Oct 5 2010 a2ps-site.cfg

Shayke Bilu PhD Chapter 1 - Introduction to Unix 13

UNIX -מערכת הקבצים ב הקבצים מרוכזים תחת ספריות המאוחסנות בדיוק

לקובץ יש , במקום הרשאות הרצה, כמו קבצים

.עיון בספריה, הרשאות חיפוש

drwxr-xr-x 4 root root 4096 Feb 2 2011 acpi

בכל דיסק ב 0בלוק-UNIX לא בשימוש ומכיל קוד

. BOOTעבור

נקרא 1בלוק מספרSUPERBLOCK , ומכיל מידע קריטי על

ותחילת הרשימה של מיקום , I-NODEסידור הדיסק כמו מספר

. פנוי הדיסק

Shayke Bilu PhD Chapter 1 - Introduction to Unix 14

מבנה הדיסקBoot

Super

Inodes

Array

Data

Blocks

קוד אתחול המערכת

מידע על מבנה הדיסק

Inodes-מערך ה

"מידע"ה

Shayke Bilu PhD Chapter 1 - Introduction to Unix 15

Inode-מערך הBoot

Super

Inodes

Array

Data

Blocks

Inode 0

Inode 1

Inode 2

Inode n

אשר Inodeלכל קובץ יש

Meta data) )מייצג אותו

מספר של קובץ מזוהה לפי ה

.שלו Inode-ה

קבוע Inodes-גודל מערך ה

!מספר הקבצים חסום

Shayke Bilu PhD Chapter 1 - Introduction to Unix 16

?Inode-מה נשמר בסוג הקובץ

ספריה, רגיל ,Pipe ,(0)פנוי , מיוחד

הרשאות

RWX ,owner ,Group

זמנים

עדכון , עדכון, זמן גישהInode

גודל קובץ

רשימת הבלוקים של הקובץ

מספר מופעים

יכולה להיות מאד גדולה

כמה פעמים הקובץ מופיע במערכת הקבצים

Shayke Bilu PhD Chapter 1 - Introduction to Unix 17

Data blocks-מערך הBoot

Super

Inodes

Array

Data

Blocks

המידע בדיסק מחולק

ליחידות לוגיות

"בלוקים"הנקראות

block 0

block 1

block 2

block n

block 3

block 4

block 5

Shayke Bilu PhD Chapter 1 - Introduction to Unix 18

Data Blocks -סוגי הBoot

Super

Inodes

Array

Data

Blocks

:של בלוקים" סוגים" 5יש

בלוק פנוי

מידעבלוק

1רמה טבלה

2טבלה רמה

3טבלה רמה

Data block

Indirect Level 1

Free block

Data block

Data block

Indirect Level 1

Indirect Level 2

Data block

Data block

Indirect Level 3

Free block

Free block

Free

Data

Level 1

Level 2

Level 3

Shayke Bilu PhD Chapter 1 - Introduction to Unix 19

Indirect Level -1 Boot

Super

Inodes

Array

Data

Blocks

בלוק מסוג טבלה רמה

מכיל טבלה אשר 1

מצביעה לבלוקים מסוג

מידע

כניסה מכילה מספר כל

.בלוק

Data block

Indirect Level 1

Free block

Data block

Data block

Indirect Level 1

Indirect Level 2

Data block

Data block

Indirect Level 3

Free block

Free block

Data Level 1

256 כניסות

Data

Data

Data

Shayke Bilu PhD Chapter 1 - Introduction to Unix 20

Indirect Level -2 Boot

Super

Inodes

Array

Data

Blocks

בלוק מסוג טבלה רמה

מכיל טבלה אשר 2

מצביעה לבלוקים מסוג

1טבלה

Data block

Indirect Level 1

Free block

Data block

Data block

Indirect Level 1

Indirect Level 2

Data block

Data block

Indirect Level 3

Free block

Free block

Data Level 1 Level 2

256 כניסות

Data

Data

Data

256 כניסות

Level 1

Level 1

Shayke Bilu PhD Chapter 1 - Introduction to Unix 21

Indirect Level -3 Boot

Super

Inodes

Array

Data

Blocks

3בלוק מסוג טבלה רמה

שמצביעה מכיל טבלה

2לבלוקים מסוג טבלה

Data block

Indirect Level 1

Free block

Data block

Data block

Indirect Level 1

Indirect Level 2

Data block

Data block

Indirect Level 3

Free block

Free block

Data Level 1 Level 2 Level 3

256 כניסות

Data

Data

Data

256 כניסות

Level 1

Level 1

256 כניסות

Level 2

Level 2

Shayke Bilu PhD Chapter 1 - Introduction to Unix 22

Data:

Bla bla bla

Inode-הקשר בין ה

Data blocks-וה

Data block 0

Data block 1

File

Data block 2

Data block 3

Data block n

entry 0

entry 1

Inode

entry 2

entry 3

entry 9

entry 10

entry 11

entry 12

Data block 9

.כל קובץ מחולק לבלוקים

13יש טבלה עם Inode-ל

nכניסות אשר מצביעה לכל

.הבלוקים של הקובץ

Shayke Bilu PhD Chapter 1 - Introduction to Unix 23

Data:

Bla bla bla

Inode-הקשר בין ה

Data blocks-וה

Data block 0

Data block 1

File

Data block 2

Data block 3

entry 0

entry 1

Inode

entry 2

entry 3

entry 9

entry 10

entry 11

entry 12

Data block 9

256 blocks

256^2 blocks

256^3 blocks

block 0

block 1

block 2

block 3

block m

block 101

Block 456

block 12

Disk

Shayke Bilu PhD Chapter 1 - Introduction to Unix 24

הספרייהאבל קובץ מיוחד, ספריה זה קובץ לכל דבר

ב- Inode נשמר שהקובץ מסוג ספריה

מה זו ספריה?

רשימה של קבצים

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

אוסף של כותרים

י מספר "קובץ תמיד יזוהה עInode

חד ערכי-חד

למספר ה- Inode יצטרף שם הקובץ

וזאת לשם זיהוי ודאי

.

..

a.txt

my.c

mygrep

10

1

145

98

415

שם מספר

Inode

Shayke Bilu PhD Chapter 1 - Introduction to Unix 25

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

R – לקרוא את רשימת הקבצים

W – לשנות את ספריה הקבצים

X – קבצים בספריה( לגשת)הרשאה לפתוח

לדוגמה:

Open – צריכהX , לאR.

ls – צריכהR , לאX.

אבלls –l – צריכהRX.

Shayke Bilu PhD Chapter 1 - Introduction to Unix 26

Link Count מונה הנשמר ב- Inode.

מספר הספריות המצביעות לקובץ

0 – פנוי

1 – קיימת ספריה אחת אשר מצביעה לקובץ

2 – שתי ספריות?

Hard Link & Soft Link

כניסה במדריך המקשר בין קובץ לשם –קישור קשיח .

כניסה במדריך המציין רק את השם ללא –קישור עדין .קישור פיזי לקובץ

Shayke Bilu PhD Chapter 1 - Introduction to Unix 27

ב הרך הקישור מול קשה קישור-Linux או UNIX

ספריותל הקישוריםאת יליכ לא קשיח קישור

הקבצים מערכת גבולות לחצות יכול לא

קישור ,זאת עם יחיד קובץ עם מרובים קבצים שמות לשייך מאפשר הז :מאפשררך

ספריות בין קשרים ליצור כדי

הקבצים מערכת גבולות לחצות יכול

הקישור של המקור כאשר שונה בצורה מתנהגים אלה קישורים .ןמעודכזה אינו קישור, להסירומנסים או מועבר

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

Link Count

Shayke Bilu PhD Chapter 1 - Introduction to Unix 28

הבלוקים הפנויים

Free block

Free block

Free block

תמיד נשאף לשמור

הבלוקים רשימה של

.הפנויים

פנוי בלוק : הרעיון

!יכול להכיל מידע

Data block

Free block

Free block

Data block

Data block

Free block

Free block

Data block

Data block

Free block

Shayke Bilu PhD Chapter 1 - Introduction to Unix 29

הבלוקים הפנויים

:שני סוגים של בלוקים

"רגיל"בלוק פנוי •

"טבלה"בלוק פנוי מסוג •

הכניסה הראשונה מצביעה

".טבלה"לבלוק פנוי מסוג

כל שאר הכניסות לבלוקים

".רגיל"פנויים מסוג

Free block

Free block

Free block

Data block

Free block

Free block

Data block

Data block

Free block

Free block

Data block

Data block

Free block

Free block

Free block

Shayke Bilu PhD Chapter 1 - Introduction to Unix 30

Super block-תפקיד ה

שמירתMeta-data על דיסק

(ה-Inode שומרMeta-data על קובץ)

מספר בלוקים פנויים

רשימת בלוקים פנויים

מספרInodes פנויים

רשימתInodes פנויים

רשימה חלקית בלבד

Shayke Bilu PhD Chapter 1 - Introduction to Unix 31

Unix בסיסי

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

. ולא גרפית

ללאחר הכניסה-shell יוצגprompt .prompt הנו . סימן שמשמעותו שהמחשב מוכן לבצע פקודה

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

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

.הפקודה הבאה

< cat file1

this is the

content of file1

<cat file2

This Is file2

<

Shayke Bilu PhD Chapter 1 - Introduction to Unix 32

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

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

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

מקובל ששם קובץ הוא מהצורה. תויםשל

<name>.<extension>

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

hello.o - קובץobject

:שימו לב

ב- Unix אין מגבלה על אורך הextension

ב- Unix אין הכרח . )לקובץ הרצה יכול להיות כל שם שהוא (.או דבר דומה exe.שתהיה סיומת

Shayke Bilu PhD Chapter 1 - Introduction to Unix 33

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

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

חשבון זה מקנה מרחב . יש חשבון משלו במחשב

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

ב- Unix , כמו ב MS-DOS וב-Windows , יש

שבהם ניתן לשמור קבצים ( Directories)מדריכים

. קרובים ביחד

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

.בשקף הבא

Shayke Bilu PhD Chapter 1 - Introduction to Unix 34

המשךUnix -מערכות הקבצים בל ישנם שני משתמשים"במערכת הנ ,ari

הם יכולים ליצור מדריכים עם . uri -ו

אותם שמות

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

כאשר משתמש נכנס . שלו home-מדריך ה

הוא נמצא במדריך , לחשבון שלו

.שלו home -ה

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

pathnames full או

relative pathnames

/ (root)

tmp bin usr

ari uri

progs progs

Hello.c

Shayke Bilu PhD Chapter 1 - Introduction to Unix 35

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

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

cd <directory name>

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

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

: home directoryל לחזור

cd< (ללא פרמטרים)

>cd progs

>pwd

/usr/ari/progs

> cd ..

>pwd

/usr/ari

Shayke Bilu PhD Chapter 1 - Introduction to Unix 36

המשך -פקודות לעבודה עם ספריות ls <directory name>

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

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

>ls

progs

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

> ls progs

hello

hello.c Shayke Bilu PhD Chapter 1 - Introduction to Unix 37

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

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

> ls -al

drwxr-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 moshe

drwx------ 2 ari 512 May 13 03:30 progs

התאריך האחרון הרשאות

שהקובץ שונה

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

בעל הקובץ

לינקים' מס

Shayke Bilu PhD Chapter 1 - Introduction to Unix 38

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

mkdir <directory name>

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

rmdir <directory name>

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

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

> mkdir docs

> ls

docs progs

> ls docs

>

> rmdir docs

> ls

progs

Shayke Bilu PhD Chapter 1 - Introduction to Unix 39

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

cp [options] file1 file2

cp [options] file1 file2… directory

. directoryאו העתקת אחד או יותר קבצים ל file2ל file1העתקת

directoryאם ה . קובץ המקור נכתב עליו, אם קובץ היעד קיים

:אופציות .הקובץ נכתב בתוך המדריך, קיים

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

-r המדריכים בו-העתק רקורסיבית מדריך עם כל קבציו ותת.

> cp hello.c prog1.c progs

> ls progs

hello.c prog1.c

> cp -r my-dir new-dir יצירת עותק נוסף של hello.c בשםprog1.c:

:progsלמדריך prog1.cו hello.c העתקת

new-dirבשם my-dirיצירת עותק נוסף של המדריך

Shayke Bilu PhD Chapter 1 - Introduction to Unix 40

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

rm [options] files

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

.לתת אישור למחיקה

אופציות:

-f מחק קבצים בלי הרשאת כתיבה ללא אישור.

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

-r אםfile מדריכים-הוא מדריך מחק אותו ואת כל תכולתו כולל תת.

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

:הערה

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

>rm –rf *

Shayke Bilu PhD Chapter 1 - Introduction to Unix 41

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של

> mv file1 file2 … dir_name

.dir_nameמועברים למדריך … file1, file2הקבצים

אופציות:

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

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

Shayke Bilu PhD Chapter 1 - Introduction to Unix 42

mv [options] sources target

:דוגמאות

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

> mv hello.c prog2.c

> ls

prog2.c

> mv prog2.c progs

> ls progs

hello.c prog1.c prog2.c

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

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

Shayke Bilu PhD Chapter 1 - Introduction to Unix 43

הרשאות קבצים לכל קובץ יש הרשאות שקובעות למי מותרת הגישה לקובץ ולצורך

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

סוגים של משתמשים העשויים לגשת לקובץ 3ישנם:

1. User - בעל הקובץ.

2. Group - משתמש ששייך לקבוצה של בעל הקובץ.

3. Other - ל"כל שאר המשתמשים במערכת שאינם בנ.

הרשאות שונות 3לכל סוג משתמש יש:

1. Read - את הקובץ( להעתיק)האם מותר לו לקרוא.

2. Write - את הקובץ( לשנות)האם מותר לו לכתוב על.

3. Execute - האם מותר לו להריץ את הקובץ.

Shayke Bilu PhD Chapter 1 - Introduction to Unix 44

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

r w x r w x r w x

user group other

> ls -al

drwxr-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 moshe

drwx------ 2 ari 512 May 13 03:30 progs

Shayke Bilu PhD Chapter 1 - Introduction to Unix 45

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

chmod mode files

mode של תויםהוא שרשורwho ,opcode וpermission .Who

(.aברירת המחדל היא )אופציונלי הוא

Permission

r - Read

w - Write

x - Execute

Opcode

+ - Add permission

- - Remove permission

= - Assign permission (and remove

permission of the unspecified fields).

Who

u - User

g - Group

o - Other

a – All

:שיטה ראשונה

>chmod u+x file

>chmod g-w,o-w file

>chmod =r file

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

--------- --x------ rwxrwxrw

x

rwxr-xr-x

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

Shayke Bilu PhD Chapter 1 - Introduction to Unix 46

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

chmod mode files

:שיטה שנייה

>chmod 777 file

>chmod 444 file

Shayke Bilu PhD Chapter 1 - Introduction to Unix 47

הרשאות לספריותגם לספריות ישנן הרשאות

הספריות ב- Unix מאפשרות לכל משתמש לבנות מערכת homeשורש העץ יהיה ה . קבצים היררכית בצורה של עץ

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

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

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

Shayke Bilu PhD Chapter 1 - Introduction to Unix 48

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

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

Write – יצירת קבצים בספרייה

Read – לראות את רשימת הקבצים > ls -al

drwxr-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

drwx------ 2 ari 512 May 13 03:30 progs

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

Shayke Bilu PhD Chapter 1 - Introduction to Unix 49

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

לספריות

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

Write – יצירת קבצים בספרייה

Read – לראות את רשימת הקבצים

>cd [dir]

>mkdir directory

>rmdir directory

>ls

Shayke Bilu PhD Chapter 1 - Introduction to Unix 50

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

cat <file name>

more <file name>

less <file name>

man <command name>

lpr –P<printer> <filename>

להציג קובץ על המסך

לקרוא מידע מפורט על פקודה

מסויימתלהדפיס קובץ למדפסת

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

>cat prog2.c >more prog2.c

>man ls

>man man

>lpr –Pptr prog2.c

Shayke Bilu PhD Chapter 1 - Introduction to Unix 51

Unix-תוכנות ב

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

pine

עריכת קבצים

pico / nano / vi

emacs / xemacs

vim / gvim

Shayke Bilu PhD Chapter 1 - Introduction to Unix 52

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

#include <stdio.h>

int main()

{

printf ("Hello world \n");

return 0;

}

:hello.cהקובץ

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

hello: >./helloהרצת קובץ ההרצה

Hello world

>

Shayke Bilu PhD Chapter 1 - Introduction to Unix 53

Unix-ראשונה ב Cתוכנית >./hello

Hello world

> שמופיע לפני שם קובץ ההרצה בא לציין את העובדה שאנו" /."הסימן •

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

יבדוק האם הקובץ נמצא shell-ה, אם כותבים שם של קובץ הרצה•

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

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

משתמשים בפקודה, כדי להוסיף ספרייה לרשימה

וכדי להוסיף את הספרייה הנוכחית

C-Shell-הסבר מפורט יותר בנושא יילמד בפרק העוסק ב

> echo $path

> set $path=($path newDirectory)

> set $path=($path .)

Shayke Bilu PhD Chapter 1 - Introduction to Unix 54

gccשימוש במהדר

הקומפיילר בו נשתמש הנו קומפיילרgcc.

שגיאות נוצר קובץ הרצה בשם איואם.a.out לקמפל , לדוגמא

:file.cאת הקובץ

> gcc file.c

-o <destination name> מאלץ את המהדר לקרוא לקובץ

בשם אחר

> gcc file.c -o my_prog

ניתן גם ליצור קובץ הרצה אחד ממספר קבצי מקור:

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

gcc <file name>.

Shayke Bilu PhD Chapter 1 - Introduction to Unix 55

Debugging debugging שנתגלו בתוכניתהוא התהליך של ניפוי שגיאות ,

שרצוי שתהליך ניפוי השגיאות יהיה מדעי ומסודר ככל למרות

(.שנרכשת בזיעה רבה)האפשר הוא עדיין ברובו אומנות

בעבר היו שמים הדפסות רבות בקוד במקומות שונים בניסיון

דורשת כתיבת קוד , שיטה זו מסורבלת. את השגיאה" לתפוס"

.ושיש צורך לעדכונו עם כל שינוי, נוסף שאינו נחוץ לאחר מכן

השיטה העדיפה היא שימוש בכלי ייעודי למטרה זו-

debugger .

Shayke Bilu PhD Chapter 1 - Introduction to Unix 56

Debugging המשך

Debugger מאפשר:

.קביעת נקודות עצירה בתוך התוכנית (1

.הרצה מבוקרת של התוכנית (2

.בדיקת ערכי משתנים (3

.של תוכנית שעפה" המראה"מציאת מקום ה( 4

אלו ועוד רבות נוספות יסייעו במציאת פעולות

.שגיאות בתוכנית

Shayke Bilu PhD Chapter 1 - Introduction to Unix 57