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

1. אתם אמורים ליצור עץ ספריות ארוך/מורכב דומה לנתונים למטה. מהו הדרך היעילה ביותר להשיג זאת?
מבנה עץ הספריות ליצירה כפי שמוצע למטה.
$ cd /home/$USER/Desktop $ mkdir tecmint $ mkdir tecmint/etc $ mkdir tecmint/lib $ mkdir tecmint/usr $ mkdir tecmint/bin $ mkdir tecmint/tmp $ mkdir tecmint/opt $ mkdir tecmint/var $ mkdir tecmint/etc/x1 $ mkdir tecmint/usr/x2 $ mkdir tecmint/usr/x3 $ mkdir tecmint/tmp/Y1 $ mkdir tecmint/tmp/Y2 $ mkdir tecmint/tmp/Y3 $ mkdir tecmint/tmp/Y3/z
התרחיש שלמעלה ניתן להשיגו בקלות רק על ידי הרצת הפקודה הקצרה למטה.
$ mkdir -p /home/$USER/Desktop/tecmint/{etc/x1,lib,usr/{x2,x3},bin,tmp/{Y1,Y2,Y3/z},opt,var}
לאימות תוכלו להשתמש בפקודת tree. אם אינה מותקנת, תוכלו להשתמש ב־apt או ב־yum על מנת להתקין את החבילה 'tree'.tree.
$ tree tecmint

