אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » רשת האינטרנט » oh my zsh

oh my zsh

רן בר-זיק יוני 27, 2021 7:07 am 9 תגובות

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

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

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

חשיבות ה-CLI

אחד הדברים הראשונים שמפתח ווב לומד הוא שימוש ב-CLI. ראשי תבות של Command Line Interfacce. מה זה אומר? כשאנו עובדים מול תוכנה כמשתמש (למשל וורד) אנו רגילים להשתמש ב-GUI. ממשק גרפי. ליצור מסמך בוורד זה קל – לוחצים על קובץ, שמירה בשם ואז נוצר לנו קובץ בתיקיה לפי בחירתנו. כל האינטראקציה הזו היא גרפית – יש לנו עכבר, אנו מזיזים אלמנטים ורואים את התוצאה בעיניים. כך גם במערכות הפעלה גרפיות. בחלונות או באובונטו אנו יוצרים תיקיות, קבצים, מזיזים אותם ועושים פעולות שונות באמצעות file explorer או כל מנגנון אחר. זה גם GUI. אבל לא לכל התוכנות יש ממשק גרפי של תפריטים ויזואלים שנעים ביניהן עם העכבר. חלק מהתוכנות עובדות עם ממשק טקסטואלי – כלומר פקודות טקסטואליות בלבד. רואים את זה בnpm של Node.js למשל. כדי להפעיל אותה אני נדרש להכנס לטרמינל (cmd בחלונות) ולהקליד: npm init. או npm install. בתוכנה כמו wpscan למשל אני נדרש להכנס לטרמינל ולכתוב wpscan https://example.com. בתוכנה כמו nmap אני נדרש להכנס לטרמינל ולכתוב nmap IPADDRESS. ההפעלה הזו, באמצעות טרמינל, היא בעצם עבודה דרך CLI. פקודות שמקלידים בטרמינל.

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

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

הסינטקס שבו אנו משתמשים בטרמינל תלוי ב-shell שלנו. כשיש הבדל בין ה-shell של חלונות לבין ה-shell של לינוקס ומק. ה-shell של לינוקס ומק נקרא BASH. הוא דומה לזה של חלונות אבל יש הבדלים וגם יש לו הרבה יותר אפשרויות. בשנים האחרונות ניתן להשתמש ב-BASH גם בחלונות באמצעות git bash. תוכנה קטנה שמתקינים אותה על החלונות וכשפותחים אותה אפשר להשתמש ב-bash על חלונות. זה כמו cmd – אבל עם הסינטקס המקובל. אם אתם לא מכירים, אני ממליץ מאוד להתנסות. מורידים, מתקינים ובכל פעם שרוצים לעבוד על הטרמינל פותחים וזהו.

BASH ו-zsh

BASH היא הסביבה הטבעית למפתחים – בלינוקס ובמק וגם בחלונות (עם git bash). אבל אפשר להעשיר אותה עם zsh. ראשי תבות של Z Shell. גם הוא shell שעובד מעולה בדומה ל BASH ובנוי לפי אותם עקרונות אבל יש לו כמה יתרונות – במיוחד auto complete. אם אני רוצה להגיע לתיקיה מסוימת, אני מקליד cd ואז יכול ללחוץ טאב ויש לי רשימה של כל התיקיות. תיקוני שגיאות כתיב בשמות של תיקיות, צבעים, היסטוריה מתוחכמת וכו' וכו'. יש להם גם יכולת לפלגינים. ופה נכנס oh my zsh.

oh my zsh

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

דוגמה של oh my zsh. צבעים, השלמה אוטומטית.

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

יש גם שפע של פקודות מעבר לגרפיקה ולהשלמה האוטומטית – יש ל oh my zsh יותר ממאתיים פלגינים עם פקודות שונות שאם זוכרים אותן זה מאוד מסייע. למשל ggp היא פקודה שלוקחת את כל מה שיש בבראנץ' הנוכחי ודוחפת אותו כבראנץ' מרוחק (לא צריך ליצור אותו מרחוק). מאוד שימושי. בדוקומנטציה של הפלגינים יש דוגמאות רבות נוספות.

התקנת oh my zsh

כמובן שבמק או בלינוקס זה הכי קל. אם יש לכם מק או לינוקס אז:

$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

זה גם כתוב באתר הרשמי של oh my zsh.

אם יש לכם חלונות זה טיפה יותר מסובך. את ההוראות האלו ניסיתי וזה עובד על חלונות 10 יחד עם git bash. מעבר על ההוראות האלו יגרום ל git bash שלכם להכיל את oh my zsh ופיתוח שממש מקל עליכם.

לסיכום

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

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.
תשתית

9 תגובות

  1. ברוך הגב יוני 27, 2021 בשעה 9:54 am

    כמובן שאתה משלב פה 2 דברים, את הzsh עצמו ואת oh-my-zsh.

    אני בWindows ואני לא משתמש בzsh, אבל מצאתי את oh-my-posh כתחליף.

    לאחרונה שמעתי בפודקאסט של רברסים על starship שכתוב בRust ותומך בכל הפלטפורמות, ואז המפתח של oh-my-posh הסב את תשומת ליבי שגם oh-my-posh תומך בכולם.

    אז כרגע אני חזרה עם oh-my-posh.

    (וזה כמובן לא נותן את הפיצ'רים של zsh עצמו)

    https://bscstudent.netlify.app/oh-my-posh/

  2. Alex Gelman הגב יוני 27, 2021 בשעה 10:08 am

    למי שעובד עם וינדוס יש מקבילה בפוורשל:
    https://docs.microsoft.com/en-us/windows/terminal/tutorials/powerline-setup

  3. David הגב יוני 27, 2021 בשעה 10:14 am

    פוסט נחמד ביותר..
    מצרף כאן לינק לכתבה במדיום ששם תוכלו למצוא כמה פלאגינים שממש ישפרו לכם את החיים https://medium.com/@ivanaugustobd/your-terminal-can-be-much-much-more-productive-5256424658e8

  4. al ga הגב יוני 27, 2021 בשעה 10:27 am

    ממליץ להסתכל על fishsh למי שרוצה משהו שמגיע מקונפג עם כל טוב
    https://fishshell.com

  5. ינאי הגב יוני 27, 2021 בשעה 11:06 am

    באמת …??? לא היה על זה עד עכשיו???
    כרגיל – אין על המאמרים שלך!!!

  6. עמרי הגב יוני 27, 2021 בשעה 8:45 pm

    בוינדוס יש גם את הpowershell ו-oh my posh שעובד מצוין למי שרוצה. הבעיה המרכזית היא שאין תמיכה בעברית למי שאיתרע מזלו ויש לו קבצים או נתיבים המכילים עברית.

  7. אביתר הגב יוני 27, 2021 בשעה 9:58 pm

    תודה על הכלי הקטן הזה! דווקא הכתבות ה'קטנות' עושות שינוי מצטבר, שנהיה למשמעותי.

  8. יחיאח הגב אוגוסט 16, 2021 בשעה 1:23 am

    היום ZSH זה הדיפולט במק וגם בקאלי

  9. יחיאל הגב אוגוסט 16, 2021 בשעה 1:23 am

    היום ZSH זה הדיפולט במק וגם בקאלי

השארת תגובה

ביטול

ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד