Bash Tips
982 subscribers
14 photos
4 files
45 links
רוצים להשתמש בלינוקס אבל לא ממש מכירים את הכלים שהיא מספקת לעבודה?

בערוץ הבא תמצאו אוסף טיפים שימושיים ב-Bash והכרות עם כלים שונים שעשויים לחסוך מאמץ ועבודה בכתיבת סקריפטים ומימוש אוטומציות.
Download Telegram
לפרמט את היסטוריה
רמת קושי: #beginners

כלי מוכר בלינוקס מאפשר לראות את ההיסטוריה של הפקודות שהורצו על מכונה או משתמש מסויים על ידי הרצה של פקודת history

למה לפרמט?

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

לפרמט
בכדי להציג שעה ותאריך לכל פקודה בהיסטוריה צריך להגדיר את המשתנה הגלובלי HISTTIMEFORMAT ונקבל רטרואקטיבית את הזמנים בהם הורצו הפקודות

$ export HISTTIMEFORMAT="%d/%m/%y %T "
$ history
256 11/06/21 11:05:32 init 0
257 11/06/21 11:05:32 su user -
258 11/06/21 11:05:32 ls
259 11/06/21 11:05:32 python
260 11/06/21 11:05:32 rm users
...


הערות
* לכל הדואגים עדין אפשר להריץ !258.
* כמו שאנו מכירים בכדי לגרום להתנהגות הזאת להישאר קבועה, פשוט להכניס את הexport לbashrc ולעשות source.


#history
#env_variable

@bash_tips
שימוש חוזר בהיסטוריה
רמת קושי: #beginners

אם כבר בהיסטוריה עסקינן אז סימן קריאה ומספר השורה יריץ את שורה המצויינת בהיסטוריה שוב

$ history
100 ls
101 ls -lah
102 tree
...

$ !102
.
├── [
├── a2p
├── addr2line
├── alias


בכדי להריץ את הפקודה האחרונה שכתבתם שוב או כדי להעביר אותה כפרמטר ניתן להשתמש ב!!

abc@abc-home:~$ apt install aaa
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

abc@abc-home:~$ sudo !!
sudo apt install aaa
[sudo] password for
abc:


#history
#operations

@bash_tips
ניקיון history
רמת קושי: #beginners

כפי שאנו רגילים באש שומר בהיסטוריה כל פקודה שאנו מריצים, בעבר ראינו איך מריצים פקודה מבלי שהיא תיכנס להיסטוריה, מה עושים כאשר הפקודה שהרצנו כן נכנסה להיסטוריה?

בשביל לנקות את כל ההיסטוריה של באש ישנן 2 דרכים

echo >| ~/.bash_history

או פשוט

history -c

בכדי להסיר שורות ספציפיות ניתן להריץ את פקודת history עם דגל -d

history -d 1988

או אפילו להסיר טווח של פקודות מההיסטוריה

history -d 1988-1999

אחלה עובד נהדר
מה בקשר למחיקת היסטוריה לפי פקודה?
אז זהו אין דבר כזה, אלא אם כן אתם רוצים לשרשר כמוני

שיוט! מחקתי את ההיסטוריה


#history

@bash_tips
👍11🔥2