חנון לחיות: מבוא לסיגווין, חלק ב' - פקודות שימושיות נוספות

דלג לתוכן הראשי

חנון לחיות: מבוא לסיגווין, חלק ב' - פקודות שימושיות נוספות


מאת ג'ינה טראפני

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

רשימת קבצים

בשבוע שעבר כיסינו כמה פקודות Unix בסיסיות, כולל ls, שמציגה רישום קובץ בספרייה הנוכחית. הדבר החשוב למתחילים בשורת הפקודה להבין הוא האופן שבו אתה מציין אפשרויות שונות של תוכנית בשורת הפקודה - וזה עם סיומות בפורמט -someletter. לדוגמה, ls רק מציג רשימה של שמות קבצים. ls -l, לעומת זאת, מציג את הגרסה ה"ארוכה" של רשימת קבצים, עם תאריכים וגודלי קבצים והרשאות. יתר על כן, ls -lh מציג את הרישום הארוך (-l) עם גדלי קבצים "ניתנים לקריאה אנושית" (-h). בדוק את ההבדל בתפוקה.

penelope@scully ~ $ ls done.txt honey-im-home.txt report.txt todo todo.txt penelope@scully ~ $ ls -l סך הכל 9 -rw-r—r— 1 penelope ללא 0 יוני 8 20:13 נעשה .txt -rw-r—r— 1 penelope ללא 0 ביוני 8 19:54 honey-im-home.txt -rw-r—r— 1 penelope None 0 יוני 8 20:13 report.txt -rwxr-xr-x 1 penelope None 7593 יוני 8 20:10 todo -rw-r—r— 1 penelope None 46 יוני 14 09: 44 todo.txt penelope@scully ~ $ ls -lh סך הכל 9.0K -rw-r—r— 1 penelope None 0 יוני 8 20:13 done.txt -rw-r—r— 1 penelope None 0 יוני 8 19:54 honey-im-home.txt -rw-r—r— 1 penelope ללא 0 ביוני 8 20:13 report.txt -rwxr-xr-x 1 penelope ללא 7.5K 8 ביוני 20:10 todo -rw-r—r— 1 penelope ללא 46 ביוני 14 09:44 todo.txt penelope@scully ~ $

שימו לב שגודל הקובץ רשום ב-7.5K (קצת יותר קל להבנה בלי צורך לעשות את החישוב) ברישום השני לעומת מספר ה-7593 בתים בראשון. זו העבודה של -ה.

כינויים

עכשיו, אם אתה תמיד רוצה לראות את רשימת הקבצים הארוכה אבל אתה לא רוצה לזכור ולהקליד את האפשרויות בכל פעם, אתה יכול להגדיר כינוי ב-Cygwin שממפה ls פשוט ל-ls -lh. כדי לעשות זאת, פתח את הקובץ בשם .bashrc בספריית הבית של Cygwin שלך (שתהיה משהו כמו c:\cygwin\home\penelope\.bashrc). הוסף את השורה הבאה לקובץ זה:

כינוי ls='ls -lh'

כעת, כשאתה מפעיל מחדש את Cygwin, בכל פעם שאתה מקליד ls, תקבל את הרשימה הארוכה הניתנת לקריאה על ידי אדם.

מניפולציה של קבצי טקסט

אוהבי שורת הפקודה חיים בקבצי טקסט, וליוניקס יש המון דרכים לחתוך, לחתוך, לעדכן, לחפש וליצור קבצי טקסט בשורת הפקודה. יכולת נוחה מאוד היא הוספת טקסט לקובץ באמצעות הסימון >>. לדוגמה, אם תרצה להתחיל או להוסיף לקובץ "gift-ideas.txt", בשורת הפקודה, תוכל לעשות:

penelope@scully ~ $ echo "Mark - Flickr Pro account" >> gift-ideas.txt penelope@scully ~ $ echo "אמא - שובר מתנה לעיסוי" >> gift-ideas.txt penelope@scully ~ $ echo "ג'ואי - א חולצת טרנינג עם קפוצ'ון" >> gift-ideas.txt penelope@scully ~ $ הד "אמא - מסגרת את התמונה של הילדים" >> gift-ideas.txt penelope@scully ~ $

עכשיו אם תרצה לראות את התוכן של הקובץ הזה, תוכל להשתמש בפקודה cat כדי להציג אותו:

penelope@scully ~ $ cat gift-ideas.txt Mark - חשבון Flickr Pro Mom - שובר מתנה לעיסוי ג'ואי - חולצת טרנינג עם קפוצ'ון אמא - מסגרת את התמונה של הילדים penelope@scully ~ $

כדי למחוק לחלוטין קובץ טקסט ופשוט להפוך את התוכן שלו למחרוזת שלך, השתמש בסימן גדול מ-יחיד (>) במקום הכפול (>>) שמתווסף לתוכן הקיים של הקובץ.

חיפוש טקסט עם grep

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

penelope@scully ~ $ grep Mom gift-ideas.txt אמא - שובר מתנה לעיסוי אמא - מסגרת את התמונה של הילדים penelope@scully ~ $

למעשה, grep הוא הכוכב אצליתסריט מטלות שפורסם בעברשמחלק משימות לפי הקשר ופרויקט.

פלט צנרת

היופי של שורת הפקודה הוא הפשטות שלה: הקלט והפלט של כל תוכנית הם פשוט טקסט. פקודות יוניקס הן כמו אבני בניין - תוכנות קטנות ומהודקות שעושות משימות בודדות טוב מאוד. כדי להשלים פונקציות מתקדמות יותר, אתה יכול לשרשר את התוכניות הללו ביחד באמצעות סימון הצינור (|). הצינור לוקח את פלט הטקסט מתוכנה אחת ושולח אותו כקלט לאחרת כדי לבצע בו פעולות נוספות.

