יסודות מערכות פתוחות - פרופ' אודי רוטיץ'

שם המרצה:          פרופ' אודי רוטיץ'
מטרת הקורס:       הקנית שליטה טובה למשתמש בסביבת Unix ויכולת תכנות בשפת Shell
היקף הקורס:        שלוש שעות הרצאה ושעתיים תרגיל
דרישות קדם:        אין
מרכיבי הציון:        הגשת תרגילים 20%,  בחינה סופית 80%
 
תוכן הקורס:
ילמדו הנושאים העיקרים הנדרשים למשתמש בסביבת Unix שכוללים:
מבנה מערכת הקבצים, הרשאות גישה לקבצים ותיקיות, הפניות קלט, פלט ושגיאות, שימוש ב- pipeline, ביטוים רגולאריים, ביטוים בסגנון glob, שימוש בפקודה egrep לחיפוש מחרוזות בקבצים,  חיפוש קבצים לפי פרמטרים שונים על ידי שימוש בפקודה find.
 
ילמדו הנושאים הנדרשים לכתיבת תוכניות סקריפט מורכבות בשפת ה- Shell Bash שכוללים שימוש בפקודות sort, tr,   uniq, xargs ו- expr.
 
ילמד המבנה הלוגי המיוחד של תוכניות awk כולל מערכים אסוציאטיביים.
 
יוצג ביצוע אוטומטי של תוכניות אינטראקטיביות בעזרת expect.
 
ילמד השימוש ב- sed לעיבוד טקסט.
 
פרק ללימוד עצמי: שימוש ב- Sed לעיבוד טקסט.
 
תוצאות הלמידה:
סטודנט שיסיים בהצלחה את הקורס:
1.       ישלוט בפקודות העיקריות של Bash הנדרשות למשתמש שעובד בסביבת Unix.
2.       יפתח יכולת תכנות תוכניות סקריפט מורכבות אשר מחיבות שילוב של  מספר רב של פקודות Bash ומבני בקרה.
3.       יכיר כלים חשובים בעולם ה- unix כמו Awk, sed ו- expect.
4.       יהיה מוכן לקראת לימוד שפות תכנות מתקדמות בסביבת Unix כמו:  Perl, Tcl ו- Tkx 
 
ביבליוגרפיה:
1. Cameron Newham and Bill Rosenblatt, Learning the bash Shell, 3rd Edition,  Unix Shell  Programming, O'Reilly Media, 2005.
 
2. Mark G. Sobell, A Practical Guide to Linux® Commands, Editors, and Shell
    Programming, : Prentice Hall, 2005
 
3. Mendel Cooper, Advanced Bash-Scripting Guide An in-depth exploration of the
    art of shell scripting, June 2006, http://tldp.org/LDP/abs/html/
 
4. Machtelt Garrels, Bash Guide for Beginners, 2006,
    http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html
��� ����   ������