
מבנה ושמות דיסקים ומחיצות בלינוקס:

הטקסט המלא של הדקות הראשונות בהרצאה «לינוקס Script - חלק 4» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הסרטון שלפניכם הוא סרטון חלק ד' בנושא כתיבת סקריפטים לשרתים לינוקס ויוניקס ובחלק ד' אני רוצה לעשות סיכום של החלקים א', ב' וג'.
וכמו שאני מבקש מכם לתרגל, לתרגל, לתרגל, אז חשוב לי גם לעשות pause ולתרגל יחד איתכם את מה שלמדנו עד עכשיו עם איזשהו תרגיל יצירתי, משהו יותר אמיתי, לא סתם הצגה של הודעות אלא משהו קצת יותר מעשי הייתי רוצה לראות.
אז מה שנראה עכשיו אנחנו נראה יצירה של סקריפט שמציג מידע רלוונטי על השרת שלנו ובתרגיל הזה מה שאני רוצה שנתרגל זה את כל הפקודות שלמדנו אבל אנחנו נשלב אותן בתוך סקריפט שיש לו איזשהו היגיון מאחוריו ומה ההיגיון של הסקריפט הזה שלנו למשל הבוס שלכם ביקש מכם אתם עובדים על הרבה שרתים או אתם מתקינים שרתים בחברות והבוס היה רוצה
מכם שברגע שסיימתם להתקין שרת לינוקס והגדרתם את הכתובת IP והגטווי והDNS ושם השרת ווואטאבר, הגדרתם את השרת, עשיתם מה שנקרא קומישינינג של שרת חדש אצל הלקוח, שרת למשל מייל ריליי לינוקס, הוא היה רוצה שתוכלו להציג איזשהו ריפורט ללקוח שזה מה שהשארתם אחריכם כשיצאתם משם, כלומר הנה הדוקומנט, איזושהי דוקומנטציה של מה שנעשה,
ואז כמובן אתם יכולים לשבת על כל שרת ולרשום את הפקודה IP-Config ולהדפיס. זה לא נשמע חכם היה יותר נחמד אם בסיום ההתקנה אתם פשוט מריצים סקריפט שיוצר לכם מסמך ואפילו שולח אותו באימייל אם תרצו אני אוכל להראות לכם איך לשלוח אותו באימייל ללקוח יוצרים סקריפט והסקריפט הזה בסיום מוציא דוח ואתם מציגים את זה ללקוח כדוקמנטציה
עכשיו לאו דווקא אצל לקוח זה יכול להיות שאתם מנהלי רשת בחברה ויש לכם לא מעט שרתים שאתם מתקינים וגם כן אתם רוצים לעשות דוקמנטציה לאותם שרתים אז נכון שיש תוכנות ברשת שיכולות לעשות סריקה ויכולות למצוא מידע על שרתים ואז ליצור עבורכם
איזשהו סוג של דאטה-בייס. אבל שוב פעם חוזרים לסקוויר וואן, התוכנות האלה עולות כסף. התוכנות האלה צריך להתקין אותן ולעשות להן מיינדליינדס.
ואתם לא חייבים את התוכנות האלה אם אתם יודעים לעשות סקריפטים, אתם יודעים לכתוב סקריפטים. אז זה מה שאני רוצה להראות לנו עכשיו, ממש נשב ואשכרה ביחד נחשוב על איך ליצור סקריפט שמציג את אותם דברים שביקשתי, שהלקוח ביקש, שהבוס ביקש, שאתה מעוניין להוציא על השלב.
אני חושב שזה תרגיל מאוד יפה ונחמד, והוא באמת לא מורכב מדי ולא פשוט מדי, ואפשר לעשות אותו רק עם הידע שצברתם עד עכשיו, לא צריך עוד ידע.
אנחנו כמובן בהמשך נעשה סרטים יותר, ובסרטונים היותר מתקדמים נעשה תרגילים יותר מותור מתוחכמים שאתם תצטרכו יותר ידע אבל כרגע בשלב הזה הידע שלכם מספיק כדי ליצור סקריפט מאוד מאוד נחמד אז בואו ניגש ל without further ado כמו שאומרים בואו ניגש למלאכה וניצור סקריפט כזה נחמד פשוט פעם חוזרים ללינוקס הנחמד שלנו ואם שמתם לב בשאר הסרטונים ראיתם
מסך שהוא הרקע שלו היה שחור והאותיות ה- foreground היה בצבע ירוק או אדום או לבן כשאני כותב סקריפטים מצאתי לנכון, אני שם לב שכשאני מסביר על סקריפטים עם מסך לבן בלינוק הרבה יותר קל לכם לראות את הסקריפט ואת המבנה שלו מאשר שזה לבן על שחור ואני ממליץ לכם לכתוב סקריפטים בצורה שאתם לא חייבים כמובן כל אחד עם
העדפות שלו. אז הבוס ביקש סקריפט שמציג המון מידע על השרת בשנייה וחצי במקום ב-20 דקות. יש לזה רעיון טוב. רעיון שלי בוא נתחיל סקריפט 4.sh כבר פה אתם כבר בטח עקבתם אותי כבר אתם כבר יודעים למה לאן אני הולך אז בואו נעשה את זה ביחד תעשו את זה יחד איתי נחשוב ביחד נתרגל ביחד אז כמובן השורה הראשונה שלנו ksh ושוב פעם אתם בטח שואלים
את עצמכם היי ג'ונס למה שלא תיצור לעצמך איזה טמפלר מה זה החארט הזה עכשיו אתה עוד פעם כותב אתה מתחיל ככה מחדש אתם צודקים כשאני עובד עם שרת לינוקס ואני בונה סקריפטים ותאמינו לי שאני עושה את זה לא מעט, במשך כמעט כל יום,
יש לי טמפלט מוכן. ובהמשך אני אשמח אם אנחנו נעשה לעצמנו טמפלט שנתחיל ממנו. כלומר, טמפלט שכבר מכיל את הדברים שאני עושה עכשיו, שיחסוך לכם זמן.
אבל כרגע אני בכוונה עושה את זה, כי אני רוצה לתת לכם זמן לעשות את זה יחד איתי, לתרגל, ואני חושב שהבנתם את הרעיון. זה עוד שתי דקות, אבל עבורכם אני חושב שזה מאוד מאוד חשוב.
בואו נעשה, נחשום, New Server Report A List of Important Missioning Documents אז הייתי רוצה שהסקריפט הזה קודם כל כשהוא מתחיל אני עכשיו חושב יחד איתכם עכשיו עוד דבר עוד טיפ קטן שהייתי רוצה לתת לכם שאתם גם אני בטוח שאתם תאהבו אז הטיפ הזה אומר למה לא לפתוח עוד חלון בזמן שאתם עובדים למה לא לפתוח עוד חלון של פאטי
כדי לאפשר לכם להפעיל כל מיני פקודות כדי לבדוק אותם לפני שאתם עושים להם אינטגרציה בסקריפט. למה אני מתכוון? אם אני רוצה לעשות איזושהי פקודה, למשל עכשיו פקודת דייט.
עכשיו אני לא סגור, כמובן שאנחנו נעשה פקודות טיפה יותר ארוכות, אבל אני לא סגור עם הפקודה הזאת, איך היא מציגה לי את הדייט, בשורה אחת, בשתי שורות?
אז במקום לסגור את הסקריפט, להריץ את הפקודה ולחזור על התהליך הזה, אני יכול פשוט לעבוד עם שני מסכים, עם שלושה מסכים פתוחים, ולבדוק שם את הפקודות שאני הולך לעשות וזו הדרך שבה אני עובד אני ממליץ לכם מאוד אז תנו לי לפתוח פה עוד חלון עכשיו וברשותכם בוא נשים את החלון הזה שיהיה טיפה יותר קטן ואפילו רק כדי ככה שאולי תרגישו בנוח יותר
הייתי רוצה לשנות את זה לחלון לינוקס רגיל שתראו את ההבדל בעצם אוקיי שוב פעם מה שאני עושה עכשיו אני פותח עוד חלון לינוקס כדי ששם אני אבדוק את הפקודות שאני רוצה להכניס לסקריפ במקום לסגור את הסקריפ לבדוק את הפקודה לפתוח את הסקריפ לא נשמע חכם יותר מדי אז הנה החלון
שלי ואני אוכל לעבור ככה אני אוכל לעבור בין החלונות איך שאני רוצה אז הייתי רוצה שוב פעם הרעיון שלנו חברים זה ליצור סקריפ שמציג לי רשימה ארוכה של אינפורמציה על השרת בצורה מאוד יפה ואפילו שולחת את זה לקובץ, בכיף.
איך אנחנו עושים את זה? אז קודם כל הייתי רוצה פקודה שתנקה את המסך. אז איזו פקודה נשתמש? הייתי רוצה להשתמש בפקודה clear, לא?
clear עובדת, מגניב, בואו נבדוק את ה-clear. אז הנה הוספתי הערה, clear the script. עכשיו, בהתחלה אני מאוד ממליץ לכם, אחרי כל פקודה או שתי פקודות שאתם עושים, לסגור את ה-script ולבדוק אותו.
למה? כי אתם עוד חדשים בתחום, יכול להיות, הטעויות, אתם יכולים לעשות הרבה טעויות, לא לכתוב את ה-Clear כמו שצריך, לא לכתוב פה, ואז אתם תיאלצו ללכת ולבדוק עשר פקודות, האם הפקודה הזאת היא לא טובה, האם הפקודה ההיא לא בסדר.
אז הנה עוד טיפ עבורכם, בהתחלה בכל אופן, הייתי ממליץ לכם מאוד לשמור את הסקריפט, להפעיל אותו כל פעם שאתם עושים בעצם שינוי. אז אני הייתי רוצה לעשות את זה עכשיו יחד איתכם.
אז בואו ניתן את ההרשאות על הסקריפט כמו שצריך, Change mode 4 ובואו נפעיל את הסקריפט, סקריפט 4. מגניב, אני רואה שהסקריפט שלי עובד נכון כי יש לו רק פקודה אחת והיא פקודה clear אבל היא עובדת נפלא, אני ממשיך לכתוב את הסקריפט.
אחרי שעשינו את זה אני רוצה בעצם להתחיל לכתוב את הסקריפט תכלס, את הסקריפט שמציג לי מידע על השרת. אז בואו נכניס קודם כל הודעה יפה שמתחילה את הריפורט.
אז בואו, זוכרים מה שדיברנו על זה? דיברנו על זה באחד הסשנים, דיברנו על זה שאנחנו כדאי לחלק את הסקריפט לחלוקה לחלקים בעצם עכשיו סקריפט סליחו לי אבל זה סקריפט קצת פשוט ואולי אתם תשאלו את עצמכם למה אני למה זה כל כך חשוב בסקריפט כל כך פשוט ואל תהיו יותר מדי קוקי תאמינו לי גם סקריפט פשוט אם תעשו לכם את הטמפלט הזה של חלקים זה יהפוך אתכם לכותבי סקריפט הרבה יותר טובים אני
מבטיח לכם את זה מניסיון אז בואו כמובן נשים את ההערה פה פארט 1 welcome אז הייתי רוצה לשלוח echo send send the start of the report message echo גרשיים בוא נעשה את זה במרכז new server new server echo שוב פעם גרשיים וככה שווה כזה יפה זה יהיה התחלה שלי בוא נסגור
את הסקריפ ונבדוק אם הוא עובד או נפלא new server report ככה זה בעצם ככה ריפורט שלי ייראה בעצם אני חוזר לסקר זה זה פארט 1, welcome message. לא מתוחכם, מי יודע, אבל לא רציני.
יש כאלה שאפילו יגידו, תשמע, ג'ונלס, מישהו מכם, ואני זורם, אני זורם בקטע הזה איתכם. תגידו, תשמע, אני לא יודע אם זה פארט 1 של הסקריפט, זה יותר מדי פשוט. בואו נשאיר את זה אולי יחד עם ה-Clear Screen ופשוט יצירת השורה.
אני אומר, אני מסכים איתכם, יכול להיות שלא צריך את זה, אבל פשוט תדרגלו קצת יותר את הנושא הזה של חלוקה של סקריפט לחלקים. זה כל העניין. בסדר?
שזה בעצם החלק שמציג לנו את הרשימה של האינפורמציה שאני רוצה לראות בשרת שלי. נעשה את החלק השני עכשיו, והחלק השני ידרוש מאיתנו קצת יותר להיות קצת עם דמיון יותר פרוע, ואני אסביר עוד רגע מה אני מתכוון.
איזה סרבר ריפורט. עכשיו בסרבר ריפורט אני רוצה מה? אני רוצה להציג מידע על השרת, אני רוצה להציג מידע למשל על חומרה, מידע על הגדרות רשת מידע על רשימת משתמשים שיצרנו למשל בשרת הזה אז אולי כדאי לחלק את זה לקבוצות של מידע אז איך אני אעשה את זה בעזרת אקו למשל אז אקו ונרשום סיסטם אינפו ואקו עכשיו כמובן את זה אתם יכולים בו להעתיק
ולשים את זה פה ולשים את זה פה ככה כותבים סקריפטים ברגע שיודעים לעבוד עם vr ואנחנו נעשה פה עכשיו נטוורק אינפורמיישן נטוורק אינפורמיישן בוא נעשה פורמנס ריסורסס פה אנחנו עכשיו ופה אנחנו בעצם הולכים להכניס בחלק הזה הולך להכניס בעצם את האוטפוט של כל מיני מידעים שקשורים לסיסטם פה אני הולך להציג מידעים שקשורים
לנטוורק פה אני הולך להציג מידעים שקשורים אולי לממורי לדיסק יוטיליזיישן שלנו אוקיי שיכול להיות מעניין מאוד עבוריו להשתמש אז איך אנחנו עושים את זה תראו פה אני יכול עכשיו להתחיל לרשום המון המון המון המון פקודות כמו if קונפיקט ולעשות cut על ה-resolve.conf אבל אם אני פשוט אעשה לכם פקודות כאלה הריפורט
ייראה רע מאוד לא ייראה יפה הייתי רוצה לעשות ריפורט יפה כזה שמציג שם שרת למשל שם שרת ארכיטקטורה המחטפלה מותקנת וואטאבר כל מיני מידעים כאלה נחמדים ואחרי זה הייתי רוצה רק IP רק גטווי רק זה רק פה רק שם make address וואטאבר ובצורה מאוד מאוד יפה של ממש של ריפורט כזה יפה אז איך אנחנו נעשה את זה
פה נכנס לפעולה החלון האחר שפתחנו החלון הנוסף שפתחנו שם אני הולך לבדוק את הפקודות שאני רוצה להשתמש בהן ולמה אני מתכוון שימו לב כשאני עושה את הפקודה למשל ארכיטקצ'ור זה מאוד קל היא מביאה לי באמת אוטפוט מאוד יפה ונחמד אז בוא נתחיל עם ארכיטקצ'ור אוקיי אז שוב פעם אקו סיסטם ארק ואנחנו נעשה את הפקודה שלנו
ארק בוא נבדוק את הסקריפט שלנו עכשיו שם אתם לב לא עשיתי לא יצרתי את הסקריפט הזה בתיקיית השורש בתיקייה של הסקריפט בואו ברשותכם נעשה לו קופי אפילו מוב לסקריפט 4 שלנו נעשה לו מוב לתוך תיקיית סקריפט שיצרנו לפני אם אתם זוכרים באותו יום סקריפט אוקיי סקריפט מספר 4 בואו נפעיל את הסקריפט מספר 4 שלנו או, שכחנו לתת הרשאות, כמובן, ch, במהות כי העברנו אותו למקום חדש,
774, סקריפט 4.sh, תמסך סקריפט 4.sh, נפלא. אז הנה הרפורט שלנו, new server report, אולי כדאי להוסיף ליד הרפורט את התאריך, מה אתם אומרים? נעשה את זה עוד רגע.
System info, System architecture, i686, יופי. אבל הייתי רוצה להכניס פה עוד מידע, ואנחנו נראה שיש מידעים שהם יותר מדי גדולים, יותר מדי מידע, מופיע.
אז אנחנו צריכים לחתוך אותם, אז אנחנו צריכים לדעת להשתמש באותן פקודות שכבר למדתם בסרטונים הקודמים, שעוזרים לי לעשות מניפולציה של Output, מניפולציה של Output של המסך של קבצים וכן הלאה וכן הלאה. אז עכשיו הסקריפ שנראה מאוד יפה, בואו נמשיך לערוך את הסקריפ.
יפה שאני נותן מחמאות לעצמי, זה ככה מחזיק אותי. אוקיי, עכשיו, הנה השורה הראשונה של מידע. הייתי רוצה גם זוכרים אמרנו בוא נוסיף אולי ככה תאריך יפה ליד הדבר הזה אז יאללה חופשי פה למשל עכשיו אני יכול להוסיף דייט זוכרים שלמדנו איך עושים את זה?
דייט. אם אני אריץ את הסקריפט הזה עוד פעם אפשר לראות שיש לי סרבר ריפורט עם הדייט יכול אולי ככה בשביל הכיף לעשות קצת ככה משהו נחמד תפיס איזה קטן פה זה נחמד כאן זה התאריך זה הריפורט בואו רק נוסיף אולי את השורה טיפה יותר ארוכה כל הדברים האלה זה בעצם
זה בעצם כתיבה של סקריפטים, אנחנו כותבים עליהם ממש כמו פלסטלינה, חבר'ה, אנחנו ממש מתעסקים עם זה כמו פלסטלינה, רואים איך זה יצא, משנים טיפה, עושים את זה, אז חשוב מאוד שתאהבו או תתאהבו בתהליך הזה, שהוא לפעמים נראה קצת סזיף, אבל מה שיפה בו, מה שאני מוצא שיפה בו כמובן, זה שכשזה עובד יפה, זאת
אומרת, בואנה, אשכרה, יצרתי משהו יש מאין, כמו שאומרים. לא צריך להתרגל, זה כל הסקריפט, אני יודע, לא בניתי בניין, אבל בכל זאת. אני רואה בזה, תהליך היצירה הוא מאוד מאוד פרודקטיבי, ועובד לכם יפה בסוף, זו הרגשה נפלאה.
אז בואו נחזור לסקריפט שלנו. בואו נירגע עם כל הביאור שלנו על החלינות, ובואו נמשיך. אז הייתי רוצה למשל את השם מחשב. אז גם את זה, גם את זה אתם כבר בטח יודעים, מה הוא רוצה מאיתנו עכשיו, יודעים איך עושים, אוקיי, יודעים איך עושים את זה, יופי, יופי, יופי, סרבר, יודעים, אנחנו עושים משהו נחמד, זוכרים שחלק מהשורות
אולי פה יהיו שונות קצת, אז בואו כבר עכשיו ננקה את הזה וניתן לשורות האלה לגדול קצת, אוקיי, אבל לפחות שהאאוטפוט יתחיל באותו מקום, ופוסט ליין, מגניב, אוקיי, זה נחמד, הכל טוב ויפה, אבל מה למשל אם אני רוצה מידע אחר, או מידע אחר שהפקודה הארפוט מוציאה הרבה מאוד מידע נוסף מסביב אז בואו נבדוק מה אני מדבר בואו נבדוק על מה אני מדבר אני רוצה
למשל את הפקודה uname או uname מינוס a שנותנת לי על המידע לגבי למשל הסוג של הלינוקס שמותקן לצורך העניין אבל מה לעשות שאני יושב uname מינוס a יש לי פה המון מידע וכל מה שמעניין אותי למשל כל מה שמעניין אותי זה אולי רק השורה הזאת הקרנל שלנו אוקיי למשל
או שמעניין שזה גנו לינוקס, עוד פעם, למשל. איך אני חותך את המידע הזה? אז פה אנחנו חוזרים לסרטונים הקודמים שלנו שמדברים על מניפולציה של מידע על המסך. אז בואו נחשוב ביחד, בואו נחשוב ביחד איך אנחנו בכלל מחלצים את המידע הזה, ושוב פעם, יש כל מיני דרכים לעשות את זה.
כרגע אנחנו נבחר בדרך שלי. אז הנה הפקודה שלי, יוני מינוס A. דרך אגב, אני יכול לעשות דרך אחת, שלא תגידו לאף אחד, אני יכולתי לעשות יוני מינוס R ולפתור את הבעיה, בסדר?
להראות לכם שאני יודע לינוקס, אבל בוא נגיד שאין לי את הפקודה מינוס r, יש לי רק את הפקודה מינוס a ואני צריך לחתוך את השורה הזאת כמו שאני רוצה, אני רוצה לחלק אותה למשהו, אז מה אני יכול לעשות?
רגע, יש לי פה עמודות, עמודה אחת, עמודה שנייה, עמודה שלישית, אתם רואים את הרווח ביניהם? אז קודם כל אני יכול לעשות את הפקודה הבאה, yוני מינוס a, אוק, ויש לנו סרטון בנושא אוק, אני אשמח מאוד אם תעצרו את הכל ותלכו לבדוק את הסרטון הזה, אם שכחתם איך עובדים עם אוק.
אוק, פרינט, דולר 3 למשל. הופה, בעזרת אוק חתכתי את השורה ולקחתי רק מה שמתאים לי. מגניב.
אני לוקח את הפקודה הזאתי בקלי קלות ועושה לה מה? פייסט. יפה מאוד. אקו, סוקס, אקו, יו-ניים, אבל לפני כן אני אעשה דה סרוור סרוור טרנל.
שימו לב, שוב פעם, כדי שהכל ייראה יפה, אני אעשה את זה. תראו איזה יופי, זו עבודה יפה. חבר'ה, אני אשכרה מלמד לכם לכתוב סקריפט, אבל לא סתם לכתוב סקריפט, אלא ממש אני חושב יחד איתכם איך הסקריפט שלי ייראה, מה הוא ייתן לי, ואני רוצה שאתם תעשו את זה יחד איתי.
בגלל זה אני לא רץ מהר מדי פה, אוקיי? מאוד מקווה שאתם נהנים כמוני. וכמובן, נסגור פה את זה, נסגור פה את זה. זה דברים קטנים ששוכחים, כל הזמן תעיפו מבט, תראו מה שכחתם ומה הגיע הזמן לבדוק את זה, נכון?
יאללה, הופה, מגניב. אז הנה הסרבר ריפורט שלנו שבנינו ללקוח וסיסטם אינפו זה הארכיטקטור, זה השם של השרת, זה הקרנל, מגניב, מגניב, מגניב.
בואו נמשיך. עכשיו שמתם לי משהו שקצת מפריע לי בעין? אין רווח בין השורה האחרונה פה לבין השורה האחרונה שמתחילה את החלק הבא של נטווק מתפורמשת.
הייתי רוצה ליצור קצת רווח ביניהם. איך אנחנו עושים את זה? אתם יודעים, אני חושב שפספסתי את זה בסשן ג' בסשן שעשינו השלישי, כשדיברתי על אקו, וחבל, עכשיו אני רוצה להציג לכם את זה.
עם אקו אני גם יכול ליצור רווחים. בואו נראה איך אני יוצר רווחים עם אקו. אני כבר מעל האקו הזה עכשיו מוסיף כמה אקוים נחמדים, ככה. איזה יופי, חבר'ה.
זה בעצם אומר, אני רוצה להכניס פה רווחים בבקשה, אוקיי? אני פשוט רוצה להכניס פה רווחים, ואז מה שיקרה עכשיו, ברגע שאני מריץ, תראו איזה יופי חבר'ה, אוטומטית נתתי פה רווחים מעל השורה. לא משנה מה אני ארשום פה עכשיו למעלה,
פה תמיד יהיו לי שני רווחים מעל השורה, זה מאוד מאוד נחמד, זה גם יותר נוח בעין. בינינו, אתה כבר עכשיו יכול להגיד, שמע ג'ונס, וואלה, זה אשכרה נראה כמו איזה תוכנה ככה נחמדה שמישהו כתב, שמציגה מידע וזה בעצם לא תוכנה זה סקריפט סקריפט קטן שאנחנו כתבנו לא
רוצה להמעיט בערכנו חברים אוקיי סקריפט נראה מאוד יפה אבל בכל זאת זה היופי של הכוח של הסקריפט דברים באמת מגניבים שנראים נראים מאוד מתוחכמים אני מבטיח לכם שעוד לא ראיתם כלום חברים אוקיי זה מפריע לי פה עם הזה אתם יודעים מפריע לי זה אני רוצה קצת למשוך את זה הופה עכשיו אני מרגיש