09/06/2024

מדריך לינוקס למתחילים בעברית חלק 13 - יצירה, ומחיקה של משתמשים בלינוקס.

 


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

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

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



בפרק זה נלמד:

1. איך לבדוק אילו משתמשים יש במערכת?

2. איך ליצור משתמשים בלינוקס?

3. איך למחוק משתמשים?

4. איך לשנות סיסמא למשתמש?

5. איך לשנות סיסמא למשתמש אחר?

6. איך ליצור משתמש "מערכת"?



1. איך לבדוק אילו משתמשים יש במערכת?

בעיקרון לכל משתמש יש תיקיית בית, לכן בשביל לבדוק ניתן להריץ את הפקודה : ls -l /home בשביל להבין לאיזה משתמשים יש תיקיית בית כי בד״כ לכל משתמש יש תיקיית בית, יחד עם זאת זה לא נכון כי יש עוד משתמשים במערכת שאין להם תיקיות בית, כמו משתמשים מערכת וכד.

הדרך הכי טובה בשביל לבדוק אילו משתמשים יש במערכת, זה לבדוק בקובץ "passwd" זאת לא טעות, הקובץ נקרא ככה בקהילת הלינוקס, זה אומנם מקוצר אך הוא כן נקרא ״סיסמאות״ (Passwords) ובקובץ הזה בעצם נשמר המידע אודות משתמשים וקבוצות, בשביל להציג את התוכן שלו נוכל להריץ את הפקודה : cat /etc/passwd

בפנים נוכל לראות שהמשתמש שאני עובד עליו בשם lev הוא אותו משתמש שנמצא ברשימה ומסומן באדום 





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

מקרא (משמאל לימין):

העמודה הראשונה - שם המשתמש שלנו.

העמודה השניה  (ה X) : זה אומר שיש למשתמש הזה סיסמא מוצפנת.

העמודה השלישית (ה-1000) - מזהה משתמש, UID

העמודה הרביעית (ה-1000) - מזהה קבוצה.

העמודה החמישית עמודת "מידע אודות משתמש" - בדרך כלל כאן יהיו שם פרטי ומשפחה (במידה ומילאו את זה ביצירה)

העמודה השישית - נתיב שבו נמצאת תיקיית הבית.

העמודה השביעית - הסביבה שהמשתמש הזה עובד, במקרה שלי זאת סביבת "bash"



2. איך ליצור משתמשים בלינוקס?

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

אנחנו נראה את שתי הפקודות, נתחיל עם הפקודה useradd, הפקודה: sudo useradd user_name.



בצורה הזאת, הדבר היחיד שיקרה זה שייווצר משתמש, ואחרי זה אנחנו נצטרך ליצור תיקיית בית, להוסיף אותו לקבוצות מתאימות, להגדיר סיסמא וכד' וזה מאוד לא נוח, אם אנחנו נרצה להשתמש בפקודה הזאת וליצור גם תיקיית בית נוסיף את הפרמטר "m-", בצורה הזאת: sudo useradd -m user_name.

עכשיו נראה איך נראים הדברים כשמריצים את adduser, הסינטקס sudo adduser user_name:


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


3. איך למחוק משתמשים?

במידה ונרצה למחוק את המשתמש ואת תיקיית הבית שלו, נקיש sudo userdel -r user_name

4. איך לשנות סיסמא למשתמש?

לשינוי סיסמא של המשתמש שלי (או המשתמש שאנחנו עובדים עליו), יש להריץ את הפקודה passwd

5. איך לשנות סיסמא למשתמש אחר?
בשביל לשנות סיסמא עבור משתמש אחר נריץ sudo passwd user_name

6. איך ליצור משתמש "מערכת"?

משתמש מערכת מיועד לביצוע פעולות אוט', שלרוב מריץ תהליכים, ובד"כ רץ ברקע, ואף אחד לא משתמש בו וכמובן שלא צריך להשתמש בזה עם המשתמש שלנו, לצורך יצירת משתמש כזה נריץ sudo useradd -r sys_user_name

הפרמטר r- אומר למערכת שצריך ליצור משתמש מערכת, אפילו המזהה שלו הוא מתחת ל 1000, כל המשתמשים הרגילים מקבלים מזהה של 1000 ומעלה, ומשתמש שהוא משתמש מערכת מקבל מתחת ל 1000.



זה הכל להפעם,

המייל שלי לכל שאלה: levl@leidertech.co.il

כמו תמיד סרטון מצולם של המדריך.



02/06/2024

מדריך לינוקס למתחילים בעברית חלק 12 - מדריך מלא על Nano בלינוקס.


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

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

במדריך זה נלמד:

