מבוא לטרמינל של Linux

הקדמה

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

אם ברצונך להשיג את המרב מהמדריך הזה, תצטרך שרת Linux כדי להתחבר אליו ולהשתמש בו. אם אין לך כבר, תוכל להפעיל במהירות אחד על ידי עקיפה של הלינק הבא: איך ליצור Droplet ב-DigitalOcean. המדריך כתוב עבור שרת Ubuntu 22.04 אך העקרונות הכלליים חלים על כל הפצות אחרות של Linux.

בואו נתחיל על ידי ללכת על מהו אמולטור הטרמינל.

אמולטור הטרמינל

A terminal emulator is a program that allows the use of the terminal in a graphical environment. As most people use an OS with a graphical user interface (GUI) for their day-to-day computer needs, the use of a terminal emulator is a necessity for most Linux server users.

הנה כמה אמולטורים חינמיים ונפוצים לפי מערכת ההפעלה:

  • Mac OS X: Terminal (ברירת המחדל), iTerm 2
  • Windows: ConEmu, Windows Terminal, PuTTy
  • Linux: Gnome Terminal, Konsole, XTerm

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

המפרש

במערכת לינוקס, ה-מפרש הוא ממשק שורת פקודה שמפרש פקודות משתמש וקבצי סקריפט, ואומר למערכת ההפעלה של השרת מה לעשות איתם. ישנם מספר מפרשי פקודות שמשמשים באופן נרחב, כגון ה-מפרש Bourne-Again (bash) וה-מפרש Z (zsh). לכל מפרש יש סט מאפיינים ופרטיות משלו לגבי דרכי הפרשת פקודות, אך הם כולם מכילים הפניה ופלט, משתנים ובדיקת תנאי, בנוסף לדברים אחרים.

המדריך הזה נכתב באמצעות ה-מפרש Bourne-Again, המכונה בדרך כלל bash, שהוא המפרש ברירת המחדל עבור רוב ההפצות של לינוקס, כולל אובונטו, פדורה ו-RHEL.

מעטפת הפקודות

כאשר אתה נכנס לשרת לראשונה, בדרך כלל תיקבל ברכת היום של המסך (MOTD), שהיא בדרך כלל הודעת מידע הכוללת מידע שונה כמו גרסת ההפצה של Linux שבה רץ השרת. לאחר ה-MOTD, תיפל לך לתוך פקודה, או למעטף השל, שם תוכל לפקוד את השרת.

המידע שמוצג במעטפת הפקודה יכול להיות מותאם אישית על ידי המשתמש, אך הנה דוגמה למעטפת פקודה ברירת המחדל של Ubuntu 20.04:

sammy@webapp:~$

הנה פירוט של מרכיבי המעטפת הפקודה:

  • sammy: שם המשתמש הנוכחי
  • webapp: שם המארח של השרת
  • ~: התיקייה הנוכחית. ב-bash, שהוא המעטף המוגדר כברירת מחדל, ה-tidle (~) הוא תו מיוחד שמרחיב לנתיב של תיקיית הבית של המשתמש הנוכחי; במקרה זה, הוא מייצג /home/sammy
  • $: סמל ההזמנה. מציין את סיום מעטפת הפקודה, לאחרו קלט המשתמש יופיע

הנה דוגמה לכיצד תראה מעטפת הפקודה, אם מחוברים כ-root ובתיקיית /var/log:

root@webapp:/var/log#

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

הרצת פקודות

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

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

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

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

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

ללא ארגומנטים או אופציות

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

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

נסו להריץ את הפקודה ls בלי שום ארגומנטים כדי לרשום את הקבצים והתיקיות בתיקיית הנוכחית שלכם (ייתכן שלא יהיו):

  1. ls

עם ארגומנטים

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

cd /usr/bin

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

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

ls
Output
… grub-mkrescue sdiff zgrep grub-mkstandalone sed zipdetails grub-mount see zless grub-ntldr-img select-editor zmore grub-render-label semver znew grub-script-check sensible-browser

עם אפשרויות

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

לדוגמה של איך אפשרויות פועלות, בוא נסתכל על הפקודה ls. הנה כמה אפשרויות נפוצות שימושיות בעת השימוש ב־ls:

  • -l: הדפסה של "רשימה ארוכה", הכוללת פרטים נוספים כגון הרשאות, בעלות, גדלי קבצים וחותמות זמן
  • -a: לרשום את כל קבצי התיקייה, כולל אלו המוסתרים (שמתחילים ב- .)

כדי להשתמש בדגל -l עם ls, יש להשתמש בפקודה זו:

  1. ls -l

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

כפי שצוין מקודם, אפשר לקבץ אפשרויות יחד. אם ברצונך להשתמש באפשרות -l ובאפשרות -a ביחד, תוכל להריץ ls -l -a, או פשוט לשלב אותם כך:

  1. ls -la

שים לב שהרשימה כוללת את התיקיות המוסתרות . ו .. ברשימה, בשל האפשרות -a.

עם אפשרויות וארגומנטים

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

לדוגמה, ניתן לבדוק את תוכן התיקייה /home, ללא קשר לתיקיית הנוכחית, באמצעות הרצת פקודת ls זו:

ls -la /home

ls היא הפקודה, -la הן האפשרויות, ו /home הוא הארגומנט שמציין איזו קובץ או תיקייה לרשום. זה צריך להדפיס רשימה מפורטת של התיקייה /home, שצריכה לכלול את תיקיות הבית של כל המשתמשים הרגילים בשרת.

משתני סביבה

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

צפייה בכל משתני הסביבה

כדי לצפות בכל משתני הסביבה שמוגדרים לפקודה ספציפית בהפעלת הטרמינל, הרץ את הפקודה env:

env

יתכן כי יהיה המון פלט. חפש את הרשומה של PATH:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

משתנה הסביבה PATH הוא רשימת תיקיות המופרדות בפיצולים שבהם המעטפת תחפש תוכניות או תסריטים בעת ביצוע פקודה. לדוגמה, הפקודה env ממוקמת ב-/usr/bin, וניתן להפעיל אותה מבלי לציין את הנתיב המלא שלה משום שנתיבה כבר נמצא במשתנה הסביבה PATH.

צפייה בערך של משתנה

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

לדוגמה, כדי להדפיס את ערך המשתנה PATH, ניתן להשתמש בפקודת echo:

echo $PATH

או ניתן להשתמש במשתנה HOME, שמוגדר כתיקיית הבית של המשתמש כבררת מחדל, כדי לשנות לתיקיית הבית שלך בצורה זו:

cd $HOME

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

קביעת משתנים בסביבה

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

כדי להגדיר משתנה סביבה, כל שעליך לעשות הוא להתחיל עם שם המשתנה, לאחר מכן לציין מיידית סימן =, ולאחר מכן את הערך הרצוי שלו:

VAR=value

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

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

ניתן גם להפנות למשתנים קיימים בעת הגדרת משתנה. לדוגמה, אם התקנת יישום ב-/opt/app/bin, תוכל להוסיף את התיקייה הזו לסוף משתנה הסביבה PATH עם הפקודה הבאה:

export PATH=$PATH:/opt/app/bin

עכשיו ודא ש-/opt/app/bin נוסף לסוף משתנה הסביבה PATH עם echo:

echo $PATH

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

סיכום

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

Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal