Bash Tips
לקבל את כל הפרמטרים עם *! בעבר כתבתי על שימוש ב $! כדי להעביר את הפרמטר האחרון שהשתמשתי בו בפקודה מסוימת לפקודה חדשה. הבעיה מתחילה כשיש רשימה של פרמטרים במידה ונריץ $! נקבל רק את הפרמטר האחרון ולא את כל רשימת הקבצים שהזנו $ touch app.js index.html internal.css…
לזכור
רמת קושי: #beginners
כדי שיהיה קל לזכור את הקיצורים שבאש מספקת לאיחזור ארגומנטים מהפקודה האחרונה, אפשר לחשוב על זה ממש כמו regex
^ - בוחר את הערך ההתחלתי
$ - בוחר את הערך הסופי
* - בוחר את הכל
לדוגמה
@bash_tips
רמת קושי: #beginners
כדי שיהיה קל לזכור את הקיצורים שבאש מספקת לאיחזור ארגומנטים מהפקודה האחרונה, אפשר לחשוב על זה ממש כמו regex
^ - בוחר את הערך ההתחלתי
$ - בוחר את הערך הסופי
* - בוחר את הכל
לדוגמה
$ echo aaa bbb ccc
aaa bbb ccc
$ echo !^
aaa
$ echo !$
ccc
$ echo !*
aaa bbb ccc
#hints@bash_tips
👍13🔥1
ניקיון
כפי שאנו רגילים באש שומר בהיסטוריה כל פקודה שאנו מריצים, בעבר ראינו איך מריצים פקודה מבלי שהיא תיכנס להיסטוריה, מה עושים כאשר הפקודה שהרצנו כן נכנסה להיסטוריה?
בשביל לנקות את כל ההיסטוריה של באש ישנן 2 דרכים
echo >| ~/.bash_history
או פשוט
history -c
בכדי להסיר שורות ספציפיות ניתן להריץ את פקודת history עם דגל -d
history -d 1988
או אפילו להסיר טווח של פקודות מההיסטוריה
history -d 1988-1999
אחלה עובד נהדר
מה בקשר למחיקת היסטוריה לפי פקודה?
אז זהו אין דבר כזה, אלא אם כן אתם רוצים לשרשר כמוני
שיוט! מחקתי את ההיסטוריה
#history
@bash_tips
history
רמת קושי: #beginners כפי שאנו רגילים באש שומר בהיסטוריה כל פקודה שאנו מריצים, בעבר ראינו איך מריצים פקודה מבלי שהיא תיכנס להיסטוריה, מה עושים כאשר הפקודה שהרצנו כן נכנסה להיסטוריה?
בשביל לנקות את כל ההיסטוריה של באש ישנן 2 דרכים
echo >| ~/.bash_history
או פשוט
history -c
בכדי להסיר שורות ספציפיות ניתן להריץ את פקודת history עם דגל -d
history -d 1988
או אפילו להסיר טווח של פקודות מההיסטוריה
history -d 1988-1999
אחלה עובד נהדר
מה בקשר למחיקת היסטוריה לפי פקודה?
אז זהו אין דבר כזה, אלא אם כן אתם רוצים לשרשר כמוני
שיוט! מחקתי את ההיסטוריה
#history
@bash_tips
👍11🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
לנהל ssh
רמת קושי: #beginners
כמעט לכולנו יצא לעבוד עם ssh להתחבר ולהריץ פקודות ממכונה אחת לאחרת
בכדי להגדיר חיבורים רק למשתמש ניתן להוסיף את הערך הבא לקובץ
למשתמשי vscode ישנו תוסף מעולה שמנהל התחברויות ssh ומתבסס על קובץ הconfig המדובר
#ssh
#vscode
@bash_tips
רמת קושי: #beginners
כמעט לכולנו יצא לעבוד עם ssh להתחבר ולהריץ פקודות ממכונה אחת לאחרת
$ ssh user@hostמה שלא כולם יודעים זה שאפשר לשמור ולנהל התחברויות על ידי שימוש בקובץ config, ניתן אפילו לתת להן שמות והגדרות ספציפיות לכל התחברות.
$ ssh user@host "cat /etc/nginx/nginx.conf"
בכדי להגדיר חיבורים רק למשתמש ניתן להוסיף את הערך הבא לקובץ
~/.ssh/config
, בכדי להוסיף הגדרות לכלל משתמשי המערכת ניתן לערוך את הקובץ /etc/ssh/ssh_config
או להוסיף קובץ הגדרות תחת הנתיב /etc/ssh/ssh_config.d/
$ cat ~/.ssh/configלצורך הדוגמה כך נראה קובץ ההגדרות שלנו, הגדרנו 2 מכונות ונתנו שם לכל מכונה, כעת כל פעם שנרצה להתחבר למכונה מסויימת נצטרך רק לקרוא בשמה
Host smtp-prod
HostName 10.248.13.216
User ec2-user
Host smtp-test
HostName 10.247.13.215
User ec2-user
$ ssh smtp-prodנוכל להרחיב את סט ההגדרות ולהגדיר key ספציפי לכל התחברות, או אפילו להגדיר התחברות למכונה דרך מכונה אחרת (Jumpbox)
למשתמשי vscode ישנו תוסף מעולה שמנהל התחברויות ssh ומתבסס על קובץ הconfig המדובר
#ssh
#vscode
@bash_tips
🔥9👍8
ליצור היסטוריה
רמת קושי: #beginners
לא מעט פעמים נדרש מאיתנו לבצע פעולות על קבצים ישנים, הבעיה היא שאי אפשר לבדוק את הכלים שלנו על קבצים ישנים מאחר והתאריך של הקובץ עשוי להשתנות או חמור יותר להרוס את הקובץ
מה שאנו צריכים זה כלי שיאפשר לנו ליצור קובץ כאילו הקובץ נוצר כבר לפני שבוע ועליו לבצע את הניסיונות והפעולות שלנו
פקודת touch מאפשרת לנו ליצור קבצים
ומאפשרת לנו בנוסף לשנות זמן יצירה של קובץ מסויים או ליצור אותו מלכתחילה עם תאריך אחר מהזמן הנוכחי
כפי שניתן לראות זמן היצירה של הקובץ הוא מ01.01.2022
אחלה מעולה הכל עובד מושלם בקשר לקבצים, מה בקשר לתיקיות?
גם כאן פקודת touch באה לעזרנו למרות שהיא עובדת בעיקר על קבצים, אם ניצור תיקייה ו"ניגע" בה עם פקודת touch נוכל לשנות לה את
תאריך היצירה של התיקיה
ה mtime (התאריך האחרון בו הקובץ השתנה)
או ה atime (התאריך האחרון שמישהו ניגש לקובץ)
#touch
@bash_tips
touch
רמת קושי: #beginners
לא מעט פעמים נדרש מאיתנו לבצע פעולות על קבצים ישנים, הבעיה היא שאי אפשר לבדוק את הכלים שלנו על קבצים ישנים מאחר והתאריך של הקובץ עשוי להשתנות או חמור יותר להרוס את הקובץ
מה שאנו צריכים זה כלי שיאפשר לנו ליצור קובץ כאילו הקובץ נוצר כבר לפני שבוע ועליו לבצע את הניסיונות והפעולות שלנו
פקודת touch מאפשרת לנו ליצור קבצים
$ touch newfile
ומאפשרת לנו בנוסף לשנות זמן יצירה של קובץ מסויים או ליצור אותו מלכתחילה עם תאריך אחר מהזמן הנוכחי
$ touch newfile -t 01012022
$ ls -la
...
-rw-rw-r-- 1 bash_tips bash_tips 0 Jan 1 2022
כפי שניתן לראות זמן היצירה של הקובץ הוא מ01.01.2022
אחלה מעולה הכל עובד מושלם בקשר לקבצים, מה בקשר לתיקיות?
גם כאן פקודת touch באה לעזרנו למרות שהיא עובדת בעיקר על קבצים, אם ניצור תיקייה ו"ניגע" בה עם פקודת touch נוכל לשנות לה את
תאריך היצירה של התיקיה
ה mtime (התאריך האחרון בו הקובץ השתנה)
או ה atime (התאריך האחרון שמישהו ניגש לקובץ)
$ mkdir newdir
$ ls -l
...
drwxrwxr-x 2 bash_tips bash_tips 4096 Oct 31 21:11 newdir
$ touch newdir -t 01012022
$ ls -l
...
drwxrwxr-x 2 bash_tips bash_tips 4096 Jan 1 2022 newdir
#touch
@bash_tips
👍8🔥2