כיצד להוסיף מדריך ל- PATH בלינוקס

How Add Directory Path Linux



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

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







ללא המשתנה PATH, כל פקודה תיפקד עם הנתיב המוחלט, כמו ב,



/home/john/dir1/dir2/command.exe



כאשר מדריך השורש הראשון / הוא; ג'ון הוא ספריית המשתמשים עבור המשתמש, ג'ון; dir1 ו- dir2 הם ספריות משנה; ו- command.exe הוא שם קובץ ההפעלה.





קיימים שמות רבים אחרים לקובץ ההפעלה. למעשה, command.exe הוא סמלי, כאן. לכן, אם הספרייה,/home/john/dir1/dir2 (ללא הקובץ), נמצאת במשתנה PATH, המשתמש John, יבצע את command.exe בהנחיה, [email protected]: ~ $ על ידי הקלדה פשוטה, command.exe, ללא הנתיב הקודם. זה:

[מוגן בדוא'ל]: ~ $command.exe

ולאחר מכן הקשה על Enter.

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

$זרק $ PATH

ולחץ על Enter, במסוף. התוצאה תהיה בערך,

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

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

תוכן המאמר

תוספת זמנית

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

פיקוד הייצוא המובנה של Bourne Shell

במילים פשוטות, פקודת הייצוא היא:

$יְצוּא [שֵׁם[= ערך]]

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

למשתנה PATH בזיכרון יש כבר ערך כמו,

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

נניח שהספרייה שיש להוסיף היא/home/john/dir1/dir2. אם פקודת הייצוא מוקלדת בשם,

$יְצוּא נָתִיב=/בית/ג'ון/dir1/dir2

אז/home/john/dir1/dir2 יחליף את כל מה שכבר נמצא בזיכרון כערך למשתנה PATH.

אם פקודת הייצוא מוקלדת בשם,

$יְצוּא נָתִיב=$ PATH:/בית/ג'ון/dir1/dir2

ואז,/home/john/dir1/dir2 היה מצרף את עצמו בסוף מה שכבר נמצא במשתנה. אז המשתנה החדש יהיה:

PATH =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/ בית/john/dir1/dir2

שים לב כי בשורת הקוד הקודמת למעלה החלק של הערך שכבר קיים מופרד מהחלק החדש עם נקודתיים, שהיא ':'. $ PATH בשורת הקוד, מתרחב (מוחלף) בערך PATH שכבר נמצא בזיכרון.

כעת, אותה פקודה יכולה להיות ביותר מספרייה אחת. כאשר פקודת הפעלה מוקלדת ללא הנתיב הקודם בהנחיה, הקליפה מתחילה לחפש את הערך (מחרוזת) של משתנה PATH בזיכרון, משמאל לימין. אז, עם שורת הקוד לעיל,/home/john/dir1/dir2 יגיע סוף סוף, בחיפוש. מי רוצה שהספרייה שלו תגיע אחרונה? - אף אחד. אם כן, דרך טובה יותר לכלול (להוסיף) את הספרייה היא כדלקמן:

$יְצוּא נָתִיב=/בית/ג'ון/dir1/dir2:$ PATH

/home/john/dir1/dir2 נמצא כעת בהתחלה, מופרד מהספרייה הבאה, עם נקודתיים. אז, עם הודעה של [מוגן בדוא'ל]: ~ $,

[מוגן בדוא'ל]: ~ $יְצוּא נָתִיב=/בית/ג'ון/dir1/dir2:$ PATH

לאחר הקלדה ולחיצה על Enter, הפקודה, command.exe בספרייה, dir2, תתבצע עם:

[מוגן בדוא'ל]: ~ $command.exe

כל עוד המחשב אינו כבוי, המשתמש ימשיך לבצע את command.exe מבלי להקליד את הנתיב הקודם.

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

תוספת קבועה

מהדיון לעיל, הרעיון הוא לשמור את השינוי שבוצע (בדיסק הקשיח). לכן, אם השינוי יישמר בקובץ שמעטפת קוראת בכל פעם שהמחשב מופעל, זה יהיה בסדר. כלומר, בכל פעם שהמחשב יתחיל, משתנה PATH בזיכרון יעודכן כראוי. כאשר המחשב מופעל, בעת האתחול, הוא קורא קבצים מסוימים. אחד הקבצים שקליפת ה- Bash עבור לינוקס קוראת היא ~/.bashrc. שם הקובץ הוא. bashrc , מתחיל בנקודה. הוא נמצא בספריית המשתמש.

Bash היא רק מעטפת אחת, כנראה המעטפת הפופולרית ביותר עבור לינוקס כיום. מעטפת נוספת עבור לינוקס היא Zsh. עם Zsh, הקובץ המתאים הוא ~/. zshrc , עדיין בספריית המשתמש. כאשר הקליפה מתחילה, בעת האתחול, היא קוראת קובץ זה. עבור Bash, הקובץ הוא ~/.bashrc. לכן, אם קוד ההוספה הנ'ל מוקלד לקובץ ~/.bashrc, הספרייה תמיד תהיה בזיכרון, שכן ~/.bashrc תמיד יכלול אותו ב- PATH, בכל פעם שהמחשב יתחיל. הוא נשאר בזיכרון עד כיבוי המחשב.

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

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

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

$ננו~/.bashrc

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

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

לחץ על מקש החץ למטה במקלדת ברציפות עד שהסמן יגיע לסוף הקובץ. הוסף שורה חדשה של,

$יְצוּא נָתִיב=/בית/ג'ון/dir1/dir2:$ PATH

זה לא הכל. השינוי בקובץ ~/.bashrc לא נשמר. כדי לשמור את הקובץ עם השינוי שבוצע, הקש Ctrl+o ופעל בהתאם להנחיות אחרות המופיעות. כדי לצאת מעורך הטקסט, הקש Ctrl+x, וחלון המסוף הרגיל אמור להחליף את חלון עורך הטקסט. לאחר מכן ניתן להפיק פקודות מעטפת אחרות.

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

$מָקוֹר~/.bashrc

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

הערה: אין לבלבל בין סוף ערך PATH (רשימה) לסוף קובץ ~/.bashrc. כמו כן, אל תבלבלו בין ספרייה ב- PATH בזיכרון, לבין קובץ הפעלה בספרייה בדיסק הקשיח.

סיכום

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

הבעיה היא כיצד להוסיף את ספריית ההפעלה של יישום חדש ל- PATH. במקרים מסוימים, הדבר מתבצע באופן אוטומטי על ידי תוכנית ההתקנה של היישום החדש. במקרים אחרים, יש לבצע זאת באופן ידני. ישנן שתי דרכים לעשות זאת באופן ידני, המכונים: תוספת זמנית ותוספת קבועה. תוספת זמנית משתמשת בפקודת הייצוא ורק מוסיפה את הספרייה כשהמחשב פועל. על תוספת קבועה לשמור את שורת הפקודה לייצא לקובץ האתחול ~/.bashrc (Bash) לפעולות עתידיות.