1) איך להתקין NANO בלינוקס?
2) איך להפעיל NANO בלינוקס?
3) איך לצאת מ NANO בלינוקס?
4) איך לערוך קובץ עם NANO בלינוקס?
5) איך לשמור קובץ ב NANO?
6) איך לבצע חיפוש ב NANO?
7) איך לעשות "העתק" "הדבק" ב NANO?
8) איך "לגזור" שורה שלמה ב NANO?
9)איך להדביק טקסט ב NANO?
10) איך לקבל עזרה ב NANO?
11) איך להתחיל את NANO בשורה ספציפית?
12)איך להציג מספרי שורות?
13) איך להוסיף מספור שורות ב NANO לכל הזמן
14) איך לפתוח קובץ במצב "תצוגה בלבד" ב NANO?
15) איך להגיע שורה ספציפית בתוך NANO?
16) איך לאחד טקסט מקובץ אחד לקובץ אחר ב NANO?
17) איך להעלות לתחילת הקובץ ב NANO?
18) איך לרדת לסוף הקובץ ב NANO?
19) איך לבצע החלפה של טקסט ב NANO?
20) איך לבטל פעולה ב NANO?
21) איך לחזור על פעולה שאנחנו רוצים לבצע שוב ב NANO?
22) איך להעביר פלט של פקודה לתוך NANO?



1. איך להתקין NANO בלינוקס?

לא בטוח שתצטרכו בכלל להתקין את התוכנה כי יש מצב טוב שהיא כבר מובנת אצלכם, לצורך בדיקה אפשר לרשום
which nano ואם נקבל משהו כזה:


זה אומר שזה כבר מותקן אצלכם, במידה ולא קיבלתם כלום, זה אומר שזה לא מותקן, אז תצטרכו להתקין בעזרת apt בצורה הזאת: sudo apt install nano.


2. איך להפעיל NANO בלינוקס?

לצורך הפעלת NANO פשוט נרשום NANO



3. איך לצאת מ NANO בלינוקס?

בשביל לצאת, נלחץ ctrl+x.


4. איך לערוך קובץ עם NANO בלינוקס?

בשביל לערוך קובץ עם NANO, נרשום nano ואת שם הקובץ - [nano [file_name, במידה ומדובר בקובץ קוניפוגרציה (מה שמסתיים ב conf) תצטרכו הרשאות של ROOT בשביל לפתוח את הקובץ, לכן נכתוב sudo nano file_name, אני אראה שתי דוגמאות, אחת עם SUDO ואחת בלי, נתחיל בפתיחת קובץ לעריכה בלי הרשאות אדמין):




ועכשיו נפתח קובץ הגדרות כלשהו בלי הרשאות:


לא נצליח לשמור כי אין לנו הרשאות, לכן נשתמש ב ROOT, בצורה הזאת: sudo nano file_name



5. איך לשמור קובץ ב NANO?

בשביל לשמור קובץ נלחץ על ctrl+o, ברגע שנלחץ על זה, נקבל הודעה שאומרת כיצד הקובץ יכתב (זאת אומרת ישמר), בתור איזה שם:


ולאחר מכן נלחץ על ctrl+x בשביל לצאת.

6. איך לבצע חיפוש ב NANO?

לצורך חיפוש נלחץ על ctrl+w ונכניס את מה שאנחנו רוצים לחפש בקובץ לדוגמא אחפש leidertech:



אכתוב את מה שאני רוצה ואלחץ על ENTER, המערכת תצבע את הטקסט שהיא מצאה:



7. איך לעשות "העתק" "הדבק" ב NANO?

בשביל לבצע העתק הדבק נצטרך לעשות כמה פעולות:

א. נשים את הסמן בתחילת המילה\שורה שאנחנו רוצים להעתיק, לאחר מכן נלחץ על alt+a בשביל שנוכל להכנס למצב "סימן", המערכת תכתוב לנו שאנחנו במצב "סימון", ואז עם החצים נוכל לסמן את מה שאנחנו רוצים:


ב. נסמן את מה שאנחנו רוצים בעזרת החצים במקלדת:



ג. לאחר מכן נלחץ על alt+6 בשביל לבצע "העתק" 

ד. בשביל להדביק את הטקסט איפה שאנחנו רוצים, נלחץ על ctrl+u.

לסיכום:

1) ללחוץ alt+a בשביל לסמן

2) לסמן את מה שרוצים

3) ללחוץ alt+6 בשביל לבצע העתקה

4) לגשת לאן שצריך וללחוץ ctrl+u בשביל להדביק.


8. איך "לגזור" שורה שלמה ב NANO?

נעמוד בתחילת השורה ונלחץ על ctrl+k.

9.איך להדביק טקסט ב NANO?

לצורך הדבקה נלחץ על ctrl+u

10. איך לקבל עזרה ב NANO?

לקבלת עזרה נלחץ על ctrl+g



בשביל לצאת מקובץ העזרה, נלחץ על ctrl+x


