OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

cat - שרשור קבצים

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


חתול [קוֹבֶץ...]

חתול [קוֹבֶץ...]


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



[me@linuxbox ~]$ cat ls-output.txt

[me@linuxbox ~]$ cat ls-output.txt


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

movie.mpeg.001 movie.mpeg.002 ... movie.mpeg.099

נוכל להצטרף אליהם בחזרה יחד עם הפקודה הזו:



cat movie.mpeg.0* > movie.mpeg

cat movie.mpeg.0* > movie.mpeg


מכיוון שתווים כלליים מתרחבים תמיד בסדר ממוין, הארגומנטים יהיו מסודרים בסדר הנכון.

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



[me@linuxbox ~]$ חתול

[me@linuxbox ~]$ חתול


שום דבר לא קורה, זה פשוט יושב שם כאילו הוא תלוי. זה אולי נראה כך, אבל זה באמת עושה בדיוק את מה שהוא אמור לעשות.

If חתול לא נותנים ארגומנטים, הוא קורא מקלט רגיל ומכיוון שקלט סטנדרטי מחובר, כברירת מחדל, למקלדת, הוא מחכה שנקליד משהו! נסה להוסיף את הטקסט הבא והקש Enter:

הפניית קלט סטנדרטי


[me@linuxbox ~]$ חתול

השועל החום המהיר קפץ מעל הכלב העצלן.

[me@linuxbox ~]$ חתול

השועל החום המהיר קפץ מעל הכלב העצלן.


לאחר מכן, הקלד א Ctrl-d (כלומר, החזק את מקש Ctrl לחוץ והקש "d") כדי לדעת חתול שזה הגיע סוף הקובץ (EOF) על קלט סטנדרטי:



[me@linuxbox ~]$ חתול

השועל החום המהיר קפץ מעל הכלב העצלן.

השועל החום המהיר קפץ מעל הכלב העצלן.

[me@linuxbox ~]$ חתול

השועל החום המהיר קפץ מעל הכלב העצלן.

השועל החום המהיר קפץ מעל הכלב העצלן.


בהיעדר ארגומנטים של שם קובץ, חתול מעתיק קלט סטנדרטי לפלט סטנדרטי, כך שאנו רואים את שורת הטקסט שלנו חוזרת על עצמה. אנו יכולים להשתמש בהתנהגות זו כדי ליצור קבצי טקסט קצרים. נניח שרצינו ליצור קובץ בשם "lazy_dog.txt" המכיל את הטקסט בדוגמה שלנו. היינו עושים את זה:



[me@linuxbox ~]$ cat > lazy_dog.txt

השועל החום המהיר קפץ מעל הכלב העצלן.

[me@linuxbox ~]$ cat > lazy_dog.txt

השועל החום המהיר קפץ מעל הכלב העצלן.


הקלד את הפקודה ולאחריה את הטקסט שאנו רוצים למקם בקובץ. זכור להקליד Ctrl-d בסופו של דבר. באמצעות שורת הפקודה, הטמענו את מעבד התמלילים המטופש בעולם! כדי לראות את התוצאות שלנו, אנחנו יכולים להשתמש חתול כדי להעתיק את הקובץ ל-stdout שוב:


[me@linuxbox ~]$ cat lazy_dog.txt

השועל החום המהיר קפץ מעל הכלב העצלן.

[me@linuxbox ~]$ cat lazy_dog.txt

השועל החום המהיר קפץ מעל הכלב העצלן.


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



[me@linuxbox ~]$ cat < lazy_dog.txt

השועל החום המהיר קפץ מעל הכלב העצלן.

[me@linuxbox ~]$ cat < lazy_dog.txt

השועל החום המהיר קפץ מעל הכלב העצלן.


באמצעות אופרטור ההפניה "<", אנו משנים את מקור הקלט הסטנדרטי מהמקלדת לקובץ lazy_dog.txt. אנו רואים שהתוצאה זהה להעברת ארגומנט שם קובץ בודד. זה לא שימושי במיוחד בהשוואה להעברת ארגומנט של שם קובץ, אבל זה משמש להדגמה של שימוש בקובץ כמקור לקלט סטנדרטי. פקודות אחרות מנצלות טוב יותר את הקלט הסטנדרטי, כפי שנראה בקרוב.


לפני שנמשיך, בדוק את דף האיש עבור חתול, שכן יש לו כמה אפשרויות מעניינות.


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: