פקודות טרמינל בלינוקס שכל מתחיל חייב להכיר¶
בפעם הראשונה שפתחתי טרמינל בלינוקס הרגשתי כמו שחקן במסך שחור עם כתובית ירוקה, בלי מושג מה מותר לי לגעת בו. זה תחושה מוכרת לכל מי שמתחיל, וזה בסדר גמור. הבעיה האמיתית היא לא הפחד מהמסך השחור, אלא ההרגל להעתיק פקודות מגוגל או מצ'אט בוט בלי להבין מה הן עושות. זה עובד עד שיום אחד זה לא עובד, ואז אתם מוחקים בטעות תיקייה שלמה.
אז בואו נעשה את זה נכון. הנה הפקודות שבאמת תשתמשו בהן כל יום, עם ההסבר למה הן קיימות ומתי מושכים אליהן.
ניווט - להבין איפה אתם נמצאים¶
pwd מדפיסה לכם את הנתיב המלא של התיקייה שאתם נמצאים בה כרגע. תחשבו עליה כעל "GPS" של הטרמינל - כשאתם מבולבלים, זו הפקודה הראשונה שמריצים.
ls מציגה מה יש בתיקייה הנוכחית. אם תוסיפו לה -l תקבלו תצוגה מפורטת עם הרשאות, גודל ותאריך, ואם תוסיפו -a תראו גם קבצים מוסתרים (כאלה שמתחילים בנקודה). השילוב ls -la הוא כנראה הפקודה שתקלידו הכי הרבה בחיים שלכם.
cd זו הפקודה שמעבירה אתכם בין תיקיות. cd .. עולה תיקייה אחת אחורה, cd ~ לוקח אתכם הביתה, ו-cd - חוזר לתיקייה הקודמת שהייתם בה. הטריק האחרון הזה חוסך המון זמן כשאתם קופצים בין שתי תיקיות עבודה.
עבודה עם קבצים ותיקיות¶
mkdir יוצרת תיקייה חדשה, ו-touch יוצרת קובץ ריק. cp מעתיקה קבצים, ו-mv מזיזה או משנה שם - כן, בלינוקס שינוי שם זה בעצם הזזה של קובץ לאותו מקום עם שם אחר.
rm מוחקת. וכאן אני עוצר לרגע כי זו הפקודה שהכי כדאי לכם לכבד. אין לינוקס "סל מיחזור" כברירת מחדל בטרמינל. rm -rf תיקייה מוחקת תיקייה שלמה על כל תוכנה, לצמיתות, בלי לשאול שאלות. תמיד תבדקו פעמיים לפני שאתם מריצים את זה, ואם אתם לא בטוחים מה תוצאת הפקודה תהיה - אל תריצו אותה.
לקרוא ולחפש בתוך קבצים¶
cat מדפיסה את כל תוכן הקובץ למסך, טובה לקבצים קטנים. less פותחת קובץ בתצוגה שאפשר לגלול בה, ומצוינת לקבצים ארוכים כמו לוגים - לחיצה על q יוצאת ממנה.
grep היא אחת הפקודות החזקות באמת. היא מחפשת מחרוזת בתוך קובץ או פלט. למשל grep "error" log.txt תמצא לכם כל שורה שמכילה את המילה error. ברגע שתתרגלו אליה, תגלו שאתם משתמשים בה כל הזמן כדי לצוד מידע מתוך קבצים ענקיים בלי לקרוא אותם שורה שורה.
הרשאות, תהליכים וניהול המערכת¶
chmod משנה הרשאות של קובץ - מי יכול לקרוא, לכתוב או להריץ אותו. זה נושא רחב בפני עצמו וממש כדאי להבין אותו לעומק לפני שרצים איתו בפרודקשן, כי הרשאות שגויות הן מקור נפוץ לבאגים ולבעיות אבטחה.
sudo מריצה פקודה בהרשאות מנהל מערכת. חשוב להבין - אם משהו דורש sudo בשביל להצליח, זה סימן שהמערכת מנסה להגן עליכם. אל תשימו sudo לפני כל פקודה רק כי היא נכשלה, תבינו קודם למה היא נכשלה.
ps מציגה תהליכים שרצים במערכת, ו-kill עוצרת תהליך לפי המזהה שלו (PID). שילוב נפוץ הוא ps aux | grep שם-התוכנית כדי למצוא תהליך תקוע ואז לסגור אותו.
הצינור שמחבר הכל¶
יש סימן אחד שברגע שתפנימו אותו, הטרמינל יהפוך לכלי הרבה יותר חזק - הפייפ |. הוא לוקח את הפלט של פקודה אחת ומזין אותו כקלט לפקודה הבאה. למשל ls -la | grep ".txt" יציג רק את הקבצים עם סיומת txt מתוך רשימת הקבצים. זה הרעיון המרכזי מאחורי כל הכוח של הטרמינל - פקודות קטנות ופשוטות, שכשמחברים אותן ביחד, פותרות בעיות מורכבות.
זה לא רשימה לשינון¶
אל תנסו לזכור את כל זה בעל פה. אף אחד לא זוכר את כל הדגלים (flags) של כל פקודה, גם לא מפתחים ותיקים. מה שחשוב זה להבין את ההיגיון - שכל פקודה עושה דבר אחד ספציפי, ושרוב הבעיות שלכם כבר מישהו פתר וכתב עליהן. תרגול הוא הדרך היחידה שזה נטמע, ולכן הכי כדאי לפתוח טרמינל ולתרגל ישירות במקום רק לקרוא.
בקורס לינוקס הבסיסי שלנו יש פרק שלם שעובר על כל הפקודות האלה עם תרגילים אמיתיים, כדי שבמקום לקרוא עליהן תבינו אותן בפועל.
התחילו את קורס לינוקס הבסיסי כאן
ואם אתם נתקעים באמצע תרגול, יש לנו קהילה בדיסקורד שתמיד שמחה לעזור.