11. איך להתחיל את NANO בשורה ספציפית?

בשביל להתחיל את הקובץ בשורה מסוימת, נגיד שורה 15, נכתב nano +15 file_name, כמובן שאתם צריכים לדעת את מספר השורה בשביל זה:



12. איך לפתוח קובץ במצב "תצוגה בלבד" ב NANO?

לצורך פתיחת קובץ במצב תצוגה (שלא נהרוס משהו בטעות), נכתוב nano -v file_name, ואז כשנרצה לשנות משהו נקבל הודעת שגיאה:



אם ננסה לשנות משהו נקבל הודעת שגיאה באדום למטה:


13. איך להוסיף מספור שורות? 


כמו שראינו בפרקים על VIM, מאוד נוח שיש מספור שורות, ב NANO יש כמה דרכים להציג מספרי שורות, האחת עם "מידע" שמופיע ומראה לנו באיזו שורה אנחנו נמצאים בעזרת צמד המקשים ctrl+c


השניה, ללחוץ על צמד המקשים alt+shift+3 אשר יראה מספרי שורות ליד השורות עצמן:




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


14. איך להציג מספרי שורות כל הזמן ב NANO?

לצורך הצגה של מספרי שורות כל הזמן, נפתח עם nano את קובץ ההגדרות של הפרופיל שלנו של NANO בעזרת הפקודה הזאת: sudo nano /etc/nanorc ושם נלחץ על ctrl+w ונחפש "numbers" 



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


 ולשמור את הקובץ בעזרת ctrl+o, ולאחר מכן ללחוץ על ENTER, ואז ctrl+x בשביל לצאת.




15. איך להגיע שורה ספציפית בתוך NANO?

קודם כל נלחץ על ctrl+w בשביל להכנס לחיפוש, לאחר מכן נוכל לראות שהתפריט למטה השתנה:



לאחר מכן נלחץ על ctrl+t ואז אוכל לכתוב מספר שורה:


16. איך לאחד טקסט מקובץ אחד לקובץ אחר ב NANO?

ראשית נפתח את הקובץ הראשון, לאחר מכן נלחץ על ctrl+r ונקליד את השם של הקובץ שממנו אתם רוצים לצרף את הטקסט לקובץ שאתם נמצאים בו כרגע:


והטקסט מהקובץ השני יופיע בתוך הקובץ הנוכחי.

אם אנחנו רוצים לפתוח קובץ ולא זוכרים את השם המלא שלו, אפשר ללחוץ ctrl+r ואז ctrl+t ונוכל לבחור את הקובץ שאנחנו צריכים: 



17. איך להעלות לתחילת הקובץ ב NANO?

בשביל להעלות לתחילת הקובץ נלחץ על \+alt

18. איך לרדת לסוף הקובץ ב NANO?

בשביל לרדת לסוף הקובץ נלחץ על /+alt

19. איך לבצע החלפה של טקסט ב NANO?

לצורך החלפה, נלחץ על alt+r ונקליד מה אתה רוצה להחליף, לדוגמא, פה אני רוצה להחליף את הטקסט "lev":


 לאחר מכן המערכת תשאל אותי במה אני רוצה להחליף את הטקסט? אני אכתוב לדוגמא "lev1" :


בשלב הבא, המערכת תשאל אותי, האם להחליף את הטקסט הספציפי הזה (הראשון שהיא מצאה) או שתיתן לי אפשרויות לבצע החלפה בכל הקובץ:


במידה ונרצה להחליף נלחץ על "y", לאחר מכן המערכת תעבור למקום הבא שבו רשום "lev" ותשאל אותנו אם אנחנו רוצים להחליף גם אותו, אם נרצה להחליף בכל הקובץ נלחץ על "a" ואני מאמין ששאר האופציות ברורות.

20. איך לבטל פעולה ב NANO?

בשביל לבטל, נלחץ על alt+u, ניתן לבטל את כלל הפעולות האחרונות שביצענו עד שהמערכת תגיד לנו שאין יותר מה לבטל.

21. איך לחזור על פעולה שאנחנו רוצים לבצע שוב ב NANO?

בשביל לבצע שוב פעולה שביצענו כבר, נלחץ על alt+e.

22. איך להעביר פלט של פקודה לתוך NANO?

נגיד ואני צריכים את הפלט של הפקודה ifconifg, בתוך הקובץ, או כל מידע אחר מהפקודה הזאת, נלחץ על ctrl+t ואז נריץ את הפקודה שאנחנו רוצים, הפלט ממנה יופיע בתוך קובץ הטקסט 

נריץ את הפקודה:



ונראה את הפקודה מופיעה בתוך הקובץ שלנו:



זה הכל להפעם.

המייל שלי לכל שאלה: levl@leidertech.co.il

כמו תמיד מצורף סרטון של המדריך:



27/05/2024

מדריך לינוקס למתחילים בעברית חלק 11 - מדריך מלא ל VIM בלינוקס.


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

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

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

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

זה הוא המדריך המקיף ביותר שיש 

1) איך להתקין VIM בלינוקס?
2) איך להפעיל VIM בלינוקס?
3) איך לצאת מ VIM בלינוקס?
4) איך לפתוח קובץ עם VIM בלינוקס?
5) איך לערוך קובץ עם VIM בלינוקס?
6) איך לשמור שינויים ב VIM בלינוקס?
7) איך לצאת בלי לשמור שינויים ב VIM בלינוקס?
8) איך לבצע שמירה בשם ב VIM בלינוקס?
9) איך להוסיף טקסט לסוף השורה בלי להיכנס תחילה למצב עריכה ב VIM?
10) איך לבטל שינויים ב VIM?
11) איך להגיע לתחילת השורה ולסוף השורה בלי להיכנס למצב עריכה ב VIM?
12) איך למחוק תווים בלי להיכנס למצב עריכה ב VIM?
13) איך למחוק משפט שלם בלי להיכנס למצב עריכה ב VIM?
14) איך לנווט בתוך VIM עם האותיות במקלדת?
15) איך לאחד שתי קבצים לתוך אחד ב VIM?
16) איך להריץ פקודות מתוך VIM?
17) איך לערוץ קובץ אחר מתוך קובץ פתוח ב VIM?
18) איך לפתוח קובץ טקסט חדש מתוך VIM?
19) איך לעשות העתק\הדבק בתוך VIM?
20) איך לסדר את כל השורות לפי ה- A B C בתוך VIM?
21) איך לחפש טקסט ב VIM?
22) איך להגיע לתחילת מכל מקום ב VIM?
23) איך להגיע לסוף הקובץ מכל מקום ב VIM?
24) איך לפצל את מסך ה VIM לשתי קבצים (אחד מעל השני)?
25) איך לפצל את מסך ה VIM לשתי קבצים (אחד ליד השני)?
26) איך לפתוח את אותו הקובץ פעמיים (אחד ליד השני) ב VIM?
27) איך להוסיף מספרי שורות ל VIM?
28) איך לפתוח קובץ ב VIM בשורה ספציפית מוגדרת מראש?
29) איך לעשות "גזירה" והדבקה של שורה ב VIM?
30) איך לפתוח את VIM מראש עם מסך מפוצל לכמה קבצים?
31) איך לפתוח קבצי VIM מופרדים ללשוניות?
32) איך לפתוח קבצי VIM מופרדים ללשוניות מראש?







1. איך להתקין VIM בלינוקס?

VIM לא מגיע מובנה בתוך אובונטו לדוגמא, ולכן אנחנו נצטרך להתקין אותה בעזרת מנהל החבילות שלנו, במקרה שלי זה APT, לכן אני אריץ sudo apt install vim: 



2. איך להריץ VIM בלינוקס?
לצורך הרצת התוכנה, נקיש את השם של התוכנה vim ונלחץ ENTER:



3. איך לצאת מתוך VIM?
 במידה ונרצה לצאת מהתוכנה נקיש ":" ולמטה נראה שהתוכנה מחכה ל"פלט" ואז נקיש "q" בקטן ונלחץ enter:




4. איך לפתוח קובץ עם VIM בלינוקס?

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

במידה וארצה לבצע עריכה לקובץ אריץ vim [file_name], מאחר ואני נמצא בתיקיה שהקבוץ נמצא בה, אני לא צריך לכתוב את הנתיב לקובץ: 



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



5 איך לבצע עריכה לקובץ ב VIM בלינוקס?

ברגע שנכנסים ל VIM ורוצים לבצע משהו, יש כמה מצבים שונים, בכניסה הראשונה, אנחנו נכנסים למצב שנקרא מצב "נורמאלי" (Normal mode), במצב הזה אין אפשרות לבצע שום עריכה, לצורך עריכה נלחץ על האות I ואז נכנס למצב "Insert" ויתאפשר לנו לבצע שינויים בקובץ :

במידה ונרצה להפסיק לבצע עריכה לקובץ, נלחץ על ESC ונחזור למצב "נורמאלי",
ליציאה נלחץ על ":" ואז נרשום q כפי שהזכרנו למעלה.


6. איך לשמור שינויים ב VIM בלינוקס?

במידה ונרצה לשמור את השינויים, נלחץ על ESC ואז ":" (נקודתיים) ולאחר מכן נכתוב את האות "w" בקטן, ונלחץ ENTER ונקבל הודעה על כך שהקובץ נשמר:


במידה ונרצה לשמור ולצאת באותה הפקודה, במקום "w:" נכתוב "wq:".

7. לבצע שמירה בשם ב VIM בלינוקס?

במידה ונרצה לשמור את הקובץ בשם אחר, נלחץ על ESC ונרשום  w new_file_name:, בצורה הזאת הקובץ הישן לא ימחק וייווצר ולא מתבצע "שכתוב" לקובץ עצמו אלה נוצר עותק, אני שמרתי את smb.conf.bak בתור smb.conf.bak2:





ונקבל הודעה על כך שזה הוא קובץ חדש עם השם החדש:



במידה ואני רוצה לשמור אותו בתיקייה אחרת, אני ארשום : :w /path_to_folder/file_name.txt

8. איך לצאת בלי לשמור שינויים ב VIM בלינוקס?

במידה וביצענו שינויים והחלטנו שאנחנו לא רוצים לשמור אותם נלחץ על ESC ולאחר מכן "!q:"


9. איך להוסיף טקסט לסוף השורה בלי להכנס תחילה למצב עריכה ב VIM?

לצורך זה, לאחר שפתחנו את הקובץ נלחץ על Shift+a ונגיע ישר לסוף השורה שבה אנחנו נמצאים ונוכל לכתוב:



10 איך לבטל שינויים ב VIM?

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



לאחר מכן אלחץ על ESC ואלחץ על "u" :


והכל יעלם.

11. איך להגיע לתחילת השורה ולסוף השורה בלי להיכנס למצב עריכה ב VIM?

במידה ואתם נמצאים במצב הרגיל ורוצים להגיע לסוף השורה נלחץ על "$" ולתחילת השורה נלחץ על "0" (אפס).

(לא צירפתי כאן צילום מסך, כי זה די ברור)

 12.איך למחוק תווים בלי להיכנס למצב עריכה ב VIM?

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


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

13 איך למחוק משפט שלם בלי להיכנס למצב עריכה ב VIM?

לצורך מחיקה של שורה שלמה בלי להיכנס למצב עריכה, נלחץ פעמיים על "d" ואז תמחק שורה שלמה

לא צירפתי כאן צילום מסך כי זה די ברור


14.איך לנווט בתוך VIM עם האותיות במקלדת?

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

מקרא:

k  - לזוז שורה למעלה

j - לזוז שורה למטה

l - לזוז ימינה בשורה (חייב למקם את הסמן בשורה שבה יש טקסט)

h - לזוז שמאלה בשורה (חייב למקם את הסמן בשורה שבה יש טקסט)

15 איך לאחד שתי קבצים לתוך אחד ב VIM?

בלינוקס יש עוד מצב שנקרא מצב "פקודה" (Command mode), במצב הזה אפשר לבצע כמה דברים מעניינים, כרגע נגיד ויש לנו שתי קבצי קונפיגורציה שאנחנו רוצים לאחד, בתור התחלה, נפתח קובץ אחד ולאחר מכן נלחץ על ":" ו על האות "r" לאחר מכן במידה והקובץ השני נמצא באותה התיקייה פשוט נקליד את השם שלו והתוכן שלו יופי בתוך הקובץ שבו אנחנו נמצאים, כמובן שצריך לשים לב איפה אתם נמצאים בקובץ כי מה שיקרה, זה שהוא יוסיף את התוכן לאחר הסמן שלכם, לצורך דוגמא הוספתי את הכותרת "file 2" בתוך קובץ מסוים, ועכשיו אני רוצה לאחד אותו:

נלחץ על ":" ואז על r (נוכל לראות למטה שהמערכת ממתינה לשם הקובץ או לנתיב במידה והקובץ לא נמצא בתיקייה שבה אנחנו נמצאים, במידה ואתם לא זוכרים את השם עד הסוף, אפשר להתחיל להקליד את השם וללחוץ על TAB להשלמה) :


אם באותו הרגע תלחצו עם החיצים במקלדת למעלה או למטה, תוכלו לקבל עוד תיקיות ואז תוכלו לנווט לתיקיות אחרות במידה והקובץ נמצא במקום אחר (מאוד נוח).

לאחר שנלחץ Enter יתווסף הקובץ השני:

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



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


לאחר שנלחץ על ENTER, נקבל אינדיקציה שנוצר קובץ חדש:


לאחר מכן נלחץ על !q: בשביל לצאת ללא שמירה של הקובץ הקיים ועכשיו נוכל לראות שנוצר הקובץ החדש:



16.איך להריץ פקודות מתוך VIM?

בעיקרון המחשבה הראשונה שעולה כשקוראים את הכותרת של הסעיף הזה זה "למה להריץ פקודה מתוך עורך טקסט?" למען האמת יש לזה תשובה, מאחר וכשאנחנו פותחים את העורך, אנחנו לא יכולים לבצע שום דבר חוץ מלערוך טקסט, אז כל פעולה הכי קטנה מצריכה לשמור + לסוגר את הקובץ ואז לבצע את מה שאנחנו רוצים ואז לפתוח שוב, להכנס למצב עריכה וכד', זה די מעצבן, לכן יש אפשרות להריץ פקודות ישר מתוך VIM, משהו שממש מעלה פרודוקטיביות, ניתן דוגמא, אני עורך קובץ של דברים שקשורים ברשתות, ואני צריך לברר מה כתובת ה IP של ה DG (שער ברירת מחדל "Default Gateway") אלחץ על ":" ואז על "!" ופשוט אכתוב את הפקודה ifconfig:


לאחר מכן אלחץ ENTER ואקבל את המידע, כפי שכתוב במידה ואלחץ ENTER אחזור חזרה לעריכה של הקובץ:


ניתן עוד דוגמא עם הפקודה ls -l (דיברנו עליה בפרק 10):


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

גם אם נריץ פקודות שצריכות לבצע משהו, כמו sudo apt update (למדנו מה זה בפרק על APT) הוא יבצע גם כן:



17. איך לערוץ קובץ אחר מתוך קובץ פתוח ב VIM?

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

במידה ואתם צריכים לערוך קובץ אחר בזמן שאתם נמצאים באיזשהו קובץ, במצב רגיל, צריך לצאת מהקובץ הנוכחי ולפתוח קובץ אחר, די מעיק האמת, לכן יש אפשרות לבצע עריכה לקובץ אחר בזמן שאתם כבר נמצאים בקובץ כלשהו, תחשבו על זה שאתם בתוך קובץ קונפיגורציה וצריך לערוך קובץ אחר באותו הזמן..אז לצורך כך אנחנו נלחץ ":" ואז "e"  ואת שם הקובץ שאנחנו רוצים לערוך, כמו פעם קודמת אנחנו יכולים להתחיל לכתוב את שם הקובץ וללחוץ על TAB ונקבל השלמה של הקובץ במידה ואנחנו נמצאים באותה התיקיה עם הקובץ:


אני אפתח את הקובץ שמסתיים במספר "3" בשביל שנראה את ההבדל:


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

בשביל לחזור למסמך הקודם, אני אכתוב ":" ואז bp :


ואחזור לקובץ הקודם, להמשך עריכה, אם אני רוצה לעבור לקובץ הבא, אני יכול להקליד ":" ואז bn:


ובעצם בצורה הזאת אפשר לעבור לקובץ הבא שיש לנו באותה התיקיה בשולחן העבודה, בעצם אפשר להקיש bn: בשביל לעבור על כל הקבצים, ובגדול לעבור לקובץ הבא זה "bn:" ולעבור לקובץ הקודם זה "bp:".

בשביל לראות את כל הקבצים הפתוחים, אנחנו יכולים להריץ ":" ואז ls ונקבל רשימה של כל הקבצים הפתוחים:


מקרא:

  • עמודה ראשנה מצד שמאל הספרה (מצד שמאל) - המספר של הקובץ הפתוח.
  • עמודה שניה הסימן a% - המשמעות היא שזה הקובץ שאנחנו נמצאים בו כרגע ועובדים עליו.
  • העמודה האחרונה מצד ימין - השורה שעליה נמצא הסמן.
בגלל זה הפקודות הן "bp" ו "bn" המשמעות היא "Buffer Previous" ו "Buffer Next".

אחרי שאני מציג את הרשימה של הקבצים הפתוחים, מופיעה הודעה למטה ירוקה
"Press ENTER or type command to continue"



נגיד שאני רוצה לעבור לקובץ מספר "2" באותו המצב אני אקיש ":" ואז bp ואת המספר שאני רוצה לעבור אליו bp2:


וכמובן נעבור לקובץ הרצוי.

18. איך לפתוח "דף" חדש מתוך VIM?

במידה והחלטתם שאתם צריכים ליצור קובץ טקסט חדש, ניתן לכתוב ":" ואז "enew" ואז תקבלו קובץ טקסט ריק:


לאחר מכן נלחץ על "i", נכנס למצב "עריכה" ונוכל להתחיל לערוך את הקובץ,

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

 "E37: No write since last change (add ! to override)  "



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

w new_name_for_the_file.txt:



 ואז תוכלו לעבור או לצאת מהקובץ או לדפדף לקובץ הבא בעזרת bn: או bp:.

19. איך לבצע העתק הדבק בתוך VIM?

לצורך העתקה והדבקה נצטרך להיכנס למצב אחר שנקרא "Visual mode" בעזרת האות "v" במקלדת.
ברגע שנכנס למצב "Visual" בעזרת החיצים נוכל להתחיל לסמן את הטקסט שאותו נרצה להעתיק:


לאחר שנבחר את מה שאנחנו רוצים להעתיק, נלחץ על "y" ואז יהיה כתוב למטה כמה שורות "נמשכו" (באנגלית yanked),

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


20 איך לסדר את כל השורות לפי ה- A B C בתוך VIM?

לצורך ההדגמה יש לי כאן כמה מילים שהאות הראשונה שלהן היא לפי ה" ABC" באנגלית, אך הן בסדר הפוך



במידה ונרצה לסדר את כלל השורות לפי ה-ABC, תחילה נשים את הסמן שלנו ליד המשפט שממנו נרצה להתחיל לסמן את הטקסט, נכנס למצב "Visual" בעזרת האות "v" ונסמן את כל השורות שאנחנו רוצים:


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


נוכל לראות שכל המילים מסודרות לפי ה"ABC"

21. איך לחפש טקסט ב VIM?

חיפוש הוא דבר מאוד חשוב, נגיד ואנחנו רוצים למצוא שם משתמש כלשהו לצורך חיפוש נלחץ על "/" ונתחיל לכתוב את מה שאנחנו רוצים, what_to_search/ לאחר שמצאנו נלחץ על ENTER והמערכת תיקח אותנו לשם, נלחץ על "i" ונתחיל לערוך את השורה או את מה שאנחנו צריכים:




21.א איך לבצע חיפוש והחלפה של טקסט ב VIM?

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

לצורך חיפוש והחלפה נלחץ על ":" לאחר מכן נרשום "%" ואת האות "s" נרשום את מה שאנחנו מחפשים, לאחר מכן "/" ובמה אנחנו רוצים להחליף בסוף נוסיף עוד "/" ונרשום "g", לדוגמא אם אני רוצה להחליף את השם "lev" בשם "Uri" זה יראה כך: s%/lev/uri/g:



ברגע שהתחלתי לרשום את המילה "lev" המערכת מסמנת את מה שאני רוצה להחליף ולאחר שנלחץ על ENTER השם "Lev" יוחלף בשם "Uri" בגלל שלינוקס מבדילה בין אותיות גדולות וקטנות, חובה לשים לב לצורת הכתיבה כשאתם מחפשים את מה שאתם רוצים, בשביל לפשט אני אתן הסבר קצת יותר קל: s%/what_to_search/what_to_change/g:


  • s - יחליף את ה"ביטוי" הראשון בשורה בביטוי שאנחנו רוצים נגיד lev ב gabi, יתחלף כך: /s/lev/gabi
  • g - יחליף את ה"ביטוי" שאנחנו רוצים בכל הביטויים בשורה s/lev/gabi/g
  • % - יחליף את הטקסט בכל המסמך.
  • c - נתבקש לאשר כל שינוי.

22. איך להגיע לתחילת הקובץ מכל מקום ב VIM?

לפעמים קורה מצב שבו אנחנו צריכים לגשת לתחילת הקובץ מכל מקום שהוא בטקסט, תחילה נלחץ על ESC כדי לצאת ממצב עריכה (במידה ואתם נמצאים בו) ולאחר מכן נלחץ פעמיים על "g"

ניתן ללחוץ גם על ctrl+home

23. איך להגיע לסוף הקובץ מכל מקום ב VIM?

במידה ונצטרך לגשת לסוף הקובץ מכל מקום, יש צורך ביציעה ממצב עריכה (במידה ואתם נמצאים במצב הזה) בעזרת ESC ונלחץ על shift+g.

ניתן ללחוץ גם על ctrl+end

24 איך לפצל את מסך ה VIM לכמה תצוגות?

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


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


בשביל לעבור מקובץ לקובץ נלחץ על ctrl+ww.

בשביל לצאת מקובץ כלשהו נלחץ על ":" ונכתוב "q", בשביל לצאת מהקובץ השני, נצטרך "לצאת" גם ממנו.

25. איך לפצל את מסך ה VIM לשתי קבצים (אחד ליד השני)?

בשביל להציג קובץ "ליד" קובץ כי לכל אחד נוח משהו אחר, נבצע את אותה הפעולה כמו למעלה רק שנכתוב vs:


ונקבל תצוגה של "קובץ ליד קובץ":


המעבר מקובץ לקובץ היא בעזרת ctrl+ww כמו בפעם הקודמת.

26. איך לפתוח את אותו הקובץ פעמיים (אחד ליד השני) ב VIM?

ישנם מצבים שיש קובץ קונפיגורציה ארוך, ואתם צריכים לבצע שינוי בסוף ולראות באותו הזמן את ההתחלה של הקובץ, במצב של שורת פקודה זה די קשה, לכן ניתן לפתוח את אותו הקובץ "פעמיים" ולבצע בו עריכה בו זמנית, פעם אחת בחלק העליון לדוגמא ובאותו הזמן גם בחלק התחתון, לצורך כך אני אפתח את הקובץ sort_text_test.txt שיצרתי לפני כן:


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


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

