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

מאת אורי עידן מבוסס על מצגת של אלון אלטמן

עודכן לאחרונה ב 14.08.2006

משך השיעור

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

מטרת השיעור

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

השיעור כולל:

  1. הקניית ידע בשימוש בסינון חכם בסביבת המעטפת
  2. מתן פירוט על ניהול מערכת לינוקס בסביבת המעטפת בלבד
  3. התלמידים יוכלו לנהל לעצמם מערכת לינוקס במידה והתקינו אצלם בבית

הקדמה

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

איתור תוכנות וקבצים (זמן לסוף השיעור 00:45)

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

הערה

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

תרגיל:

החיפוש הוא די פשוט:

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

תרגיל

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

which firefox

בדוגמא שלנו, חיפשנו למעשה את קובץ ההרצה של firefox.
חפשו את קובץ ההרצה של which.

סינון חכם (זמן לסוף השיעור 00:35)

במקומות שמודפסים לנו מספר רב של תוצאות, נוכל להשתמש בפקודות סינון לתוצאות כדי
להמעיט את כמות התוצאות שנקבל. נעשה זאת באמצעות השמת
| (pipe)
לאחר הפקודה כשנרצה לסנן, נרשום את אחת מפקודות הסינון. ניתן להשתמש בשיטה זו עבור כל
פקודה שמחזירה תוצאות בסביבת המעטפת (כמו ls לדוגמה).
less
פקודה זו אינה מסננת את התוצאות, אך מאפשרת לדפדף בהם בעזרת מקשי הלמעלה והלמטה בכדי
להזיז שורה בודדת או על ידי שימוש במקשי הpageup והpagedown להזיז דף שלם.

תרגיל

locate .jpg |less

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

head

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

tail

פקודה זו מציגה רק את השורות האחרונות של התוצאות.

תרגיל:

נסו את השימוש בhead וtail על הפקודה

locate .jpg
grep

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

תרגיל:

locate firefox
מה עשתה פקודה זו?
אם ברצוננו למצוא את כל התוצאות שמכילות את bin:
locate firefox |grep bin

ניתן גם לחפש בתחום ע"י שימוש בסוגריים מרובעים:

locate firefox |grep n[0-9]
פקודה זו תציג רק את התוצאות שמכילות את האות n שצמוד אליה מצד ימין מספר, בין 0 ל9.
במקום מספרים אפשר לשים גם אותיות [a-z]. אם אנחנו לא רוצים תחום אותיות או מספרים ופשוט
רוצים אות מקבוצה, נוכל לעשות כך: [abcd]. כמובן שניתן גם לשלב:
locate firefox |grep [adnz][0-9]

הרצת פקודה זו, תציג את התוצאות שמכילות את אחת מהאותיות a,d,n,z שצמוד להן מצד ימין מספר בין 0 ל9.

הצגת המידע על התוכניות הרצות וסגירה בכוח (זמן לסוף השיעור 00:20)

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

תרגיל:

top

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

מתוך כל השדות המופיעים שם נסתכל רק על 4:

USER MEM% CPU% PID.
%MEM

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

%CPU

הוא ניצול המעבד של התוכנה (באחוזים)

PID

הוא המספר של התוכנה (process) בזיכרון

USER
שם המשתמש של מריץ התוכנית – אם ה- user הוא לא המשתמש שלנו, אז נצטרך להפוך ל- root בכדי לסגור אותה.
לאחר שמצאתם את התוכנה שגוזלת משאבים, תוכלו לצאת מהממשק של top בעזרת הקשה על q, וכעת נסגור את התוכנה בעזרת
kill.
kill -n sigkill 101010

את 101010 נחליף ב- PID של התוכנה.

איך זה עובד?
הפקודה kill שולחת איתות (במקרה שלנו את האיתות sigkill) לתוכנה והתוכנה מגיבה לאיתות בהתאם
(במרבית המקרים איתות sigkill מכריח את התוכנה להסגר).
אם אנחנו יודעים את שם התוכנה, נוכל לאתר אותה בלי הפקודה top, וזאת בעזרת הפקודה
ps.
ps -e |grep firefox

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

הסבר: ps לבדה מציגה רק את התוכנות הפעילות.
e- אומר לps להרחיב את התצוגה לכל התוכנות הפעילות ואת grep אנו מכירים בתור המסנן.

תרגיל

הריצו את ps עם e- ובלעדיו ועם הסינון ובלעדיו.

סיכום (זמן לסוף השיעור 00:05)

למדנו היום הרבה פקודות חדשות, אז נסכם:

  1. grep - מוצאת קבצים המכילים טקסט מסוים או תבנית מסוימת
  2. ps - מציגה את התהליכים הרצים (התוכניות הרצות)
  3. top - מציגה את ניצול במעבד באופן אינטראקטיבי
  4. kill - מפסיקה ("הורג") תהליך רץ, או שולח לו איתות
  5. df - מראה את שטח הדיסק המנוצל והזמין
  6. du - מראה את ניצול הדיסק של מדריך מסוים ותת המדריכים שלו
  7. which - מאתרת תוכנית תוך שימוש במסלול (path)
  8. locate - מוצאת קבצים בכונן הקשיח של המחשב