הקדמה
הערה: הטרמינל האינטראקטיבי במדריך זה כרגע מושבת ככל שאנחנו עובדים על שיפור חוויות הלמידה האינטראקטיביות שלנו. עדיין ניתן להשתמש במדריך זה כדי ללמוד על פקודת השורה ולתרגל פקודות Linux, אך תצטרך להשתמש בטרמינל במחשב שלך או במכונה וירטואלית.
היום, רבים מאיתנו מוכרים עם מחשבים (שולחניים וניידים), טלפונים חכמים וטאבלטים המגיעים עם ממשקי משתמש גרפיים (גם נקרא GUIs), המאפשרים לנו לנווט באפליקציות, ברשת ובקבצים שלנו (כמו מסמכים ותמונות) דרך חוויית חזותית. מערכות ההפעלה Windows, macOS ו-Linux מציגות כל אחת גרסאות שונות של סביבת שולחן עבודה (עם תמונות של תיקיות וקבצים, לדוגמה), ותפריטי נפתח, המספקים גישה לתוכניות מחשב, אפליקציות והמדיה שלנו.
אף על פי ש-GUIs יכולים להיות דרך אינטואיטיבית לשימוש במחשב עבור משתמשים רבים, הם לעתים קרובות לא מספקים לנו את הכוח הגדול ביותר מעל תקינותינו, והם עשויים למנוע מאיתנו גישה מנהלתית מלאה על המחשבים שלנו, כולל התקנת, שינוי או מחיקת תוכנה או קבצים. בנוסף, מאחר ו-GUIs הם בעיקר חזותיים, הם לעתים קרובות לא כפי שהייתה יכולה להיות נגישים לכל המשתמשים.
אחת הדרכים לניווט במחשב האישי שלך ובשרתי הענן המרוחקים בלי GUI היא דרך טרמינל מבוסס טקסט או ממשק שורת פקודה (CLI).
ממשקי טרמינל קיימים בכמעט כל מערכת הפעלה של מחשבים, ומודלים של מודלים טרמינלים זמינים גם כיישומים עבור טאבלטים וסמארטפונים. הטרמינל מספק למשתמשים גישה כוללת יותר למכונותיהם דרך גישה למנהל מערכת מורחבת, יכולת גדולה יותר להתאים את הסביבות, והזדמנויות לאוטומציה של תהליכים. הם גם מספקים למשתמשים אפשרות לגשת למחשבים מרוחקים, כגון שרתי ענן.
המדריך הזה יספק למשתמשים שהם חדשים בסביבת הטרמינל את היסודות לשימוש בממשק שורת פקודה דרך טרמינל מוטבע בדפדפן שלך, שאתה יכול להתחיל להשתמש בו למטה. אם כבר יש לך מעט היכרות עם הטרמינלים, עשוי להיות שתעדיף לעבור על המדריך שלנו מבוא לטרמינל של Linux. לאחר שתסיים את המדריך הזה, אתה צריך להבין איך להשתמש בטרמינל במחשב או בשרת Linux (או macOS).
הבנת חלון הטרמינל
כאשר אתה מקבל גישה למחשב או לסמארטפון חדש, סביר להניח שתרצה להדליק אותו ולהתרגל לשימוש בו על ידי בדיקת היישומים שזמינים, וללמוד איפה הדברים נמצאים כדי שתוכל להתאים את המכשיר לצרכיך. תוכל להכיר את המחשב דרך טרמינל באופן דומה.
הטרמינל האינטראקטיבי שאתה התחלת בחלון הדפדפן הזה, על ידי לחיצה על לחצן הפעל טרמינל אינטראקטיבי!
מציג מלבן לבן בתחתית חלון הדפדפן שלך:
אם לא הפעלת את הטרמינל, בבקשה עשה זאת כעת באמצעות הלחצן בתחילת המדריך הזה.
בטרמינל הדפדפן האינטראקטיבי שלך, יש ציור של סימן דולר, $
, וסמן חוצץ המבריק. זהו המקום ממנו תתחיל להקליד פקודות כדי לספר לטרמינל מה לעשות.
הטרמינל שהפעלת הוא טרמינל של Ubuntu 20.04. Ubuntu היא הפצת Linux פופולרית, שהייתה מבוססת במקור על מערכת ההפעלה Unix. מערכת ההפעלה macOS גם היא מבוססת על Unix. אם אתה קורא את המדריך הזה על מחשב עם Linux או macOS, עליך לקיים טרמינל במערכת ההפעלה שלך שעובד בדיוק כמו הטרמינל מוטמע שנשתמש בו במדריך זה.
ברוב מערכות ההפעלה Unix (או מבוססות על *nix), הסמנים בסופו של הערת הפרומט עשויים להיות סמל הדולר, $
, או סמל המילה הקרובה, #
, שמשמעותם הבאה:
$
או סימן הדולר — אתה מחובר כמשתמש רגיל#
או סמל הרשות/פאונד — אתה מחובר כמשתמש עם הרשאות גבוהות
המשתמש שמצוין בסביבת ה־#
נקרא גם משתמש שורש, שמתייחס למשתמש עם הרשאות מנהל מובנות.
עבור מטרותינו במסך הטרמינל שבספק מטה, אתה מחובר כמשתמש רגיל, אך גם יש לך הרשאות מנהל דרך הפקודה sudo
. מכיוון שזהו טרמינל זמני, אין צורך לדאוג למה שאתה מקליד בתוך הטרמינל, מאחר שנשמיד הכל כשנסיים. באופן דומה, בשרת ענן ניתן להשמיד שרת ולהתחיל מחדש אם משהו הולך רע.
שים לב שמומלץ להיות זהיר יותר בעת עבודה בטרמינל של מחשב מקומי מאשר בעת עבודה בטרמינל של שרת, מכיוון שיתכן שיהיו שינויים שניתן לבצע כמנהל בטרמינל המקומי שיכולים להשפיע על השינויים הקבועים במחשב שאתה משתמש בו.
בנקודה זו, עם הטרמינל שלך שהושק בדפדפן, תוכל להתחיל להקליד בו באמצעות המחשב המקומי שלך. הטקסט שלך יופיע ליד הקיים. נלמד אילו פעולות ניתן לבצע כאן בסעיפים הבאים.
התנסות בתיקיות
נתחיל לעבוד עם הטרמינל על ידי הקלדת פקודה. פקודה היא הוראה שניתנת על ידי משתמש, שבאמצעותה הוא מודיע למחשב מה הוא רוצה שהמחשב יעשה. תקליד את הפקודות שלך בטרמינל ואז לחץ על ENTER
או RETURN
כאשר אתה מוכן לבצע את הפקודה.
נכתוב את הפקודה הבאה ולאחר מכן נלחץ ENTER
. ניתן גם להעתיק את הפקודה או לבצע אותה בסביבת הפקודה האינטראקטיבית שנפתחת על ידי לחיצה על הקישורים הרלוונטיים בתוך הבלוק של הקוד למטה כאשר אתה מעביר עליו את העכבר.
לאחר הרצת הפקודה הזו, תקבלו את הפלט הבא:
Output/home/sammy
הפקודה pwd
עומדת על "present working directory" והיא מציגה את המיקום שבו אתה נמצא במערכת הקבצים הנוכחית.
בדוגמה זו, אתה נמצא בתיקייה (או ספרייה) הנקראת /home/sammy
, שמייצגת את המשתמש הנקרא sammy
. אם אתה מחובר כ root
, משתמש עם הרשאות מרומות, אז התיקייה תיקרא /root
. במחשב אישי, ייתכן שהתיקייה הזו תיקרא על שם המשתמש שבעל המחשב. במחשב של Sammy Shark ייתכן שהתיקייה הראשית של המשתמש תיקרא /sammy
או /sammy-shark
או /home/sammy
.
כרגע, התיקייה הזו ריקה. ניצור תיקייה כדי לאחסן את הקבצים שניצור במהלך ההדרכה, נקרא לה files
, לדוגמה.
כדי לעשות זאת, נשתמש בפקודת mkdir
, שעומדת על "צור תיקייה". לאחר שנקלוד את הפקודה, נצטרך לכתוב את שם התיקייה, שיעביר את הערך לפקודה כך שהיא תוכל לבצע ביצירת התיקייה הזו. הערך הזה (שם התיקייה) נכון לקראת הפקודה נכון כפרמטר, אשר הוא קלט שניתן לפקודה. אם אתה מכיר את הדקדוק של השפה הטבעית, אתה יכול לחשוב על הפרמטר כעל עצם שפועל על ידי הפועל של הפקודה.
כדי ליצור תיקייה חדשה בשם files
נכתוב את הבא, עם mkdir
היא הפקודה ו files
היא הפרמטר:
לאחר שתריץ את הפקודה הזו, אתה לא תקבל כל פלט מלבד שורת חדש עם סמן ההמתנה המהבהב. עם שורה רעננה זו בטרמינל שלך, אתה מוכן לפקודה הבאה שלך.
רישום התוכן והבנת הרשאות
כפי שלא קיבלנו משוב קונקרטי לגבי התיקייה החדשה שלנו עדיין, נשתמש בפקודה כדי ללמוד עוד על מה נמצא בתיקיית העבודה הנוכחית שלנו. תוכל לאשר כי התיקייה החדשה קיימת באמת על ידי רישום הקבצים בתיקייה, עם הפקודה ls
(מסמנת "רשימה"):
תקבלו פלט שמאשר את קיום התיקייה files
:
Outputfiles
זה נותן לנו מידע כללי על מה נמצא בתיקיית העבודה הנוכחית שלנו. אם נרצה לקבל פרטים נוספים, אנו יכולים להריץ את הפקודה ls
עם מה שנקרא דגל. בפקודות ב-Linux, דגל כתוב עם מקף -
ואותיות, מעביר אפשרויות נוספות (ועוד ארגומנטים) לפקודה. בדוגמה שלנו, נוסיף את הדגל -l
, שברגע שהוא מוצמד ל־ls
, מציין שנרצה להשתמש באפשרות להשתמש בפורמט רשימה ארוכה עם הפקודה שלנו.
בואו נכתוב את הפקודה והדגל הזה, כמו כן:
בלחיצה על ENTER
, נקבל את הפלט הבא בטרמינל שלנו:
Outputtotal 4
drwxr-xr-x 2 sammy sammy 4096 Nov 13 18:06 files
כאן, ישנם שני שורות פלט. השורה הראשונה מתייחסת למקטעי זכרון במחשב שמוקצים לתיקייה זו, השורה השנייה בעיקר מתייחסת להרשאות המשתמש על הקובץ.
כדי לקבל פלט שקריא יותר לאנשים, אנו יכולים גם להעביר את הדגל -h
או --human-readable
, שידפיס את גדלי הזיכרון בפורמט שקריא לבני אדם, כמו בדוגמה הבאה. בדרך כלל, מקף אחד -
מתייחס לאפשרויות בתיבת אותיות, ושני מקפים --
מתייחסים לאפשרויות שמופיעות במילים. שימו לב שיש כמה אפשרויות שיכולות להשתמש בשני הפורמטים. אנו יכולים לבנות מספר אפשרויות לפקודה על ידי חיבור דגלים יחד, כמו ב־-lh
.
לדוגמה, שתי הפקודות למטה מספקות את אותם תוצאות אף על פי שהן נכתבות בדרכים שונות:
שני הפקודות הללו יחזירו את הפלט הבא, דומה לפלט שנמצא למעלה אך עם תקשורת נרחבת יותר של בלוקי הזיכרון:
Outputtotal 4.0K
drwxr-xr-x 2 sammy sammy 4.0K Nov 13 18:06 files
השורה הראשונה של הפלט מציינת ש-4K של זיכרון מחשב מוקצה לתיקייה. השורה השנייה של הפלט מכילה פרטים רבים יותר, אותם נביא בפירוט נוסף. הפנייה הגבוהה ברמה הכללית של כל המידע שנכסה נמצאת בטבלה למטה:
File type | Permissions | Link count | Owner | Group | File size | Last modified date | File name |
---|---|---|---|---|---|---|---|
d | rwxr-xr-x | 2 | sammy | sammy | 4.0K | Nov 13 18:06 | files |
תשימו לב ששם התיקייה שלנו, files
, נמצא בסוף השורה השנייה של הפלט. שם זה מציין איזו פריט מסוים בתיקיית המשתמש /home/sammy
תואר על ידי השורה של הפלט. אם הייתה לנו קובץ נוסף בתיקייה, היינו רואים שורת פלט נוספת עם פרטים על הקובץ ההוא.
בראש השורה, יש רשימה של תווים ומקפים. נביא לפירוק את משמעותם של כל אחד מהתווים:
Character | Description |
---|---|
d | directory (or folder) — a type of file that can hold other files, useful for organizing a file system; if this were - instead, this would refer to a non-directory file |
r | read — permission to open and read a file, or list the contents of a directory |
w | write — permission to modify the content of a file; and to add, remove, rename files in a directory |
x | execute — permission to run a file that is a program, or to enter and access files within a directory |
בתוֹך התווים הראשונים של drwx
, התו הראשון d
אומר שהפריט files
הוא ספרייה. אם זה היה קובץ שונה מספרייה, מחרוזת זו היתה מתחילה במין מקף במקום, כמו במילים -rwx
, שבה המקף הראשון מציין קובץ לא ספרייה. שלושת האותיות הבאות, rwx
, מייצגות את ההרשאות לבעלים של הספרייה files
, ומשמעותן היא שהספרייה files
יכולה להיות r קרא, w כתוב, וx בריאותי על ידי בעלים של הקובץ. אם כל אחת מהאותיות האלה הייתה מוחלפת במקף, זה יהיה אומר שלבעלים אין את סוג ההרשאה שמייצגת את התו הזה. נדון באופן לזהות את הבעלים של קובץ ברגע.
התווים הבאים שלושה בפלט הם r-x
, שמייצגים את ההרשאות של קבוצה עבור הספרייה files
. במקרה זה, הקבוצה יש הרשאות לקרוא ולבצע, אך אין הרשאות לכתוב, מכיוון שהתו w
הוחלף במקף. נדון באופן לזהות את הקבוצה ברגע.
התווים האחרונים של מחרוזת הראשונה, r-x
מייצגים את ההרשאות עבור קבוצות משתמשים אחרות שיש להן גישה למכשיר. במקרה זה, קבוצות המשתמשים אלו יכולות גם לקרוא ולבצע, אך לא לכתוב.
המספר 2
בפלט מתייחס למספר הקישורים לקובץ זה. ב-Linux, קישורים מספקים שיטה ליצירת קיצורים שיעזרו למשתמשים לנווט במערכת הקבצים. כאשר יצרת את הקובץ הזה, Linux עשתה עבודת רקע כדי ליצור קישור מוחלט לקובץ וקישור שמפנה אליו באופן עצמאי כדי לאפשר למשתמשים לנווט לאורך נתיב יחסי. נדון בנתיבים מוחלטים ויחסיים בחלק הבא.
אחרי המספר 2
, המילה sammy
מוצגת פעמיים. חלק זה מהפלט מספק מידע אודות הבעלים והקבוצה הקשורים עם תיקיית files
. ההופעה הראשונה של sammy
בשורה זו מתייחסת לבעלים של התיקייה, שההרשאות שלו ראינו בקודם הן rwx
. משתמש ה-sammy
הוא הבעלים מאחר ויצרנו את תיקיית files
כמשתמש sammy
והוא הבעלים הנוכחי של הקובץ. אף על פי שמשתמש ה-sammy
הוא המשתמש היחידי בסביבת העבודה הנוכחית שלנו, מערכות ההפעלה דומות ל-Unix נוהגות לכלול יותר ממשתמש אחד ולכן נחוץ לדעת איזה משתמש בעל זכויות בעלות על קובץ.
ההופעה השנייה של sammy
מתייחסת לקבוצה שיש לה גישה לתיקיית files
, שההרשאות שלה ראינו בקודם הן r-x
. במקרה זה, שם הקבוצה זהה לשם המשתמש הבעלים sammy
. בסביבות ממשית, יתכן ויהיו קבוצות אחרות במערכת ההפעלה שיש להן גישה לתיקייה, כגון staff
או שם משתמש כמו admin
.
הפרטים הנותרים בשורת הפלט הם 4.0K
עבור ההקצאת הזיכרון של הספרייה על המכונה, והתאריך בו הספרייה עודכנה לאחרונה (עד כה, רק יצרנו אותה).
עם ההבנה המורחבת של מערכות הקבצים וההרשאות, אנו יכולים להמשיך לנווט במערכת הקבצים בטרמינל שלנו ב-Linux.
ניווט במערכת הקבצים
עד כה, למדנו איך לקבוע איפה אנחנו נמצאים במערכת הקבצים, כיצד ליצור ספרייה חדשה, כיצד לרשום את הקבצים, וכיצד לקבוע את ההרשאות.
בואו נלמד כיצד לנווט במערכת הקבצים. יצרנו ספרייה חדשה, אך אנחנו עדיין נמצאים בספריית המשתמש הראשית /home/sammy
. כדי להיכנס לספרייה /home/sammy/files
שיצרנו, נשתמש בפקודת cd
ונעביר את שם הספרייה שברצוננו להיכנס אליה כארגומנט. הפקודה cd
מתארת "שינוי ספרייה," ונבנה אותה כך:
שוב, לא תקבלו פלט חוץ משורה חדשה עם סמן תיבת טקסט המתבהר, אך אנו יכולים לוודא שאנחנו נמצאים בספריית /home/sammy/files
עם הפקודה pwd
שהשתמשנו בה מוקדם:
תקבלו את הפלט הבא, המאשר את המיקום שלכם:
Output/home/sammy/files
זה מאשר שאתה נמצא בתיקיית /home/sammy/files
של תיקיית המשתמש /home/sammy
. האם התחברות זו נראית לך מוכרת? זה עשוי להזכיר לך כתובת URL של אתר אינטרנט עם הקווים המוליכים שלו, ואכן, אתרי אינטרנט מבוססים על שרתים בתוך ספריות גם הם.
בוא נתעבר לתיקייה הראשית של השרת. בלי קשר למקום בקובץ המערכת שלנו, תמיד נוכל להשתמש בפקודת cd /
כדי להעביר את עצמנו לתיקיית הראשית:
כדי לאמת שהתעברנו וללמוד מה נמצא בתיקייה זו, בוא נריץ את פקודת הרשימה שלנו:
נקבל את הפלט הבא:
Outputbin boot dev etc home lib lib32 lib64 libx32 media mnt opt proc root run s sbin srv sys tmp usr var
ישנם הרבה קבצים שם! התיקייה /
היא התיקייה הראשית של שרת Linux, מכונה גם "תיקיית השורש". שים לב שתיקיית השורש שונה מהמשתמש "שורש" הברירת מחדל. תוכל לחשוב על תיקיית /
כעל העורק העיקרי של מחשב Linux, מכיוון שהיא מכילה את כל התיקיות הנחוצות להפעלת המחשב. לדוגמה, תיקיית sys
מחזיקה את ליבת Linux ומידע על מערכת הקבצים הווירטואלית של המערכת. אם תרצה ללמוד עוד על כל אחת מהתיקיות הללו, תוכל לבקר בתיעוד הייסוד של Linux.
תשים לב גם שישנה תיקייה שכבר היינו בה, תיקיית המשתמש /home
. מתוך תיקיית /
, נוכל לשנות תיקייה בחזרה לתיקיית /home
ואז בחזרה לתיקיית files
, או שנוכל להעביר ישירות חזרה אל התיקייה ההיא על ידי קליטת הנתיב המוחלט שם עם cd
:
עכשיו, אם תריץ את pwd
, תקבל את הפלט /home/sammy/files
.
A file path is the representation of where a file or directory is located on your computer or server. You can call a path to a file or directory in either a relative or absolute way. A relative path would be when we move to a location relative to our current working directory, like we did when we were already in /home/sammy/
and then moved into files/
. An absolute path is when we call the direct line to a location, as we did above with /home/sammy/files
, showing that we started in the /
directory, called the /home/sammy/
user directory and then the nested files/
directory.
בנוסף, Linux משתמשת ב-נקודה רישומית כדי לעזור למשתמשים לנווט באמצעות נתיבים יחסיים. נקודה יחידה .
מייצגת את התיקייה שבה אתה נמצא כרגע, ושתי נקודות ..
מייצגות את התיקייה האב. אז, מהמיקום שבו אנו נמצאים כרגע (/home/sammy/files
), אנו יכולים להשתמש בשתי נקודות כדי לחזור לתיקיית ההורה /home/sammy
של המשתמש, כמו כן:
אם תריץ pwd
, תקבל את הפלט /home/sammy
ואם תריץ ls
, תקבל את הפלט files
.
סמל נוסף חשוב שכדאי להכיר הוא ~
שמייצג את תיקיית הבית של המחשב שלך. כאן, תיקיית הבית שלנו נקראת /home/sammy
עבור המשתמש sammy, אך במחשב מקומי זה עשוי להיות שמך האישי כמו ב־sammy-shark/
.
אתה יכול להקליד את הפקודות הבאות מכל מקום במחשב שלך ולחזור לתיקיית הבית הזו:
בנקודה זו, תרגיש חופשי לנווט במערכת הקבצים שלך עם הפקודות שלמדת עד כה. במקטע הבא, נתחיל לעבוד עם קבצי טקסט.
יצירה ושינוי של קבצי טקסט
עכשיו שיש לנו בסיס במערכת הקבצים של Linux ואיך לנווט בה, בואו נתחיל ליצור קבצים חדשים ונלמד איך לנהל טקסט בשורת הפקודה.
בואו נוודא קודם כל שאנחנו נמצאים בתיקיית files/
שבתיקיית המשתמש /home/sammy
, שנוכל לעשות זאת או באמצעות אימות עם pwd
, או על ידי שינוי תיקייה בנתיב המוחלט:
עכשיו, ניצור קובץ טקסט חדש. נצור קובץ .txt
, שהוא קובץ סטנדרטי שניתן לקרוא במערכות הפעלה שונות. להבדיל מקבצי .doc
, קובץ .txt
מורכב מטקסט לא מעוצב. טקסט לא מעוצב, כולל הטקסט בקבצי .txt
, ניתן לשימוש בשורת הפקודה בקלות, ולכן ניתן להשתמש בו כאשר עובדים עם מידע טקסטואלי באופן פרוגרמטי (כלומר, לאוטומציה של ניתוח טקסט, למשיכת מידע מטקסט, ועוד).
נתחיל על ידי שימוש בפקודת touch
, שיכולה ליצור קובץ חדש או לשנות קובץ קיים. כדי להשתמש בה, תוכל להשתמש בפקודה touch
ולהעביר את שם הקובץ הטקסט שברצונך ליצור כארגומנט, כפי שמודגש למטה.
כשתלחץ על ENTER
, תקבל שורת פקודת המתנה חדשה, ותוכל לרשום את התוכן הנוכחי של files/
כדי לוודא שנוצר.
Outputocean.txt
עד כה יצרנו קובץ ocean.txt
שאינו מכיל טקסט בזמן היצירה.
אם נרצה ליצור קובץ טקסט שאותחל עם טקסט, נוכל להשתמש בפקודת echo
, שמשמשת להצגת מחרוזות של טקסט ב-Linux.
ניתן להשתמש ב־echo
ישירות בשורת הפקודה כדי לקבל תשובה חוזרת מהממשק. התוכנית הראשונה המסורתית, "שלום, עולם!", ניתן לכתוב עם echo
כך:
OutputHello, World!
נקראת על שם אכווה מתוך המטמורפוזות של אוויד, הפקודה echo
מחזירה את מה שביקשנו. במקרה זה, היא הדפיסה, "שלום, עולם!" אולם, לבד כך, הפקודה echo
לא מאפשרת לנו לשמור את הערך של הטקסט שלנו בתוך קובץ טקסט. כדי לעשות זאת, נצטרך להקליד את הפקודה הבאה:
הפקודה לעיל משתמשת ב־echo
, אז הטקסט שברצוננו להוסיף לקובץ שלנו בציטוטים, אז מפעיל את אופרטור ההפניה >
, ולבסוף את שם קובץ הטקסט החדש שלנו, sammy.txt
.
ניתן לוודא שקובץ הטקסט החדש שלנו קיים, שוב עם ls
.
Outputocean.txt sammy.txt
כעת יש לנו שני קבצי טקסט בתיקיית המשתמש /home/sammy/files
. לאחר מכן, נוכל לוודא שבקובץ sammy.txt
יש את הטקסט שביקשנו מהמסוף להדפיס לתוכו. אפשר לעשות זאת עם הפקודה cat
. קצר למילת השורה "concatenate", הפקודה cat
תועילה מאוד לעבודה עם קבצים. מבין הפונקציות שלה ניתן לראות את תוכן הקובץ.
פעם שנריץ את הפקודה, נקבל את הפלט הבא:
OutputSammy the Shark
אם היינו מריצים cat
על קובץ הטקסט הריק ocean.txt
, היינו מקבלים שום דבר כתוצאה מכך מכיוון שאין טקסט בקובץ זה. ניתן להוסיף טקסט לקובץ הקיים הזה עם echo
גם. בואו נוסיף ציטוט של זורה ניאל הורסטון לקובץ.
עכשיו, אם נריץ cat
על הקובץ, נקבל את פלט הטקסט שהכנסנו כעת.
OutputSome people could look at a mud puddle and see an ocean with ships.
עד כה, יצרנו קבצי טקסט והוספנו טקסט לתוך הקבצים הללו, אך עדיין לא שינינו את הקבצים. אם נרצה לעשות זאת, נוכל להשתמש בעורך טקסט בשורת פקודה. קיימות מספר אפשרויות פופולריות, כולל Vim ו-Emacs. לצרכים שלנו, נשתמש ב־nano, שהוא תוכנת עורך טקסט לשורת פקודה פחות מורכבת שנוכל להשתמש בה להתחיל את החקירה שלנו.
עורך הטקסט nano ניתן לקריאה על ידי פקודת nano
. אם נרצה לערוך את הקובץ הקיים שלנו, נוכל לעשות זאת על ידי העברת שם הקובץ כארגומנט.
הקובץ ייפתח בחלון הטרמינל שלך:
Sammy the Shark
עם מקשי החץ שבמקלדת שלך, הזז את הסמן שלך לסוף השורה והתחל להקליד מספר שורות מנקודת מבטה של Sammy.
הערה: בשורת הפקודה, אי אפשר להשתמש בעכבר או בסמן אחר כדי לנווט, הייתרה במערכת הקבצים ובתוך הקבצים. עליך להשתמש במקלדת שלך, ובמיוחד במקשי החץ שבה, כדי לנוע בין הקבצים הטקסטואליים.
כאשר תסיים עם הקובץ שלך, עשוי להיות שיהיה נראה כך:
Sammy the Shark
Hello, I am Sammy.
I am studying computer science.
Nice to meet you!
עם הקובץ שלך מכיל כעת את הטקסט שתרצה, נוכל כעת לשמור ולסגור את הקובץ. עשוי להיות שתגלה שישנה הוראה בתחתית חלון הטרמינל שלך:
^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text ^T To Spell
מכיוון שסיימנו לעבוד על קובץ זה, נרצה לצאת ממנו. כאן, הסמל ^
מתייחס למקש Control
או CTRL
במקלדת שלך, והפלט למעלה מספר לנו שצריך לשלב את המקש הזה עם האות X
(שימוש באות קטנה, בלי ללחוץ על מקש SHIFT
) כדי לצאת מהקובץ. בואו נלחץ על שני המקשים האלה יחד:
CTRL x
הדברים הנכתבים למעלה נכתבים לעיתים קרובות כמו CTRL + X
או Ctrl+x
במסמכי טכניים.
בנקודה זו, תקבל את ההודעה הבאה:
OutputSave modified buffer?
Y Yes
N No ^C Cancel
כדי לשמור את השינויים, נלחץ על האות y
עבור כן:
y
תקבלו משוב דומה למה שלמעלה.
OutputFile Name to Write: sammy.txt
ישנם אפשרויות נוספות, כולל ביטול עם CTRL + C
, אך אם אתה נוח עם סגירת הקובץ, תוכל ללחוץ על ENTER
בנקודה זו כדי לשמור את הקובץ ולצאת ממנו.
נניח שאנחנו רוצים ליצור מספר קבצים של סטודנטים באוניברסיטת DigitalOcean. בואו ניצור ספריית קבצים חדשה בתוך files/
בשם students
:
לאחר מכן, בואו נעביר את sammy.txt
לתוך הספרייה החדשה students/
. הפקודה mv
, שמשמעה mיvה, תאפשר לנו לשנות את המיקום של קובץ. הפקודה מורכבת מלקחת את הקובץ שברצוננו להעביר כארגומנט הראשון, והמיקום החדש כארגומנט השני. שתי הביצועים הבאים יוצרים את אותו התוצאה.
האפשרות האחרונה תהיה שימושית אם נרצה לשנות את שם הקובץ, כמו ב־mv sammy.txt students/sammy-the-shark.txt
.
עכשיו, אם נריץ את הפקודה ls
, נראה רק את ocean.txt
ואת התיקייה students/
בתיקייה הנוכחית שלנו (files/
). בואו נתקדם אל תיקיית students/
.
כדי ליצור תבנית עבור התלמידים האחרים, נוכל להעתיק את הקובץ sammy.txt
כדי ליצור עוד קבצים. לעשות זאת, נוכל להשתמש בפקודת cp
, שמסמנת להעתקה. הפקודה עובדת באופן דומה לפקודת mv
, לוקחת את הקובץ המקורי כארגומנט ראשון, ואת הקובץ החדש כארגומנט שני. ניצור קובץ עבור אלכס הדג העלים:
עכשיו, נוכל לפתוח את alex.txt
ולבדוק אותו.
עד כה, alex.txt
נראה זהה ל־sammy.txt
. על ידי החלפת מספר מילים, נוכל לשנות את הקובץ הזה כדי לקרוא כמו הבא. שימו לב שאתם יכולים להשתמש ב־CTRL + K
כדי להסיר שורה שלמה.
Alex the Leafy Seadragon
Hello, I am Alex.
I am studying oceanography.
Nice to meet you!
ניתן לשמור ולסגור את הקובץ על ידי לחיצה על CTRL + X
, לאחר מכן y
, ולבסוף ENTER
.
אם ברצונכם לקבל תרגול נוסף עם קבצי טקסט, שקולים ליצור קבצים עבור ג'יימי השרף, ג'סי התמנון, דרו הטנטקול, או טיילור הטונה הצהובה.
כאשר אתם מרגישים בנוחות עם יצירה, עריכה, העתקה, והזזה של קבצי טקסט, נוכל להמשיך לקטע הבא.
השלמת אוטומטית והיסטוריה
גרסאות רבות של שורת הפקודה, כולל הטרמינל האינטראקטיבי המוטבע במדריך זה, מאפשרות לך להשלים אוטומטית ולשקף פקודות שוב ושוב במהלך העבודה. זה תומך בך ומאפשר לך להתקדם במהירות יותר מאחר כי הוא חוסך לך זמן קלדה.
נסה להקליד cat
יחד עם האותיות הראשונות של אחד מקבצי הטקסט שבהם עבדת — לדוגמה, cat sa
. לפני שתסיים להקליד את שם הקובץ המלא של sammy.txt
, לחץ על מקש ה-TAB
. זה ישלים את שם הקובץ במלואו, כך שהערה המכובה שלך תציג את הבא:
כעת, אם תלחץ על ENTER
, הטרמינל יחזיר את תוכן הקובץ לשורת הפקודה.
קיצור נוסף הוא ללחוץ על מקש החץ UP
, שיאפשר לך לסובב דרך הפקודות האחרונות שרצית. בשורה חדשה עם סמן זהב, לחץ על מקש החץ UP
כמה פעמים כדי לקבל גישה מהירה לפקודות הקודמות שלך.
אם תצטרך לשקף את כל הפקודות שביצעת בטרמינל שלך, תוכל גם לקרוא את כל ההיסטוריה של המושב הנוכחי באמצעות הפקודה בשם history
:
בהתבסס על התרגול שביצעת, יש לך צורך ב-30 או יותר שורות פקודות, החל מהפלט הבא:
Output 1 pwd
2 mkdir files
3 ls
4 ls -l
...
היכרות עם הקיצורים הללו תמכור אותך כך שתהיה מיומן יותר עם ממשק השורת פקודה.
עבודה עם קבצים מהאינטרנט
אחד הדברים המרתקים ביותר בעבודה על ממשק שורת הפקודה המחובר לאינטרנט הוא שיש לך גישה לכל המשאבים ברשת, וניתן לפעול עליהם בדרך אוטומטית. עם תוך כדי שימוש בטרמינל, תוכל גם לגשת ישירות אל שרתים ענן שיש לך אישורים עבורם, לנהל ולאכסן תשתיות ענן, לבנות אפליקציות אינטרנט משלך, ועוד. לעכשיו, כפי שכבר למדנו כיצד לעבוד עם קבצי טקסט בטרמינל, נלך על כיצד לשאוב קובץ טקסט מהאינטרנט כך שהמכונה שאנו משתמשים בה תהיה זמינה לנו.
בואו נחזור לתיקיית files/
:
מכאן, נשתמש בפקודת curl
כדי להעביר נתונים מהאינטרנט אל טרמינל האינטראקטיבי האישי שלנו בדפדפן. הפקודה curl
מתארת Client URL (כתובת אינטרנט).
העלינו קטע קצר מספרו של ז'ול ורן, עשרים אלפים ליגות מתחת לים על שרת ענן. נעביר את כתובת ה-URL של הקובץ הזה לפקודת curl
, כפי שמודגם למטה.
פעם שנלחץ על ENTER
, נקבל את הטקסט של הקטע כפלט לטרמינל שלנו (מוצטט למטה).
Output"You like the sea, Captain?"
"Yes; I love it! The sea is everything. It covers seven tenths of the terrestrial globe.
...
"Captain Nemo," said I to my host, who had just thrown himself on one of the divans, "this
is a library which would do honor to more than one of the continental palaces, and I am
absolutely astounded when I consider that it can follow you to the bottom of the seas."
בעוד זה מעניין לראות את הטקסט מוצג בחלון הטרמינל שלנו, אין לנו את הקובץ זמין עבורנו, רק העברנו את הנתונים אך לא אחסנו אותם. (ניתן לוודא שהקובץ אינו נמצא שם על ידי הרצת ls
).
כדי לשמור את הטקסט לקובץ, נצטרך להריץ את curl
עם הדגל -O
, שמאפשר לנו להוציא את הטקסט לקובץ, תוך שמירה על אותו שם כמו הקובץ המקורי להעתק המקומי שלנו.
תקבלו משוב מהטרמינל שהקובץ שלך הורד.
Output % Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2671 100 2671 0 0 68487 0 --:--:-- --:--:-- --:--:-- 68487
אם ברצונך להשתמש בשם מסוים ואלטרנטיבי של הקובץ, תוכל לעשות זאת עם הדגל -o
ולהעביר את שם הקובץ החדש כארגומנט (במקרה זה, jules.txt
).
כעת אנו יכולים לעבוד על קובץ זה בדיוק כמו כל קובץ טקסט אחר. נסו להשתמש ב-cat
, או לערוך אותו באמצעות nano
.
בקטע הבא, נסדר חלק מהקבצים וניצא מהטרמינל שלנו.
הסרת קבצים וסיום פקודות
כמו עם כל מחשב אחר, לעיתים יש צורך להסיר קבצים ותיקיות שאינם רלוונטיים יותר, ולצאת מהתוכנה שאנו משתמשים בה.
נניח שהסטודנטים שאנו מכירים מאוניברסיטת דיגיטלאושן סיימו ואנו צריכים לנקות את הקבצים שלהם ואת התיקייה הרלוונטית. וודאו שאתם נמצאים בתיקיית students/
:
אם תריצו ls
, התיקייה שלך עשויה להכיל מספר קבצים, כך:
Outputalex.txt drew.txt jamie.txt jesse.txt sammy.txt taylor.txt
אפשר להסיר קבצים יחידים עם הפקודה rm
, שמציינת remove. נצטרך להעביר את הקובץ שברצוננו להסיר כארגומנט.
אזהרה: שימו לב שפעם שאתם מסירים קובץ, אין אפשרות לבטל את הפעולה. וודאו שברצונכם להסיר את הקובץ לפני שאתם לוחצים על ENTER
.
עכשיו, אם נריץ ls
, נשים לב ש-sammy.txt
כבר אינו בתיקייה:
Outputalex.txt drew.txt jamie.txt jesse.txt taylor.txt
עם זאת, כעת שידענו שאנו יכולים להסיר קבצים יחידים עם rm
, זה אינו יעיל בזמן אם נרצה להסיר את תיקיית students/
ואת כל התוכן שלה.
הפקודה שמשמשת להסרת תיקיות נקראת rmdir
, שמציינת remove directory. בואו נעבור לתיקיית ההורה של files
כדי שנוכל לעבוד עם תיקיית students/
משם (אי אפשר למחוק תיקייה שאנו נמצאים בה כרגע).
מתוך תיקיית המשתמש /home/sammy/
, אנו יכולים להריץ rmdir
על students
.
עם זאת, זה לא עובד, מכיוון שאנו מקבלים את המשוב הבא:
Outputrmdir: failed to remove 'students': Directory not empty
הפקודה לא עבדה מכיוון ש-rmdir
פועלת רק על תיקיות ריקות ותיקיית students
עדיין מכילה קבצים בתוכה. (כאן, אתם יכולים ליצור תיקייה חדשה וריקה, ולנסות rmdir
עליה. תיקיות ריקות יכולות להימחק עם rmdir
.)
כדי להסיר את התיקייה עם הקבצים שנמצאים בתוכה, נצטרך לנסות אפשרות שונה. במדעי המחשב, הרקורסיה נהוגה לשימוש כדי להתייחס באופן רקורסיבי לעצמה; על מנת שנוכל לקרוא לפריט ראשי ולכל התלויותיו. באמצעות פקודת rm
, נוכל להסיר את התיקייה הראשית students
ואת כל תלותיה בתוכן באופן רקורסיבי. נשתמש בדגל -r
, שמציין רקורסיה, ונעביר את התיקייה students
כארגומנט.
בנקודה זו, אם נריץ ls
, נשים לב ש- students/
כבר אינה נמצאת בתיקיית הנוכחית שלנו, ואף אחד מהקבצים שהיו בתוכה לא זמינים יותר, מאחר וכולם נמחקו.
כאשר תסיימו עם מפגש בטרמינל, ובמיוחד כאשר אתם עובדים על שרת מרוחק, תוכלו לצאת מהטרמינל באמצעות פקודת exit
. כשתרגישו בנוח עם מה שהשגתם במהלך הסשן הזה (מאחר שלא תוכלו לשחזר אותו), תוכלו להקליד את הפקודה הבאה, ולאחר מכן ללחוץ ENTER
כדי לצאת מהטרמינל.
בטרמינל האינטראקטיבי שלנו, נקבל את הפלט הבא, שמאשר שהמפגש שלנו הסתיים.
OutputSession ended
עם הסיום של המפגש הזה, תוכלו לרענן את הדף ולאחר מכן להפעיל טרמינל חדש כדי לנסות פקודות חלופיות, או ליצור מערכת קבצים חדשה לחקר.
מסקנה
ברכות! עכשיו אתה מכיר היטב את ממשק הטרמינל, ואתה בדרך הנכונה לעשות עוד דברים עם מחשבים ושרתים.
כדי להמשיך את הלמידה שלך, תוכל לקחת מסלול מודרך על הגדרת וניהול שרתים רחוקים עם התכנית הלימודית שלנו "מבוא לחישוב בענן" .
Source:
https://www.digitalocean.com/community/tutorials/a-linux-command-line-primer