27. איך להוסיף מספרי שורות ל VIM?

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

בשביל להפעיל את מספור השורות, נכתוב ":" ואז "set number"


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

27.א. יצירת קובץ קונפיגורציה של VIM להתאמה אישית

ברגע שאנחנו פותחים VIM המערכת מחפשת קובץ שנקרא vimrc, זה הוא קובץ שהוא ה"פרופיל" של VIM במשתמש שלנו והוא יושב בתיקיית הבית שלנו, במידה ואין לנו קובץ כזה, המערכת מעלה את VIM עם הגדרות ברירת מחדל, אך במידה והוא קיים, המערכת תבדוק את ההגדרות שיש שם ותפתח את התוכנה עם אותן ההגדרות שיש שם.

אז כרגע נתחיל ביצירת הקובץ הזה ונשמור אותו בתוך תיקיית הבית שלנו : /home/user_name/ תחת השם vimrc. (בפרקים הקדומים למדנו שקבצים שמתחילים עם "נקודה" אלו קבצים מוסתרים).
נריץ את vim וניצור קובץ חדש:


לאחר מכן, נכנס למצב עריכה בעזרת "i" ונרשום הערה בעזרת הסימן " בתחילת השורה. להבדיל משפות תכנות וסקריפטים (בד"כ בסקריפטים ותכנות, הסימן "#" אומר "הערה" לכן המערכת לא מתייחסת לזה) כאן נשתמש ב " לרשום הערה:
Add line number"
set number

לאחר מכן נשמור בעזרת את הקובץ בתיקיית הבית :



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



28. איך לפתוח קובץ ב VIM בשורה ספציפית מוגדרת מראש?

נגיד ואנחנו זוכרים שיש לנו בשורה 98 מידע שאנחנו צריכים להחליף, באמת אפשר לדפדף עד לאותו המספר, אבל מה לעשות אם השורה היא 10265? יקח לכם המון זמן להגיע לזה, לכן ניתן לפתוח את vim בשורה ספציפית בצורה הבאה:
נרשום את vim לאחר מכן הסימן "+" ומספר השורה הרצויה ולבסוף נוסיף את שם הקובץ: vim +13 file_name.txt



לפי הפקודה בתצלום המסך, הקובץ יפתח והסמן שלנו יהיה בשורה 13:



29. איך לעשות "גזירה" והדבקה של שורה ב VIM?

במידה ואתם רוצים לבצע "גזור" \ "הדבק" לשורה כלשהיא, נצא ממצב "עריכה" (במידה ואתם במצב עריכה) נעמוד בתחילת השורה ונלחץ "d" פעמיים, לאחר מכן נרד לשורה רצויה ונלחץ על "p" בשביל להדביק (לידע כללי, כאן הקיצור אומר "Put") את מה שהעתקנו.

בצורה יותר פשוטה:
1) נשים את הסמן בתחילת השורה הרצויה, ונלחץ על "d" פעמיים.
2) נגיע לשורה הרצויה ונלחץ על "p".

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

30. איך לפתוח את VIM מראש עם מסך מפוצל לכמה קבצים?

ישנן שתי אפשרויות לפתוח כמה קבצים ביחד במסך מפוצל מראש, האופציה הראשונה לפתוח שתי קבצים כאשר המסך יפוצל אנכית, קובץ אחד למעלה, וקובץ אחד למטה, בעזרת הפרמטר "o" (האות "o" בקטן): vim -o file_name1 file_name2:


וכצפוי הקבצים יפתחו אחד מעל השני:


במידה ואנחנו מראש רוצים לפתוח קובץ אחד ליד השני, נשתמש באותה הפקודה רק שהפעם נשים "O" בגדול (האות "O" בגדול) vim -O file_name1 file_name2:


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


30.א איך לפתוח יותר משתי קבצים ביחד ב VIM?

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


וכמובן, הכל יפתח אחד ליד השני ויפוצל בשלושה מסכים?



31. איך פתוח קבצי VIM בתוך לשוניות?

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


וכמובן הקובץ החדש יפתח בתור "לשונית" לצד הקובץ הנוכחי:



בשביל לעבור ללשונית הבאה, נלחץ על ":" ונכתוב "tabn" (האות "n" אומרת "NEXT") ובשביל לעבור ללשונית הקודמת נכתוב "tabp" (האות "p" אומרת "Previous"):



32. איך לפתוח קבצי VIM מופרדים ללשוניות מראש?

בשביל לפתוח כמה קבצים מראש בלשוניות נשתמש באופרטור "p" ואז שמות הקבצים,
בצורה זאת: vim -p file_name1 file_name2 file_name3



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




זה הכל להפעם.

המייל שלי לכל שאלה: levl@leidertech.co.il

כמו תמיד סרטון מצולם של המדריך: