10 פקודות יוניקס שכל משתמש ב- Mac ובלינוקס צריך לדעת

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

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

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

יסודות מעטפת

מעטפת שורת הפקודה של יוניקס שווה בערך לחלון הפקודה ב- Microsoft Windows (cmd או PowerShell). הפקודות שאנו עוברים להלן יעבדו על כל מערכת דמוית יוניקס, כולל לינוקס, דארווין (יסוד MacOS), FreeBSD ואפילו חלונות עם משהו כמו Git Bash או מעטפת ה- Bash החדשה ב- Windows 10. האפשרויות והפלט משתנים. מעט, אבל לא תהיה לך שום בעיה להבין אותם.

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

מסך זה, מ- MacOS 10.11, אופייני לרוב הפגזים ב- GUI. בחלקו העליון של החלון אנו רואים את סוג המעטפת, במקרה זה Bash (Bourne Again Shell, שהוא מעטפת ברירת המחדל ב- MacOS וברוב הפצות לינוקס), וגודל החלון. בתוך החלון נמצאת ההנחיה, ובמקרה זה מוגדרת להציג את שם המכונה ( Mercury), את שם ספריית העבודה הנוכחית (כאן הטילדה ~, שהיא קיצור של ספריית הבית של המשתמש), את שם המשתמש, ולבסוף סמל הפקודה (ה-$). שים לב שההנחיה שלך תשתנה בזמן שאתה מסתובב במערכת הקבצים או אם אתה הופך למשתמש אחר במחשב שלך (כגון שורש או משתמש-על על מנת להפעיל פקודות ניהול). ההנחיה מציגה מידע זה, כך שתוכל לדעת בקלות היכן ומי אתה בכל מכונה.

כדאי לדעת שיש שני טעמים עיקריים של מעטפת יוניקס: קליפת בורן ו- C. בורן והחברה נגזרו מה- AT&T יוניקס המקורי, ואילו מעטפת C מגיעה מאוניברסיטת קליפורניה בברקלי וב- BSD יוניקס. בדרך כלל נגזרות מעטפת בורן ו- C טובות לעבודה אינטראקטיבית במסוף. המעטפת הסטנדרטית של POSIX, מעטפת Korn, היא זו שתרצה להשתמש בה לכתיבת תוכניות משלך במעטפת, המכונה סקריפטים. אנו משתמשים במעטפת ה- Bash עבור הדוגמאות במדריך זה.

סביבת הקליפה

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

אל תדאג להבין את כל משתני הסביבה כעת, אך דע כי הם שם. אתה צריך לזהות כבר כמה משתנים. לדוגמה, SHELL=/bin/bashאומר לנו שאנחנו משתמשים במעטפת Bash. HOME=/Users/nunezמציין את המיקום של ספריית הבית של המשתמש. באפשרותך לשנות או ליצור משתני סביבה ולעתים קרובות תעשה זאת. הנה דוגמה להגדרת משתנה סביבה שנקרא FOOולהצגת ערכו:

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

פקודות יוניקס

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

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

הדבר השני שיש לשים לב אליו הוא האפשרויות הניתנות לכל פקודה. ב- Unix, האפשרויות מקודמות באופן מסורתי עם תו מקף יחיד -,. אפשרויות שורת פקודה אלה משנות את התנהגות הפקודה. בדוגמה זו, -l האפשרות lsפירושו להוציא את תוכן הספריה בתבנית "ארוכה", ואילו –lהאפשרות wcפירושה לספור את "השורות" במקום המילים. באנגלית ניתן לקרוא פקודה זו:

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

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

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

המדריך

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

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

המדריכים מחולקים לשמונה חלקים, המשתנים מעט תלוי אם אתה ב- BSD / Linux / Mac או מערכת V של Unix. כדאי להתחיל בקריאת ההקדמה לכל קטע, ותוכלו לעשות זאת בעזרת כישוף man -s 1 intro, כלומר לחפש בסעיף 1 כדי למצוא דף ידני בשם "מבוא":

אם אינך בטוח באיזו פקודה אתה מחפש, תוכל לנסות את האפשרויות -fו- -k. יגיד לך פונקציית פקודה אם אתה יודע את שמה, ואילו יופיע שמות הפקודות הרלוונטיות בהתבסס על מילת מפתח אחת או יותר. שתי האפשרויות יחפשו במסד נתונים מובנה (אם הוגדר; בדרך כלל יש) ויחזירו את כל ההתאמות. לדוגמה, יציגו את הדפים הידניים המתחילים במחרוזת :man –f command man –k hint man –k bzerbz

מערכת הקבצים

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

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

הפקודה האחרת שתצטרך מיד היא cdהפקודה שבה אתה משתמש כדי לשנות ספריות. זה דומה לאותה פקודה ב- Windows, אך עם הבדל חשוב. ב- Unix, כל הכוננים (התקנים) מופיעים ככונן יחיד. בעוד שב- Windows יתכן שתמונותיך יהיו בכונן קשיח חיצוני המופיע כ- E :, ב- Unix הכונן עשוי להיות / בית / משתמש / תמונות. כל הקבצים במערכת יוניקס ניגשים דרך נתיב שמתחיל ב- / (ספריית השורש), ותוכלו להרכיב כוננים קשיחים שונים בנקודות שונות במערכת הקבצים בהתאם לצרכים שלכם.

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

שים לב שאתה יכול להשתמש cdבפקודה ללא ארגומנטים כדי לחזור במהירות לספריית הבית שלך. טיפ נוסף: ~ניתן להשתמש בו כקיצור דרך להתייחס לספריית הבית שלך הן במעטפת Bash והן ב- C. 

בשלב זה אתה יודע להסתובב במערכת הקבצים ולפרט את תוכן הספריות. כעת אנו זקוקים לדרך לקרוא את הקבצים המאוחסנים בהם. בימינו רוב המערכות מגיעות עם lessהפקודה לכך. lessיציג קובץ דף אחר דף ויאפשר לך לנווט באמצעות פקודות Vi (לחץ jכדי לנוע למטה, kלעלות למעלה, hלקבל עזרה qולצאת מהקובץ).

בואו נראה מה יש בקובץ / etc / passwd על ידי הזנה less /etc/passwd:

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

שטח דיסק

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

לעת עתה, להתמקד %iusedו mounted onעמודות. זה מראה שהספרייה הביתית שלי מלאה ב -92 אחוזים, אז אני כנראה צריך לנקות אותה. אך כיצד אוכל לדעת היכן נעשה שימוש בכל החלל? לשם כך duנועד:

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

מכיוון שהגירסה של MacOS sortלא מצליחה להתמודד עם duהפלט הניתן לקריאה אנושית, השתמשתי -mבאפשרות duלהצגת השימוש בדיסק במגה-בתים (השתמש באפשרות -gאו -kלהצגה בג'יגה-בייט או קילובייט). -nואת -rאפשרויות עבור sortסוג הפלט מספרי והן בסדר הפוך, כך הספריות הגדולות תופענה בראש הרשימה.

סופר סופר וסודו

מספר פקודות מתייחסות לניהול המערכת. נסה להקליד man -s 8 introלהקדמה אליהם. אני הולך לתת לך את פקוד אחד חיונית לניהול מערכת כאן: su. זה מייצג "משתמש סופר" ומתייחס למשתמש הניהולי או לחשבון הבסיס. כל הקבצים השייכים למערכת הם בבעלות משתמש זה, ותצטרך להפוך למשתמש זה בכדי לבצע ניהול.

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

הא? אני בטוח שהקלדתי את הסיסמה כהלכה. מה שקרה כאן הוא שלמשתמש הנוכחי שלי nunezאין שום הרשאה su. בחלק מה- Unix זה אומר שהמשתמש צריך להיות wheelבקבוצה, ובמערכות אחרות (כולל MacOS) המשתמש צריך להיות sudoersבקובץ.

בוא נסיים על ידי הוספה nunezל- sudoers, מה שייתן לך טעימה מעריכת קבצים בשורת הפקודה. משתמשי כוח שרים את שבחי עורכי ה- Emacs ו- Vi, ואני ממליץ לכם לנסות אותם, אך נשתמש כאן ב- Nano. קל ללמוד את Nano ולהשתמש, ו- MacOS והפצות לינוקס רבות מגיעות עם זה כבר מותקן.