כיצד להשתמש בקובץ .bashrc ב-Linux

בכל רגע, בוויתה כי ניסיון ה-Linux שלך יכול להשתמש בעיטור קטן נוסף. אולי נתקלת במשימות חוזרות או רצית לממש ממשק שורת פקודה חלק. ובכן, תנסה את זה! המערכת שלך מחזיקה במפתח: קובץ ה-.bashrc, הנסתר בשקט בתיקיית הבית שלך!

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

אמור לפרוש למשימות משעממות ושלום לחוויית Linux יעילה ונעימה יותר!

תנאי קדם

לפני שתתעסק בקובץ ה-~/.bashrc, וודא שיש לך את הדברים הבאים במקום כדי לעקוב אחרי:

  • A Linux distribution is installed on your machine – This tutorial uses Ubuntu 20.04 LTS, but any other distribution works.
  • A non-root user with sudo privileges.

מהו קובץ ה- Bash Run Commands (.bashrc) ב-Linux?

תעצבו את קובץ ה-~/.bashrc ב-Linux כמו קופסת צעצועים סודית בחדר שלך. קופסת הצעצועים הזו נותנת לך ומגדירה את הצעצועים האהובים עליך בדיוק כפי שאתה אוהב בעודך פותח את הקופסה.

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

ls -la

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

Listing all files, including hidden ones, in the working directory (home)

הגדרת תפקידים מותאמים אישית עבור ביצועי פקודות מהירים

A short definition wouldn’t cut into realizing the ~/.bashrc file’s role in customizing your Linux experience. So, how does this file work exactly? When you crack open that ~/.bashrc file, one of the powerful tricks it lets you achieve is defining custom aliases for your favorite commands.

לדוגמה, במקום להקליד sudo apt-get update כדי לעדכן את אינדקס החבילות המקומי של המערכת שלך, הגדר תפקיד מותאם אישית בקובץ .bashrc שעובד באותה הדרך.

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

כדי להגדיר תפקידים מותאמים אישית עבור פקודות, עקוב אחר השלבים הבאים:

1. פתח את קובץ ה .bashrc בתיקיית הבית שלך (~/) דרך העורך המועדף עליך, כמו ננו או וים.

? אם אתה משתמש בחשבון לא שורש, הוסף את sudo לפני ריצת הפקודות שדורשות הרשאות מוגברות.

nano ~/.bashrc

2. לאחר מכן, גלול לתחתית הקובץ והגדר alias (לדוגמה, עדכון) עבור הפקודה המטרה שלך (לדוגמה, sudo apt-get update), כפי שמוצג להלן.

alias update='sudo apt-get update'

שמור את השינויים בקובץ וסגור את העורך.

Defining an alias in the .bashrc file

3. לאחר השמירה, בצע את הפקודה הבאה בטרמינל שלך כדי להפעיל את source של הקובץ ~/.bashrc. פקודה זו אינה מחזירה פלט לטרמינל, אך מיישמת את השינויים שלך.

source ~/.bashrc

4. כעת, הפעל את הקיצור המוגדר שלך, update, ואשר שהפקודה המתאימה (sudo apt-get update) מתבצעת.

update

הפלט למטה מאשר כי הקיצור update שלך פועל בדיוק כמו להריץ את הפקודה sudo apt-get update אך עם פחות קליטה למקלדת.

Testing the newly defined alias (update)

יצירת פונקציות לשיפור היציבות

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

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

כדי להבין איך פונקציה פועלת, בצע את השלבים הבאים:

1. בקובץ ~/.bashrc, הוסף את הפונקציה הבאה בשם manage_package (ארביטררי).

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

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

manage_package() {
  # בודק אם החבילה מותקנת על ידי שאילתת מצב החבילה עם dpkg.
  # $1 הוא מציין מקום ריקה לארגומנט הראשון שנשלח לפונקציה (שם החבילה).
  # הפלט מופנה ל /dev/null כדי להשתיק אותו בטרמינל.
  # ההצהרה if בודקת את מצב היציאה של פקודת ה-dpkg -s.
  # אם המצב הוא 0 (החבילה מותקנת),
  # הולכים לבלוק הראשון, לעדכון החבילה.
  if dpkg -s "$1" &> /dev/null; then
    echo "Package '$1' is already installed. Updating..."
    sudo apt-get update && sudo apt-get install --only-upgrade "$1"
  # אם החבילה אינה מותקנת, הדפס הודעה
  # והרץ sudo apt-get install "$1" כדי להתקין את החבילה.
  else
    echo "Package '$1' is not installed. Installing..."
    sudo apt-get update && sudo apt-get install "$1"
  fi
}

2. עם הפונקציה שנוספה, שמור את השינויים, סגור את העורך, ואז source את קובץ ה-~/.bashrc כדי להחיל את השינויים.

source ~/.bashrc

3. לאחר שהוחיל, קרא את הפונקציה (manage_package), ואז את package-name שברצונך לבדוק, לעדכן, או להתקין בטרמינל שלך, כפי שמוצג למטה.

בחרו בחבילת NGINX בתרגום למדריך זה, אך וודאו להחליף את package-name בשם החבילה שתרצו.

manage_package package-name

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

Executing the newly defined function

התאמה אישית של ציפוי והגדרת הפרומט (PS1) שלך בטרמינל Linux

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

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

כדי להתאים אישית את הטרמינל שלך ב-Linux, המשך עם השלבים הבאים:

1. הוסף את השורה הבאה בתחתית קובץ ~/.bashrc שלך. שורה זו מדפיסה הודעת ברכה בכל פעם שאתה מתחיל סשן טרמינל.

echo "Welcome to your terminal, $USER!

2. לאחר מכן, שנה את משתנה הסביבה של מחרוזת הציפוי 1 (PS1) אם הוא קיים, או הוסף את השורה הבאה לקובץ ~/.bashrc שלך. משתנה PS1 שולט בדיוק במחרוזת הציפוי הראשית, שהיא הציפוי הראשי שמוצג (כלומר user@linux:~#) כאשר השל בעת לקבל פקודות.

שינוי משתנה ה-PS1 מאפשר לך לשנות את מראה הציפוי שלך, כולל צבעו, פורמטו ומידע התצוגה. הביטוי הבא:

  • הפעלת שם המשתמש (\u) ושם המארח (\h) יופיע בצבע ירוק בהיר (32m).
  • הפעלת נתיב התיקייה הנוכחית (\w) תופיע בצבע כחול בהיר (34m).
  • איפוס מאפייני הצבע לצבע ברירת המחדל (רגילה רקומה) (\[\033[00m\]) עבור הטקסט שלאחר הערה. פעולה זו מבטיחה ששאר הטקסט בטרמינל שלך יישאר לא משתנה.
PS1='\[\033[01;32m\]\u@\h:\[\033[01;34m\]\w\$ \[\033[00m\]'

3. לאחר מכן, שמור וסגור את הקובץ, ואז בצע מקובץ ה-~/.bashrc שלך כדי להחיל את השינויים.

source ~/.bashrc

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

Applying the shell prompt changes

הפעלת הסקריפטים שלך: אין נתיב? אין בעיה!

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

כדי להפעיל את הסקריפטים שלך בלי לזכור כל נתיב, בצע את השלבים הבאים:

1. בצע את הפקודה הבאה כדי ליצור תיקייה (mkdir) בשם ~/scripts (רציפות) המיועדת לאחסון הסקריפטים שלך.

mkdir -p ~/scripts

2. לאחר מכן, פתח את קובץ ה־~/.bashrc והוסף את השורה הבאה לסופו, אשר משנה את נתיב החיפוש של הפקודות במערכת. שורה זו מוסיפה את התיקייה ~/scripts למשתנה ה־PATH הקיים שלך.

ההתנהגות הזו מבטיחה כי המסוף יעדיף את התסריטים שלך מעל לביצועיים אחרים עם שמות זהים במערכת ה־PATH.

export PATH="$HOME/scripts:$PATH"

3. שמור וסגור את הקובץ, ואז source אותו כדי ליישם את השינויים מבלי לאתחל את המסוף.

source ~/.bashrc

4. לאחר מכן, הפעל את כל הפקודות למטה כדי ליצור תסריט בשם testscript (ריק) בתיקיית ה־~/scripts שלך.

אין פלט מתפקד לפקודות אלו, אך התסריט מתווסף לביצוע (chmod), ומדפיס הודעה (echo) למסוף.

# צור תסריט Bash חדש בשם 'testscript' בתיקיית ~/scripts
echo '#!/bin/bash' > ~/scripts/testscript

# הוסף שורה ל־'testscript' שמדפיסה "Script is running!" בעת ביצוע
echo 'echo "Script is running!"' >> ~/scripts/testscript

# הפוך את 'testscript' לביצועי על ידי שינוי ההיתרים שלו
chmod +x ~/scripts/testscript

5. לבסוף, הפעל את התסריט שלך (testscript) על ידי קריאה לשמו במסוף.

המערכת מבצעת את התסריט שלך מתיקיית ה־~/scripts המוקצה שלך ללא תלות בתיקיית העבודה הנוכחית במסוף.

testscript

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

Executing the new script to confirm it’s functioning as expected

מסקנה

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

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

כאשר אתה סוגר פרק זה בקובץ ~/.bashrc, זכור שהעקרון האמיתי של Linux הוא הגמישות שלו והשליטה שהוא מציע לך. המסע ממשיך, אז למה לא לחפש חוויית מותאמת אישית על ידי חקירת השדרוגים של ZSH?

צלול לאוקיינוס של ערכות עיצוב ותוספים שזהות ZSH ופריימוורקים כמו Oh My Zsh מספקים. ראה איך הטרמינל שלך מתהפך למקום עבודה יותר מוצלח וויזואלית מרתקת!

Source:
https://adamtheautomator.com/bashrc/