Professional Documents
Culture Documents
unix יוניקס למתחילים
unix יוניקס למתחילים
ממקלדתה של גליה
הקדמה unix :היא מערכת ההפעלה (כמו ש windowsמערכת הפעלה) שעליה נעבוד בקורס
"מחשבים לפיזיקאים" .אנחנו לא נלמד את נבכי ה , unixאבל אנחנו כן נכתוב מעליו תוכנות ב-
,Cכך שאנחנו צריכים לדעת להסתדר איתו.
הערה :בכמה מקומות יהיו התייחסויות למערכת ההפעלה חלונות .כדי להסיר ספק ,רוב
הדברים אליהם נתייחס היו במקור ביוניקס ,ובהשראת יוניקס נכנסו לחלונות.
הערה נוספת :במדריכים אחרים ,מסמנים את שורת הקלט ב %-או ב . #-אם הם ירצו לומר לכם
לכתוב פקודה בשם , helloהם יכתבו . hello % :את התו הזה לא צריך לכתוב .מסמך זה לא
יכיל אותו ,כדי למנוע בלבול.
מסתובבים ביוניקס
כמו שבדוס (או בחלונות) יש כוננים וספריות ,גם כאן יש ספריות (אין כוננים .יש משהו דומה,
אבל זה ממש לא משנה לנו) .הספריה הראשית היא ( /סלאש .מקביל ל ,)\:cותחתיה יושבות תתי
ספריות.
בספריה הראשית לא נשתמש ,אלא בספריות הבית האישיות שלנו .לשם הפישוט ,נקרא לספריית
הבית שלנו ( /home/students/myname/כלומר :מסלאש ,הספריה הראשית ,נכנסים ל .home
משם ל studentsומשם ל – mynameהספריה שלנו ).כפי שניתן לראות ,גם כאן (כמו בכל מערכת
הפעלה אחרת) ישנו מבנה היררכי של ספריות ותתי ספריות myname :יושבת תחת ,students
כלומר אי אפשר להכנס אליה בלי לזכור שהיא נמצאת תחת .studentsממש כמו בחלונות .התו
המפריד בין הספריות הוא " ( " /לא התו " \ " ! ).
אין צורך לזכור את שם הספריה האישית – בתור משתמשים רגילים ,מוגדרת לנו ספריית הבית,
וכשאנחנו נכנסים למערכת (מכניסים שם משתמש וסיסמה) אנחנו נכנסים אליה אוטומטית.
שם אחר ל"ספריית הבית שלי" הוא ~ .כלומר ,אם נבקש מהיוניקס להגיע לספריית ~ ,הוא
יביא אותנו ל . home/students/myname/אם נבקש ממנו למחוק את ~ , del.txt/הוא ימחק את
. home/students/myname/del.txt/ממש כאילו כתבנו את הטקסט המלא במקום ~ .
דרך אגב ,ליוניקס אכפת מאותיות גדולות /קטנות ( ,) case sensitiveאם תבקשו להכנס ל /
- HOME/STUDENTS/MYNAMEהמערכת לא תכיר את הספריה .עצה :תמיד קראו
לקבצים באותיות קטנות.
פקודות התמצאות ,שיטוט וטיפול בקבצים " * "( :בסוף שורה פירושו שהפקודה לא חשובה לנו
כמו האחרות)
pwdייתן לנו את הספריה בה נעבוד.
lsייתן את תוכן הספריה – רשימת קבצים.
ls –lייתן רשימה מפורטת של הקבצים ,כולל גודל למשל( .שאר הפרטים לא עקרוניים ,מלבד
הרשאות שיוסברו בהמשך .בינתיים ,ההרשאות נמצאות ב " " --rwxrw-rשיש בתחילת שורות
הפלט של . lsהתו הראשון בכל שורה ,אגב ,הוא " " dאם זו ספריה או " – " אם זה לא .טריק
נוח).
ls –Fיסמן ספריות עם " " /בסוף ,וקבצים שאפשר להריץ עם " * " בסוף .אפשר גם לכתוב – ls
lFכדי לשלב בין השניים* .
cdייכנס לספרייה.
.. cdירד לספריה הקודמת (מ home/students/myname/יגיע ל . ) home/students/בעצם.. " ,
" זה שם נרדף ל "ספריית האב שלי".
: mv – moveמעביר קבצים לספרייה אחרת ( mv myfile newdirיעביר את הקובץ myfile
לספרייה )newdirאו משנה שם קובץ (.)mv badname goodname
:cp – copyמעתיק ,בצורה דומה ל( . mvאבל בסופו של דבר הקובץ המקורי נשאר)
– rmמוחק קובץ ( ) rm badfile
– rmdirמוחק ספרייה.
– mkdirיוצר ספרייה
– cat filenameישפוך למסך את תוכן הקובץ * . filename
– more filenameכמו ,catאבל אם יש יותר מדי טקסט ,הוא יחכה שתקראו ורק אז ימשיך* .
– man commandייתן לנו דף הוראות ( )manualמפורט על פקודה כלשהי( .למשל* )man pwd ,
– find . –name myfileיחפש בספריה הנוכחית ( " " .מסמל ספרייה נוכחית ) את הקובץ
.myfileהפקודה find ~/mydir –name myfileגם עובדת ,מחפשת בספרייה /
. home/students/myname/mydirזוכרים מה זה " ~ " ? ) *
: command /.אם לא הצלחתם להריץ תוכנית שכתבתם ,כתבו לפני ההרצה (כשאתם בספריה
הנכונה) ( /.נקודה סלאש).
עריכה:
אנחנו עורכים קבצים עם תוכנה בשם . xemacsכדי להתחיל אותה ,כתבו .xemacs
כשמריצים ,emacsהחלון ממנו הרצנו "עסוק" ,מחכה שהפקודה האחרונה שכתבנו (")"xemacs
תסיים לרוץ (כלומר ,מחכה שנסגור את .)emacsחלונות טקסט לא עושים שני דברים בבת אחת
בהתנדבות.
אם בכ"ז נרצה לחזור לחלון (בלי לפתוח חדש) – נקיש , ctrl+zואז התוכנה "תרוץ ברקע".
מבחינתנו ,נקבל שורת פקודה בלי לסגור את ( .emacsבכיתה הוסיפו על – fgשמחזיר את המצב,
ועל – bgההפך ממנו .לדעתי הפקודות האלו מיותרות לנו).
כדי לא להסתבך עם זה מלכתחילה ,אפשר להריץ את התוכנה כך - & xemacs :ואז היא תרוץ
ברקע מהרגע הראשון.
הרשאות :
עדיין לא התייחסנו בכיתה להרשאות ,אבל כנראה שנתייחס מתי שהוא.
בעולם היוניקס ,ישנם שלושה סוגי הרשאות (רלוונטיים) :
r : read
w : write
. x : execute
בדרך כלל נרצה לתת לנו הרשאות ,ולקבוצה ולעולם רק הרשאות קריאה.
ההרשאות על קובץ או ספרייה באות בשורה של 9אותיות 3 :האותיות הראשונות הן ההרשאות
שלנו ,וה 6-הבאות הן של הקבוצה והעולם .כך ,אם לנו יש את כל ההרשאות ולאחרים רק
הרשאות קריאה ,ההרשאות ייראו כך( ------rwx :הסדר הוא תמיד קריאה-כתיבה-הפעלה).
רואים אותן בהתחלת כל שורה בפלט של . ls –l
משנים הרשאות עם ) . chmod (change [permission] modeישנן כמה דרכים להשתמש
בפקודה:
chmod +x myfileיוסיף לכולם הרשאות xעל הקובץ .myfile
chmod u +x myfileיוסיף רק לנו ( )userהרשאות xעל ( .myfileכמו ,uיש גם gו oל – group
ו otherבהתאמה .שוב ,הם לא משנים לנו).
( – chmod 744 myfileהדרך המועדפת עליי –סיכוי נמוך יותר לשגיאות)– הסבר קטן:
לכל סוג של הרשאה יש מספר מיוחד ,שהוא חזקה של : 2המספר של readהוא ; 4של write
הוא ; 2של executeהוא .1אני רוצה לקבל רק הרשאות קריאה וכתיבה? אני וודאי מתכוונת ל
.6=4+2בפקודה שכתבתי 744 ,פירושו 7לנו (קריאה +כתיבה +הפעלה = , )7 = 1 + 2 + 4
וקריאה לקבוצה ולעולם (קריאה = 744 . )4הן ההרשאות הפופולריות ביותר.
שימו לב :אם אין לכם הרשאות על ספרייה ,ויש לכם הרשאות לקובץ בספרייה ,עדיין לא תוכלו
לפתוח אותו.
תרגיל ראשון:
.1מהי כתובת ספריית הבית שלכם ,אילו קבצים יש בה? בדקו אילו מהם קבצים ואילו
ספריות.
.2מתחת לספריה הראשית ( ) /יש ספריה בשם . etcיש בה קובץ שמכיל את שמות
המשתמשים ,שם הקובץ הוא .passwdקראו את התוכן שלו ( .לא ,אין שם שורה בשביל
שם המשתמש שלכם ,יש שרת ראשי אחר עם הסיסמה שלכם ,למי שהתעניין) .למי מותר
לקרוא את הקובץ?
חזרו לספריית הבית שלכם ע"י הקשה על ארבעה מקשים בלבד (חוץ מ ( . )enterבונוס :ע"י
מקש אחד בלבד).
.3צרו עותק של אותו קובץ (עם שמות המשתמשים) בתוך ספרייה מתחת לספריית הבית
שלכם ,הנקראת . userlist
.4גרמו לכך שאתם תוכלו לקרוא אותו ולכתוב אליו ,אבל כל האחרים רק יוכלו לקרוא
אותו (עבדו על העותק שלכם! בקובץ המקורי ב etc/לא תצליחו לגעת).
.5בעזרת , emacsהחליפו את השורה בקובץ שמתחילה במילה rootלשם אחר ,כרצונכם.
(לידע כללי root ,הוא המשתמש החזק ביותר במערכת).
.6שנו את שם הקובץ ל , wasspdוודאו (עם )lsשהשם השתנה.
.7מחקו את כל מה שעשיתם עד עכשיו.
תרגיל שני:
.1צרו קובץ חדש בשם unixrulzבספריית הבית שלכם (או בתת ספריה שתצרו ,איך שבא
לכם)
.2הכניסו אליו את הטקסט!banner Unix Rules :
.3שמרו ואל תצאו .חזרו לחלון הקודם והפעילו את הקובץ שיצרתם (רמז :קודם צריך ש
xemacsיעבוד ברקע) (אם השתמשתם ב ,viפשוט תשמרו ותצאו).
.4לא הצלחתם להפעיל את הקובץ? תנו לעצמכם הרשאות מתאימות .הקבוצה ושאר
העולם ,כרגיל ,רק יוכלו לקרוא.
.5מחקו את הקובץ.
ולסיום ,פיסת מידע קטנה .בנוגע לויכוח של חלונות מול יוניקס ,והתלונות בקשר לשרתים,
שנופלים ,מושבתים ,איטיים וצריך לאתחל אותם רק בגלל שמזמן לא אתחלנו ..להלן פלט של
פקודת uptimeעל : zoot
1:09am up 50 days, 6:36, 11 users, load average: 0.73, 0.42, 0.17
= השרת פועל כבר 50ימים רצוף ,בלי להתאתחל.
מרשים ,לא? (וזה קורה הרבה עם יוניקס .הסוד :בעיקר מערכת הפעלה יציבה וחומרה טובה).