ניתן ליצור מבנה עץ ספריות של כל רמת מורכבות באמצעות הדרך הנ"ל. שימו לב שזו לא דרך חדשה אלא פקודה רגילה שמשתמשת ב־{}
כדי ליצור מדרגת ספריות. זה עשוי להיות מאוד מועיל במידה ויש צורך להשתמש בו מתוך סקריפט של בקשת קול או באופן כללי.
2. ליצור קובץ (נקרא test) על שולחן העבודה שלך (/home/$USER/Desktop) ולמלא אותו בתוכן הבא.
ABC DEF GHI JKL MNO PQR STU VWX Y Z
מה משתמש רגיל יעשה בתרחיש זה?
a. He will create the file first, preferably using touch command, as:
$ touch /home/$USER/Desktop/test
b. He will use a text editor to open the file, which may be nano, vim, or any other editor.
$ nano /home/$USER/Desktop/test
c. He will then place the above text into this file, save and exit.
לכן ללא קשר לזמן שיקח לו, יהיה עליו לבצע לפחות 3 צעדים כדי להריץ את התרחיש שמופיע למעלה.
מה יעשה משתמש מנוסה וחכם ב-Linux? הוא יקליד את הטקסט למעלה בפעם אחת בטרמינל והכל יבוצע. לא יהיה עליו לבצע כל פעולה בנפרד.
cat << EOF > /home/$USER/Desktop/test ABC DEF GHI JKL MNO PQR STU VWX Y Z EOF
אתה יכול להשתמש בפקודת 'cat' כדי לבדוק האם הקובץ והתוכן שלו נוצרו בהצלחה או לא.
$ cat /home/avi/Desktop/test
3. אנו עוסקים בארכיונים (ובמיוחד בכדורי TAR) לעיתים תכופות ב-Linux. במקרים רבים אנו צריכים להשתמש בכדור ה-TAR במיקום שונה מתיקיית ההורדות. מה אנו עושים במקרה זה?
בדרך כלל אנו עושים שני דברים במקרה זה.
a. Copy/Move the tar ball and extract it at destination, as:
$ cp firefox-37.0.2.tar.bz2 /opt/ or $ mv firefox-37.0.2.tar.bz2 /opt/
b. cd to /opt/ directory.
$ cd /opt/
c. Extract the Tarball.
# tar -jxvf firefox-37.0.2.tar.bz2
ניתן לעשות את זה בדרך ההפוכה.
אנו מחלץ את ה-Tarball במקום שבו הוא נמצא ומעתיקים/מובילים את הארכיון שנמצא ליעד הנדרש כך:
$ tar -jxvf firefox-37.0.2.tar.bz2 $ cp -R firefox/ /opt/ or $ mv firefox/ /opt/
בכל אחת מהמקרים העבודה דורשת שתי או יותר צעדים כדי להשלים. המקצוען יכול להשלים את המשימה הזו בצעד אחד כך:
$ tar -jxvf firefox-37.0.2.tar.bz2 -C /opt/
האפשרות -C מאפשרת ל-tar לחלץ את הארכיון בתיקייה המסוימת (כאן /opt/).
זה לא על אפשרות (-C) אלא על רגליים. תפוס את עצמך להשתמש באפשרות -C עם tar. זה יקל על חייך. מעכשיו אל תזוז את הארכיון או תעתיק/תזוז את הקובץ המוחלץ, פשוט השאר את ה-TAR-ball בתיקיית ה-Downloads וחלץ אותו בכל מקום שתרצה.
4. איך אנו מנהלים תהליך בדרך מסורתית?
בדרך הכללית ביותר, אנו מפרטים את כל התהליכים באמצעות הפקודה ps -A
ומנתחים אותם עם grep כדי למצוא תהליך/שירות (אומרים apache2), כך:
$ ps -A | grep -i apache2
פלט דוגמה
1006 ? 00:00:00 apache2 2702 ? 00:00:00 apache2 2703 ? 00:00:00 apache2 2704 ? 00:00:00 apache2 2705 ? 00:00:00 apache2 2706 ? 00:00:00 apache2 2707 ? 00:00:00 apache2
הפלט לעיל מציג את כל התהליכים של apache2 הפועלים כעת עם ה-PID שלהם, תוכל להשתמש ב-PID שלהם כדי להרוג את apache2 בעזרת הפקודה הבאה.
# kill 1006 2702 2703 2704 2705 2706 2707
ואז לבדוק אם כל תהליך/שירות בשם 'apache2' פועל או לא, כך:
$ ps -A | grep -i apache2
אך אנו יכולים לעשות זאת בפורמט הובנה יותר באמצעות כלי כמו pgrep ו־pkill. ניתן למצוא מידע רלוונטי על תהליך רק על ידי שימוש ב־pgrep. נניח שעליכם למצוא את מידע התהליך עבור apache2, תוכלו פשוט לבצע את הפעולה הבאה:
$ pgrep apache2
פלט דוגמה
15396 15400 15401 15402 15403 15404 15405
בנוסף, ניתן לרשום את שם התהליך לעומת pid על ידי הרצת.
$ pgrep -l apache2
פלט דוגמה
15396 apache2 15400 apache2 15401 apache2 15402 apache2 15403 apache2 15404 apache2 15405 apache2
להרוג תהליך באמצעות pkill הוא פשוט מאוד. אתם רק צריכים להקליד את שם המשאב להריגה ואתם עושים. Espkill עליו תוכלו לעיין בפוסט שכתבתי כאן: https://www.tecmint.com/how-to-kill-a-process-in-linux/.
להרוג תהליך (נניח apache2) באמצעות pkill, כל שעליכם לעשות הוא:
# pkill apache2
ניתן לוודא אם apache2 נהרג או לא על ידי הרצת הפקודה הבאה.
$ pgrep -l apache2
אם היא מחזירה את הפרומפט ולא מדפיסה כלום, זה אומר שאין תהליך פועל בשם apache2.
זה הכול לעכשיו, מצידי. כל הנקודות שדוברו לעיל אינן מספיקות אך בוודאי יעזרו. אנו לא רק מתכוונים ליצור מדריכים שיעזרו לך ללמוד משהו חדש בכל פעם אלא רוצים גם להראות 'כיצד להיות יותר יעילים במסגרת זו'. נא לספק לנו משוב ערכי בתגובות למטה. נשארים מחוברים. המשיכו להגיב.
Source:
https://www.tecmint.com/mkdir-tar-and-kill-commands-in-linux/