4 טיפים שימושיים על פקודות mkdir, tar ו-kill ב-Linux

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

4 Linux Useful Tips and Hacks
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
Check Directory Structure

ניתן ליצור מבנה עץ ספריות של כל רמת מורכבות באמצעות הדרך הנ"ל. שימו לב שזו לא דרך חדשה אלא פקודה רגילה שמשתמשת ב־{} כדי ליצור מדרגת ספריות. זה עשוי להיות מאוד מועיל במידה ויש צורך להשתמש בו מתוך סקריפט של בקשת קול או באופן כללי.

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/