Upload
sce
View
4
Download
0
Embed Size (px)
Citation preview
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