OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

3.2. התמצאות במערכת הקבצים


3.2.1. הנתיב


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


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


רוג'יר:> הד $ PATH

/opt/local/bin:/usr/X11R6/bin:/usr/bin:/usr/sbin/:/bin

רוג'יר:> הד $ PATH

/opt/local/bin:/usr/X11R6/bin:/usr/bin:/usr/sbin/:/bin

בדוגמה זו, המדריכים / opt / local / bin, /usr/X11R6/bin, / usr / bin, / usr / sbin ו

/ סל לאחר מכן מחפשים את התוכנית הנדרשת. ברגע שנמצא התאמה, החיפוש מופסק, גם אם לא חיפשו בכל ספרייה בנתיב. זה יכול להוביל למצבים מוזרים. בדוגמה הראשונה למטה, המשתמש יודע שיש תוכנית בשם Sendsms לשלוח הודעת SMS, ומשתמש אחר באותה מערכת יכול להשתמש בה, אבל היא לא יכולה. ההבדל הוא בתצורה של נתיב מִשְׁתַנֶה:


[jenny@blob jenny]$ Sendsms bash: sendsms: הפקודה לא נמצאה [jenny@blob jenny]$ echo $PATH

/bin:/usr/bin:/usr/bin/X11:/usr/X11R6/bin:/home/jenny/bin [jenny@blob jenny]$ su - tony

סיסמה: tony:~>אשר שולח הודעות

sendsms הוא /usr/local/bin/sendsms


tony:~>הד $PATH

/home/tony/bin.Linux:/home/tony/bin:/usr/local/bin:/usr/local/sbin:\

/usr/X11R6/bin:/usr/bin:/usr/sbin:/bin:/sbin

[jenny@blob jenny]$ Sendsms bash: sendsms: הפקודה לא נמצאה [jenny@blob jenny]$ echo $PATH

/bin:/usr/bin:/usr/bin/X11:/usr/X11R6/bin:/home/jenny/bin [jenny@blob jenny]$ su - tony

סיסמה: tony:~>אשר שולח הודעות

sendsms הוא /usr/local/bin/sendsms


tony:~>הד $PATH

/home/tony/bin.Linux:/home/tony/bin:/usr/local/bin:/usr/local/sbin:\

/usr/X11R6/bin:/usr/bin:/usr/sbin:/bin:/sbin

שימו לב לשימוש ב- su מתקן (switch user), המאפשר להריץ מעטפת בסביבה של משתמש אחר, בתנאי שאתה יודע את סיסמת המשתמש.


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


בדוגמה הבאה, משתמש רוצה להתקשר ל- wc פקודה (ספירת מילים) כדי לבדוק את מספר השורות בקובץ, אבל שום דבר לא קורה והוא צריך להפסיק את הפעולה שלו באמצעות Ctrl+C קוֹמבִּינַצִיָה:


מגשר:~> מבחן wc -l


(Ctrl-C)

מגשר:~> איזה wc

wc הוא גיבוב (/home/jumper/bin/wc)


מגשר:~> הד $ PATH

/home/jumper/bin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:\

/usr/bin:/usr/sbin:/bin:/sbin

מגשר:~> מבחן wc -l


(Ctrl-C)

מגשר:~> איזה wc

wc הוא גיבוב (/home/jumper/bin/wc)


מגשר:~> הד $ PATH

/home/jumper/bin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:\

/usr/bin:/usr/sbin:/bin:/sbin

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


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


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


מגשר:~> ייצוא PATH=/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:\

/usr/bin:/usr/sbin:/bin:/sbin:/home/jumper/bin

מגשר:~> ייצוא PATH=/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:\

/usr/bin:/usr/sbin:/bin:/sbin:/home/jumper/bin


תמונהשינויים אינם קבועים!

 

מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: