לדלג לתוכן

1.2 ניווט בקבצים הרצאה

מערכת קבצים

השיעור נלמד כיצד להתעסק עם קבצים ולנווט בין תיקיות.
- הפקודה pwd - מדפיסה את התקייה הנוכחית שהShell שלי נמצא בה
Pasted image 20250125215106.png
כלומר, כרגע אנחנו בתקייה ubuntu שנמצאת בתקייה home.
- הפקודה cd - משנה תקייה - משנה את התקייה הנוכחית

pwd
cd /home
pwd

Pasted image 20250125215242.png
ניתן לראות שעכשיו אנחנו בתקייה home.

pwd
cd /home/ubuntu/Downloads
pwd

Pasted image 20250125215328.png
הנתיב ".." מחזיר נתיב של תקייה אחורה. כלומר אם נעשה cd .. נחזור תקייה אחורה.
cd ..
pwd

Pasted image 20250125215759.png
הנתיב "." מחזיר לנו את התקייה הנוכחית. כלומר אם נעשה cd ./some_folder הנתיב שיתקבל הוא הנתיב שאנחנו נמצאים בו כרגע + התקייה some_folder

cd ./Downloads
pwd

Pasted image 20250125215923.png
בתחתית עץ התיקיות יש את תקיית השורש, תקיית "root"- אשר נתיב שלה הוא "/"
cd /
pwd

Pasted image 20250125220031.png

כדי לחזור לתקייה הקודמת שהיינו בה, נכתוב את הפקודה cd -

cd -
pwd

Pasted image 20250125220146.png
- בדרך כלל למשתמשים בלינוקס יש תקיית בית, השם של המשתמש שלי הוא "ubuntu". כל תקיות הבית נמצאות בhome/, כלומר תקיית הבית של המשתמש שלי תהיה בhome/ubuntu/. כדי להיכנס לתקיית הבית של המשתמש שאילו אני מחובר (המשתמש ubuntu במקרה הזה) אפשר לעשות "cd ~"
Pasted image 20250125220506.png
בדומה ל ".." ו- "." אפשר להשתמש גם ב "~" כדי לגשת לתקייה מסויימת:
Pasted image 20250125220724.png
ובדומה לכך גם:
Pasted image 20250125220747.png
- הפקודה ls - מציגה את כל הקבצים בתקייה הנוכחית, ניתן לראות למשל את כל התיקיות והקבצים בתיקיית היוזר שלנו כך:
Pasted image 20250125220832.png
לא חייב להיות בתקייה מסויימת כדי לראות את הקבצים שלה, אפשר גם לכתוב את הפקודה ls ולהביא לה נתיב מסויים:
Pasted image 20250125220944.png
Pasted image 20250125221018.png
Pasted image 20250125221027.png
ניתן לראות שאין לי קבצים בתקיית הDownloads
כמובן שניתן להשתמש ב".", "..", "~" גם עם ls כמו כל פקודה.
Pasted image 20250125221203.png

  • הפקודה echo "hello" > my_file - תיצור קובץ חדש בשם my_file עם תוכן: "hello"
    Pasted image 20250125221245.png

הפקודה - cat - מחבר (concatenate) - מדפיסה את תוכן הקבצים למסך
Pasted image 20250125221319.png
Pasted image 20250125221400.png
ניתן להשתמש בcat גם כדי להדפיס כמה קבצים ביחד:
Pasted image 20250125221435.png
- נפרק את הפקודה echo "hello" > my_file - החלק הראשון הוא echo "hello" שאחראי להדפיס למסך "hello", לאחר מכן יש > my_file שאחראי להעביר את כל הפלט של הפקודה הקודמת לתוך הקובץ my_file.
- אפשר להשתמש באותו עקרון עם הפקודה cat, שמדפיסה תוכן של קובץ למסך.
Pasted image 20250125221734.png
- אם נרצה להוסיף תוכן חדש אחרי תוכן קיים בקובץ (כלומר append) נשתמש באופרטור "<<":
Pasted image 20250125221937.png
- אם נרצה להשתמש באותיות מיוחדות, כמו \n כדי לרדת שורה נשתמש בדגל "-e" עם echo:
Pasted image 20250125222732.png

  • הפקודה head -n 2 - מציג את שתי השורות הראשונות של הקובץ - מציג את עשר השורות הראשונות אם לא מציינים הדגל -n.
    Pasted image 20250125222759.png

  • הפקודה tail -n 2 - מציג את שתי השורות האחרונות של הקובץ - מציג את עשר השורות האחרונות אם לא מציינים דגל
    Pasted image 20250125222820.png
    נוריד את התמלול של "אליס בארץ הפלאות" בפקודה הבאה:
    Pasted image 20250125231108.png
    נעשה head ו- tail לקובץ הארוך שקיבלנו.
    Pasted image 20250125231151.png

  • הפקודה less - מציג קבצים ארוכים בטרמינל

    less ./alice_in_the_wondeland.txt
    

    Pasted image 20250125231225.png
    עם החצים נוכל לרדת ולעלות, וכשנרצה לצאת נלחץ על q. אם נלחץ על / נוכל ממש לחפש תוכן.
    Pasted image 20250125231334.png
    הנה התוצאה שקיבלתי שלחצתי על / בשביל חיפוש וכתבתי "cat" ואנטר.

  • הפקודה rm - מוחקת קובץ

    rm ./my_file
    ls 
    

    Pasted image 20250125231435.png

  • הפקודה mkdir - יוצרת תקייה חדשה

  • הפקודה rmdir - מוחקת תקייה
    Pasted image 20250125231517.png

  • הדגל ls -l - מציג את כל הקבצים אבל עם יותר פרטים
    Pasted image 20250125231600.png

  • הפקודה touch - משנה את התאריך של קובץ מסויים שמופיע בls -l, או יוצרת קובץ אם הקובץ לא קיים:
    Pasted image 20250125231756.png
    ניתן לראות שהזמן שהשתנה.
    Pasted image 20250125231829.png

  • הפקודה mv - מעבירה קובץ ממיקום אחד למיקום אחר
    ניצור קובץ חדש:
    Pasted image 20250125232116.png
    נעביר את הקובץ מ ./my_file ל- ./my_file2
    Pasted image 20250125232218.png
    ניתו לחשוב על mv כמו שינוי שם של קובץ.

  • הפקודה cp - מעתיקה קובץ ממיקום אחד למיקום אחר
    Pasted image 20250125232254.png

  • הפקודה nano - עורך טקסט

    nano ./my_file
    

    יפתח לכם עורך טקסט:
    Pasted image 20250125232502.png
    Pasted image 20250125233515.png
    אחרי שנסיים להקליד את התוכן שלנו נוכל לשמור אותו עם מקש "ctrl + o" ולחיצה על אנטר
    Pasted image 20250125233548.png
    כדי לצאת העורך טקסט נלחץ על "ctrl + x"

  • קבצים מוסתרים: .hidden-file - קבצים מוסתרים הם קבצים שמתחילים בנקודה .

  • הפקודה ls -a - מציגה את כל הקבצים במצב ארוך כולל קבצים מוסתרים
    Pasted image 20250125233920.png

  • הפקודה file: תציג לנו את סוג הקובץ לפי התוכן שלו
    Pasted image 20250125234620.png

  • הפקודה find - מחפשת קבצים
    הפקודה הבאה מחפשת בתוך התקייה /home רקורסיבית האם יש קובץ בשם my_file
    Pasted image 20250125234815.png
    יש המון דגלים לfind, מוזמנים לעשות man או --help