נניח, למשל, אתה רוצה לראות רק את הקבצים בספריה שלך המסתיימים בסיומת .txt. אתה יכול לצרף ls ו-grep יחד כדי לעשות בדיוק את זה:

penelope@scully ~ $ ls | grep .txt -rw-r—r— 1 penelope None 0 יוני 8 20:13 done.txt -rw-r—r— 1 penelope None 120 יוני 14 09:58 gift-ideas.txt -rw-r—r— 1 penelope ללא 0 ביוני 8 19:54 honey-im-home.txt -rw-r—r— 1 penelope ללא 0 ביוני 8 20:13 report.txt -rw-r—r— 1 penelope ללא 46 ביוני 14 09:44 todo.txt penelope@scully ~ $

יתר על כן, אתה יכול להשתמש בטריק המוסיף שראינו למעלה כדי להוסיף את התוצאות של כל פקודה לקובץ טקסט, כך:

penelope@scully ~ $ ls > file-listing.txt penelope@scully ~ $ cat file-listing.txt סך הכל 10K -rw-r—r— 1 penelope ללא 0 יוני 8 20:13 done.txt -rw-r—r — 1 penelope ללא 0 יוני 14 10:09 file-listing.txt -rw-r—r— 1 penelope None 120 יוני 14 09:58 gift-ideas.txt -rw-r—r— 1 penelope None 0 יוני 8 19:54 honey-im-home.txt -rw-r—r— 1 penelope None 0 יוני 8 20 :13 report.txt -rwxr-xr-x 1 penelope ללא 7.5K 8 ביוני 20:10 todo -rw-r—r— 1 penelope ללא 46 ביוני 14 09:44 todo.txt penelope@scully ~ $

שם, הפלט של הפקודה ls נכתב לקובץ בשם file-listing.txt.

השתמש שוב בהיסטוריה שלך

לאחר זמן מה שלמדתם והתנסות בשורת הפקודה, תגלו שברצונכם לחזור ולחזור על פקודה שביצעתם בשלב מסוים במהלך העבר. למרבה המזל, Unix (ו-Cygwin) עוקבים אחר כל פקודה שאתה מקליד בקובץ בשם .history. הקלד את פקודת ההיסטוריה כדי לראות את 100 הפקודות האחרונות שהרצת, שימוספרו, כך:

penelope@scully ~ $ היסטוריה .... 82 echo gift-ideas.txt 83 grep Mom gift-ideas.txt 84 man grep 85 ls | grep .txt 86 ls 87 ls | grep todo 88 ls | grep .txt 89 ls >> file-listing.txt 90 cat file-listing.txt 91 היסטוריה

עכשיו, אם אתה רוצה לבצע מחדש פקודה מספר 87, נניח, אתה לא צריך להקליד אותה מחדש. ה"באנג" (סימן קריאה) ומספר הפקודה יבצעו את העבודה. פשוט הקלד !87 בהנחיה, הקש אנטר, ובמקרה שלי - ls | grep todo - יבוצע מחדש.

השתמש ב-grep כדי לבחור את פקודת העניין מההיסטוריה שלך. לדוגמה, כדי לראות את כל מתכוני ls שבהם השתמשת בעבר, grep את ההיסטוריה שלך עבור ls, כך:

penelope@scully ~ היסטוריה $ | grep ls 11 ls 13 ls 14 cls 20 ls 21 ls 27 ls 46 man ls 47 ls -l 48 ls 49 man ls 50 ls -lh 51 ls ...

מסודר, הא?

RTFM - קרא את מדריך F'ing

ברגע שתמצא את הרגליים שלך בשורת הפקודה, תרצה לחפש את כל האפשרויות עבור תוכניות מסוימות. אתה תמיד יכול לחפש בגוגל את הדפים הידניים, אבל אתה עכשיו מטורף CLI, אז הפקודה "גבר" (ידנית) היא מה שאתה רוצה. הקלד גברכדי לקבל רשימה מלאה של מהי הפונקציה של תוכנית וכל האפשרויות הזמינות עבורה. קדימה - נסה את זה עם גבר עכשיו. (הו, וכדי להוציא את עצמך מדפי ה-Manage עבור פקודה, הקש על המקש Q - עבור יציאה.)

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

פֶּתֶק:למרות שמאמר זה מוגדר כמבוא ל-Cygwin, Cygwin הוא אמולטור של יוניקס, אז זה באמת מבוא לפקודות יוניקס. אבל הניסיון ללמד אתכם את כל - או אפילו רבים - מפקודות ה-Unix השימושיות בחוץ, אומר שנהיה כאן שנים. אז בחרתי כמה מהתוכניות שלי שהקלדתי לעתים קרובות לשתף. מהן פקודות ה-Unix הנפוצות ביותר שלך (Cygwin או אחרת?) ספר לנו בתגובות או לטיפים ב-lifehacker.com.

ג'ינה טראפני, העורך של Lifehacker, עדיין לומד כיצד להתקדם ב-Unix. התכונה החצי שבועית שלה,חנון לחיות, מופיע מדי רביעי ושישי ב-Lifehacker. הירשם להפיד של Geek to Liveכדי לקבל תשלומים חדשים בקורא החדשות שלך.

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe Now & Never Miss The Latest Tech Updates!

Enter your e-mail address and click the Subscribe button to receive great content and coupon codes for amazing discounts.

Don't Miss Out. Complete the subscription Now.