PracticU

הסבר על busybox

בלי כתוביותעם כתוביות
PracticU › קורס לינוקס למתחילים - הסמכה בינלאומית - LPI - Linux Professional Institute › הסבר על busybox
מילון מושגים:
טרמינל - חלון או תוכנה שמספקים ממשק שורת פקודה להקלדת פקודות למערכת ההפעלה.
דיסק - התקן לאחסון קבוע של נתונים, כמו כונן קשיח (HDD) או כונן מבוסס זיכרון מהיר (SSD).
מעטפת - תוכנה שמפרשת פקודות של המשתמש ומעבירה אותן למערכת ההפעלה, למשל Bash או PowerShell.
Bash - מעטפת שורת פקודה נפוצה במערכות Linux, המשמשת להרצת פקודות ולכתיבת סקריפטים.
Ping - פקודה שבודקת אם מכשיר ברשת מגיב ומודדת את זמן התגובה אליו.
הרשאה - קביעה אילו פעולות ומשאבים מותרים למשתמש או לתהליך לאחר שזהותו אומתה. שולטת במי רשאי לעשות מה.
sudo - פקודה ב-Linux שמריצה פקודה אחרת בהרשאות מוגברות, בדרך כלל של משתמש העל (root).
CMD - שורת הפקודה הקלאסית של Windows (Command Prompt), להרצת פקודות ותוכניות בממשק טקסטואלי.

הסבר על busybox
פקודות כמו ls או pwd נראות כחלק מהטרמינל, אבל רובן תוכנות חיצוניות נפרדות. ההרצאה מסבירה את ההבדל בין פקודות מובנות בשל לתוכנות חיצוניות, ומה זה BusyBox.
איך זה עובד
1. פקודות כקבצים: where is ls מראה שיש קובץ בדיסק. ls -l /usr/bin/ls מראה שמדובר בקובץ של כ-147,000 בתים בתיקיית /usr/bin. כך גם pwd (כ-43,000 בתים), echo ו-kill. בתיקיית /usr/bin יש הרבה מאוד תוכנות כאלה.
2. פקודות מובנות בשל: cd ו-history הן חלק מה-shell עצמו, ולכן where is cd לא מוצא קובץ. את ה-shell הנוכחי רואים בהדפסת $0: בקאלי זה ZSH ובאובונטו Bash.
3. למה חיצוניות: כדי להימנע מתלות. אפשר לשדרג או להחליף פקודה אחת, כמו ls, בהחלפת קובץ אחד בלי לשנות את ה-shell כולו.
4. BusyBox: קובץ יחיד (כ-715 אלף בתים בקאלי) שמכיל בתוכו את הפקודות הנפוצות: cp, cat, kill, zip, ping, pwd. מתקינים אותו עם apt install busybox.
5. שימוש: מריצים busybox ls / ו-busybox ping 8.8.8.8. BusyBox מקבל את הפקודה כארגומנט ומשתמש בפונקציה הפנימית שלו ולא בקובץ החיצוני. ל-ping נדרשות הרשאות, ולכן משתמשים ב-sudo.
6. למה זה שימושי: במערכת ריקה מספיק להביא קובץ BusyBox אחד כדי לקבל את כל הכלים.
שימו לב
- גם ב-Windows ping אינו חלק מ-CMD אלא תוכנה חיצונית בתיקיית C:\Windows\System32.
- באמצע ההרצאה המרצה תיקן את עצמו: set נראה בהתחלה כמו קובץ ב-/usr/bin, אבל זה לא היה נכון.
אחרי ההרצאה אפשר להבחין בין פקודה מובנית לתוכנה חיצונית, ולהבין מתי BusyBox שימושי.
השיעור הבא בקורס: פקודת ls בלינוקס

פרקי ההרצאה: הסבר על busybox

  1. 00:00

    פקודות כקבצי תוכנה חיצוניים

  2. 01:01

    פקודות PWD ו-echo כתוכנות

  3. 01:57

    פקודות מובנות בשל

  4. 02:33

    זיהוי השל הנוכחי עם $0

  5. 03:29

    פקודת history המובנית

  6. 04:04

    בדיקת הפקודות באובונטו

תמלול ההרצאה: הסבר על busybox

הטקסט המלא של הדקות הראשונות בהרצאה «הסבר על busybox» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:30

    אנחנו נגלה שיש קובץ ב-hard disk בשם ls זאת אומרת ls זאת לא פקודה מובנית ב-shell זאת תוכנה חיצונית ואם נעשה ls מינוס l usr/bin/ls אנחנו נגלה שפקודת ls זה למעשה קובץ שתופס 147,000 בתים והוא נמצא בתיקיית usr/bin זה אומר שזו מיני תוכנה חיצונית ו-shell פשוט קורא לה אותו דבר גם לגבי פקודת PWD שראינו עד עכשיו.

  3. 01:05

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

  4. 01:20

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

  5. 01:34

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

  6. 01:47

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

  7. 02:11

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

  8. 02:28

    למה? כי הוא מובנה בשל, בשל הנוכחי שאני מריץ כרגע. דרך אגב, איך אני יכול לדעת איזה של כרגע רץ לי?

  9. 02:37

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

  10. 02:45

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

  11. 03:04

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

  12. 03:20

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

  13. 03:29

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

  14. 03:44

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

  15. 03:53

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

  16. 04:21

    open in terminal וגם כאן נריץ פקודת where is cd וגם נראה שגם פה אין קובץ שקוראים לו cd גם פה אין קובץ שקוראים לו היסטורי ונניח קבצים כמו LSPWD וכל זה,

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

ההרצאה הקודמת: סוגי shell בלינוקס - הבדלים בין bash לבין zsh

ההרצאה הבאה: פקודת ls בלינוקס

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

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס Terraform - DevOps - Azure & AWS
  • קורס קוברנטיקס - Kubernetes
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell