29/04/2024

מדריך לינוקס למתחילים בעברית חלק 2 - תיקיות מערכת ופקודות בסיסיות.

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


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

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

כמו תמיד - מדריך מצולם:


אין תגובות:

הוסף רשומת תגובה

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

תודה :)