פקודות שימושיות בLinux- מאת יגאל סולימני Igal Solaimani / הקדמה במאמר זה אסקור מספר פקודות שימושיות במערכת הפעלה Linux.הפקודות הורצו על מכונת ,Ubuntu ברב המקרים ,ההבדל העיקרי בין ההפצות השונות הוא בפקודות האדמיניסטרטיביות ,ולכן מלבד שלושת הפקודות הראשונות במסמך ,יתר הפקודות יתאימו לשאר ההפצות .בטבלה הבאה ניתן לראות את ההבדלים בפקודות הללו בהפצות השונות: הפצה פעולה הורדת חבילת העדכונים התקנת חבילת העדכונים התקנת החבילה X Debian / Ubuntu apt-get update apt-get upgrade apt-get install X RedHat / Fedora / CentOS yum update yum install X את הרשימה המלאה של ההבדלים ,ניתן לראות בקישור הבא: https://help.ubuntu.com/community/SwitchingToUbuntu/FromLinux/RedHatEnterpriseLinuxAnd Fedora apt-get update פקודה זו מורידה את "חבילות העדכון" של התוכנות ומערכת ההפעלה אשר מותקנים במכונה: apt-get upgrade פקודה זו מתקינה את "חבילות העדכון" של התוכנות ומערכת ההפעלה אשר הורדו על ידי הפקודה הקודמת (:)apt-get update apt-get install vnc4server בכדי להתחבר אל המכונה ממחשב מרוחק מומלץ להשתמש בתוכנה ( VNC Viewerניתן להוריד מכאן .)/http://www.realvnc.com/download/viewerבמכונה עצמה יש להתקין את התוכנה :VNC 4Server פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 2 כעת יש ליצור את רשימת המשתמשים אשר יתחברו אל המכונה .בדוגמא שלנו ,אנו מוסיפים את המשתמש 15ומתבקשים להקליד את הסיסמא: מריצים את תוכנת ה VNC Viewer-במחשב. ולאחר הקלדת הסיסמא ,אנו מחוברים אל המכונה באופן מאוחר מהמחשב שלנו. נקודה שחשוב לציין בשלב זה :במידה ומדובר בשרת שלכם שנגיש מהאינטרנט ,חשוב לבצע מספר הקשחות ,לא ניגע בהן בשלב זה ,אך לדוגמא ,במידה והתקנתם שירות כדוגמת VNCעל שרת הנגיש מהאינטרנט ,חשוב יהיה להגביל בעזרת IPTablesאו Firewallחיצוני את האפשרות לגשת אליו אך ורק לכתובות IPהמוגדרות מראש. הפקודה Wall אם ברצוננו לשלוח הודעה מסוימת אל שאר המשתמשים המחוברים למכונה (הודעה על השבתת המערכת או שידרוג צפוי וכו') ניתן להשתמש בפקודה ,Wallאשר תציג על גבי מסך המשתמשים את ההודעה הנדרשת .לדוגמא :אם ברצוננו לשלוח את ההודעה: "!!"I found the solution for my NIC disconnections issue פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 3 לכל המשתמשים המחוברים כרגע .נעשה זאת כך: במסגרת הירוקה ניתן לראות את ההודעה שתוצג לשאר המשתמשים על גבי המסך .אם ברצוננו להציג קובץ מסוים על גבי המסך של שאר המשתמשים נעשה זאת כך: הפקודה Alias פקודה זו מאפשרת לנו ליצור קיצורי דרך לפקודות ארוכות .לדוגמא :נייצר קיצור דרך לפקודה אשר שולחת pingלאתר .Googleלקיצור הדרך נקרא :2g פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 4 במידה ונרצה למחוק את ה Alias-אשר הגדרנו ,נשתמש בפקודה .Unaliasבדוגמא שלנו ,כדי למחוק את ה Alias-שנקרא ,2gהפקודה תהיה .unalias 2gאם נרצה למחוק את כל ה-Alias-ים ,נשתמש בפקודה ( unalias -aבכל מקרה ,קיצורי הדרך נמחקים לאחר אתחול המחשב) .בכדי לראות את הרשימה המלאה של ה-Alias-ים ,נעזר בפקודה :alias -p הפקודה Top הפקודה ( topדומה ל task manager-ב , )windows-מציגה בזמן אמת את התהליכים ואת נתוני הCPU- והזכרון במערכת .משמשת למציאת תהליכים שגוזלים משאבי מערכת: ניתן לראות שה Top hitter-בדוגמא שלנו זה תהליך ה Firefox-אשר צורך 25.2%מה CPU-ו19.1%- מהזיכרון. פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 5 הפקודה IOtop פקודה זו מציגה בזמן אמת ,את התהליכים והנתונים אודות ה I/O-בדיסק: הפקודה ls הפקודה lsמציגה את תוכן הספרייה בה מריצים את הפקודה .ברירת המחדל של הפקודה ,היא להציג את הקבצים בצורה אופקית (ללא קבצים נסתרים) ,בכדי לראות את הקבצים בצורה אנכית נשתמש בפקודה .ls -lמרבית התיקיות מכילות קבצים ותיקיות נסתרות ,לכן בכדי לראות את תוכן הספרייה כולל קבצים נסתרים בצורה אנכית נשתמש בפקודה :ls -la פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 6 הפקודה lsusb בכדי לראות את ההתקנים ואת חיבורי USBאשר מחוברים למכונה ,נשתמש בפקודה :lsusb בשורה הראשונה (מסומנת בכתום) ,ניתן לראות את התקן ה USB-אשר חיברתי למכונה ,זהו ההחסן הנייד ( )DOKמתוצרת .SanDisk :BUS 001זהו מספר ה BUS-אליו מחובר ההחסן הנייד. :Device 004זהו ההתקן הרביעי במספר שחיברתי למכונה. :ID 0781:5530זהו מספר הזהות של ההתקן במערכת .כאשר 0781זהו מספר היצרן ו 5530-זהו מספר ההתקן. Minicom אם ברצוננו להתחבר לציוד שמחובר אלינו בממשק -Serialי ניתן להשתמש בתוכנה .minicom הפקודה sudo minicomתריץ את התוכנה ,לאחר מכן יש להקיש CTRL + Zואז :A ואז בעזרת המקשים ,להגדיר את תצורת החיבור לציוד. פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 7 האופרטור & האופרטור & בסוף הפקודה ,מריצה את הפקודה "מאחורי הקלעים" של המערכת ומציגה את מספר ה- .processפקודה זו יעילה כאשר מריצ ים סקריפטים או פקודות שמריצות שורות רבות ולא חיוניות לנו ,על גבי המסך. דוגמא :בתיקייה הבאה ניתן לראות תוכנית בשם test1.pyשמבצעת סריקה כלשהי במערכת ומפעילה מספר סקריפטים .בהפעלה רגילה ירוצו מספר רב של שורות על גבי המסך ,הפעם נריץ זאת עם האופרטור & בסוף הפקודה: ניתן לראות שהתוכנית רצה ברקע ומציגה לנו את מספר התהליך ( ,)20069בנוסף ניתן לראות שכרגע רצה לנו רק תוכנית אחת ברקע [ .]1כדי לראות את הרשימה המלאה של הפקודות הרצות כרגע "מאחורי הקלעים" משתמשים בפקודה .jobs Find אם ברצוננו לחפש קובץ מסוים במכונה (קובץ שאנו יודעים את שמו או חלק משמו) ,ניתן להשתמש בפקודה .find -inameלדוגמא ,אם נרצה לחפש קובץ בשם ,ciscoנקליד ,find -iname cisco :ונקבל את מיקום הקובץ (התוספת iלפני ה ,nameהיא בכדי להימנע מטעויות :)Case Sensitive פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 8 אם ברצוננו לחפש קבצים בגודל מסוים נשתמש בפקודה ,find -sizeלדוגמא :אם ברצוננו להציג את כל הקבצים שגודלם גדול מ ,50M-נשתמש בפקודה הבאה: find / -size +50M -printf "%s - %p\n" | sort -n -r כאשר: %sמציג את גודלו של הקובץ בbytes- %pמציג את שם הקובץ. הפקודה Grep הפקודה ,grepמשמשת כפילטר להצגת מילת החיפוש בפלט התוצאה .לדוגמא ,הפקודה ps -auxמציגה את כל התהליכים אשר רצים כעת במערכת: הפקודה ps -aux | grep sshתציג לנו את כל התהליכים אשר רצים כעת וקשורים ל:ssh- פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 9 דוגמא נוספת לשימוש בפקודה grepהיא כדי למצוא מחרוזת מסוימת בתיקייה המכילה מספר רב של קבצים .אם נרצה למצוא את המחרוזת " "systemבתיקייה ,Documentsנשתמש בפקודה: *grep "system" Documents/*. ונקבל: ניתן לראות שבתיקייה Documentsישנם 2קבצים המכילים את המחרוזת "."system הפקודה nl פקודה זו משמשת למספור השורות בקובץ .כשעורכים /מריצים סקריפטים על קבצים ,נדרשים לדעת את מספרי השורות ולשם כך נשתמש בפקודה .nlלדוגמא :אם נרצה למספר את השורות בקובץ message.txt נשתמש בפקודה הבאה: nl -ba message.txt כאשר התוספת -baהיא עבור מספור כל השורות,כולל הרווחים .ללא תוספת זו ימוספרו רק השורות המלאות: פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 10 יש דרך נוספת למספר את הקובץ ולהציגו כולל הרווחים ,בעזרת הפקודה :catבדוגמא שלנו ,הפקודה cat ,-n message.txtתתן את אותו הפלט בדיוק (כמו .)nl -ba message.txt הפקודה dmesg פקודה זו מציגה את ההודעות המועברות אל מודול ה( kernel-חומרה /התקנים וכדומה) ואת הסטטוס שלהם (הצלחה /כישלון ואת הסיבה לכישלון) בסדר כרונולוגי מרגע הקמת המערכת: פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 11 הפקודה lsof פקודה זו מציגה את פרטי הקבצים הפתוחים כרגע במערכת ) ,)lsof = list open filesבעזרת פקודה זו ניתן לדעת את מיקום ופרטי הקבצים הפתוחים במערכת: הפקודה strace פקודה זו משמשת לניתוח ואיבחון של תוכניות ,פקודות ותהליכים במערכת ,ומציגה את הקריאות והאותות במערכת .דוגמא :נריץ את הפקודה straceעל הקובץ scanner.pyבתוספת ,-ttTבאופן הבא: Strace -ttT python scanner.py כאשר Tהיא עבור הצגת משך זמן העבודה של כל קריאה במערכת.ו tt-היא עבור הצגת הזמן בmicro - :seconds את הפקודה ,straceניתן להפעיל גם על פקודות של מערכת ההפעלה .דוגמא (בעמוד הבא) הפעלת הפקודה straceעל הפקודה :cat פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 12 שמירת פלט הפקודה straceבקובץ דוגמא :אם נרצה לשמור את פלט הפקודה בקובץ ,נשתמש בפקודה הבאה. Strace -o strace_free.txt free כאשר -oעבור שמירת הפלט בקובץ strace_free.txt .זהו שם הקובץ בו יישמר הפלט ,ו free-זוהי פקודת מערכת ההפעלה עליה מופעלת הפקודה :strace פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 13 הצגת פלט ה strace-בצורה סטטיסטית בכדי להציג את פלט הפקודה בטבלה ,המכילה את פרטי הקריאות במערכת ,נשתמש בפקודה strace -c .pwdכאשר -c ,עבור הצגה סטטיסטית ,ו pwd-זוהי פקודת מערכת ההפעלה עליה מופעלת הפקודה :strace הפעלת straceעל תהליכים במערכת ניתן להפעיל straceעל תהליכים בעזרת הפקודה הבאה: strace -p 3583 כאשר -p ,עבור הצגת תהליך 3583 ,זהו ה PID -של התהליך. פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 14 - KILLשליחת אותות לתהליכים ופקודות ניתן לשלוח אותות אל תהליכים ופקודות בעזרת הפקודה .killעל מנת לראות את הרשימה המלאה של האותות אשר מערכת ההפעלה תומכת בהן ,נשתמש בפקודה :kill -l מספרי האותות קבועים בכל מערכת הפעלה ,אך כל אחת מהן מממשת אותות שונים .האותות הנפוצים ביותר אשר קיימות בכולן הן 9 ,3 ,1ו .15-דוגמא :אם נרצה לסיים תהליך כלשהו נשלח את האות SIGKILL אל ה PID-שלו. ישנו תהליך ששולח pingאל אתר ,googleבעזרת הפקודה ps-efניתן לראות שמספר ה PID-שלו הוא ,3181לכן הפקודה לעצירת התהליך הזה תהיה: kill -9 3181 כאשר 9זהו מספר האות של .SIGKILLניתן לרשום גם את שם האות במקום מספרו ,בדוגמא שלו הפקודה תהיה: kill -SIGKILL 3181 פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 15 בעזרת SIGSTOPנוכל להקפיא תהליך ( )kill -STOP 3181ובעזרת SIGCONTנוכל להמשיך תהליך קפוא ("להפשיר אותו" ,)kill -CONT 3181 -קיימים עוד אותות רבים ,אך נעצור כאן. הפקודה Tcpkill Tcpkillמאפשרת לנו לחסום תקשורות בין מחשבים ,רשתות ,מבואות או כולן יחד. כדי להשתמש בפקודה ,יש להתקין את החבילה ,dsniffאשר מכילה מספר כלים לעבודה בפרוטוקול תקשורת .TCPאת הרשימה המלאה של הכלים ניתן לראות כאן בקישור הבא: http://packages.ubuntu.com/lucid/net/dsniff לדוגמא: tcpkill -i eth1 -9 port 80 כאשר: -i eth1מסמל את ה Interface-עליו מאזינים. -9מסמל את "עוצמת הכפייה" על סגירת המערכת (ערכים בין )1-9 -Port 80זהו מספר המבוא שאותו אנו מעונינים לחסום. כדי לחסום אתר מסוים (גוגל למשל) ,נשתמש בפקודה הבאה: tcpkill -i eth1 -9 host www.google.com כדי לחסום תקשורת מול מחשב שנמצא ברשת וכתובתו ,192.168.1.100נריץ: tcpkill -i eth1 -9 host 192.168.1.100 פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 16 הפקודה Nohup הפקודה )no hangup( nohupמאפשרת להריץ פקודות ותהליכים ברקע תוך התעלמות מהאות .SIGHUP אולם עדיין יהיה ניתן לסיים את התהליך על ידי .SIGKILLכשמשתמשים בפקודה יש לציין את קובץ היעד בו תשמר תוצאת התהליך ,שכן באין ציון ,המערכת תשמור אוטומטית את תוצאת התהליך בקובץ .nohup.txt לדוגמא ,אם נרצה להריץ Pingלאתר גוגל ללא הפרעת ,SIGHUPנשתמש בפקודה הבאה: Nohup ping www.google.com > 1.txt כפי שניתן לראות ,כעת הקובץ 1.txtיכיל את תוצאת הרצת ה ,ping -בפרק הזמן המבוקש. סיכום במאמר זה סקרנו מספר פקודות חשובות מאוד לניהול המערכת Linux .היא מערכת הפעלה ידידותית למשתמש ונמצאת במגמת עלייה מתמדת .גם משתמשים מתחילים יכולים להתקין את מערכת ההפעלה ולהתנסות בעצמם בתפעולה .במידה ויהיה ביקוש -אשמח לפרסם מאמר המשך עם פקודות מתקדמות יותר. על המחבר יגאל סולימני הינו מהנדס אלקטרוניקה העוסק בתחום רשתות תקשורת ו .Linux-בכל שאלה אתם מוזמנים לפנות לדוא"ל ,וגם כמובן אם יש לכם הצעות עבור מאמרים נוספים בנושאי / Linuxתקשורת נתונים .כתובת דוא"ל ליצירת קשר[email protected] : פקודות שימושיות ב-Linux www.DigitalWhisper.co.il גליון ,57ינואר 2015 17
© Copyright 2024