אחד הדברים שאני הכי אוהב לעשות, זה למצוא פתרונות לכל הדברים שאנשים אומרים שאי אפשר לעשות בתחום הסלולאר, או בתחום המחשוב הפרטי,או העסקי.
יש לנו את האנציקלופדיה הגדולה ביותר והיא חינם ואפשר להשתמש בה מסביב לשעון בכל מקום, וכולם מכירים אותה...לא אני לא מדבר על ויקיפדיה - Google
אני שמח שחזרתם אלי לחלק ארבע עשר של המדריך, אם לא עברתם על החלקים הראשונים, מאוד חשוב לעבור עליהם מאחר ובלי החלקים הראשונים לא תצליחו לתרגל ולהבין את החלק הנוכחי, את כל החלקים של המדריך ניתן לקרוא כאן: לינק
בכל מערכת הפעלה יש משתמשים וקבוצות, על משתמשים כבר עברנו, עכשיו נעבור על קבוצות.
כמו בווינדוס ומאק אפשר לבצע את אותן הפעולות דרך ממשק המשתמש בלינוקס (במידה וממשק המשתמש קיים), יש מערכות שבהן אין ממשק משתמש כמו לינוקס בגירסת Cent-Os או Gentoo וצריך לדעת לנהל שם משתמשים, אל תדאגו, גם כאן ההסבר הוא עם הגישה שלי, ואני מבטיח לכם שיהיה לכם קל ופשוט להבין את הכל :).
במדריך זה נלמד:
1) בשביל מה צריך קבוצות?
2) איך לבדוק לאיזו קבוצה שייך קובץ\תיקייה?
3) איך לבדוק באיזו קבוצה נמצא המשתמש שלי?
4) איך לבדוק באיזו קבוצה נמצא משתמש אחר?
5) מה זה קובץ etc/groups?
6) איך יוצרים קבוצה בלינוקס?
7) איך מוחקים קבוצה בלינוקס?
8) איך להוסיף משתמש לקבוצה בלינוקס?
9) איך לשנות שם של קבוצה בלינוקס?
10) מה זה קבוצה ראשית ומשנית בלינוקס?
1. בשביל מה צריך קבוצות?
יש המון סיבות למה צריך קבוצות אך אחת מהן היא עניין של ניהול יותר מדויק של הרשאות במערכת ההפעלה, לדוגמא, אם אתם עובדים בארגון של 500 איש, אז לתת הרשאות על תיקיה לכל בן אדם זאת עבודה מפרחת מעבר לזה שלא נראה לי שתזכרו את כולם, אך כשמראש מייצרים תיקיה עם הגדרה של משתמשים אז שצריך לתת הרשאות לתיקיה\לקובץ או לכל דבר אחר (קבוצה המאפשרת לאנשים להתחבר למחשב מסוים, קבוצה של אנשים שמותר להם לצאת לאינטרנט וכד') הרבה יותר נוח לבצע את זה עם קבוצות.
2.איך לבדוק לאיזו קבוצה שייך קובץ\תיקייה?
בחלק שמדבר על ניהול משתמשים עברנו על העניין הזה אז אני אזכיר, העמודה הימנית, היא עמודת הקבוצה:
3. איך לבדוק באיזו קבוצה נמצא המשתמש שלי?
לצורך הצגת הקבוצות שהמשתמש שלי חבר בהן נקיש את הפקודה groups:
4. איך לבדוק באיזו קבוצה נמצא משתמש אחר?
לצורך הצגת הקבוצות שהמשתמש חבר בהן, נקיש groups [user_name]:
5. מה זה קובץ etc/groups?
קובץ זה מחזיק רשימה של כלל הקבוצות עם מספר המזהה שלהן (ה ID), ניתן לראות אותו בנתיב הבא etc/groups
לצורך הצגת התוכן נשתמש בפקודה cat, בצורה זאת: cat /etc/group:
מדובר ברשימה המחולקת לעמודות, כל עמודה מופרדת מעמודה אחרת בעזרת ":", להלן מקרא (משמאל לימין)
עמודה ראשונה - שם הקבוצה (root, deamon, bin, mail, news וכד') - בתהליך יצירת המשתמש, המערכת אוט' מייצרת גם קבוצה על שמו, ומוסיפה את אותו המשתמש לאותה הקבוצה.
עמודה שניה - הסיסמא של הקבוצה (לא נכנס לזה, מהסיבה הפשוטה - אף אחד לא משתמש בזה) - מסומן על ידי X.
עמודה שלישית - מזהה של הקבוצה - GID, יחודי לכל קבוצה, בדומה למזהה של משתמש שגם הוא יחודי.
עמודה רביעית - החלק האחרון, שהוא ":" ואחריו כביכול אין כלום, בעצם במידה ואין אף משתמש בקבוצה הזאת, לא יהיה כלום במידה ויהיה משתמש בקבוצה הזאת, יהיו שם שמות של משתמשים ניתן לראות כאן בדוגמא, משתמשים שנמצאים בתוך קבוצת users:
6. איך יוצרים קבוצה בלינוקס?
לצורך יצירת קבוצה, נריץ את הפקודה sudo groupadd [group_name]:
7. איך מוחקים קבוצה בלינוקס?
לצורך מחיקת קבוצה, נריץ את הפקודה sudo groupdel [group_name]:
8. איך להוסיף משתמש לקבוצה?
כמו הרבה דברים בלינוקס, גם כאן ישנן כמה דרכים לבצע הוספה של משתמש לקבוצה משנית (אין הבדל בין קבוצה ראשית או משנית, משתמש יכול להיות חבר בכמה קבוצות), לצורך הוספה של משתמש לקבוצה מסוימת נשתמש בפקודה usermod, בצורה הזאת:[user_name] sudo usermod -a -G [group_name], אפשר לקצר את זה ל [user_name] sudo usermod -aG [group_name], המשמעות של ה "a-" היא "Append" (הוספה), ולאחר מכן ה"G" מסמל "Group" (קבוצה):
ניתן לראות שהמשתמש "lev2" עכשיו חבר בקבוצת "levs_test":
נקח לדוגמא את המשתמש שלי lev, אני אוסיף אותו עכשיו לקבוצה levs_test2 אתם תראו, שהוא עדיין לא יופיע בקבוצת levs_test2 :
הסיבה מאוד פשוטה, ברגע שאני מריץ את groups הוא מראה לי את כל הקבוצות שאני נמצא בהן בסשן הנוכחי הזה, אם אני רוצה לראות את הקבוצה שאליה הוספתי את המשתמש שלי, אני אצטרך להריץ groups [user_name] ואז אוכל לראות את השינוי שביצעתי:
בשביל שאוכל לראות את השינוי עם groups בלבד, אני צריך לבצע logoff ואז login למערכת ואז אוכל לראות את הקבוצות שאני נמצא בהן, בתצלום מסך זה,(בחלק שמסומן כ"1") הראתי שביצעתי יציאה מהסשן (מהחיבור) ולאחר מכן התחברתי שוב פעם ובחלק השני (מסומן כ"2") ניתן לראות שהרצתי את הפקודה groups ואז ראו את השינוי שביצעתי:
8.א איך להסיר משתמש מקבוצה?
לצורך הסרת משתמש מקבוצה נריץ את הפקודה: sudo deluser [user_name] [group_name]
8.ב הסבר על הפקודה gpasswd בלינוקס.
ניתן להוסיף משתמש לקבוצה אחרת גם בעזרת הפקודה gpasswd, הפקודה הזאת מבצעת את אותו הדבר, רק הסינטקס שלה שונה, sudo gpasswd -a [user_name] [group_name]
היא לא שונה ביותר מדי, פשוט בפקודה הזאת נקבל יותר "מידע" על מה שמתבצע, בדוגמא כאן, ניתן לראות שאנחנו מקבלים הודעה על כך שהמשתמש התווסף לקבוצה.
בשביל להסיר משתמש עם הפקודה הזאת נריץ את sudo gpasswd -d [user_name] [group_name]
9. איך לשנות שם של קבוצה בלינוקס?
לצורך ביצוע של שינוי שם קבוצה, נריץ את הפקודה: sudo groupmod -n [new_group_name] [old_group_name]
לאחר מכן נבדוק את תוכן הקובץ etc/group ונראה שאכן יש קבוצה בשם levs_test3 עם משתמשים בתוכה,
לצורך קיצור הדרך נבצע חיפוש עם פקודה שכבר למדנו בעבר grep, בצורה זאת : cat /etc/group |grep levs_test3
10. הסבר על קבוצה ראשית ומשנית בלינוקס.
קבוצה ראשית זאת הקבוצה שנוצרת ברגע שנוצר המשתמש, קבוצה משנית זאת קבוצה נוספת שאליה נרצה להוסיף את המשתמש במידה והוא צריך לקבל עוד הרשאות למשאבי רשת\תיקיות\קבצים כאלה ואחרים.
בשביל לשנות את הקבוצה הראשית של המשתמש נריץ את הפקודה [user_name] [group_name] sudo usermod -g, אני לא ממליץ לעשות את זה בכל מקרה, כי יש כמה דברים שצריך לבצע לאחר מכן, כמו כן אתם כפי הנראה אף פעם לא תצטרכו לעשות את זה, לכן אני לא מפרט על הנושא, רק רציתי שתדעו שיש אופציה כזאת.
אני שמח שחזרתם אלי לחלק הרביעי של המדריך, אם לא עברתם על החלקים הראשונים, מאוד חשוב לעבור עליהם מאחר ובלי החלקים הראשונים לא תצליחו לתרגל ולהבין את החלק הנוכחי, את כל החלקים של המדריך ניתן לקרוא כאן: לינק
מה נלמד היום?
1) לבצע הפעלה מחדש למערכת
2) לבצע כיבוי למערכת
3) לתזמן הפעלה מחדש
4) לתזמן כיבוי למערכת.
כמה שזה ישמע מצחיק, אבל בלינוקס "כיבוי" ו "הפעלה" מחדש הם לא כל כך פשוטים, זאת אומרת אין אפשרות לכתוב "reboot" וזהו, צריך לשלב את זה עם עוד כמה פרמטרים, כמו כן יש כמה וכמה פקודות לבצע הפעלה מחדש או כיבוי אנחנו נתמקד בשתים מהן, האחת reboot והשניה shutdown, מה ההבדל ביניהן? ש reboot היא פקודה פשוטה בלי יותר מדי פרמטרים אבל הפקודה shutdown מאפשרת לשלוח נגיד התראות על כך שהולכת להתבצע הפעלה מחדש לשרת במידת הצורך.
1. איך לבצע הפעלה מחדש למערכת ?
נתחיל עם הפקודה הפשוטה reboot, לצורך ביצוע הפעלה מחדש למחשב נכתוב sudo reboot, ומייד נקבל הודעה על כך שהמערכת מבצעת הפעלה מחדש - עם עוד פרטים שנשלחו על ידי מנהל המערכת Root.
לחלופין אפשר לכתוב sudo reboot now ונקבל את אותה התוצאה:
מה יקרה אם נריץ את הפקודה בלי sudo בהתחלה? נקבל הודעת שגיאה והמערכת לא תבצע הפעלה מחדש:
עכשיו נעבור לפקודה השניה, הפקודה shutdown מאפשרת לעשות כמה וכמה דברים, נתחיל עם הפעלה מחדש, לצורך כך נרשום sudo shutdown -r now מה שיגרום למערכת ההפעלה לבצע הפעלה מחדש "במקום":
נגיד ואנחנו רוצים לעשות הפעלה מחדש בעוד כ 10 דקות, נרשום את הפקודה : sudo shutdown -r 10
ומיד נקבל הודעה מהמערכת שנקבע הפעלה מחדש לעוד כ 10 דקות, במידה ונרצה לבטל, המערכת כותבת לנו שניתן לכתוב את הפקודה sudo shutdown -c
נגיד ואנחנו רוצים לקבוע הפעלה מחדש לשעה מסוימת נשתמש בפקודה shutdown ופשוט נוסיף את השעה שבה נרצה לבצע את ההפעלה מחדש, לדוגמא אם אני רוצה לבצע הפעלה מחדש בשעה 22:50, אני ארשום sudo shutdown -r 22:50
כמו כן נקבל הודעה שאומרת לנו שאם אנחנו רוצים לבטל את ההפעלה מחדש יש לכתוב sudo shutdown -c
(המערכת לא אומרת לנו להשתמש ב sudo אך בלי sudo תקבלו הודעת שגיאה על כך שאין לכם הרשאה לביצוע)
2. איך לבצע כיבוי למערכת?
כיבוי ניתן לבצע עם כמה וכמה פקודות, כאן אני אפרט שתי פקודות, האחת poweroff והשניה shutdown.
הפקודה הראשונה מאוד פשוטה sudo poweroff וזהו, המחשב יכבה מיד ללא אפשרות "לעצור" את הכיבוי:
אם אני רוצה לבצע כיבוי של המערכת עם הפקודה shutdown אני אכתוב sudo shutdown -h now ומיד יתחיל תהליך הכיבוי של המערכת, ללא אפשרות עצירת תהליך הכיבוי:
אם אני רוצה לתזמן כיבוי לעוד 10 דקות אכתוב את הפקודה sudo shutdown -h 10
וכמובן אקבל הודעה על כך שהמחשב יכבה בעוד 10 דקות עם אפשרות לביטול התהליך:
במידה ואני רוצה לתזמן כיבוי לשעה 23:00 אכתוב sudo shutdown -h 23:00
ברוכים הבאים לחלק השני ב"מדריך לינוקס למתחילים בעברית" - כמובן אם אתם חדשים בלינוקס, אל תדלגו על החלק הראשון כי הוא מאוד חשוב בשביל שתוכלו לתרגל את שאר המדריך - ניתן למצוא אותו בקישור הזה: כאן
בחלק זה של המדריך זה נלמד על מערכת התיקיות של לינוקס, ועל הבדלים בצבעים של תיקיות וקבצים, כמו כן נלמד:
1) לנווט בין תיקיות.
2) לקרוא תוכן של קבצים כדוגמת טקסט\קונפיגורציה וכד'.
3) איך לדעת באיזו תיקייה אני נמצא?
4) להציג תוכן של תיקיות.
משמעות של צבעים ברשימת תיקיות
כפי שאמרתי בחלק הראשון במדריך, אני לא אוהב להשתמש ב Putty כי אי אפשר לראות את הצבעים של התיקיות והקבצים כמו בלינוקס עצמו וזה מאוד בעייתי מאחר וזה בעצם מקשה על ההבנה של מה אנחנו רואים, האם זה קובץ? האם זאת תיקייה? וכד', לפני מבנה התיקיות, להלן "מקרא" אודות הצבעים.
צבע כחול - תיקייה
צבע ירוק - קובץ שניתן להפעיל
צבע צהוב עם רקע שחור - התקן
צבעורוד - קובץ תמונה
צבע אדום - קובץ ארכיון
צבעאדום עם רקע שחור- קיצור דרך לא תקין
רשימת תיקיות ומבנה תיקיות מערכת בלינוקס
מבנה התיקיות בלינוקס שונה ממה שאנחנו מכירים בווינדוס, אין דבר כזה "כונן :C" שבו יושבות כל התיקיות, כלל התיקיות נמצאות בדיסק הקשיח תחת התיקיה הראשית שהיא תיקיית ה-ROOT ומסומנת ב"סלאש" - "/" בתוך התיקה הזאת ישנן כל התיקיות שהמערכת והמשתמשים צריכים.
מבנה התיקיות נראה ככה:
(אם אתם בלינוקס ומנסים להריץ את אותה הפקודה שאני מריץ, לא תצליחו כי צריך להתקין את Tree)
/ - התיקייה הראשונה בעץ התיקיות, רק משתמש מסוג ROOT עם סיסמת מערכת יכול לכתוב או למחוק בה דברים.
"." (ROOT) - תיקיית הבית של משתמש מסוג ROOT, משתמש רגיל יכול רק לצפות בה, כתיבה ומחיקה בתיקייה רק על ידי סיסמא של ROOT.
Bin - כמעט כל דבר בלינוקס הוא קובץ, כמו כן גם הפקודות שאנחנו מריצים, בעצם כל פקודה היא כמו מודול, שאפשר לראות את התוכן שלו וגם לערוך אם אנחנו רוצים כל ה"מודולים" האלה יושבים בתיקייה הזאת לדוגמא ls.
Sbin - כמו Bin רגיל רק שפה יש קבצים של פקודות שמשתמשים בהן לתחזוקת המערכת כמו ifconfig.
lib - תיקייה שיש בה את כל הדרייברים הנדרשים לאתחול מערכת ההפעלה.
usr - תיקייה שמכילה קבצים ספציפיים שהתקין המשתמש, בתוך התיקייה הזאת יש עוד תיקיות חשובות (נלקח מויקפדיה):
/usr/bin = מכילה קבצים בינאריים של תוכניות משתמש
/usr/sbin = מכילה קבצים בינאריים של תוכניות משתמש לשימוש על ידי מנהל המערכת.
/usr/lib =מכילה ספריות בשימוש התוכניות הנמצאות ב־/usr/bin וב־/usr/sbin.
/usr/local = מכילה תוכניות שהותקנו ממקורות שונים, שאינם כלולים בהפצה הרשמית. בנוסף עשויה לאחסן מידע ותוכניות אישיות במצב שקיימת רשת משותפת בה גם התיקייה /usr משותפת.
/usr/share = מכיל קובצי הגדרות כולל הגדרות גרפיות של תוכניות המשתמש.
/usr/src = מכיל את קוד המקור לתוכניות המערכת כולל הקוד של הליבה.
/usr/include = מכיל קובצי כותר הנדרשים בעת הידור תוכנית.
Boot - תיקייה שבה יש את הקבצים שצריך בשביל להעלות את מערכת ההפעלה.
Dev - תיקייה שמכילה התקנים שכבר "מוצמדים" למערכת, זאת אומרת משהו שאין צורך "לחבר" אותו מחדש, או לבצע לו "מיפוי", דיסק קשיח, מעבד וכד', שלא כמו כמו דיסק או קי לדוגמא - שצריך "לחבר" כל פעם מחדש ללינוקס.
Etc - כל קבצי ההגדרות של תוכנות המערכת, בנוסף יש גם כל מיני סקריפטים כיצד להפעיל ולכבות תוכנות או לאן למפות התקן חיצוני (בלינוקס ניתן למפות דיסק או קי לדוגמא, לתיקייה על שולחן העבודה, לכן הכל כתוב מראש.)
Home - תיקיית הבית של המשתמש תיקיית "שולחן עבודה", "המסמכים שלי" וכד', מיוצגת גם על ידי הסימן "~" בטרמינל.
lost+found - תקיית לוגים מה שנקרא בשפת Windows - קבצי DUMP, קבצים שנוצרים ברגע שבוצע ניתוק לא נכון של התקן USB לדוגמא או במצב שבו קרסה המערכת.
Tmp- תיקייה של קבצים זמניים
Var - בתיקייה זאת נמצאים קבצים שהם קבצים "משתנים" לוגים שנרשמים בזמן עבודת המערכת, קובץ תור הדפסה (Spooler), קובץ בדוגמת PST.
Mnt - מיפוי של התקן במחשבים נקרא Mount (עיגון\לעגן) בעיקרון אפשר לעשות Mount לכל תיקייה בלינוקס אבל מקובל להשתמש בתיקייה בשם mnt זה מיועד למצב שבו אתם רוצים לחבר דיסק עם מערכת קבצים אחרת (לא משהו שהוא "לינוקסי")
Media - תיקייה זאת מיועדת ל"עגינה" של התקנים כמו כונן USB חיצוני, ברוב המקרים המערכת תחבר אותם בצורה אוט' לתיקייה הזאת.
Opt - קיצור של "Optional" לכאן מותקנות תוכנות שהן לא מגיעות מובנות בתוך מערכת ההפעלה.
Proc - בתיקיה זאת יש תיקיות רבות כאשר כל אחת מהתיקיות היא Process ID שמכילה מידע אודות תהליך ספציפי, כמו כן מכילה מידע אודות כמה זמן המערכת הפעילה Up time.
SRV - תיקייה של הסרוויסים (שירותים של מערכת ההפעלה)
איך נציג את תוכן התיקיה שבה אנחנו נמצאים?
לצורך הצגה של תוכן בתיקייה אנחנו נשתמש בפקודה ls שהיא קיצור של "List Storage" ובעצם נקבל את כל רשימת התיקיות שיש לנו בתיקיית השורש שלנו שהיא מיוצגת על ידי "~", זאת התיקיה הראשונה שאנחנו מגיעים אליה ברגע שאנחנו מתחברים ללינוקס שלנו, היא תהיה כתובה בסוף $~:lev@ubuntu-vm הסימן של ה"דולר" מסמן שאנחנו מחוברים עם משתמש "רגיל" ולא משתמש "ROOT" שהוא מנהל מערכת.
אם נקיש את הפקודה ls נוכל לראות את כל התיקיות שיש לנו בתוך תיקיית הבית:
מאחר ואין שום קבצים בתיקייה "~" אנחנו רואים רק את התיקיות (הכל בצבע כחול), יכול להיות שאצלכם יופיע משהו אחר כמו שבמקרה שלי מופיעה התיקייה Share-drives.
איך מנווטים ביו תיקיות בלינוקס?
ניווט בין תיקיות מתבצע בעזרת הפקודה cd בפורמט הבא cd folder_name, בלינוקס להבדיל מווינדוס, מאוד חשוב להקפיד על אותיות גדולות וקטנות, כמה שזה ישמע מוזר ניתן ליצור שתי תיקיות בעלות שם זהה רק האחת תהיה עם אותיות גדולות והאחת תהיה עם אותיות קטנות. (נגדים את זה בשיעורים הבאים בהם ניצור תיקיות וקבצים).
נגיד ואנחנו רוצים להכנס לתיקייה Desktop, תנסו לכתוב cd desktop ותנסו לכתוב cd Desktop תראו שזה לא יעבוד לכם ואתם תקבלו שגיאה שאין תיקייה בשם "desktop" ובאמת אין.. כי יש Desktop.
אבל אם נכתוב cd Desktop נוכל להכנס לתוך התיקייה:
עכשיו נציג את תוכן התיקייה "Desktop" בעזרת הפקודה שלמדנו למעלה ls ומהשיעור הקודם נקבל את התיקייה שיצרתי בשם lev1:
בשביל "לחזור" תיקייה אחת אחורה, נכתוב .."רווח" cd כמו בדוגמא הבאה:
נגיד אני רוצה להכנס ישר לתיקייה lev1 בלי להכנס לתוך תיקיית Desktop ניתן לכתוב ישר את הנתיב ולהשלים את הפקודה בעזרת כתור ה TAB במקלדת:
נגיד אני רוצה לעביר מתוך תיקיית שולחן העבודה לתוך תיקיית Downloads שהיא נמצאת בתוך תיקיית הבית של המשתמש שלי, בעיקרון אני אמור לחזור אחורה ואז להכנס חזרה לתוך Downloads אז כאן יש לנו אפשרות לעשות את זה בצורה אחרת והרבה יותר נוחה, לפני כן נבין מה זה "נתיב אבסולוטי ומה זה "נתיב יחסי" :
נתיב אבסולוטי "Absolute path" \ נתיב יחסי "Relative Path"
נתיב אבסולוטי - הנתיב המלא של התיקייה זאת אומר במקרה של Downloads זה יהיה: home/lev/Downloads/
ונתיב אבסולוטי תמיד מתחיל עם "/" זאת אומרת מתחילת עץ התיקיות.
נתיב יחסי - הנתיב מהתיקיה שאתה נמצא בה כרגע עד לתיקייה שאתה צריך להגיע אליה.
בשביל לעבור מתוך התיקייה שאני נמצא בא כרגע "Desktop" לתוך התיקייה Downloads מבלי לחזור אחורה, אני פשוט יכול לכתוב את הנתיב ה"יחסי" ואז אני מגיע אליה, יש שתי דרכים לעשות את זה, אני אראה את שתיהן:
ניתן להשתמש בנתיב היחסי: cd ../Downloads:
או להשתמש בנתיב האבסולוטי: cd ~/Downloads:
איך חוזרים תיקייה אחת אחורה? ישנן שתי דרכים האחת: בעזרת הפקודה .. cd
השניה בעזרת פקודה קצת יותר מתוחכמת שמחזירה אותנו אחורה גם מראה את התיקייה האחרונה שהיינו בה - cd
נגיד ומסיבה שאינה ברורה לאף אחד, אתם לא ממש יודעים מה הנתיב של התיקייה שאתם נמצאים בה, ניתן להשתמש בפקודה מסוימת אשר תראה את הנתיב המלא של התיקייה שבה אתם נמצאים, בעזרת הפקודה pwd:
כמו שאמרנו לפני כן, כל דבר בלינוקס הוא קובץ ולכן ניתן לקרוא את התוכן שלו, נגיד ואנחנו רוצים לקרוא תוכן של קובץ מסוים לצורך כך ננווט לתיקיה bin בעזרת cd /bin ונריץ את הפקודה ls בשביל שנקבל את התוכן של כל התיקייה:
(¿? לידע כללי - לפקודה "ls" יש המון פרמטרים ואפשרויות שימוש, בחלק הזה נראה רק את הבסיס¿?)
אם אני אריץ ls בתיקייה הזאת אני אקבל רשימה ענקית של קבצים
ובשביל להראות לי שאכן יש את הקובץ "ls" אני פשוט אבקש מהמערכת להראות לי את כל הקבצים שמתחילים מהצירוף של השם שאני צריך שזה ls בצורה הבאה ls *ls
ואז הרשימה הצטמצמה ובעצם אני מקבל בדיוק את מה שאני צריך:
הצגת תוכן של קבצים (כל מה שיש בו טקסט, קבצי סקריפט, קונפיגורציה, וכד')
עכשיו בואו נראה מה יש בפנים, אז לצורך כך נלמד פקודה בשם cat ואז את הקובץ שאותו נרצה להציג, במקרה הזה אנחנו לא נכנס לשום תוכנה או נפתח איזשהו עורך, סך הכל נציג את התוכן שלו, אז בואו נראה בעצם מה יש בתוך הקובץ "ls" שהוא ה"תוכנה" שאנחנו מריצים בשביל להציג את התוכן של התיקיות:
אם תדפדפו בתוך הקובץ, תוכלו לראות "שפת מכונה" וגם דברים מעניינים כמו שגיאות שהפקודה מוציאה או לחלופין את ה"עזרה" של הפקודה (כיצד בודקים עזרה אנחנו נלמד באחד מהפרקים הבאים):
לכל שאלה כמו תמיד ניתן לפנות אלי במייל levl@leidertech.co.il
אני שמח להיות כאן שוב, כמו במדריך עם ה PowerShell שנאלצתי להפסיק לכתוב כי פשוט רמת ה"מתחילים" נגמרה ואני הייתי צריך להתעסק בדברים אחרים, בשנה האחרונה "התיישבתי" חזק על לינוקס, ובעצם כמו בפעם הקודמת, אחרי שקראתי וראיתי ולמדתי עם מורה פרטי שעות על גבי שעות, אני מוציא לכם כאן את המדריך ללינוקס למתחילים, חשוב לי להבהיר לכם, אני לא מומחה ללינוקס אני פשוט אקח את החומר ואפשט לכם כמו שאני עושה תמיד.
"המורה מה נלמד?"
כמו עם ה PowerShell אני לא אחפור לכם על "איך מתקינים לינוקס?" "למה כדי להתקין לינוקס?" "למה כדי להסיר לינוקס?" - סתם נגיד "לינוקס" וכד' כי יש יותר מדי סרטונים כאלה ביוטיוב, מה שאני כן הולך ללמד אתכם זה בעצם איך לעבוד עם המערכת גם אם אתם לא מכירים שום דבר חוץ מלהתקין אותה.
אחרי המדריך הזה אתם תרגישו שאין לכם בעיה לעבוד במערכת, לבצע פעולות בסיסיות כמו שאתם רגילים בווינדוס, כמו לנווט במערכת הקבצים, להעתיק, למחוק, להעביר תיקיות, התקנה והסרה של תוכנות, ובעצם הדברים הבסיסיים שאתם צריכים בשביל לקבל בסיס ובטחון לעבוד עם המערכת הזאת, כמו כן תלמדו לעבוד עם עורכי קבצים nano ו vim ובעצם נלמד כיצד להתנהל בתוך המערכת הזאת בלי לקבל דום לב מכל הודעת שגיאה, אני מאמין שאחרי הניסיון הזה אתם תקבלו ביטחון רב ותוכלו לעבוד איתו גם בבית כי אחרי שמתחילים לעבוד איתו ורואים עד כמה המשפט "בלינוקס זה לא היה קורה" נכון, זה משהו שאי אפשר להסביר..
"איך לתרגל? על מה לתרגל?"
בשביל שתוכלו לתרגל כמו שצריך, צריך להתקין את Windows Terminal על המחשב שלכם (או Putty מי שמכיר, אבל אני לא ממליץ כי לא תוכלו לראות את הצבעים של התיקיות והקבצים בלינוקס וזה מאוד חשוב) וכמובן שצריך להתקין את הלינוקס על מערכת וירטואלית כזאת או אחרת ולהכין אותה להתחברות דרך SSH
(למי שלא מכיר מה זה SSH - הינה הסבר שנלקח מ"ויקיפדיה" - Secure Shell (בראשי תיבות: SSH) הוא פרוטוקול לתקשורת מחשבים המאפשר ביצוע פעולות על מחשב מרוחק לאחר תהליך הזדהות (login). הוא נועד להחליף את rlogin ,RSH ו־telnet ולאפשר תקשורת מאובטחת ומוצפנת בין שני מחשבים לא תלויים ברשתות לא מאובטחות. SSH פועל מעל TCP, והפורט הסטנדרטי שלו הוא 22.)
תתקינו על כל סביבה וירטואלית שבא לכם, את הגירסה Ubuntu הכי עדכנית. ניתן להוריד מכאן: לינק, תדאגו שהמערכת תחובר לכם לרשת של הבית, של המשרד או מה שזה לא יהיה, העיקר שתהיה לכם גישה למערכת מתוך הבית שלכם או מהמקום שעליו אתם מתכוננים לעבוד.
¿? חייב הגדרה שהמערכת תוכל לצאת לאינטרנט בשביל שתוכלו להוריד ולהתקין תוכנות כחלק מהתרגול ¿?
התחברות עם Windows Terminal נראית ככה (הרבה יותר עדיף מ Putty):
"ב Putty זה לא היה קורה"
התקנת Windows Terminal
מאיפה להוריד את התוכנה?
1) מחנות האפליקציות של מיקרוסופט (כן כן מסתבר שיש לדבר הזה שימוש) לחפש שם Windows Terminal
א. בהורדה הזאת תקבלו קובץ מסוג Appx (קובץ אפליקציה של ווינדוס) שנראה ככה:
ב. פשוט תלחצו עליו "דאבל קליק", יפתח לכם אשף ותתקינו את התוכנה, תעשו הפעלה מחדש, ואז תעשו חיפוש ב"התחל" של Windows Terminal או כמו במקרה שלי "terminal"
לא צריך להריץ אותו בתור מנהל.
הגדרת SSH על הלינוקס
בשביל שנוכל לעבוד על הלינוקס מרחוק יש צורך לבצע כמה הגדרות, כרגע פשוט תעתיקו את הפקודות אחת אחרי השניה בלי שתקבלו הסבר, את התשובות ל"מה עושה כל פקודה" תקבלו במהלך ההדרכה.
חשוב לזכור ! לפני שאתם מבצעים שינויים בלינוקס, תשמרו נקודת שחזור במכונה הוירטואלית בשביל שתוכלו לחזור למצב הראשוני לצורך תרגול או חזרה על הדברים וכד'.
1. ראשית נפתח את הטרמינל:
¿? טיפ חשוב - בלינוקס אפשר להיעזר בכפתור ה-TAB לצורך השלמת פקודות¿?
2. נקיש את הפקודה: sudo apt update -y * לאחר מכן נתבקש להקיש את הסיסמא של המשתמש שלנו, נקיש אותה (כן לא רואים את מה שאתם מקישים) ונלחץ על ENTER, אם לא קיבלתם שגיאה אז הקלדתם אותה בצורה נכונה.
3. לאחר מכן נקיש את הפקודה: sudo apt install openssh-server
4. אם רץ לכם טקסט שנראה מפחיד רצח ואתם מרגישים כמו ב"מטריקס" כנראה עשיתם הכל נכון :).
5. נבדוק האם הסרוויס רץ, על ידי הפקודה: sudo systemctl status ssh ונוכל לראות שהכל בירוק פרט ל "disabled" זה כרגע לא משנה מה זה, אבל צריך שזה יהיה ירוק
6. נריץ את הפקודה sudo systemctl enable ssh.service
ונוכל לראות שהמערכת בעצם "עושה ENABLE" לסרוויס של ה SSH כך שהוא יפעל אוט' בהפעלת המחשב.
7. נריץ שוב את הפקודה sudo systemctl status ssh ונוכל לראות שעכשיו הכל בירוק
8. לאחר מכן נעבור לווינדוס ונפעיל את ה Windows Terminal, ונרשום את הפקודה: ssh username@linuxname
זאת אומרת בפורמט הבא: שם_מחשב_או_כתובת_IP@שם_משתמש_בלינוקס ssh
את הפרטים נוכל לקחת מהלינוקס שעליו ביצענו הרגע את הפקודות כמו בתמונה, בחלון הטרמינל מצד שמאל רשום בדיוק הפרטים שצריך לקחת בשביל להתחבר ללינוקס שלכם.
9. בהתחברות הראשונה המחשב Windows שלכם ירצה להוסיף את הלינוקס לרשימות שלו (בלי להכנס ליותר מדי פרטים, המחשב עושה את התהליך הזה פעם אחת בלבד), בשביל שתוכלו להתחבר בפעמים הבאות, פשוט רשמו yes ו ENTER.
10. במידה וביצעתם הכל נכון, תקבלו עכשיו הודעה שמחייבת אתכם להכניס את הסיסמא של המשתמש שלכם בלינוקס, כיתבו את הסיסמא (כן, לא תראו מה אתם מקלידים) ולחצו ENTER.
11. לאחר מכן תקבלו מלא טקסט ובעצם זה אומר שאתם בתוך הלינוקס שלכם.
12. בשביל לבדוק שהכל בסדר, דרך המכונה הוירטואלית על שולחן העבודה, לחצו קליק ימני וצרו תיקייה כלשהי.
13. לאחר מכן בחלון ה Windows Terminal כתבו את הפקודות הבאות:
* cd Desktop ולחצו ENTER
* לאחר מכן בשביל להציג את התיקיה בשולחן העבודה כתבו ls ולחצו ENTER במידה והכל תקין, תראו את התקייה שיצרתם על שולחן העבודה בחלון הטרמינל שלכם, זאת אומרת שאתם מחוברים ללינוקס שלכם ואתם יכולים להתחיל לתרגל.
לכל שאלה כמו תמיד ניתן לפנות אלי במייל levl@leidertech.co.il