ויקיספר
hewikibooks
https://he.wikibooks.org/wiki/%D7%A2%D7%9E%D7%95%D7%93_%D7%A8%D7%90%D7%A9%D7%99
MediaWiki 1.39.0-wmf.21
first-letter
מדיה
מיוחד
שיחה
משתמש
שיחת משתמש
ויקיספר
שיחת ויקיספר
קובץ
שיחת קובץ
מדיה ויקי
שיחת מדיה ויקי
תבנית
שיחת תבנית
עזרה
שיחת עזרה
קטגוריה
שיחת קטגוריה
שער
שיחת שער
מדף
שיחת מדף
TimedText
TimedText talk
יחידה
שיחת יחידה
גאדג'ט
שיחת גאדג'ט
הגדרת גאדג'ט
שיחת הגדרת גאדג'ט
מבוא לתכנות של קבוצת בטא/המדריך המהיר של עופר לעבודה בלינוקס
0
23471
167299
166405
2022-07-19T13:49:37Z
The duke
19
/* שתי הנקודות של המדריך המהיר ללינוקס */
wikitext
text/x-wiki
==שתי הנקודות של המדריך המהיר ללינוקס==
המדריך המהיר יכול לתת לכם שתי נקודות נסיון, אם תפתרו את שני האתגרים הבאים.
אם אתם לא יודעים איך לפתור אותם,
קראו את המדריך המהיר ללינוקס בהמשך הדף, ואת [https://web.archive.org/web/20211019215046/http://danzig.jct.ac.il/unix_class/hebcommands.html דף הפקודות הבסיסיות (המשומר) של אבירן עבאדי], ותדעו!
{{אתגר|'''בצעו את האתגר הבא (אתגר "פקודות בסיסיות") בטרמינל על מנת לקבל את נקודה מהמדריך המהיר ללינוקס:'''
# צרו תיקיה בשם penguinity בתוך תיקיית הבית שלכם.
# צרו בתוכה קובץ בשם "test_output".
# הכניסו לתוכו בשורת פקודה אחת את רשימת כל הקבצים והתיקיות (גם הנסתרים!) שיש לכם בתיקית הבית.
# שנו בעזרת עורך טקסט את הקובץ עם רשימת התיקיות ככה שהשם של התיקיה בקובץ Desktop יהפוך לBesktop.
# הראו את הקובץ לעופר, אם עשיתם כל מה שצריך, תקבלו נקודת נסיון בתחום הלינוקס!
}}
{{אתגר|'''בצעו את האתגר הבא (אתגר "הכרת המערכת") בטרמינל על מנת לקבל עוד נקודה של המדריך המהיר ללינוקס:'''
# צרו עותק של הקובץ test_output מהמשימה הראשונה, שייקרא test_output_bkp.txt
# הוסיפו לקובץ המקורי תיאור קצר של הפקודות touch, apt-get, vi וemacs מתוך המדריכים שיש בלינוקס.
# הוסיפו לקובץ את הכתובת של קובץ ההגדרות של gtk-2 (זאת ספריית תוכנה מאוד ידועה שמאפשרת להראות גרפיקה). הקובץ נמצא איפשהו בתוך תיקיית ההגדרות של לינוקס.
<!--
# הוסיפו לקובץ את הכתובת של קובץ ההגדרות של apache (אפאצ'י היא תוכנה מאוד ידועה שמאפשרת לכם להקים אתר אינטרנט על המחשב שלכם). הקובץ נקרא apache2.conf והוא נמצא איפשהו בתוך תיקיית ההגדרות של לינוקס, הורידו apache2 ליתר ביטחון (לעיתים הוא לא מותקן אוטומטית מראש).
!-->
# הוסיפו לקובץ תיאור קצר שאתם כתבתם של תפקיד תיקיית dev/.
# הגנו על הקובץ מפני האקרים: שנו את ההרשאת על הקובץ ככה שרק אתם והקבוצה שלכם תוכלו לקרוא אותו, ואף אחד לא יוכל לכתוב לתוכו (גם לא אתם!).
# הראו את הקובץ לעופר, אם עשיתם כל מה שצריך, תקבלו עוד נקודת נסיון בתחום הלינוקס!
}}
לא מבינים כלום?<br>
יופי. זה אומר שאתם צריכים לקרוא את המדריך המהיר ללינוקס שבהמשך הדף!<br>
כשתסיימו אותו תבינו.
{{מוסתר|חושבים שהמדריך נורא ארוך, ואין לכם כוח לקרוא אותו? רוצים פתרון-קסם?|ta2= right|2=
אין פתרון קסם. קראו את המדריך או שתלכו לשחק דוקים בבית.
}}
<br>
=המדריך המהיר של עופר לעבודה בלינוקס=
==בדיקת כשירות==
קראו את השורה הבאה
<syntaxhighlight lang = "Bash">
Ok anakhnu kshirim
</syntaxhighlight>
עכשיו הגידו בקול רם מה קראתם.<br>
אם אין לכם מושג מה להגיד, פיספסתם משהו. זה הזמן להיזכר שלמסך שלכם יש גם צד שמאל, לחזור אחורה ולעשות שוב את בדיקת הכשירות. לא להמשיך לקרוא. לעשות שוב. את בדיקת הכשירות. עד שאתם מצליחים. תודה.
אם אמרתם בקול רם, אז אתם צודקים, קדימה ללינוקס.
==הבסיס של הבסיס==
אז פתחתם טרמינל (כמו שכתוב ב[[מבוא לתכנות של קבוצת בטא#ללכת מכות עם פינגוינים - איך עובדים בלינוקס|בטא ספר]], אני לא מסביר את זה שוב). בואו נלמד מה קורה כאן.
קודם כל תעזבו את העכבר. אין עכבר, תשכחו ממנו. הוא גורם לכם להיות איטיים.
מה שאתם רואים על המסך נקרא prompt, והוא נראה ככה:
<syntaxhighlight lang = "Bash">
tux@betashekhi:~$
</syntaxhighlight>
זה אומר ש:
* קוראים לכם tux.
* אתם עובדים על המחשב betashekhi (מחשב אמיתי, חפשו אותו בכיתה)
* אתם נמצאים בתיקיית הבית שלכם. טילדה (~) זה הסימן המקובל ל"בית".
* אתם משתמש רגיל. אם הייתם רואים # במקום $, זה אומר שאתם מנהל המערכת, שיכול בשניה להרוס את המערכת.
עכשיו נראה הרבה פקודות, '''נסו כל אחת מהן! אל תשבו כמו בטטות ורק תקראו!''' זה בסדר, אתם לא יכולים להרוס את המערכת בלינוקס, רק מנהל המערכת (root) יכול להרוס.
<br>(וכמובן, מי שידלגו מעל השורות של הפקודות רק כי הן נמצאות בצד שמאל, יגיעו לסוף המדריך בלי ללמוד שום דבר, ויטענו שזה המדריך אשם. שיעור לחיים: מי שלומד לינוקס הרבה בסוף יהיה ממש טוב בלינוקס, מי שמאשים הרבה בסוף יהיה ממש טוב בלהאשים.)
אז קדימה. את כל הפקודות אתם צריכים לכתוב בטרמינל כדי לראות מה הן עושות, וכמובן ללחוץ enter בסוף הפקודה, כדי שהלינוקס ידע לבצע אותה.
==פקודות בסיסיות==
===pwd===
נגיד ששכחתם איפה אתם נמצאים.
הקלידו את הפקודה:
<syntaxhighlight lang = "Bash">
pwd
</syntaxhighlight>
ותראו איפה אתם נמצאים.
הפקודה היא קיצור לשם print working directory.
'''ניסיתם את הפקודה, נכון?'''
'''לא סתם ישבתם כמו בטטות והסתכלתם על מה שכתבתי כאן, נכון?'''
כי מי שמנסה יהיה בסוף נינג'ה. מי שבטטה יהיה בסוף פירה.
===ls===
אם אנחנו רוצים לראות איזה קבצים נמצאים בתיקיה שלנו, נקליד:
<syntaxhighlight lang = "Bash">
ls
</syntaxhighlight>
ונראה את רשימת הקבצים.
לידיעתכם: ls היא קיצור למילה list. (שימו לב: הפקודה היא ls ולא is. לינוקס לא אוהב פקודות שלא קיימות.)
חלק מהשמות כחולים, חלק לבנים, חלק ירוקים, ויש גם עוד צבעים. כחול זה תיקיה, לבן זה קובץ, ירוק זה קובץ תוכנה שאפשר להריץ. יש לכם רק כחולים? אז יש לכם רק תיקיות. רוצים לראות קבצים? תבקשו לראות גם קבצים נסתרים (בלינוקס אלו קבצים שהשם שלהם מתחיל בנקודה):
<syntaxhighlight lang = "Bash">
ls -a
</syntaxhighlight>
רוצים לראות קבצים שאפשר להריץ? יש בתיקיה <span dir="ltr">/bin</span>:
<syntaxhighlight lang = "Bash">
ls /bin
</syntaxhighlight>
כמו שאתם רואים, אפשר להסתכל בתיקיות אחרות בלי להיכנס אליהן.
===cd===
בשביל לטייל במערכת קבצים נשתמש בcd (קיצור לchange directory). לדוגמה, אם יש לנו בתיקיית הבית תיקיה בשם Desktop, נטייל אליה ככה:
<syntaxhighlight lang = "Bash">
cd Desktop
</syntaxhighlight>
כשכותבים ככה רק את השם של התיקיה, ולא את הכתובת המלאה שלה, קוראים לזה '''Relative path'''.
הכתובת המלאה של התיקיה הזאת (במחשב של Tux) היא <span dir="ltr">/home/tux/Desktop</span>, לכתובת מלאה קוראים '''Absolute path'''.
אם נרצה לחזור תיקיה אחת למעלה (בחזרה הביתה במקרה שלנו):
<syntaxhighlight lang = "Bash">
cd ..
</syntaxhighlight>
.. הוא הסימן המוסכם ל"תיקיה אחת למעלה". נקודה אחת היא הסימן המוסכם ל"התיקיה הנוכחית". כך שאם תכתבו:
<syntaxhighlight lang = "Bash">
cd .
</syntaxhighlight>
זה ישאיר אתכם בתיקיה הנוכחית. (זה שימושי, אבל לא במקרה הזה.)
ואם נרצה ללכת משם ישירות לתיקיה שבה נמצאות ההגדרות לרשת דינמית של המערכת (לא באמת מעניין מה זה אומר כרגע), אז נלך ל <span dir="ltr">/etc/dhcp</span>:
<syntaxhighlight lang = "Bash">
cd /etc/dhcp
</syntaxhighlight>
השתמשנו כאן בabsolute path.
אם נרצה ללכת לשורש של עץ מערכת הקבצים, שנקרא root directory, נכתוב:
<syntaxhighlight lang = "Bash">
cd /
</syntaxhighlight>
ואם נרצה לחזור הביתה:
<syntaxhighlight lang = "Bash">
cd ~
</syntaxhighlight>
אז אנחנו יודעים איך מטיילים, אבל לאן אפשר לטייל?
זה הזמן להכיר את מבנה מערכת הקבצים.
==מבנה מערכת הקבצים==
בלינוקס יש מערכת קבצים אחת. אין דיסק C, אין דיסק D, לא מעניין את לינוקס אם יש לך שני הארד-דיסקים או אם יש לך רק USB. הכל נכנס לתוך העץ של הקבצים.
העץ מתחיל במה שקוראים תיקיית הroot - השורש. ניכנס אליה:
<syntaxhighlight lang = "Bash">
cd /
</syntaxhighlight>
ונסתכל מה יש שם:
<syntaxhighlight lang = "Bash">
ls
</syntaxhighlight>
רוב התיקיות שאנחנו רואים שם נמצאות בכל לינוקס, וכולם מכירים אותן ויודעים מה יש בהן. אז גם אנחנו צריכים לדעת.
'''נא לקרוא את [https://he.wikipedia.org/wiki/%D7%AA%D7%A7%D7%9F_%D7%94%D7%99%D7%A8%D7%A8%D7%9B%D7%99%D7%AA_%D7%9E%D7%A2%D7%A8%D7%9B%D7%AA_%D7%94%D7%A7%D7%91%D7%A6%D7%99%D7%9D הערך על מערכת הקבצים בויקיפדיה].'''
<!--
{| class="wikitable"
|-
! שם תיקיה
! תפקיד
! המקור של השם
! הערות
|-
| <span dir="ltr">/bin</span>
| התיקיה של התוכנות. כל התוכנות של המערכת נמצאות כאן. חוץ מאלו שלא.
| Binary
|
|-
| <span dir="ltr">/boot</span>
| התיקיה של הדברים שהמחשב צריך כדי להעלות את מערכת ההפעלה. יש כאן את גרעין מערכת ההפעלה ואת הboot loader שמעלה אותה, שבמקרה שלנו נקרא GRUB.
|
| השם boot מגיע מהסיפור על הברון מינכהאוזן שנפל לבור ולא היה מי שיעזור לו לצאת, אז הוא תפס לעצמו במגפיים (boots) ומשך אותן החוצה מהבור, וככה יצא מהבור. גם מחשב כשמדליקים אותו "מוציא את עצמו" ממצב כבוי למצב פעיל בעזרת תהליך boot.
|-
| <span dir="ltr">/dev</span>
| התיקיה של המכשירים שמחוברים למחשב. אלו הדרייברים שמאפשרים לתקשר עם כל דבר שיש במחשב או מחובר אליו.
| Devices - "מכשירים"
|
|-
| <span dir="ltr">/etc</span>
| התיקיה של ההגדרות. כל ההגדרות של כל התוכנות ושל המערכת נמצאים כאן.
| etcetera. "וכו'" בלטינית.
|
|-
| <span dir="ltr">/home</span>
| התיקיה עם הבתים של כל המשתמשים.
|
|
|-
| <span dir="ltr">/initrd.img</span>
| זאת לא תיקיה, זה קישור. אם נריץ את הפקודה
<syntaxhighlight lang = "Bash">
ls -l /vmlinuz
</syntaxhighlight>
נראה שזה לינק לקובץ עם שם כמו <span dir="ltr">/boot/initrd.img-3.2.0-4-486</span>. זה אימג', גירסה מוקפאת של מערכת קבצים קטנטנה וראשונית שמעלים בשביל להעלות ממנה את המערכת המלאה.
|
|
|-
| <span dir="ltr">/lib</span>
| תיקיה של ספריות שמשמשות תוכנות שונות. עוזר מאוד למתכנתים.
| Libraries - "ספריות".
|
|-
| <span dir="ltr">/lost+found</span>
| התיקיה שאליה הולכים קבצים שאיבדו את הדרך כשכיבו את המחשב בצורה לא מסודרת.
|
| תמיד כבו את המחשב בצורה מסודרת! לא סתם ללחוץ על הכפתור!
|-
| <span dir="ltr">/media</span>
| התיקיה שבה מופיעות מדיות שאפשר לנתק, כמו צורבי דיסקים או דיסק-און-קי.
|
|
|-
| <span dir="ltr">/mnt</span>
| התיקיה שבה מופיעים כל אמצעי האחסון. את כל הדיסקים אפשר לראות כאן, ובעזרת התיקיה הזאת מחברים אותם למקומות שונים בעץ הקבצים, באמצעות הפקודה mount.
|
| היו המון ויכוחים כשנוצרה התיקיה <span dir="ltr">/media</span>, כי הרבה אנשים אמרו ש<span dir="ltr">/mnt</span> עושה כבר בדיוק אותו דבר.
|-
| <span dir="ltr">/opt</span>
| תיקיה לתוכנות שלא נכללות בהפצה הרגילה.
| Optional
| לא תמיד הסכימו שצריך את התיקיה הזאת, לכן יש כאלו שמשתמשים בה ויש כאלו שלא.
|-
| <span dir="ltr">/proc</span>
| תיקיה עם נתונים של כל התהליכים שרצים במחשב. אפשר לקרוא מכאן את פרטי הפרטים של מצב המערכת.
| Processes
| כמעט כל הקבצים כאן הם בגודל אפס. זה בגלל שהם קבצים מיוחדים.
|-
| <span dir="ltr">/root</span>
| תיקיית הבית של מנהל המערכת.
|
| הבית שלו נמצא כאן, כך שהוא יוכל להמשיך לעבוד גם אם התיקיה <span dir="ltr">/home</span> מתחרבשת.
|-
| <span dir="ltr">/run</span>
| תיקיה למידע זמני שנוצר בעיקר בתחילת עליית מערכת ההפעלה.
|
|
|-
| <span dir="ltr">/sbin</span>
| התיקיה של התוכנות שרק מנהל המערכת יכול להריץ. כאן נמצאים כלים שאיתם מצילים את המערכת במצבי חירום.
| System Binary
|
|-
| <span dir="ltr">/selinux</span>
| פסאודו-תיקיה לצרכי אבטחת מערכת. זה אומר שזה לא באמת תיקיה עם קבצים, זה רק נראה ככה. למעשה זה לוח בקרה לאבטחת המערכת.
| Security Enhanced Linux - "לינוקס עם אבטחה משופרת".
|
|-
| <span dir="ltr">/srv</span>
| תיקיה עם נתונים של שירותי מערכת. אין הסכמה על צורת השימוש בה, אז אין שם הרבה דברים שימושיים.
|
|
|-
| <span dir="ltr">/sys</span>
| התיקיה של
|
|
|-
| <span dir="ltr">/tmp</span>
| התיקיה של
|
|
|-
| <span dir="ltr">/usr</span>
| התיקיה של
|
|
|-
| <span dir="ltr">/var</span>
| התיקיה של
|
|
|-
| <span dir="ltr">/vmlinuz</span>
| זאת לא תיקיה, זה קישור. אם נריץ את הפקודה
<syntaxhighlight lang = "Bash">
ls -l /vmlinuz
</syntaxhighlight>
נראה שזה לינק לקובץ עם שם כמו <span dir="ltr">boot/vmlinuz-3.2.0-4-486</span>. זה גרעין מערבת ההפעלה. ואת תיקיית boot אנחנו כבר מכירים.
|
|
|}
מי שרוצה עוד מידע, אפשר לקרוא בעברית באנגלית בפרוייקט תיעוד הלינוקס ב[http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/index.html מדריך מערכת הקבצים] או ב[http://tldp.org/LDP/intro-linux/html/sect_03_01.html מדריך היכרות עם לינוקס].
!-->
==פקודות - המשך ==
===which===
אז איפה בעצם נמצאת הפקודה ls?
<syntaxhighlight lang = "Bash">
which ls
</syntaxhighlight>
אנחנו מכירים את התיקיה הזאת.
וזה עובד לכל פקודה עצמאית. cd למשל היא לא פקודה עצמאית, היא חלק מן הshell.
===whatis===
ואם אנחנו שוכחים מה פקודה עושה?
<syntaxhighlight lang = "Bash">
whatis ls
</syntaxhighlight>
ומקבלים תזכורת בשורה אחת.
וזה עובד לפקודות עצמאיות, לתיקיות ידועות, לנושאים כלליים ולהמון דברים אחרים שקשורים ללינוקס
===man===
ואם צריכים את המדריך המלא של הפקודה?
קודם כל הרבה פקודות יכולות לעזור בעצמן בעזרת הארגומנט <span dir="ltr">--help</span>:
<syntaxhighlight lang = "Bash">
ls --help
</syntaxhighlight>
אבל גם אם לא, תמיד יש את המדריך של הלינוקס! פעם זה היה ספר ענק, ואז הבינו שאפשר פשוט להכניס גם אותו למחשב, אז היום יש את הפקודה man:
<syntaxhighlight lang = "Bash">
man ls
</syntaxhighlight>
בשביל לצאת מזה אפשר ללחוץ q.
ואם רוצים לדעת יותר על איך להשתמש בman?
<syntaxhighlight lang = "Bash">
man man
</syntaxhighlight>
===info===
אם רוצים ישנו גם סוג משוכלל יותר של מדריך:
<syntaxhighlight lang = "Bash">
info ls
</syntaxhighlight>
גם ממנו אפשר לצאת בעזרת לחיצה על q.
===touch===
הפקודה touch משנה את התאריך שבו נגעו פעם אחרונה בקובץ. אם הקובץ לא קיים היא מייצרת אותו, שזה כבר מעניין.
אז נייצר קובץ בשם test file:
<syntaxhighlight lang = "Bash">
touch test_file
</syntaxhighlight>
אין רווח בתוך שמות של קבצים! זאת המצאה בעייתית של windows שלא קיימת במקומות אחרים!
לינוקס לא אמר לכם כלום? כנראה הוא הצליח ליצור את הקובץ.<br>
לינוקס ענה לכם את השורה הזאת?:
<syntaxhighlight lang = "text">
touch: cannot touch `test': Permission denied
</syntaxhighlight>
זה אומר שאסור לכם ליצור שם קובץ. לכו למקום שמותר לכם, נגיד בתיקיית הבית שלכם (רמז: השתמשו בפקודה cd).
שימו לב שבלינוקס לא צריך סיומת כמו .txt או .exe. אפשר לשים אותן אם ממש רוצים, ללינוקס זה לא משנה גם אם תשימו שלוש מאות נקודות בשם של הקובץ. אבל אם תשימו נקודה בתחילת שם הקובץ, זה יהיה קובץ נסתר.
הצלחתם ליצור קובץ? תבדקו עם הפקודה ls שהוא באמת נוצר.
===mkdir===
אפשר לייצר גם תיקיות, לדוגמה, נייצר תיקיה בשם new_library:
<syntaxhighlight lang = "Bash">
mkdir new_library
</syntaxhighlight>
===file===
אז מה אפשר לדעת על הקובץ החדש שיצרנו?
הפקודה file מזהה סוגי קבצים ומספרת לך מה היא גילתה:
<syntaxhighlight lang = "Bash">
file test_file
</syntaxhighlight>
===ls -l===
ואם רוצים לדעת נתונים כמו מי הבעלים של הקובץ, ומה הגודל שלו?
מסתבר שls יודעת לעשות את זה, אם אומרים לה להראות את זה:
<syntaxhighlight lang = "Bash">
ls -l test_file
</syntaxhighlight>
וזה מה שמקבלים כתשובה (לדוגמה):
<syntaxhighlight lang = "Bash">
-rw-r--r-- 1 tux penguins 0 Feb 15 06:23 test_file
</syntaxhighlight>
מה זה כל האותיות והמספרים והמקפים האלה? איך יודעים מזה מי הבעלים של הקובץ? התשובה ב[http://danzig.jct.ac.il/unix_class/unixCommands.html תקציר באנגלית] וב[http://danzig.jct.ac.il/unix_class/hebchmod.html הסבר על chmod של אבירן עבאדי] מהאתר של [http://danzig.jct.ac.il/ נחום דנציג]. בהסבר על הפקודה chmod תוכלו ללמוד גם איך להגן על הקובץ שלכם מהאקרים, ואיך לתת הרשאות קריאה או כתיבה.
===מחיקה, העתקה והעברה של קבצים, וכל הפקודות שצריך לדעת===
{{תיבה עם כותרת|
כותרת=מאיפה לומדים את זה?|
תוכן=מהאינטרנט. איזה מזל שמסבירים עליהן בעברית ב[http://danzig.jct.ac.il/unix_class/hebcommands.html דף הפקודות הבסיסיות בלינוקס של אבירן עבאדי].|
צבעכ=#F0F080|
צבער=#FFFFA0}}
==apt-get==
apt היא תוכנת ניהול החבילות של הפצת דביאן, ועם הכלי apt-get שכלול בה אפשר להשיג ולהתקין כל תוכנה שרוצים, וגם להשיג מידע על מה שכבר מותקן. אמנם בסביבה גרפית נשתמש הרבה פעמים בממשק synaptic, שהוא מאוד נוח. אבל לפעמים צריך גם לעשות התקנות דרך הטרמינל.
לדוגמה, על מנת להתקין את תוכנת הטרמינל konsole, נכתוב:
<syntaxhighlight lang = "Bash">
apt-get install konsole
</syntaxhighlight>
וapt כבר תבדוק לבד איזה חבילות נדרשות להתקנה (נגיד, המון חבילות של שולחן העבודה KDE), ותשאל אם אנחנו רוצים להתקין את כל זה. כמובן שכן, יש לנו דיסק גדול.
==עורכי טקסט==
===pico===
pico בכלל נוצר בתור תוכנה לכתיבת מיילים בשביל תוכנת הדואר pine, אבל כל כך קל להשתמש בה, שהיא נשארה כוכבת בפני עצמה:
<syntaxhighlight lang = "Bash">
pico test_file
</syntaxhighlight>
נכתוב בקובץ שלנו את המילים hello world.
ונשמור.
איך שומרים שם? CTRL-O<br> (הוא ישאל האם הוא הבין נכון את שם הקובץ. לחצו enter אם זה אכן שם הקובץ).
איך יוצאים? CTRL-X<br>
הכל כתוב במסך בשורה התחתונה. קל, קל, קל.
אבל pico נועדה לכתיבת מיילים. מתכנתים היו צריכים משהו יותר רציני.
===vi===
vi הוא עורך מינימליסטי אבל חזק להפליא. הוא יודע לצבוע טקסט, לעשות עריכות אוטומטיות ועוד המון דברים. יש אנשים שמוכנים להישבע שזה העורך הכי טוב בעולם.
יש איתו רק בעיה אחת, הוא קצת מוזר:
<syntaxhighlight lang = "Bash">
vi test_file
</syntaxhighlight>
למשל, נסו לכתוב משהו. מבינים את הבעיה?
צריך ללחוץ i כדי שיהיה אפשר להכניס טקסט (insert).
עכשיו נסו למחוק אות. הופ, בלגאן. צריך ללחוץ Esc כדי שהוא יתן לנו לזוז.
למעשה צריך ללחוץ על Esc בכל פעם שהוא קצת משתגע ולא עושה מה שאנחנו רוצים. זה מאפס אותו קצת.
עכשיו נסו לצאת ממנו. זה בכלל משעשע. אם תכתבו <span dir="ltr">:q</span> (עם הנקודותיים!) הוא עקרונית היה נותן לכם לצאת, אבל כתבתם דברים ולא שמרתם. אז לא תצאו.
אלא אם אתם ממש רוצים, ואז תכתבו <span dir="ltr">:q!</span> ואז סוף סוף תצליחו להשתחרר.
הוא לא באמת מוזר, יש היגיון מאחורי כל הקיצורים והדברים שצריך ללחוץ, אבל צריך הרבה סבלנות כדי להתרגל אליו. מומלץ לדעת לפחות איך לעבוד איתו בצורה בסיסית, כי הוא מגיע כיום עם הרבה הפצות לינוקס.
===emacs===
emacs הוא עורך טקסט נוסף שידוע כחזק מאוד. למעשה הוא כל כך חזק שאפילו הצליחו לכתוב משחקים שרצים בתוכו.
בשביל לערוך איתו מריצים:
<syntaxhighlight lang = "Bash">
emacs test_file
</syntaxhighlight>
קיבלתם הודעת שגיאה?<br>
זה בגלל שבדביאן צריך להוריד אותו בנפרד.
{{מוסתר|הוראות להתקנת emacs בדביאן|ta2= right|2=
רק מנהל המערכת יכול להתקין דברים, אז נשתמש בפקודה שגורמת לנו להפוך למנהל:
<syntaxhighlight lang = "Bash">
su
</syntaxhighlight>
ונכניס לה סיסמת מנהל.
ועכשיו נתקין:
<syntaxhighlight lang = "Bash">
apt-get install emacs
</syntaxhighlight>
בנוסף כדאי להתקין גם תוספות שלו, שיכולות לעזור לשנות לו צבעים, למשל:
<syntaxhighlight lang = "Bash">
apt-get install emacs-goodies-el
</syntaxhighlight>
ומיד כשסיימנו להתקין יוצאים ממצב מנהל מערכת, כי אנחנו עלולים להרוס את המערכת:
<syntaxhighlight lang = "Bash">
exit
</syntaxhighlight>
עכשיו ננסה שוב להריץ אתemacs ולפתוח איתו את הקובץ שלנו, והפעם זה אמור לעבוד:
<syntaxhighlight lang = "Bash">
emacs test_file
</syntaxhighlight>
}}
הרצתם emacs ולא קיבלתם הודעת שגיאה? זה סימן שהוא כבר מותקן, ושנפתח לכם חלון emacs ואפשר להתחיל לעבוד!
כיום emacs מכיר את המקשים שמשמשים ברוב עורכי הטקסט, אז אפשר להשתמש בהם. אבל בכל מה שנוגע לשימוש במקשי CTRL וALT, יש לו פקודות משלו שנוצרו לפני שהמציאו את הצירופים שמקובלים כיום.
לדוגמה:<br>
CTRL-X 1 סוגר את כל התת-מסכים מלבד זה שנמצאים בו. תנסו, זה יסגור את חלון העזרה הקטן שemacs אוהב להראות.<br>
{{מוסתר|איך משתמשים בCTRL הזה?|ta2= right|2=
מחזיקים את מקש Ctrl לחוץ, ואז לוחצים לחיצה קצרה על המקש הנוסף.
המקשים Ctrl, Alt וShift הם מקשים שאפשר להחזיק אותם לחוצים ולא יקרה כלום. כל מה שהם עושים זה לגרום לכפתורים אחרים לעשות דברים שונים מבדרך כלל. לדוגמה: בemacs הכפתור s בדרך כלל כותב את האות s, אבל אם Ctrl משפיע עליו, אז הוא יפעיל את כלי החיפוש.
איך עושים Ctrl-x 1?
מחזיקים את Ctrl, לוחצים לחיצה קצרה על x, ואז עוזבים גם את Ctrl. אחר כך לוחצים 1.
}}
עוד צירופים מעניינים:
CTRL-s משמש לחפש בקובץ<br>
ALT-w עושה copy<br>
CTRL-w עושה cut<br>
CTRL-Y עושה paste<br>
והכי חשוב:<br>
CTRL-x CTRL-s שומר את המסמך<br>
CTRL-x CTRL-c סוגר את emacs<br>
אפשר למצוא [http://www.jesshamrick.com/2012/09/10/absolute-beginners-guide-to-emacs/ מדריך מתומצת וטוב למתחילים בemacs אצל ג'סיקה האמריק], ויש אפילו [http://i2.wp.com/sachachua.com/blog/wp-content/uploads/2013/05/How-to-Learn-Emacs-v2-Large.png מדריך מצוייר של סשה צ'ווה]. והכי טוב, יש tutorial בתוך emacs עצמו שמלמד אותך עם דוגמאות.
===emacs נגד vi===
כן, אנשים של קוד פתוח מתים על המלחמות האלו.
חובבי emacs אומרים שvi הוא מוזר ופרמיטיבי (שמתם לב שאני חובב emacs?)<br>
חובבי vi אומרים שemacs הוא מערכת הפעלה שלמה שכל מה שחסר בה זה עורך טקסט טוב.
הכי טוב להכיר את שניהם אם כי בבטא emacs הוא העורך העיקרי שעובדים איתו.
===ed===
אד הוא עורך הטקסט העתיק ביותר. כל כך עתיק שבלינוקסים חדשים הוא כבר לא נמצא וצריך להתקין אותו.
<syntaxhighlight lang = "Bash">
apt-get install ed
</syntaxhighlight>
יש משהו שצריך להבין לגבי אד - הוא הומצא לפני שהמציאו את המסך. כן, בתקופה שדינוזאורים ראו מה יוצא מהמחשב בעזרת מדפסת בלבד. לכן אד שונה מכל עורך טקסט שאתם מכירים. הוא כמו הקוף שממנו התפתח vi. אבל הוא מגניב אש לנינג'ות, בין השאר בגלל שהתאום שלו, sed עובד בדיוק עם אותן פקודות, אבל בצורה אוטומטית. וגם בשביל להגיד לאנשי לינוקס ותיקים "כן, אני עובד עם אד" ולראות איך הצעירים יותר מגלים שיש להם חור בהשכלה, והזקנים יותר אומרים "וואו".
אז בואו נעשה סיור קטן אצל אד, ונזכור שכמו כל תוכנת יוניקס ותיקה, אם הפקודה הצליחה, אד לא יגיד לך כלום:
<syntaxhighlight lang = "Bash">
ed test_file
</syntaxhighlight>
חוץ מלהגיד לך כמה שורות יש בקובץ, אד לא הולך להגיד לך כלום.
את שאר טכניקת העבודה ניתן ללמוד [http://blog.sanctum.geek.nz/actually-using-ed/ בבלוג של טום ריידר], או ישירות מ[http://www.gnu.org/software/ed/manual/ed_manual.html המדריך הרשמי לed].
אם רוצים לצאת, כותבים q.
אם שיניתם את הקובץ, בדיוק כמו vi הוא יסרב לצאת (אבל בניגוד לvi הוא ינפנף לך בסימן שאלה שלו).
אז כותבים Q, והוא יוצא בלי להתווכח.
כי [http://www.gnu.org/fun/jokes/ed-msg.html אד הוא עורך הטקסט הסטנדרטי].
==עבודה במקביל ושליטה בתהליכים==
===CTRL-C===
נניח שתוכנה כלשהי עובדת בטרמינל וצריך לעצור אותה כי היא רצה כבר יותר מדי זמן. בשביל זה לוחצים CTRL-C. זה הורג את התוכנה שכרגע פועלת.
===CTRL-Z, bg===
נניח שפתחנו emacs ועכשיו אנחנו רוצים להשתמש בטרמינל מבלי לסגור את emacs. בעיה, הטרמינל מחכה שemacs יסיים.
במקרה כזה לוחצים CTRL-Z בטרמינל, והתוכנה שרצה "נרדמת", ומאפשרת לנו להשתמש בטרמינל.
אם נריץ את הפקודה
<syntaxhighlight lang = "Bash">
fg
</syntaxhighlight>
התוכנה שנרדמה תתעורר (תעבור לforeground) ותחזור לפעולה. ותחסום שוב את הטרמינל.
אבל אם במקום זה נריץ את הפקודה:
<syntaxhighlight lang = "Bash">
bg
</syntaxhighlight>
התוכנה שנרדמה תחזור לפעול ברקע (background). אז יהיה אפשר לעבוד איתה ועם הטרמינל במקביל.
===&===
ואת כל זה היה אפשר למנוע אם מראש היינו מריצים את emacs ברקע, ככה:
<syntaxhighlight lang = "Bash">
emacs &
</syntaxhighlight>
==shell scripting==
shell script זה סוג של תוכנה שכתובה בשפה מיוחדת ובנויה כמו לגו - זה למעשה תסריט שאומר להרבה תוכנות אחרות מה לעשות בצורה אוטומטית.
הshell הרבה יותר חזקה ממה שאתם חושבים. אפשר ממש לבנות שם תוכנות שמדביקות המון כלים ועושות דברים כמו עריכה אוטומטית של טקסט, עריכת וידאו, הורדה אוטומטית של דברים מהאינטרנט, וכל דבר שבא לכם. קוראים לזה scripting, כתיבת "תסריטים". אמנם יש כיום שפות סקריפט טובות יותר, כמו python או PHP, אבל עדיין כדאי לדעת את הבסיס של bash scripting, כי זה יאפשר לכם לעשות דברים מאוד במהירות וביעילות, ולהכיר כלים מאוד מועילים.
יש [http://penguin.org.il/%D7%9E%D7%93%D7%A8%D7%99%D7%9B%D7%99%D7%9D/%D7%AA%D7%9B%D7%A0%D7%95%D7%AA_%D7%A2%D7%9D_bash מדריך טוב בעברית על bash scripting באתר הפינגוין].
===דוגמה לסקריפט: איך זורקים את רשימת כל הקבצים שבתיקיית הבית אל תוך קובץ===
נגיד, לדוגמה, שאנחנו רוצים לשמור את רשימת כל הקבצים שיש לנו בתיקיית הבית, כדי שאם יימחק לנו קובץ בטעות, נדע שהוא פעם היה שם.
אז נכתוב סקריפט של שורה אחת, שמייצר את רשימת כל הקבצים בתיקיית הבית שלנו, וכותב אותה לתוך קובץ.
אנחנו כבר יודעים לראות את כל הקבצים בתיקיית הבית:
<syntaxhighlight lang = "Bash">
ls ~
</syntaxhighlight>
אבל איך מכניסים את זה לתוך קובץ, נגיד הקובץ foo.txt?<br>
התשובה היא חץ:
<syntaxhighlight lang = "Bash">
ls ~ > foo.txt
</syntaxhighlight>
החץ המשולש לוקח את מה שיצא מהפקודה (ls במקרה שלנו) ושופך את זה ישר לתוך קובץ (שבמקרה שלנו קראנו לו foo.txt). הוא אפילו מייצר את הקובץ אם הוא לא קיים.<br>
אם נסתכל עכשיו בקובץ foo.txt:
<syntaxhighlight lang = "Bash">
cat foo.txt
</syntaxhighlight>
נראה שם את כל מה שיש בתוך הקובץ!
ואם כבר היה בקובץ משהו, ואנחנו רוצים רק להוסיף לו שורות בלי שיימחק לנו כל מה שהיה בו?<br>
בשביל זה יש שני חצים:
<syntaxhighlight lang = "Bash">
ls ~ >> foo.txt
</syntaxhighlight>
ואת כל זה עשינו בשורת פקודה אחת. קלי קלות.
==וזהו==
קראתם את כל המדריכים שהוזכרו כאן? אתם נינג'ות לינוקס.<br>
קפצתם על כל המדריכים שהוזכרו ועברתם רק על המדריך המהיר ועל המדריך של נחום דנציג? זה יספיק כדי להתחיל לעבוד.
'''זה הזמן לבצע את [[מבוא לתכנות של קבוצת בטא/המדריך המהיר של עופר לעבודה בלינוקס#שתי הנקודות של המדריך המהיר ללינוקס|שתי המשימות שבתחילת המדריך המהיר]], ולקבל את שתי נקודות הנסיון שהוא יכול לתת!'''
ואחרי שקיבלתם את שתי הנקודות, אפשר להמשיך עם [[מבוא לתכנות של קבוצת בטא#לתת פקודות לפינגוינים - איך עובדים בלינוקס|הבטא-ספר]].
[[קטגוריה:מבוא לתכנות של קבוצת בטא]]
[[קטגוריה:לינוקס]]
15infpn9vvy1iza851u8fpkgd512qwx
167300
167299
2022-07-19T13:53:59Z
The duke
19
/* ls -l */
wikitext
text/x-wiki
==שתי הנקודות של המדריך המהיר ללינוקס==
המדריך המהיר יכול לתת לכם שתי נקודות נסיון, אם תפתרו את שני האתגרים הבאים.
אם אתם לא יודעים איך לפתור אותם,
קראו את המדריך המהיר ללינוקס בהמשך הדף, ואת [https://web.archive.org/web/20211019215046/http://danzig.jct.ac.il/unix_class/hebcommands.html דף הפקודות הבסיסיות (המשומר) של אבירן עבאדי], ותדעו!
{{אתגר|'''בצעו את האתגר הבא (אתגר "פקודות בסיסיות") בטרמינל על מנת לקבל את נקודה מהמדריך המהיר ללינוקס:'''
# צרו תיקיה בשם penguinity בתוך תיקיית הבית שלכם.
# צרו בתוכה קובץ בשם "test_output".
# הכניסו לתוכו בשורת פקודה אחת את רשימת כל הקבצים והתיקיות (גם הנסתרים!) שיש לכם בתיקית הבית.
# שנו בעזרת עורך טקסט את הקובץ עם רשימת התיקיות ככה שהשם של התיקיה בקובץ Desktop יהפוך לBesktop.
# הראו את הקובץ לעופר, אם עשיתם כל מה שצריך, תקבלו נקודת נסיון בתחום הלינוקס!
}}
{{אתגר|'''בצעו את האתגר הבא (אתגר "הכרת המערכת") בטרמינל על מנת לקבל עוד נקודה של המדריך המהיר ללינוקס:'''
# צרו עותק של הקובץ test_output מהמשימה הראשונה, שייקרא test_output_bkp.txt
# הוסיפו לקובץ המקורי תיאור קצר של הפקודות touch, apt-get, vi וemacs מתוך המדריכים שיש בלינוקס.
# הוסיפו לקובץ את הכתובת של קובץ ההגדרות של gtk-2 (זאת ספריית תוכנה מאוד ידועה שמאפשרת להראות גרפיקה). הקובץ נמצא איפשהו בתוך תיקיית ההגדרות של לינוקס.
<!--
# הוסיפו לקובץ את הכתובת של קובץ ההגדרות של apache (אפאצ'י היא תוכנה מאוד ידועה שמאפשרת לכם להקים אתר אינטרנט על המחשב שלכם). הקובץ נקרא apache2.conf והוא נמצא איפשהו בתוך תיקיית ההגדרות של לינוקס, הורידו apache2 ליתר ביטחון (לעיתים הוא לא מותקן אוטומטית מראש).
!-->
# הוסיפו לקובץ תיאור קצר שאתם כתבתם של תפקיד תיקיית dev/.
# הגנו על הקובץ מפני האקרים: שנו את ההרשאת על הקובץ ככה שרק אתם והקבוצה שלכם תוכלו לקרוא אותו, ואף אחד לא יוכל לכתוב לתוכו (גם לא אתם!).
# הראו את הקובץ לעופר, אם עשיתם כל מה שצריך, תקבלו עוד נקודת נסיון בתחום הלינוקס!
}}
לא מבינים כלום?<br>
יופי. זה אומר שאתם צריכים לקרוא את המדריך המהיר ללינוקס שבהמשך הדף!<br>
כשתסיימו אותו תבינו.
{{מוסתר|חושבים שהמדריך נורא ארוך, ואין לכם כוח לקרוא אותו? רוצים פתרון-קסם?|ta2= right|2=
אין פתרון קסם. קראו את המדריך או שתלכו לשחק דוקים בבית.
}}
<br>
=המדריך המהיר של עופר לעבודה בלינוקס=
==בדיקת כשירות==
קראו את השורה הבאה
<syntaxhighlight lang = "Bash">
Ok anakhnu kshirim
</syntaxhighlight>
עכשיו הגידו בקול רם מה קראתם.<br>
אם אין לכם מושג מה להגיד, פיספסתם משהו. זה הזמן להיזכר שלמסך שלכם יש גם צד שמאל, לחזור אחורה ולעשות שוב את בדיקת הכשירות. לא להמשיך לקרוא. לעשות שוב. את בדיקת הכשירות. עד שאתם מצליחים. תודה.
אם אמרתם בקול רם, אז אתם צודקים, קדימה ללינוקס.
==הבסיס של הבסיס==
אז פתחתם טרמינל (כמו שכתוב ב[[מבוא לתכנות של קבוצת בטא#ללכת מכות עם פינגוינים - איך עובדים בלינוקס|בטא ספר]], אני לא מסביר את זה שוב). בואו נלמד מה קורה כאן.
קודם כל תעזבו את העכבר. אין עכבר, תשכחו ממנו. הוא גורם לכם להיות איטיים.
מה שאתם רואים על המסך נקרא prompt, והוא נראה ככה:
<syntaxhighlight lang = "Bash">
tux@betashekhi:~$
</syntaxhighlight>
זה אומר ש:
* קוראים לכם tux.
* אתם עובדים על המחשב betashekhi (מחשב אמיתי, חפשו אותו בכיתה)
* אתם נמצאים בתיקיית הבית שלכם. טילדה (~) זה הסימן המקובל ל"בית".
* אתם משתמש רגיל. אם הייתם רואים # במקום $, זה אומר שאתם מנהל המערכת, שיכול בשניה להרוס את המערכת.
עכשיו נראה הרבה פקודות, '''נסו כל אחת מהן! אל תשבו כמו בטטות ורק תקראו!''' זה בסדר, אתם לא יכולים להרוס את המערכת בלינוקס, רק מנהל המערכת (root) יכול להרוס.
<br>(וכמובן, מי שידלגו מעל השורות של הפקודות רק כי הן נמצאות בצד שמאל, יגיעו לסוף המדריך בלי ללמוד שום דבר, ויטענו שזה המדריך אשם. שיעור לחיים: מי שלומד לינוקס הרבה בסוף יהיה ממש טוב בלינוקס, מי שמאשים הרבה בסוף יהיה ממש טוב בלהאשים.)
אז קדימה. את כל הפקודות אתם צריכים לכתוב בטרמינל כדי לראות מה הן עושות, וכמובן ללחוץ enter בסוף הפקודה, כדי שהלינוקס ידע לבצע אותה.
==פקודות בסיסיות==
===pwd===
נגיד ששכחתם איפה אתם נמצאים.
הקלידו את הפקודה:
<syntaxhighlight lang = "Bash">
pwd
</syntaxhighlight>
ותראו איפה אתם נמצאים.
הפקודה היא קיצור לשם print working directory.
'''ניסיתם את הפקודה, נכון?'''
'''לא סתם ישבתם כמו בטטות והסתכלתם על מה שכתבתי כאן, נכון?'''
כי מי שמנסה יהיה בסוף נינג'ה. מי שבטטה יהיה בסוף פירה.
===ls===
אם אנחנו רוצים לראות איזה קבצים נמצאים בתיקיה שלנו, נקליד:
<syntaxhighlight lang = "Bash">
ls
</syntaxhighlight>
ונראה את רשימת הקבצים.
לידיעתכם: ls היא קיצור למילה list. (שימו לב: הפקודה היא ls ולא is. לינוקס לא אוהב פקודות שלא קיימות.)
חלק מהשמות כחולים, חלק לבנים, חלק ירוקים, ויש גם עוד צבעים. כחול זה תיקיה, לבן זה קובץ, ירוק זה קובץ תוכנה שאפשר להריץ. יש לכם רק כחולים? אז יש לכם רק תיקיות. רוצים לראות קבצים? תבקשו לראות גם קבצים נסתרים (בלינוקס אלו קבצים שהשם שלהם מתחיל בנקודה):
<syntaxhighlight lang = "Bash">
ls -a
</syntaxhighlight>
רוצים לראות קבצים שאפשר להריץ? יש בתיקיה <span dir="ltr">/bin</span>:
<syntaxhighlight lang = "Bash">
ls /bin
</syntaxhighlight>
כמו שאתם רואים, אפשר להסתכל בתיקיות אחרות בלי להיכנס אליהן.
===cd===
בשביל לטייל במערכת קבצים נשתמש בcd (קיצור לchange directory). לדוגמה, אם יש לנו בתיקיית הבית תיקיה בשם Desktop, נטייל אליה ככה:
<syntaxhighlight lang = "Bash">
cd Desktop
</syntaxhighlight>
כשכותבים ככה רק את השם של התיקיה, ולא את הכתובת המלאה שלה, קוראים לזה '''Relative path'''.
הכתובת המלאה של התיקיה הזאת (במחשב של Tux) היא <span dir="ltr">/home/tux/Desktop</span>, לכתובת מלאה קוראים '''Absolute path'''.
אם נרצה לחזור תיקיה אחת למעלה (בחזרה הביתה במקרה שלנו):
<syntaxhighlight lang = "Bash">
cd ..
</syntaxhighlight>
.. הוא הסימן המוסכם ל"תיקיה אחת למעלה". נקודה אחת היא הסימן המוסכם ל"התיקיה הנוכחית". כך שאם תכתבו:
<syntaxhighlight lang = "Bash">
cd .
</syntaxhighlight>
זה ישאיר אתכם בתיקיה הנוכחית. (זה שימושי, אבל לא במקרה הזה.)
ואם נרצה ללכת משם ישירות לתיקיה שבה נמצאות ההגדרות לרשת דינמית של המערכת (לא באמת מעניין מה זה אומר כרגע), אז נלך ל <span dir="ltr">/etc/dhcp</span>:
<syntaxhighlight lang = "Bash">
cd /etc/dhcp
</syntaxhighlight>
השתמשנו כאן בabsolute path.
אם נרצה ללכת לשורש של עץ מערכת הקבצים, שנקרא root directory, נכתוב:
<syntaxhighlight lang = "Bash">
cd /
</syntaxhighlight>
ואם נרצה לחזור הביתה:
<syntaxhighlight lang = "Bash">
cd ~
</syntaxhighlight>
אז אנחנו יודעים איך מטיילים, אבל לאן אפשר לטייל?
זה הזמן להכיר את מבנה מערכת הקבצים.
==מבנה מערכת הקבצים==
בלינוקס יש מערכת קבצים אחת. אין דיסק C, אין דיסק D, לא מעניין את לינוקס אם יש לך שני הארד-דיסקים או אם יש לך רק USB. הכל נכנס לתוך העץ של הקבצים.
העץ מתחיל במה שקוראים תיקיית הroot - השורש. ניכנס אליה:
<syntaxhighlight lang = "Bash">
cd /
</syntaxhighlight>
ונסתכל מה יש שם:
<syntaxhighlight lang = "Bash">
ls
</syntaxhighlight>
רוב התיקיות שאנחנו רואים שם נמצאות בכל לינוקס, וכולם מכירים אותן ויודעים מה יש בהן. אז גם אנחנו צריכים לדעת.
'''נא לקרוא את [https://he.wikipedia.org/wiki/%D7%AA%D7%A7%D7%9F_%D7%94%D7%99%D7%A8%D7%A8%D7%9B%D7%99%D7%AA_%D7%9E%D7%A2%D7%A8%D7%9B%D7%AA_%D7%94%D7%A7%D7%91%D7%A6%D7%99%D7%9D הערך על מערכת הקבצים בויקיפדיה].'''
<!--
{| class="wikitable"
|-
! שם תיקיה
! תפקיד
! המקור של השם
! הערות
|-
| <span dir="ltr">/bin</span>
| התיקיה של התוכנות. כל התוכנות של המערכת נמצאות כאן. חוץ מאלו שלא.
| Binary
|
|-
| <span dir="ltr">/boot</span>
| התיקיה של הדברים שהמחשב צריך כדי להעלות את מערכת ההפעלה. יש כאן את גרעין מערכת ההפעלה ואת הboot loader שמעלה אותה, שבמקרה שלנו נקרא GRUB.
|
| השם boot מגיע מהסיפור על הברון מינכהאוזן שנפל לבור ולא היה מי שיעזור לו לצאת, אז הוא תפס לעצמו במגפיים (boots) ומשך אותן החוצה מהבור, וככה יצא מהבור. גם מחשב כשמדליקים אותו "מוציא את עצמו" ממצב כבוי למצב פעיל בעזרת תהליך boot.
|-
| <span dir="ltr">/dev</span>
| התיקיה של המכשירים שמחוברים למחשב. אלו הדרייברים שמאפשרים לתקשר עם כל דבר שיש במחשב או מחובר אליו.
| Devices - "מכשירים"
|
|-
| <span dir="ltr">/etc</span>
| התיקיה של ההגדרות. כל ההגדרות של כל התוכנות ושל המערכת נמצאים כאן.
| etcetera. "וכו'" בלטינית.
|
|-
| <span dir="ltr">/home</span>
| התיקיה עם הבתים של כל המשתמשים.
|
|
|-
| <span dir="ltr">/initrd.img</span>
| זאת לא תיקיה, זה קישור. אם נריץ את הפקודה
<syntaxhighlight lang = "Bash">
ls -l /vmlinuz
</syntaxhighlight>
נראה שזה לינק לקובץ עם שם כמו <span dir="ltr">/boot/initrd.img-3.2.0-4-486</span>. זה אימג', גירסה מוקפאת של מערכת קבצים קטנטנה וראשונית שמעלים בשביל להעלות ממנה את המערכת המלאה.
|
|
|-
| <span dir="ltr">/lib</span>
| תיקיה של ספריות שמשמשות תוכנות שונות. עוזר מאוד למתכנתים.
| Libraries - "ספריות".
|
|-
| <span dir="ltr">/lost+found</span>
| התיקיה שאליה הולכים קבצים שאיבדו את הדרך כשכיבו את המחשב בצורה לא מסודרת.
|
| תמיד כבו את המחשב בצורה מסודרת! לא סתם ללחוץ על הכפתור!
|-
| <span dir="ltr">/media</span>
| התיקיה שבה מופיעות מדיות שאפשר לנתק, כמו צורבי דיסקים או דיסק-און-קי.
|
|
|-
| <span dir="ltr">/mnt</span>
| התיקיה שבה מופיעים כל אמצעי האחסון. את כל הדיסקים אפשר לראות כאן, ובעזרת התיקיה הזאת מחברים אותם למקומות שונים בעץ הקבצים, באמצעות הפקודה mount.
|
| היו המון ויכוחים כשנוצרה התיקיה <span dir="ltr">/media</span>, כי הרבה אנשים אמרו ש<span dir="ltr">/mnt</span> עושה כבר בדיוק אותו דבר.
|-
| <span dir="ltr">/opt</span>
| תיקיה לתוכנות שלא נכללות בהפצה הרגילה.
| Optional
| לא תמיד הסכימו שצריך את התיקיה הזאת, לכן יש כאלו שמשתמשים בה ויש כאלו שלא.
|-
| <span dir="ltr">/proc</span>
| תיקיה עם נתונים של כל התהליכים שרצים במחשב. אפשר לקרוא מכאן את פרטי הפרטים של מצב המערכת.
| Processes
| כמעט כל הקבצים כאן הם בגודל אפס. זה בגלל שהם קבצים מיוחדים.
|-
| <span dir="ltr">/root</span>
| תיקיית הבית של מנהל המערכת.
|
| הבית שלו נמצא כאן, כך שהוא יוכל להמשיך לעבוד גם אם התיקיה <span dir="ltr">/home</span> מתחרבשת.
|-
| <span dir="ltr">/run</span>
| תיקיה למידע זמני שנוצר בעיקר בתחילת עליית מערכת ההפעלה.
|
|
|-
| <span dir="ltr">/sbin</span>
| התיקיה של התוכנות שרק מנהל המערכת יכול להריץ. כאן נמצאים כלים שאיתם מצילים את המערכת במצבי חירום.
| System Binary
|
|-
| <span dir="ltr">/selinux</span>
| פסאודו-תיקיה לצרכי אבטחת מערכת. זה אומר שזה לא באמת תיקיה עם קבצים, זה רק נראה ככה. למעשה זה לוח בקרה לאבטחת המערכת.
| Security Enhanced Linux - "לינוקס עם אבטחה משופרת".
|
|-
| <span dir="ltr">/srv</span>
| תיקיה עם נתונים של שירותי מערכת. אין הסכמה על צורת השימוש בה, אז אין שם הרבה דברים שימושיים.
|
|
|-
| <span dir="ltr">/sys</span>
| התיקיה של
|
|
|-
| <span dir="ltr">/tmp</span>
| התיקיה של
|
|
|-
| <span dir="ltr">/usr</span>
| התיקיה של
|
|
|-
| <span dir="ltr">/var</span>
| התיקיה של
|
|
|-
| <span dir="ltr">/vmlinuz</span>
| זאת לא תיקיה, זה קישור. אם נריץ את הפקודה
<syntaxhighlight lang = "Bash">
ls -l /vmlinuz
</syntaxhighlight>
נראה שזה לינק לקובץ עם שם כמו <span dir="ltr">boot/vmlinuz-3.2.0-4-486</span>. זה גרעין מערבת ההפעלה. ואת תיקיית boot אנחנו כבר מכירים.
|
|
|}
מי שרוצה עוד מידע, אפשר לקרוא בעברית באנגלית בפרוייקט תיעוד הלינוקס ב[http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/index.html מדריך מערכת הקבצים] או ב[http://tldp.org/LDP/intro-linux/html/sect_03_01.html מדריך היכרות עם לינוקס].
!-->
==פקודות - המשך ==
===which===
אז איפה בעצם נמצאת הפקודה ls?
<syntaxhighlight lang = "Bash">
which ls
</syntaxhighlight>
אנחנו מכירים את התיקיה הזאת.
וזה עובד לכל פקודה עצמאית. cd למשל היא לא פקודה עצמאית, היא חלק מן הshell.
===whatis===
ואם אנחנו שוכחים מה פקודה עושה?
<syntaxhighlight lang = "Bash">
whatis ls
</syntaxhighlight>
ומקבלים תזכורת בשורה אחת.
וזה עובד לפקודות עצמאיות, לתיקיות ידועות, לנושאים כלליים ולהמון דברים אחרים שקשורים ללינוקס
===man===
ואם צריכים את המדריך המלא של הפקודה?
קודם כל הרבה פקודות יכולות לעזור בעצמן בעזרת הארגומנט <span dir="ltr">--help</span>:
<syntaxhighlight lang = "Bash">
ls --help
</syntaxhighlight>
אבל גם אם לא, תמיד יש את המדריך של הלינוקס! פעם זה היה ספר ענק, ואז הבינו שאפשר פשוט להכניס גם אותו למחשב, אז היום יש את הפקודה man:
<syntaxhighlight lang = "Bash">
man ls
</syntaxhighlight>
בשביל לצאת מזה אפשר ללחוץ q.
ואם רוצים לדעת יותר על איך להשתמש בman?
<syntaxhighlight lang = "Bash">
man man
</syntaxhighlight>
===info===
אם רוצים ישנו גם סוג משוכלל יותר של מדריך:
<syntaxhighlight lang = "Bash">
info ls
</syntaxhighlight>
גם ממנו אפשר לצאת בעזרת לחיצה על q.
===touch===
הפקודה touch משנה את התאריך שבו נגעו פעם אחרונה בקובץ. אם הקובץ לא קיים היא מייצרת אותו, שזה כבר מעניין.
אז נייצר קובץ בשם test file:
<syntaxhighlight lang = "Bash">
touch test_file
</syntaxhighlight>
אין רווח בתוך שמות של קבצים! זאת המצאה בעייתית של windows שלא קיימת במקומות אחרים!
לינוקס לא אמר לכם כלום? כנראה הוא הצליח ליצור את הקובץ.<br>
לינוקס ענה לכם את השורה הזאת?:
<syntaxhighlight lang = "text">
touch: cannot touch `test': Permission denied
</syntaxhighlight>
זה אומר שאסור לכם ליצור שם קובץ. לכו למקום שמותר לכם, נגיד בתיקיית הבית שלכם (רמז: השתמשו בפקודה cd).
שימו לב שבלינוקס לא צריך סיומת כמו .txt או .exe. אפשר לשים אותן אם ממש רוצים, ללינוקס זה לא משנה גם אם תשימו שלוש מאות נקודות בשם של הקובץ. אבל אם תשימו נקודה בתחילת שם הקובץ, זה יהיה קובץ נסתר.
הצלחתם ליצור קובץ? תבדקו עם הפקודה ls שהוא באמת נוצר.
===mkdir===
אפשר לייצר גם תיקיות, לדוגמה, נייצר תיקיה בשם new_library:
<syntaxhighlight lang = "Bash">
mkdir new_library
</syntaxhighlight>
===file===
אז מה אפשר לדעת על הקובץ החדש שיצרנו?
הפקודה file מזהה סוגי קבצים ומספרת לך מה היא גילתה:
<syntaxhighlight lang = "Bash">
file test_file
</syntaxhighlight>
===ls -l===
ואם רוצים לדעת נתונים כמו מי הבעלים של הקובץ, ומה הגודל שלו?
מסתבר שls יודעת לעשות את זה, אם אומרים לה להראות את זה:
<syntaxhighlight lang = "Bash">
ls -l test_file
</syntaxhighlight>
וזה מה שמקבלים כתשובה (לדוגמה):
<syntaxhighlight lang = "Bash">
-rw-r--r-- 1 tux penguins 0 Feb 15 06:23 test_file
</syntaxhighlight>
מה זה כל האותיות והמספרים והמקפים האלה? איך יודעים מזה מי הבעלים של הקובץ? התשובה ב[https://web.archive.org/web/20211110215804/http://danzig.jct.ac.il/unix_class/unixCommands.html תקציר (המשומר) באנגלית] וב[https://web.archive.org/web/20211019215050/http://danzig.jct.ac.il/unix_class/hebchmod.html הסבר (המשומר) על chmod של אבירן עבאדי] מהאתר (המשומר) של [https://web.archive.org/web/20200203172809/http://danzig.jct.ac.il/ נחום דנציג]. בהסבר על הפקודה chmod תוכלו ללמוד גם איך להגן על הקובץ שלכם מהאקרים, ואיך לתת הרשאות קריאה או כתיבה.
===מחיקה, העתקה והעברה של קבצים, וכל הפקודות שצריך לדעת===
{{תיבה עם כותרת|
כותרת=מאיפה לומדים את זה?|
תוכן=מהאינטרנט. איזה מזל שמסבירים עליהן בעברית ב[http://danzig.jct.ac.il/unix_class/hebcommands.html דף הפקודות הבסיסיות בלינוקס של אבירן עבאדי].|
צבעכ=#F0F080|
צבער=#FFFFA0}}
==apt-get==
apt היא תוכנת ניהול החבילות של הפצת דביאן, ועם הכלי apt-get שכלול בה אפשר להשיג ולהתקין כל תוכנה שרוצים, וגם להשיג מידע על מה שכבר מותקן. אמנם בסביבה גרפית נשתמש הרבה פעמים בממשק synaptic, שהוא מאוד נוח. אבל לפעמים צריך גם לעשות התקנות דרך הטרמינל.
לדוגמה, על מנת להתקין את תוכנת הטרמינל konsole, נכתוב:
<syntaxhighlight lang = "Bash">
apt-get install konsole
</syntaxhighlight>
וapt כבר תבדוק לבד איזה חבילות נדרשות להתקנה (נגיד, המון חבילות של שולחן העבודה KDE), ותשאל אם אנחנו רוצים להתקין את כל זה. כמובן שכן, יש לנו דיסק גדול.
==עורכי טקסט==
===pico===
pico בכלל נוצר בתור תוכנה לכתיבת מיילים בשביל תוכנת הדואר pine, אבל כל כך קל להשתמש בה, שהיא נשארה כוכבת בפני עצמה:
<syntaxhighlight lang = "Bash">
pico test_file
</syntaxhighlight>
נכתוב בקובץ שלנו את המילים hello world.
ונשמור.
איך שומרים שם? CTRL-O<br> (הוא ישאל האם הוא הבין נכון את שם הקובץ. לחצו enter אם זה אכן שם הקובץ).
איך יוצאים? CTRL-X<br>
הכל כתוב במסך בשורה התחתונה. קל, קל, קל.
אבל pico נועדה לכתיבת מיילים. מתכנתים היו צריכים משהו יותר רציני.
===vi===
vi הוא עורך מינימליסטי אבל חזק להפליא. הוא יודע לצבוע טקסט, לעשות עריכות אוטומטיות ועוד המון דברים. יש אנשים שמוכנים להישבע שזה העורך הכי טוב בעולם.
יש איתו רק בעיה אחת, הוא קצת מוזר:
<syntaxhighlight lang = "Bash">
vi test_file
</syntaxhighlight>
למשל, נסו לכתוב משהו. מבינים את הבעיה?
צריך ללחוץ i כדי שיהיה אפשר להכניס טקסט (insert).
עכשיו נסו למחוק אות. הופ, בלגאן. צריך ללחוץ Esc כדי שהוא יתן לנו לזוז.
למעשה צריך ללחוץ על Esc בכל פעם שהוא קצת משתגע ולא עושה מה שאנחנו רוצים. זה מאפס אותו קצת.
עכשיו נסו לצאת ממנו. זה בכלל משעשע. אם תכתבו <span dir="ltr">:q</span> (עם הנקודותיים!) הוא עקרונית היה נותן לכם לצאת, אבל כתבתם דברים ולא שמרתם. אז לא תצאו.
אלא אם אתם ממש רוצים, ואז תכתבו <span dir="ltr">:q!</span> ואז סוף סוף תצליחו להשתחרר.
הוא לא באמת מוזר, יש היגיון מאחורי כל הקיצורים והדברים שצריך ללחוץ, אבל צריך הרבה סבלנות כדי להתרגל אליו. מומלץ לדעת לפחות איך לעבוד איתו בצורה בסיסית, כי הוא מגיע כיום עם הרבה הפצות לינוקס.
===emacs===
emacs הוא עורך טקסט נוסף שידוע כחזק מאוד. למעשה הוא כל כך חזק שאפילו הצליחו לכתוב משחקים שרצים בתוכו.
בשביל לערוך איתו מריצים:
<syntaxhighlight lang = "Bash">
emacs test_file
</syntaxhighlight>
קיבלתם הודעת שגיאה?<br>
זה בגלל שבדביאן צריך להוריד אותו בנפרד.
{{מוסתר|הוראות להתקנת emacs בדביאן|ta2= right|2=
רק מנהל המערכת יכול להתקין דברים, אז נשתמש בפקודה שגורמת לנו להפוך למנהל:
<syntaxhighlight lang = "Bash">
su
</syntaxhighlight>
ונכניס לה סיסמת מנהל.
ועכשיו נתקין:
<syntaxhighlight lang = "Bash">
apt-get install emacs
</syntaxhighlight>
בנוסף כדאי להתקין גם תוספות שלו, שיכולות לעזור לשנות לו צבעים, למשל:
<syntaxhighlight lang = "Bash">
apt-get install emacs-goodies-el
</syntaxhighlight>
ומיד כשסיימנו להתקין יוצאים ממצב מנהל מערכת, כי אנחנו עלולים להרוס את המערכת:
<syntaxhighlight lang = "Bash">
exit
</syntaxhighlight>
עכשיו ננסה שוב להריץ אתemacs ולפתוח איתו את הקובץ שלנו, והפעם זה אמור לעבוד:
<syntaxhighlight lang = "Bash">
emacs test_file
</syntaxhighlight>
}}
הרצתם emacs ולא קיבלתם הודעת שגיאה? זה סימן שהוא כבר מותקן, ושנפתח לכם חלון emacs ואפשר להתחיל לעבוד!
כיום emacs מכיר את המקשים שמשמשים ברוב עורכי הטקסט, אז אפשר להשתמש בהם. אבל בכל מה שנוגע לשימוש במקשי CTRL וALT, יש לו פקודות משלו שנוצרו לפני שהמציאו את הצירופים שמקובלים כיום.
לדוגמה:<br>
CTRL-X 1 סוגר את כל התת-מסכים מלבד זה שנמצאים בו. תנסו, זה יסגור את חלון העזרה הקטן שemacs אוהב להראות.<br>
{{מוסתר|איך משתמשים בCTRL הזה?|ta2= right|2=
מחזיקים את מקש Ctrl לחוץ, ואז לוחצים לחיצה קצרה על המקש הנוסף.
המקשים Ctrl, Alt וShift הם מקשים שאפשר להחזיק אותם לחוצים ולא יקרה כלום. כל מה שהם עושים זה לגרום לכפתורים אחרים לעשות דברים שונים מבדרך כלל. לדוגמה: בemacs הכפתור s בדרך כלל כותב את האות s, אבל אם Ctrl משפיע עליו, אז הוא יפעיל את כלי החיפוש.
איך עושים Ctrl-x 1?
מחזיקים את Ctrl, לוחצים לחיצה קצרה על x, ואז עוזבים גם את Ctrl. אחר כך לוחצים 1.
}}
עוד צירופים מעניינים:
CTRL-s משמש לחפש בקובץ<br>
ALT-w עושה copy<br>
CTRL-w עושה cut<br>
CTRL-Y עושה paste<br>
והכי חשוב:<br>
CTRL-x CTRL-s שומר את המסמך<br>
CTRL-x CTRL-c סוגר את emacs<br>
אפשר למצוא [http://www.jesshamrick.com/2012/09/10/absolute-beginners-guide-to-emacs/ מדריך מתומצת וטוב למתחילים בemacs אצל ג'סיקה האמריק], ויש אפילו [http://i2.wp.com/sachachua.com/blog/wp-content/uploads/2013/05/How-to-Learn-Emacs-v2-Large.png מדריך מצוייר של סשה צ'ווה]. והכי טוב, יש tutorial בתוך emacs עצמו שמלמד אותך עם דוגמאות.
===emacs נגד vi===
כן, אנשים של קוד פתוח מתים על המלחמות האלו.
חובבי emacs אומרים שvi הוא מוזר ופרמיטיבי (שמתם לב שאני חובב emacs?)<br>
חובבי vi אומרים שemacs הוא מערכת הפעלה שלמה שכל מה שחסר בה זה עורך טקסט טוב.
הכי טוב להכיר את שניהם אם כי בבטא emacs הוא העורך העיקרי שעובדים איתו.
===ed===
אד הוא עורך הטקסט העתיק ביותר. כל כך עתיק שבלינוקסים חדשים הוא כבר לא נמצא וצריך להתקין אותו.
<syntaxhighlight lang = "Bash">
apt-get install ed
</syntaxhighlight>
יש משהו שצריך להבין לגבי אד - הוא הומצא לפני שהמציאו את המסך. כן, בתקופה שדינוזאורים ראו מה יוצא מהמחשב בעזרת מדפסת בלבד. לכן אד שונה מכל עורך טקסט שאתם מכירים. הוא כמו הקוף שממנו התפתח vi. אבל הוא מגניב אש לנינג'ות, בין השאר בגלל שהתאום שלו, sed עובד בדיוק עם אותן פקודות, אבל בצורה אוטומטית. וגם בשביל להגיד לאנשי לינוקס ותיקים "כן, אני עובד עם אד" ולראות איך הצעירים יותר מגלים שיש להם חור בהשכלה, והזקנים יותר אומרים "וואו".
אז בואו נעשה סיור קטן אצל אד, ונזכור שכמו כל תוכנת יוניקס ותיקה, אם הפקודה הצליחה, אד לא יגיד לך כלום:
<syntaxhighlight lang = "Bash">
ed test_file
</syntaxhighlight>
חוץ מלהגיד לך כמה שורות יש בקובץ, אד לא הולך להגיד לך כלום.
את שאר טכניקת העבודה ניתן ללמוד [http://blog.sanctum.geek.nz/actually-using-ed/ בבלוג של טום ריידר], או ישירות מ[http://www.gnu.org/software/ed/manual/ed_manual.html המדריך הרשמי לed].
אם רוצים לצאת, כותבים q.
אם שיניתם את הקובץ, בדיוק כמו vi הוא יסרב לצאת (אבל בניגוד לvi הוא ינפנף לך בסימן שאלה שלו).
אז כותבים Q, והוא יוצא בלי להתווכח.
כי [http://www.gnu.org/fun/jokes/ed-msg.html אד הוא עורך הטקסט הסטנדרטי].
==עבודה במקביל ושליטה בתהליכים==
===CTRL-C===
נניח שתוכנה כלשהי עובדת בטרמינל וצריך לעצור אותה כי היא רצה כבר יותר מדי זמן. בשביל זה לוחצים CTRL-C. זה הורג את התוכנה שכרגע פועלת.
===CTRL-Z, bg===
נניח שפתחנו emacs ועכשיו אנחנו רוצים להשתמש בטרמינל מבלי לסגור את emacs. בעיה, הטרמינל מחכה שemacs יסיים.
במקרה כזה לוחצים CTRL-Z בטרמינל, והתוכנה שרצה "נרדמת", ומאפשרת לנו להשתמש בטרמינל.
אם נריץ את הפקודה
<syntaxhighlight lang = "Bash">
fg
</syntaxhighlight>
התוכנה שנרדמה תתעורר (תעבור לforeground) ותחזור לפעולה. ותחסום שוב את הטרמינל.
אבל אם במקום זה נריץ את הפקודה:
<syntaxhighlight lang = "Bash">
bg
</syntaxhighlight>
התוכנה שנרדמה תחזור לפעול ברקע (background). אז יהיה אפשר לעבוד איתה ועם הטרמינל במקביל.
===&===
ואת כל זה היה אפשר למנוע אם מראש היינו מריצים את emacs ברקע, ככה:
<syntaxhighlight lang = "Bash">
emacs &
</syntaxhighlight>
==shell scripting==
shell script זה סוג של תוכנה שכתובה בשפה מיוחדת ובנויה כמו לגו - זה למעשה תסריט שאומר להרבה תוכנות אחרות מה לעשות בצורה אוטומטית.
הshell הרבה יותר חזקה ממה שאתם חושבים. אפשר ממש לבנות שם תוכנות שמדביקות המון כלים ועושות דברים כמו עריכה אוטומטית של טקסט, עריכת וידאו, הורדה אוטומטית של דברים מהאינטרנט, וכל דבר שבא לכם. קוראים לזה scripting, כתיבת "תסריטים". אמנם יש כיום שפות סקריפט טובות יותר, כמו python או PHP, אבל עדיין כדאי לדעת את הבסיס של bash scripting, כי זה יאפשר לכם לעשות דברים מאוד במהירות וביעילות, ולהכיר כלים מאוד מועילים.
יש [http://penguin.org.il/%D7%9E%D7%93%D7%A8%D7%99%D7%9B%D7%99%D7%9D/%D7%AA%D7%9B%D7%A0%D7%95%D7%AA_%D7%A2%D7%9D_bash מדריך טוב בעברית על bash scripting באתר הפינגוין].
===דוגמה לסקריפט: איך זורקים את רשימת כל הקבצים שבתיקיית הבית אל תוך קובץ===
נגיד, לדוגמה, שאנחנו רוצים לשמור את רשימת כל הקבצים שיש לנו בתיקיית הבית, כדי שאם יימחק לנו קובץ בטעות, נדע שהוא פעם היה שם.
אז נכתוב סקריפט של שורה אחת, שמייצר את רשימת כל הקבצים בתיקיית הבית שלנו, וכותב אותה לתוך קובץ.
אנחנו כבר יודעים לראות את כל הקבצים בתיקיית הבית:
<syntaxhighlight lang = "Bash">
ls ~
</syntaxhighlight>
אבל איך מכניסים את זה לתוך קובץ, נגיד הקובץ foo.txt?<br>
התשובה היא חץ:
<syntaxhighlight lang = "Bash">
ls ~ > foo.txt
</syntaxhighlight>
החץ המשולש לוקח את מה שיצא מהפקודה (ls במקרה שלנו) ושופך את זה ישר לתוך קובץ (שבמקרה שלנו קראנו לו foo.txt). הוא אפילו מייצר את הקובץ אם הוא לא קיים.<br>
אם נסתכל עכשיו בקובץ foo.txt:
<syntaxhighlight lang = "Bash">
cat foo.txt
</syntaxhighlight>
נראה שם את כל מה שיש בתוך הקובץ!
ואם כבר היה בקובץ משהו, ואנחנו רוצים רק להוסיף לו שורות בלי שיימחק לנו כל מה שהיה בו?<br>
בשביל זה יש שני חצים:
<syntaxhighlight lang = "Bash">
ls ~ >> foo.txt
</syntaxhighlight>
ואת כל זה עשינו בשורת פקודה אחת. קלי קלות.
==וזהו==
קראתם את כל המדריכים שהוזכרו כאן? אתם נינג'ות לינוקס.<br>
קפצתם על כל המדריכים שהוזכרו ועברתם רק על המדריך המהיר ועל המדריך של נחום דנציג? זה יספיק כדי להתחיל לעבוד.
'''זה הזמן לבצע את [[מבוא לתכנות של קבוצת בטא/המדריך המהיר של עופר לעבודה בלינוקס#שתי הנקודות של המדריך המהיר ללינוקס|שתי המשימות שבתחילת המדריך המהיר]], ולקבל את שתי נקודות הנסיון שהוא יכול לתת!'''
ואחרי שקיבלתם את שתי הנקודות, אפשר להמשיך עם [[מבוא לתכנות של קבוצת בטא#לתת פקודות לפינגוינים - איך עובדים בלינוקס|הבטא-ספר]].
[[קטגוריה:מבוא לתכנות של קבוצת בטא]]
[[קטגוריה:לינוקס]]
asmvjkxk4mci49yn62ug3ngqpyxd0v1
167301
167300
2022-07-19T13:55:05Z
The duke
19
/* מחיקה, העתקה והעברה של קבצים, וכל הפקודות שצריך לדעת */
wikitext
text/x-wiki
==שתי הנקודות של המדריך המהיר ללינוקס==
המדריך המהיר יכול לתת לכם שתי נקודות נסיון, אם תפתרו את שני האתגרים הבאים.
אם אתם לא יודעים איך לפתור אותם,
קראו את המדריך המהיר ללינוקס בהמשך הדף, ואת [https://web.archive.org/web/20211019215046/http://danzig.jct.ac.il/unix_class/hebcommands.html דף הפקודות הבסיסיות (המשומר) של אבירן עבאדי], ותדעו!
{{אתגר|'''בצעו את האתגר הבא (אתגר "פקודות בסיסיות") בטרמינל על מנת לקבל את נקודה מהמדריך המהיר ללינוקס:'''
# צרו תיקיה בשם penguinity בתוך תיקיית הבית שלכם.
# צרו בתוכה קובץ בשם "test_output".
# הכניסו לתוכו בשורת פקודה אחת את רשימת כל הקבצים והתיקיות (גם הנסתרים!) שיש לכם בתיקית הבית.
# שנו בעזרת עורך טקסט את הקובץ עם רשימת התיקיות ככה שהשם של התיקיה בקובץ Desktop יהפוך לBesktop.
# הראו את הקובץ לעופר, אם עשיתם כל מה שצריך, תקבלו נקודת נסיון בתחום הלינוקס!
}}
{{אתגר|'''בצעו את האתגר הבא (אתגר "הכרת המערכת") בטרמינל על מנת לקבל עוד נקודה של המדריך המהיר ללינוקס:'''
# צרו עותק של הקובץ test_output מהמשימה הראשונה, שייקרא test_output_bkp.txt
# הוסיפו לקובץ המקורי תיאור קצר של הפקודות touch, apt-get, vi וemacs מתוך המדריכים שיש בלינוקס.
# הוסיפו לקובץ את הכתובת של קובץ ההגדרות של gtk-2 (זאת ספריית תוכנה מאוד ידועה שמאפשרת להראות גרפיקה). הקובץ נמצא איפשהו בתוך תיקיית ההגדרות של לינוקס.
<!--
# הוסיפו לקובץ את הכתובת של קובץ ההגדרות של apache (אפאצ'י היא תוכנה מאוד ידועה שמאפשרת לכם להקים אתר אינטרנט על המחשב שלכם). הקובץ נקרא apache2.conf והוא נמצא איפשהו בתוך תיקיית ההגדרות של לינוקס, הורידו apache2 ליתר ביטחון (לעיתים הוא לא מותקן אוטומטית מראש).
!-->
# הוסיפו לקובץ תיאור קצר שאתם כתבתם של תפקיד תיקיית dev/.
# הגנו על הקובץ מפני האקרים: שנו את ההרשאת על הקובץ ככה שרק אתם והקבוצה שלכם תוכלו לקרוא אותו, ואף אחד לא יוכל לכתוב לתוכו (גם לא אתם!).
# הראו את הקובץ לעופר, אם עשיתם כל מה שצריך, תקבלו עוד נקודת נסיון בתחום הלינוקס!
}}
לא מבינים כלום?<br>
יופי. זה אומר שאתם צריכים לקרוא את המדריך המהיר ללינוקס שבהמשך הדף!<br>
כשתסיימו אותו תבינו.
{{מוסתר|חושבים שהמדריך נורא ארוך, ואין לכם כוח לקרוא אותו? רוצים פתרון-קסם?|ta2= right|2=
אין פתרון קסם. קראו את המדריך או שתלכו לשחק דוקים בבית.
}}
<br>
=המדריך המהיר של עופר לעבודה בלינוקס=
==בדיקת כשירות==
קראו את השורה הבאה
<syntaxhighlight lang = "Bash">
Ok anakhnu kshirim
</syntaxhighlight>
עכשיו הגידו בקול רם מה קראתם.<br>
אם אין לכם מושג מה להגיד, פיספסתם משהו. זה הזמן להיזכר שלמסך שלכם יש גם צד שמאל, לחזור אחורה ולעשות שוב את בדיקת הכשירות. לא להמשיך לקרוא. לעשות שוב. את בדיקת הכשירות. עד שאתם מצליחים. תודה.
אם אמרתם בקול רם, אז אתם צודקים, קדימה ללינוקס.
==הבסיס של הבסיס==
אז פתחתם טרמינל (כמו שכתוב ב[[מבוא לתכנות של קבוצת בטא#ללכת מכות עם פינגוינים - איך עובדים בלינוקס|בטא ספר]], אני לא מסביר את זה שוב). בואו נלמד מה קורה כאן.
קודם כל תעזבו את העכבר. אין עכבר, תשכחו ממנו. הוא גורם לכם להיות איטיים.
מה שאתם רואים על המסך נקרא prompt, והוא נראה ככה:
<syntaxhighlight lang = "Bash">
tux@betashekhi:~$
</syntaxhighlight>
זה אומר ש:
* קוראים לכם tux.
* אתם עובדים על המחשב betashekhi (מחשב אמיתי, חפשו אותו בכיתה)
* אתם נמצאים בתיקיית הבית שלכם. טילדה (~) זה הסימן המקובל ל"בית".
* אתם משתמש רגיל. אם הייתם רואים # במקום $, זה אומר שאתם מנהל המערכת, שיכול בשניה להרוס את המערכת.
עכשיו נראה הרבה פקודות, '''נסו כל אחת מהן! אל תשבו כמו בטטות ורק תקראו!''' זה בסדר, אתם לא יכולים להרוס את המערכת בלינוקס, רק מנהל המערכת (root) יכול להרוס.
<br>(וכמובן, מי שידלגו מעל השורות של הפקודות רק כי הן נמצאות בצד שמאל, יגיעו לסוף המדריך בלי ללמוד שום דבר, ויטענו שזה המדריך אשם. שיעור לחיים: מי שלומד לינוקס הרבה בסוף יהיה ממש טוב בלינוקס, מי שמאשים הרבה בסוף יהיה ממש טוב בלהאשים.)
אז קדימה. את כל הפקודות אתם צריכים לכתוב בטרמינל כדי לראות מה הן עושות, וכמובן ללחוץ enter בסוף הפקודה, כדי שהלינוקס ידע לבצע אותה.
==פקודות בסיסיות==
===pwd===
נגיד ששכחתם איפה אתם נמצאים.
הקלידו את הפקודה:
<syntaxhighlight lang = "Bash">
pwd
</syntaxhighlight>
ותראו איפה אתם נמצאים.
הפקודה היא קיצור לשם print working directory.
'''ניסיתם את הפקודה, נכון?'''
'''לא סתם ישבתם כמו בטטות והסתכלתם על מה שכתבתי כאן, נכון?'''
כי מי שמנסה יהיה בסוף נינג'ה. מי שבטטה יהיה בסוף פירה.
===ls===
אם אנחנו רוצים לראות איזה קבצים נמצאים בתיקיה שלנו, נקליד:
<syntaxhighlight lang = "Bash">
ls
</syntaxhighlight>
ונראה את רשימת הקבצים.
לידיעתכם: ls היא קיצור למילה list. (שימו לב: הפקודה היא ls ולא is. לינוקס לא אוהב פקודות שלא קיימות.)
חלק מהשמות כחולים, חלק לבנים, חלק ירוקים, ויש גם עוד צבעים. כחול זה תיקיה, לבן זה קובץ, ירוק זה קובץ תוכנה שאפשר להריץ. יש לכם רק כחולים? אז יש לכם רק תיקיות. רוצים לראות קבצים? תבקשו לראות גם קבצים נסתרים (בלינוקס אלו קבצים שהשם שלהם מתחיל בנקודה):
<syntaxhighlight lang = "Bash">
ls -a
</syntaxhighlight>
רוצים לראות קבצים שאפשר להריץ? יש בתיקיה <span dir="ltr">/bin</span>:
<syntaxhighlight lang = "Bash">
ls /bin
</syntaxhighlight>
כמו שאתם רואים, אפשר להסתכל בתיקיות אחרות בלי להיכנס אליהן.
===cd===
בשביל לטייל במערכת קבצים נשתמש בcd (קיצור לchange directory). לדוגמה, אם יש לנו בתיקיית הבית תיקיה בשם Desktop, נטייל אליה ככה:
<syntaxhighlight lang = "Bash">
cd Desktop
</syntaxhighlight>
כשכותבים ככה רק את השם של התיקיה, ולא את הכתובת המלאה שלה, קוראים לזה '''Relative path'''.
הכתובת המלאה של התיקיה הזאת (במחשב של Tux) היא <span dir="ltr">/home/tux/Desktop</span>, לכתובת מלאה קוראים '''Absolute path'''.
אם נרצה לחזור תיקיה אחת למעלה (בחזרה הביתה במקרה שלנו):
<syntaxhighlight lang = "Bash">
cd ..
</syntaxhighlight>
.. הוא הסימן המוסכם ל"תיקיה אחת למעלה". נקודה אחת היא הסימן המוסכם ל"התיקיה הנוכחית". כך שאם תכתבו:
<syntaxhighlight lang = "Bash">
cd .
</syntaxhighlight>
זה ישאיר אתכם בתיקיה הנוכחית. (זה שימושי, אבל לא במקרה הזה.)
ואם נרצה ללכת משם ישירות לתיקיה שבה נמצאות ההגדרות לרשת דינמית של המערכת (לא באמת מעניין מה זה אומר כרגע), אז נלך ל <span dir="ltr">/etc/dhcp</span>:
<syntaxhighlight lang = "Bash">
cd /etc/dhcp
</syntaxhighlight>
השתמשנו כאן בabsolute path.
אם נרצה ללכת לשורש של עץ מערכת הקבצים, שנקרא root directory, נכתוב:
<syntaxhighlight lang = "Bash">
cd /
</syntaxhighlight>
ואם נרצה לחזור הביתה:
<syntaxhighlight lang = "Bash">
cd ~
</syntaxhighlight>
אז אנחנו יודעים איך מטיילים, אבל לאן אפשר לטייל?
זה הזמן להכיר את מבנה מערכת הקבצים.
==מבנה מערכת הקבצים==
בלינוקס יש מערכת קבצים אחת. אין דיסק C, אין דיסק D, לא מעניין את לינוקס אם יש לך שני הארד-דיסקים או אם יש לך רק USB. הכל נכנס לתוך העץ של הקבצים.
העץ מתחיל במה שקוראים תיקיית הroot - השורש. ניכנס אליה:
<syntaxhighlight lang = "Bash">
cd /
</syntaxhighlight>
ונסתכל מה יש שם:
<syntaxhighlight lang = "Bash">
ls
</syntaxhighlight>
רוב התיקיות שאנחנו רואים שם נמצאות בכל לינוקס, וכולם מכירים אותן ויודעים מה יש בהן. אז גם אנחנו צריכים לדעת.
'''נא לקרוא את [https://he.wikipedia.org/wiki/%D7%AA%D7%A7%D7%9F_%D7%94%D7%99%D7%A8%D7%A8%D7%9B%D7%99%D7%AA_%D7%9E%D7%A2%D7%A8%D7%9B%D7%AA_%D7%94%D7%A7%D7%91%D7%A6%D7%99%D7%9D הערך על מערכת הקבצים בויקיפדיה].'''
<!--
{| class="wikitable"
|-
! שם תיקיה
! תפקיד
! המקור של השם
! הערות
|-
| <span dir="ltr">/bin</span>
| התיקיה של התוכנות. כל התוכנות של המערכת נמצאות כאן. חוץ מאלו שלא.
| Binary
|
|-
| <span dir="ltr">/boot</span>
| התיקיה של הדברים שהמחשב צריך כדי להעלות את מערכת ההפעלה. יש כאן את גרעין מערכת ההפעלה ואת הboot loader שמעלה אותה, שבמקרה שלנו נקרא GRUB.
|
| השם boot מגיע מהסיפור על הברון מינכהאוזן שנפל לבור ולא היה מי שיעזור לו לצאת, אז הוא תפס לעצמו במגפיים (boots) ומשך אותן החוצה מהבור, וככה יצא מהבור. גם מחשב כשמדליקים אותו "מוציא את עצמו" ממצב כבוי למצב פעיל בעזרת תהליך boot.
|-
| <span dir="ltr">/dev</span>
| התיקיה של המכשירים שמחוברים למחשב. אלו הדרייברים שמאפשרים לתקשר עם כל דבר שיש במחשב או מחובר אליו.
| Devices - "מכשירים"
|
|-
| <span dir="ltr">/etc</span>
| התיקיה של ההגדרות. כל ההגדרות של כל התוכנות ושל המערכת נמצאים כאן.
| etcetera. "וכו'" בלטינית.
|
|-
| <span dir="ltr">/home</span>
| התיקיה עם הבתים של כל המשתמשים.
|
|
|-
| <span dir="ltr">/initrd.img</span>
| זאת לא תיקיה, זה קישור. אם נריץ את הפקודה
<syntaxhighlight lang = "Bash">
ls -l /vmlinuz
</syntaxhighlight>
נראה שזה לינק לקובץ עם שם כמו <span dir="ltr">/boot/initrd.img-3.2.0-4-486</span>. זה אימג', גירסה מוקפאת של מערכת קבצים קטנטנה וראשונית שמעלים בשביל להעלות ממנה את המערכת המלאה.
|
|
|-
| <span dir="ltr">/lib</span>
| תיקיה של ספריות שמשמשות תוכנות שונות. עוזר מאוד למתכנתים.
| Libraries - "ספריות".
|
|-
| <span dir="ltr">/lost+found</span>
| התיקיה שאליה הולכים קבצים שאיבדו את הדרך כשכיבו את המחשב בצורה לא מסודרת.
|
| תמיד כבו את המחשב בצורה מסודרת! לא סתם ללחוץ על הכפתור!
|-
| <span dir="ltr">/media</span>
| התיקיה שבה מופיעות מדיות שאפשר לנתק, כמו צורבי דיסקים או דיסק-און-קי.
|
|
|-
| <span dir="ltr">/mnt</span>
| התיקיה שבה מופיעים כל אמצעי האחסון. את כל הדיסקים אפשר לראות כאן, ובעזרת התיקיה הזאת מחברים אותם למקומות שונים בעץ הקבצים, באמצעות הפקודה mount.
|
| היו המון ויכוחים כשנוצרה התיקיה <span dir="ltr">/media</span>, כי הרבה אנשים אמרו ש<span dir="ltr">/mnt</span> עושה כבר בדיוק אותו דבר.
|-
| <span dir="ltr">/opt</span>
| תיקיה לתוכנות שלא נכללות בהפצה הרגילה.
| Optional
| לא תמיד הסכימו שצריך את התיקיה הזאת, לכן יש כאלו שמשתמשים בה ויש כאלו שלא.
|-
| <span dir="ltr">/proc</span>
| תיקיה עם נתונים של כל התהליכים שרצים במחשב. אפשר לקרוא מכאן את פרטי הפרטים של מצב המערכת.
| Processes
| כמעט כל הקבצים כאן הם בגודל אפס. זה בגלל שהם קבצים מיוחדים.
|-
| <span dir="ltr">/root</span>
| תיקיית הבית של מנהל המערכת.
|
| הבית שלו נמצא כאן, כך שהוא יוכל להמשיך לעבוד גם אם התיקיה <span dir="ltr">/home</span> מתחרבשת.
|-
| <span dir="ltr">/run</span>
| תיקיה למידע זמני שנוצר בעיקר בתחילת עליית מערכת ההפעלה.
|
|
|-
| <span dir="ltr">/sbin</span>
| התיקיה של התוכנות שרק מנהל המערכת יכול להריץ. כאן נמצאים כלים שאיתם מצילים את המערכת במצבי חירום.
| System Binary
|
|-
| <span dir="ltr">/selinux</span>
| פסאודו-תיקיה לצרכי אבטחת מערכת. זה אומר שזה לא באמת תיקיה עם קבצים, זה רק נראה ככה. למעשה זה לוח בקרה לאבטחת המערכת.
| Security Enhanced Linux - "לינוקס עם אבטחה משופרת".
|
|-
| <span dir="ltr">/srv</span>
| תיקיה עם נתונים של שירותי מערכת. אין הסכמה על צורת השימוש בה, אז אין שם הרבה דברים שימושיים.
|
|
|-
| <span dir="ltr">/sys</span>
| התיקיה של
|
|
|-
| <span dir="ltr">/tmp</span>
| התיקיה של
|
|
|-
| <span dir="ltr">/usr</span>
| התיקיה של
|
|
|-
| <span dir="ltr">/var</span>
| התיקיה של
|
|
|-
| <span dir="ltr">/vmlinuz</span>
| זאת לא תיקיה, זה קישור. אם נריץ את הפקודה
<syntaxhighlight lang = "Bash">
ls -l /vmlinuz
</syntaxhighlight>
נראה שזה לינק לקובץ עם שם כמו <span dir="ltr">boot/vmlinuz-3.2.0-4-486</span>. זה גרעין מערבת ההפעלה. ואת תיקיית boot אנחנו כבר מכירים.
|
|
|}
מי שרוצה עוד מידע, אפשר לקרוא בעברית באנגלית בפרוייקט תיעוד הלינוקס ב[http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/index.html מדריך מערכת הקבצים] או ב[http://tldp.org/LDP/intro-linux/html/sect_03_01.html מדריך היכרות עם לינוקס].
!-->
==פקודות - המשך ==
===which===
אז איפה בעצם נמצאת הפקודה ls?
<syntaxhighlight lang = "Bash">
which ls
</syntaxhighlight>
אנחנו מכירים את התיקיה הזאת.
וזה עובד לכל פקודה עצמאית. cd למשל היא לא פקודה עצמאית, היא חלק מן הshell.
===whatis===
ואם אנחנו שוכחים מה פקודה עושה?
<syntaxhighlight lang = "Bash">
whatis ls
</syntaxhighlight>
ומקבלים תזכורת בשורה אחת.
וזה עובד לפקודות עצמאיות, לתיקיות ידועות, לנושאים כלליים ולהמון דברים אחרים שקשורים ללינוקס
===man===
ואם צריכים את המדריך המלא של הפקודה?
קודם כל הרבה פקודות יכולות לעזור בעצמן בעזרת הארגומנט <span dir="ltr">--help</span>:
<syntaxhighlight lang = "Bash">
ls --help
</syntaxhighlight>
אבל גם אם לא, תמיד יש את המדריך של הלינוקס! פעם זה היה ספר ענק, ואז הבינו שאפשר פשוט להכניס גם אותו למחשב, אז היום יש את הפקודה man:
<syntaxhighlight lang = "Bash">
man ls
</syntaxhighlight>
בשביל לצאת מזה אפשר ללחוץ q.
ואם רוצים לדעת יותר על איך להשתמש בman?
<syntaxhighlight lang = "Bash">
man man
</syntaxhighlight>
===info===
אם רוצים ישנו גם סוג משוכלל יותר של מדריך:
<syntaxhighlight lang = "Bash">
info ls
</syntaxhighlight>
גם ממנו אפשר לצאת בעזרת לחיצה על q.
===touch===
הפקודה touch משנה את התאריך שבו נגעו פעם אחרונה בקובץ. אם הקובץ לא קיים היא מייצרת אותו, שזה כבר מעניין.
אז נייצר קובץ בשם test file:
<syntaxhighlight lang = "Bash">
touch test_file
</syntaxhighlight>
אין רווח בתוך שמות של קבצים! זאת המצאה בעייתית של windows שלא קיימת במקומות אחרים!
לינוקס לא אמר לכם כלום? כנראה הוא הצליח ליצור את הקובץ.<br>
לינוקס ענה לכם את השורה הזאת?:
<syntaxhighlight lang = "text">
touch: cannot touch `test': Permission denied
</syntaxhighlight>
זה אומר שאסור לכם ליצור שם קובץ. לכו למקום שמותר לכם, נגיד בתיקיית הבית שלכם (רמז: השתמשו בפקודה cd).
שימו לב שבלינוקס לא צריך סיומת כמו .txt או .exe. אפשר לשים אותן אם ממש רוצים, ללינוקס זה לא משנה גם אם תשימו שלוש מאות נקודות בשם של הקובץ. אבל אם תשימו נקודה בתחילת שם הקובץ, זה יהיה קובץ נסתר.
הצלחתם ליצור קובץ? תבדקו עם הפקודה ls שהוא באמת נוצר.
===mkdir===
אפשר לייצר גם תיקיות, לדוגמה, נייצר תיקיה בשם new_library:
<syntaxhighlight lang = "Bash">
mkdir new_library
</syntaxhighlight>
===file===
אז מה אפשר לדעת על הקובץ החדש שיצרנו?
הפקודה file מזהה סוגי קבצים ומספרת לך מה היא גילתה:
<syntaxhighlight lang = "Bash">
file test_file
</syntaxhighlight>
===ls -l===
ואם רוצים לדעת נתונים כמו מי הבעלים של הקובץ, ומה הגודל שלו?
מסתבר שls יודעת לעשות את זה, אם אומרים לה להראות את זה:
<syntaxhighlight lang = "Bash">
ls -l test_file
</syntaxhighlight>
וזה מה שמקבלים כתשובה (לדוגמה):
<syntaxhighlight lang = "Bash">
-rw-r--r-- 1 tux penguins 0 Feb 15 06:23 test_file
</syntaxhighlight>
מה זה כל האותיות והמספרים והמקפים האלה? איך יודעים מזה מי הבעלים של הקובץ? התשובה ב[https://web.archive.org/web/20211110215804/http://danzig.jct.ac.il/unix_class/unixCommands.html תקציר (המשומר) באנגלית] וב[https://web.archive.org/web/20211019215050/http://danzig.jct.ac.il/unix_class/hebchmod.html הסבר (המשומר) על chmod של אבירן עבאדי] מהאתר (המשומר) של [https://web.archive.org/web/20200203172809/http://danzig.jct.ac.il/ נחום דנציג]. בהסבר על הפקודה chmod תוכלו ללמוד גם איך להגן על הקובץ שלכם מהאקרים, ואיך לתת הרשאות קריאה או כתיבה.
===מחיקה, העתקה והעברה של קבצים, וכל הפקודות שצריך לדעת===
{{תיבה עם כותרת|
כותרת=מאיפה לומדים את זה?|
תוכן=מהאינטרנט. איזה מזל שמסבירים עליהן בעברית ב[https://web.archive.org/web/20211019215046/http://danzig.jct.ac.il/unix_class/hebcommands.html דף הפקודות הבסיסיות (המשומר) בלינוקס של אבירן עבאדי].|
צבעכ=#F0F080|
צבער=#FFFFA0}}
==apt-get==
apt היא תוכנת ניהול החבילות של הפצת דביאן, ועם הכלי apt-get שכלול בה אפשר להשיג ולהתקין כל תוכנה שרוצים, וגם להשיג מידע על מה שכבר מותקן. אמנם בסביבה גרפית נשתמש הרבה פעמים בממשק synaptic, שהוא מאוד נוח. אבל לפעמים צריך גם לעשות התקנות דרך הטרמינל.
לדוגמה, על מנת להתקין את תוכנת הטרמינל konsole, נכתוב:
<syntaxhighlight lang = "Bash">
apt-get install konsole
</syntaxhighlight>
וapt כבר תבדוק לבד איזה חבילות נדרשות להתקנה (נגיד, המון חבילות של שולחן העבודה KDE), ותשאל אם אנחנו רוצים להתקין את כל זה. כמובן שכן, יש לנו דיסק גדול.
==עורכי טקסט==
===pico===
pico בכלל נוצר בתור תוכנה לכתיבת מיילים בשביל תוכנת הדואר pine, אבל כל כך קל להשתמש בה, שהיא נשארה כוכבת בפני עצמה:
<syntaxhighlight lang = "Bash">
pico test_file
</syntaxhighlight>
נכתוב בקובץ שלנו את המילים hello world.
ונשמור.
איך שומרים שם? CTRL-O<br> (הוא ישאל האם הוא הבין נכון את שם הקובץ. לחצו enter אם זה אכן שם הקובץ).
איך יוצאים? CTRL-X<br>
הכל כתוב במסך בשורה התחתונה. קל, קל, קל.
אבל pico נועדה לכתיבת מיילים. מתכנתים היו צריכים משהו יותר רציני.
===vi===
vi הוא עורך מינימליסטי אבל חזק להפליא. הוא יודע לצבוע טקסט, לעשות עריכות אוטומטיות ועוד המון דברים. יש אנשים שמוכנים להישבע שזה העורך הכי טוב בעולם.
יש איתו רק בעיה אחת, הוא קצת מוזר:
<syntaxhighlight lang = "Bash">
vi test_file
</syntaxhighlight>
למשל, נסו לכתוב משהו. מבינים את הבעיה?
צריך ללחוץ i כדי שיהיה אפשר להכניס טקסט (insert).
עכשיו נסו למחוק אות. הופ, בלגאן. צריך ללחוץ Esc כדי שהוא יתן לנו לזוז.
למעשה צריך ללחוץ על Esc בכל פעם שהוא קצת משתגע ולא עושה מה שאנחנו רוצים. זה מאפס אותו קצת.
עכשיו נסו לצאת ממנו. זה בכלל משעשע. אם תכתבו <span dir="ltr">:q</span> (עם הנקודותיים!) הוא עקרונית היה נותן לכם לצאת, אבל כתבתם דברים ולא שמרתם. אז לא תצאו.
אלא אם אתם ממש רוצים, ואז תכתבו <span dir="ltr">:q!</span> ואז סוף סוף תצליחו להשתחרר.
הוא לא באמת מוזר, יש היגיון מאחורי כל הקיצורים והדברים שצריך ללחוץ, אבל צריך הרבה סבלנות כדי להתרגל אליו. מומלץ לדעת לפחות איך לעבוד איתו בצורה בסיסית, כי הוא מגיע כיום עם הרבה הפצות לינוקס.
===emacs===
emacs הוא עורך טקסט נוסף שידוע כחזק מאוד. למעשה הוא כל כך חזק שאפילו הצליחו לכתוב משחקים שרצים בתוכו.
בשביל לערוך איתו מריצים:
<syntaxhighlight lang = "Bash">
emacs test_file
</syntaxhighlight>
קיבלתם הודעת שגיאה?<br>
זה בגלל שבדביאן צריך להוריד אותו בנפרד.
{{מוסתר|הוראות להתקנת emacs בדביאן|ta2= right|2=
רק מנהל המערכת יכול להתקין דברים, אז נשתמש בפקודה שגורמת לנו להפוך למנהל:
<syntaxhighlight lang = "Bash">
su
</syntaxhighlight>
ונכניס לה סיסמת מנהל.
ועכשיו נתקין:
<syntaxhighlight lang = "Bash">
apt-get install emacs
</syntaxhighlight>
בנוסף כדאי להתקין גם תוספות שלו, שיכולות לעזור לשנות לו צבעים, למשל:
<syntaxhighlight lang = "Bash">
apt-get install emacs-goodies-el
</syntaxhighlight>
ומיד כשסיימנו להתקין יוצאים ממצב מנהל מערכת, כי אנחנו עלולים להרוס את המערכת:
<syntaxhighlight lang = "Bash">
exit
</syntaxhighlight>
עכשיו ננסה שוב להריץ אתemacs ולפתוח איתו את הקובץ שלנו, והפעם זה אמור לעבוד:
<syntaxhighlight lang = "Bash">
emacs test_file
</syntaxhighlight>
}}
הרצתם emacs ולא קיבלתם הודעת שגיאה? זה סימן שהוא כבר מותקן, ושנפתח לכם חלון emacs ואפשר להתחיל לעבוד!
כיום emacs מכיר את המקשים שמשמשים ברוב עורכי הטקסט, אז אפשר להשתמש בהם. אבל בכל מה שנוגע לשימוש במקשי CTRL וALT, יש לו פקודות משלו שנוצרו לפני שהמציאו את הצירופים שמקובלים כיום.
לדוגמה:<br>
CTRL-X 1 סוגר את כל התת-מסכים מלבד זה שנמצאים בו. תנסו, זה יסגור את חלון העזרה הקטן שemacs אוהב להראות.<br>
{{מוסתר|איך משתמשים בCTRL הזה?|ta2= right|2=
מחזיקים את מקש Ctrl לחוץ, ואז לוחצים לחיצה קצרה על המקש הנוסף.
המקשים Ctrl, Alt וShift הם מקשים שאפשר להחזיק אותם לחוצים ולא יקרה כלום. כל מה שהם עושים זה לגרום לכפתורים אחרים לעשות דברים שונים מבדרך כלל. לדוגמה: בemacs הכפתור s בדרך כלל כותב את האות s, אבל אם Ctrl משפיע עליו, אז הוא יפעיל את כלי החיפוש.
איך עושים Ctrl-x 1?
מחזיקים את Ctrl, לוחצים לחיצה קצרה על x, ואז עוזבים גם את Ctrl. אחר כך לוחצים 1.
}}
עוד צירופים מעניינים:
CTRL-s משמש לחפש בקובץ<br>
ALT-w עושה copy<br>
CTRL-w עושה cut<br>
CTRL-Y עושה paste<br>
והכי חשוב:<br>
CTRL-x CTRL-s שומר את המסמך<br>
CTRL-x CTRL-c סוגר את emacs<br>
אפשר למצוא [http://www.jesshamrick.com/2012/09/10/absolute-beginners-guide-to-emacs/ מדריך מתומצת וטוב למתחילים בemacs אצל ג'סיקה האמריק], ויש אפילו [http://i2.wp.com/sachachua.com/blog/wp-content/uploads/2013/05/How-to-Learn-Emacs-v2-Large.png מדריך מצוייר של סשה צ'ווה]. והכי טוב, יש tutorial בתוך emacs עצמו שמלמד אותך עם דוגמאות.
===emacs נגד vi===
כן, אנשים של קוד פתוח מתים על המלחמות האלו.
חובבי emacs אומרים שvi הוא מוזר ופרמיטיבי (שמתם לב שאני חובב emacs?)<br>
חובבי vi אומרים שemacs הוא מערכת הפעלה שלמה שכל מה שחסר בה זה עורך טקסט טוב.
הכי טוב להכיר את שניהם אם כי בבטא emacs הוא העורך העיקרי שעובדים איתו.
===ed===
אד הוא עורך הטקסט העתיק ביותר. כל כך עתיק שבלינוקסים חדשים הוא כבר לא נמצא וצריך להתקין אותו.
<syntaxhighlight lang = "Bash">
apt-get install ed
</syntaxhighlight>
יש משהו שצריך להבין לגבי אד - הוא הומצא לפני שהמציאו את המסך. כן, בתקופה שדינוזאורים ראו מה יוצא מהמחשב בעזרת מדפסת בלבד. לכן אד שונה מכל עורך טקסט שאתם מכירים. הוא כמו הקוף שממנו התפתח vi. אבל הוא מגניב אש לנינג'ות, בין השאר בגלל שהתאום שלו, sed עובד בדיוק עם אותן פקודות, אבל בצורה אוטומטית. וגם בשביל להגיד לאנשי לינוקס ותיקים "כן, אני עובד עם אד" ולראות איך הצעירים יותר מגלים שיש להם חור בהשכלה, והזקנים יותר אומרים "וואו".
אז בואו נעשה סיור קטן אצל אד, ונזכור שכמו כל תוכנת יוניקס ותיקה, אם הפקודה הצליחה, אד לא יגיד לך כלום:
<syntaxhighlight lang = "Bash">
ed test_file
</syntaxhighlight>
חוץ מלהגיד לך כמה שורות יש בקובץ, אד לא הולך להגיד לך כלום.
את שאר טכניקת העבודה ניתן ללמוד [http://blog.sanctum.geek.nz/actually-using-ed/ בבלוג של טום ריידר], או ישירות מ[http://www.gnu.org/software/ed/manual/ed_manual.html המדריך הרשמי לed].
אם רוצים לצאת, כותבים q.
אם שיניתם את הקובץ, בדיוק כמו vi הוא יסרב לצאת (אבל בניגוד לvi הוא ינפנף לך בסימן שאלה שלו).
אז כותבים Q, והוא יוצא בלי להתווכח.
כי [http://www.gnu.org/fun/jokes/ed-msg.html אד הוא עורך הטקסט הסטנדרטי].
==עבודה במקביל ושליטה בתהליכים==
===CTRL-C===
נניח שתוכנה כלשהי עובדת בטרמינל וצריך לעצור אותה כי היא רצה כבר יותר מדי זמן. בשביל זה לוחצים CTRL-C. זה הורג את התוכנה שכרגע פועלת.
===CTRL-Z, bg===
נניח שפתחנו emacs ועכשיו אנחנו רוצים להשתמש בטרמינל מבלי לסגור את emacs. בעיה, הטרמינל מחכה שemacs יסיים.
במקרה כזה לוחצים CTRL-Z בטרמינל, והתוכנה שרצה "נרדמת", ומאפשרת לנו להשתמש בטרמינל.
אם נריץ את הפקודה
<syntaxhighlight lang = "Bash">
fg
</syntaxhighlight>
התוכנה שנרדמה תתעורר (תעבור לforeground) ותחזור לפעולה. ותחסום שוב את הטרמינל.
אבל אם במקום זה נריץ את הפקודה:
<syntaxhighlight lang = "Bash">
bg
</syntaxhighlight>
התוכנה שנרדמה תחזור לפעול ברקע (background). אז יהיה אפשר לעבוד איתה ועם הטרמינל במקביל.
===&===
ואת כל זה היה אפשר למנוע אם מראש היינו מריצים את emacs ברקע, ככה:
<syntaxhighlight lang = "Bash">
emacs &
</syntaxhighlight>
==shell scripting==
shell script זה סוג של תוכנה שכתובה בשפה מיוחדת ובנויה כמו לגו - זה למעשה תסריט שאומר להרבה תוכנות אחרות מה לעשות בצורה אוטומטית.
הshell הרבה יותר חזקה ממה שאתם חושבים. אפשר ממש לבנות שם תוכנות שמדביקות המון כלים ועושות דברים כמו עריכה אוטומטית של טקסט, עריכת וידאו, הורדה אוטומטית של דברים מהאינטרנט, וכל דבר שבא לכם. קוראים לזה scripting, כתיבת "תסריטים". אמנם יש כיום שפות סקריפט טובות יותר, כמו python או PHP, אבל עדיין כדאי לדעת את הבסיס של bash scripting, כי זה יאפשר לכם לעשות דברים מאוד במהירות וביעילות, ולהכיר כלים מאוד מועילים.
יש [http://penguin.org.il/%D7%9E%D7%93%D7%A8%D7%99%D7%9B%D7%99%D7%9D/%D7%AA%D7%9B%D7%A0%D7%95%D7%AA_%D7%A2%D7%9D_bash מדריך טוב בעברית על bash scripting באתר הפינגוין].
===דוגמה לסקריפט: איך זורקים את רשימת כל הקבצים שבתיקיית הבית אל תוך קובץ===
נגיד, לדוגמה, שאנחנו רוצים לשמור את רשימת כל הקבצים שיש לנו בתיקיית הבית, כדי שאם יימחק לנו קובץ בטעות, נדע שהוא פעם היה שם.
אז נכתוב סקריפט של שורה אחת, שמייצר את רשימת כל הקבצים בתיקיית הבית שלנו, וכותב אותה לתוך קובץ.
אנחנו כבר יודעים לראות את כל הקבצים בתיקיית הבית:
<syntaxhighlight lang = "Bash">
ls ~
</syntaxhighlight>
אבל איך מכניסים את זה לתוך קובץ, נגיד הקובץ foo.txt?<br>
התשובה היא חץ:
<syntaxhighlight lang = "Bash">
ls ~ > foo.txt
</syntaxhighlight>
החץ המשולש לוקח את מה שיצא מהפקודה (ls במקרה שלנו) ושופך את זה ישר לתוך קובץ (שבמקרה שלנו קראנו לו foo.txt). הוא אפילו מייצר את הקובץ אם הוא לא קיים.<br>
אם נסתכל עכשיו בקובץ foo.txt:
<syntaxhighlight lang = "Bash">
cat foo.txt
</syntaxhighlight>
נראה שם את כל מה שיש בתוך הקובץ!
ואם כבר היה בקובץ משהו, ואנחנו רוצים רק להוסיף לו שורות בלי שיימחק לנו כל מה שהיה בו?<br>
בשביל זה יש שני חצים:
<syntaxhighlight lang = "Bash">
ls ~ >> foo.txt
</syntaxhighlight>
ואת כל זה עשינו בשורת פקודה אחת. קלי קלות.
==וזהו==
קראתם את כל המדריכים שהוזכרו כאן? אתם נינג'ות לינוקס.<br>
קפצתם על כל המדריכים שהוזכרו ועברתם רק על המדריך המהיר ועל המדריך של נחום דנציג? זה יספיק כדי להתחיל לעבוד.
'''זה הזמן לבצע את [[מבוא לתכנות של קבוצת בטא/המדריך המהיר של עופר לעבודה בלינוקס#שתי הנקודות של המדריך המהיר ללינוקס|שתי המשימות שבתחילת המדריך המהיר]], ולקבל את שתי נקודות הנסיון שהוא יכול לתת!'''
ואחרי שקיבלתם את שתי הנקודות, אפשר להמשיך עם [[מבוא לתכנות של קבוצת בטא#לתת פקודות לפינגוינים - איך עובדים בלינוקס|הבטא-ספר]].
[[קטגוריה:מבוא לתכנות של קבוצת בטא]]
[[קטגוריה:לינוקס]]
dbz8k49rk6t4uxdqp5l6c5xg6ttpdww
התמודדות עם טראומה ומצבי חירום/משבר כנקודת צמיחה
0
29274
167302
166996
2022-07-19T19:03:15Z
45.80.90.34
wikitext
text/x-wiki
משבר - בסין יש הבחנה בין שני סוגים של אתגרים - משבר הוא "ווי" דייהנו סכנה קריטית וג'י היא הזדמנות. בעברית משבר הוא מקום בו ישבו בנות ישראל בעת לידה וברגע שהיולדת מביאה ילד לעולם היא גם מתאבלת כי אם לא הייתה יולדת היו בה שני ילדים.
צמיחה פוסט טאטומתית :
* אפשרי באמצעות הבניה מחדש ומתן מהות לטראומה.
* צמיחה מקובלת בחלק מהפוסט טראומה, למשל במקרים של סרטן, אך בתהליכים אחרים יכול להיות שיפוטית אל הפרט.
* טרנספורמציה הוא תהליך יצירה של אני חדש, תהליך צמיחה אחרי אובדן, אשר יכול לכלול גם שינוי אופי. שלביה:
** התקופה שקדמה לאירוע
**קריאה - אירוע ואיבוד שליטה
** האינקובציה - התקופה בה יש שכול. האדם מחכה למשמעות וכיוון, צורך להתנתק מסיפור חייו הקודם שמלווה לעיתים בחרדה, בדיכאון ותסמיני PTSD
** חיפוש משמעות - הרהור, בנייה מחדש.
** שלב החלטות
** אינטגרציה - תזוזה לחיים חדשים
* לרב נשים חוות צמיחה מטראומה יותר מגבר.
מאפינים של אנשים שעברו צמיחה PSTD: בעלי חשיבה מורכבת, אופטימים ומלאי תקווה, יצירתים ופתוחים לנסות, צעירים יחסית וגמישים.
הקשר בין חוסן לצמיחה PSTD:
*אנשים בעלי חוסן בנוני מדווחים על צמיחה רבה.
* אנשים בעלי חוסן נמוך מדווחים על שינויים שלילים.
* אנשים בעלי חוסן גבוה לא יושפעו מהטראומה.
תוצאות מבורכות בעקבות טראומה:
# יצירת משמעות לחיים גורמת לתחושה שהזמן מוגבל ויש לחיות את הרגע
# הערכה גבוה של החיים
# יחסים בינאישיים משמעותים יותר
# הכרה והגברה של החוסן האישי
# שינוי סדר עדיפות
#חיים רוחנים עשירים יותר (האמנם?)
#* SSS
#** Self - התפתחות עצמית
#**spirit - חיבור לכוח עליון
#** serive - התעוררות ורצון לעזור לזולת
[[קטגוריה:התמודדות עם טראומה ומצבי חירום]]
tu7idw1islht6bytigbda1eciwyynkf