linux 2 ª aula
תוכן עניינים:
במערכות מבוססות לינוקס ו- Unix משתנים סביבתיים הם ערכים בעלי שמות דינאמיים המאוחסנים במערכת המשמשים יישומים שהושקו בקליפות או בקליפות משנה. במילים פשוטות, משתנה בסביבה הוא משתנה עם שם וערך משויך.
משתנים סביבתיים מאפשרים לך להתאים אישית את אופן הפעולה של המערכת ואת התנהגות היישומים במערכת. לדוגמה, משתנה הסביבה יכול לאחסן מידע על עורך הטקסט או הדפדפן המוגדר כברירת מחדל, הנתיב לקבצי הפעלה או הגדרות אזור המערכת והמקלדת.
במדריך זה נסביר לקרוא ולהגדיר משתני סביבה ופגזים.
משתני סביבה ומשתני מעטפת
למשתנים יש את הפורמט הבא:
KEY=value KEY="Some other value" KEY=value1:value2
- שמות המשתנים תלויי רישיות. על פי הקונבנציה, משתני הסביבה צריכים להיות בעלי שמות מקרים עליונים. בעת הקצאת ערכים מרובים למשתנה הם חייבים להיות מופרדים על ידי המעי הגס
:
תו. אין מקום סביב שווה=
סמל.
ניתן לסווג משתנים לשתי קטגוריות עיקריות, משתני סביבה ומשתני קליפה.
משתנים סביבתיים הם משתנים הזמינים בכל מערכת והם עוברים בירושה על ידי כל התהליכים והקונכיות שהולידו.
משתני מעטפת הם משתנים החלים רק על מופע הקליפה הנוכחי. לכל פגז כמו
zsh
ו-
bash
, יש סט משתנים פנימי משלו.
קיימות מספר פקודות המאפשרות לרשום ולהגדיר משתני סביבה ב- Linux:
-
env
- הפקודה מאפשרת לך להפעיל תוכנית אחרת בסביבה מותאמת אישית מבלי לשנות את התוכנית הנוכחית. כאשר משתמשים בו ללא ויכוח הוא ידפיס רשימה של משתני הסביבה הנוכחיים.printenv
- הפקודה מדפיסה את כל משתני הסביבה שצוינו.set
- הפקודה מגדירה או מבטלת משתני מעטפת. בשימוש ללא ויכוח הוא ידפיס רשימה של כל המשתנים כולל משתני סביבה ופגז ופונקציות מעטפת.unset
- הפקודה מוחקת משתני מעטפת וסביבה.export
- הפקודה קובעת משתני סביבה.
רשימת משתני סביבה
הפקודה המשמשת ביותר להצגת משתני הסביבה היא
printenv
. אם שם המשתנה מועבר כוויכוח לפקודה, מוצג רק הערך של המשתנה. אם לא צוין שום טיעון,
printenv
מדפיס רשימה של כל משתני הסביבה, משתנה אחד בכל שורה.
לדוגמה, כדי להציג את הערך של משתנה הסביבה
HOME
שתפעיל:
printenv HOME
הפלט ידפיס את הנתיב של המשתמש המחובר כרגע:
/home/linuxize
אתה יכול גם להעביר יותר
printenv
לפקודה
printenv
:
printenv LANG PWD
en_US /home/linuxize
printenv
הפלט ייראה כך:
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35;… LESSCLOSE=/usr/bin/lesspipe %s %s LANG=en_US S_COLORS=auto XDG_SESSION_ID=5 USER=linuxize PWD=/home/linuxize HOME=/home/linuxize SSH_CLIENT=192.168.121.1 34422 22 XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop SSH_TTY=/dev/pts/0 MAIL=/var/mail/linuxize TERM=xterm-256color SHELL=/bin/bash SHLVL=1 LANGUAGE=en_US: LOGNAME=linuxize XDG_RUNTIME_DIR=/run/user/1000 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin LESSOPEN=| /usr/bin/lesspipe %s _=/usr/bin/printenv
להלן כמה משתני הסביבה הנפוצים ביותר:
-
USER
-USER
המחובר הנוכחי.HOME
- המדריך הביתי של המשתמש הנוכחי.EDITOR
- עורך הקבצים המשמש כברירת מחדל לשימוש. זה העורך שישמש כשאתה מקלידedit
בטרמינל שלך.SHELL
- נתיב מעטפת המשתמש הנוכחי, כגון bash או zsh.LOGNAME
- שם המשתמש הנוכחי.PATH
- רשימת ספריות לחיפוש בעת ביצוע פקודות. כשאתה מפעיל פקודה המערכת תחפש בספריות הללו בסדר זה ותשתמש בהפעלה הראשונה שנמצאה.LANG
- הגדרות היישובים הנוכחיים.TERM
- אמולציית המסוף הנוכחית.MAIL
- מיקום היכן שמור הדואר של המשתמש הנוכחי.
פקודות
printenv
ו-
env
מדפיסות רק את משתני הסביבה. אם ברצונך לקבל רשימה של כל המשתנים, כולל סביבה, מעטפת ומשתנים ופונקציות מעטפת, תוכל להשתמש בפקודת
set
:
set
BASH=/bin/bash BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:login_shell:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=()
הפקודה תציג רשימה גדולה של כל המשתנים כך שסביר להניח שתרצה לצרף את הפלט לפקודה
less
.
set | less
אתה יכול גם להשתמש בפקודת הד כדי להדפיס משתנה מעטפת. לדוגמה, כדי להדפיס את הערך של המשתנה
BASH_VERSION
שתפעיל:
echo $BASH_VERSION
קביעת משתני סביבה
כדי להמחיש טוב יותר את ההבדל בין משתני מעטפת לסביבה נתחיל בהגדרת משתני מעטפת ואז נעבור למשתני הסביבה.
כדי ליצור משתנה חדש עם השם
MY_VAR
וערך
Linuxize
פשוט הקלד:
MY_VAR='Linuxize'
אתה יכול לאמת שהמשתנה מוגדר על ידי שימוש באחד
echo $MY_VAR
לסינון הפלט של פקודת הסט באמצעות grep
set | grep MY_VAR
set | grep MY_VAR
:
echo $MY_VAR
Linuxize
השתמש בפקודה
printenv
כדי לבדוק אם משתנה זה הוא משתנה בסביבה או לא:
printenv MY_VAR
התפוקה תהיה ריקה שתאמר לנו שהמשתנה אינו משתנה בסביבה.
אתה יכול גם לנסות להדפיס את המשתנה במעטפת משנה ותקבל פלט ריק.
bash -c 'echo $MY_VAR'
פקודת
export
משמשת להגדרת משתני סביבה.
כדי ליצור משתנה בסביבה פשוט ייצאו את משתנה הקונכיות כמשתנה בסביבה:
export MY_VAR
אתה יכול לבדוק זאת על ידי הפעלה:
printenv MY_VAR
Linuxize
bash -c 'echo $MY_VAR'
Linuxize
ניתן גם להגדיר משתני סביבה בשורה אחת:
export MY_NEW_VAR="My New Var"
משתני סביבה שנוצרו בדרך זמינים רק בהפעלה הנוכחית. אם אתה פותח מעטפת חדשה או אם אתה מתנתק כל המשתנים יאבדו.
משתנים סביבתיים מתמידים
כדי לגרום למשתני סביבה להתמיד, עליך להגדיר משתנים אלה בקובצי התצורה של הבזק. ברוב ההפצות לינוקס כשאתה מתחיל הפעלה חדשה, משתנים סביבתיים נקראים מהקבצים הבאים:
-
/etc/environment
- השתמש בקובץ זה כדי להגדיר משתני סביבה כוללים מערכת. משתנים בקובץ זה מוגדרים בפורמט הבא:FOO=bar
VAR_TEST="Test Var"
/etc/profile
- משתנים המוגדרים בקובץ זה נטענים בכל פעם שמוזנים פגז התחברות. בעת הכרזת על משתני סביבה בקובץ זה עליך להשתמש בפקודתexport
:export JAVA_HOME="/path/to/java/home"
export PATH=$PATH:$JAVA_HOME/bin
קבצי תצורה ספציפיים לכל משתמש. לדוגמה, אם אתה משתמש בבאש, אתה יכול להכריז על המשתנים ב-
~/.bashrc
:export PATH="$HOME/bin:$PATH"
כדי לטעון את משתני הסביבה החדשים לסשן הפגז הנוכחי השתמש בפקודת
source
:
סיכום
במדריך זה הראנו לכם כיצד להגדיר ולפרט משתני סביבה ומעטפת.
אל תהסס להשאיר תגובה אם יש לך שאלות.
מסוףמה משתנה מערכת סביבה, כיצד לערוך אותו בחלונות

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

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

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