במאמר זה, RHCSA חלק 2: ניהול קבצים ותיקיות, נבחן כמה מיומנויות חיוניות שנדרשות במשימות היומיומיות של מנהל מערכת.

יצירת, מחיקת, העתקת קבצים ותיקיות
ניהול קבצים ותיקיות הוא יכולת בסיסית שכל מנהל מערכת צריך לפקח עליה. זה כולל את היכולת ליצור / למחוק קבצי טקסט מאפס (ליבת התצורה של כל תוכנית) ותיקיות (המקום שבו תארגנו קבצים ותיקיות אחרות), ולגלות את סוג הקבצים הקיימים.
הפקודה touch יכולה לשמש לא רק ליצירת קבצים ריקים, אלא גם לעדכן את זמני הגישה והשינוי של קבצים קיימים.

ניתן להשתמש ב־file [שם קובץ]
כדי לקבוע את סוג הקובץ (דבר שיעזור לך לפני שתפעיל את עורך הטקסט המועדף עליך לעריכתו).

וב־rm [שם קובץ]
כדי למחוק אותו.

לגבי תיקיות, תוכל ליצור תיקיות בתוך נתיבים קיימים באמצעות mkdir [תיקייה]
או ליצור נתיב מלא באמצעות mkdir -p [/נתיב/מלא/לתיקייה]
.

כאשר מדובר בהסרת תיקיות, עליך לוודא שהן ריקות לפני שתפעיל את הפקודה rmdir [תיקייה]
, או להשתמש באפשרות העוצמתית יותר (חשוב להתייחס אליה בזהירות!) rm -rf [תיקייה]
. האפשרות האחרונה תסיר באופן כפוי את ה־[תיקייה]
ואת כל התוכן שלה – אז השתמש בה על אחריותך.
הפניית קלט ופלט וצינורות
הסביבת שורת הפקודה מספקת שני תכונות מאוד שימושיות שמאפשרות להפנות את הקלט ואת הפלט של פקודות מקבצים ולשלוח את הפלט של פקודה אחת לאחרת, הנקראות הפניה וצינור, בהתאמה.
כדי להבין את שני המושגים החשובים הללו, עלינו תחילה להבין את שלושת סוגי הזרימות של קלט ופלט (Input and Output) החשובים ביותר, שהם למעשה קבצים מיוחדים, במובן של *nix למילה.
- קלט סטנדרטי (נקרא גם stdin) מחובר כברירת מחדל למקלדת. כלומר, המקלדת היא התקן קלט סטנדרטי להזנת פקודות לשורת הפקודה.
- פלט סטנדרטי (נקרא גם stdout) מחובר כברירת מחדל למסך, התקן ש"מקבל" את הפלט של פקודות ומציג אותן על המסך.
- שגיאה סטנדרטית (נקרא גם stderr), היא המקום שבו שליחת הודעות מצב של פקודה נשלחת לכברירת מחדל, שהוא גם המסך.
בדוגמה הבאה, הפלט של ls /var
נשלח אל stdout (המסך), כמו גם תוצאת ls /tecmint. אך במקרה האחרון, זה stderr שמוצג.

כדי לזהות בקלות יותר את קבצים המיוחדים אלו, כל אחד מהם מקבל מזהה קובץ, המייצג הצגה מופשטת המשמשת לגישה אליהם. הדבר החיוני להבנתו הוא שקבצים אלו, בדומה לקבצים אחרים, ניתנים להפניה. מה שזה אומר הוא שניתן לכובות את הפלט מקובץ או סקריפט ולשלוח אותו כקלט לקובץ אחר, פקודה או סקריפט אחר. זה יאפשר לך לאחסן בדיסק, לדוגמה, את הפלט של פקודות לצורך עיבוד או ניתוח מאוחר יותר.
כדי להפנות את stdin (fd 0), stdout (fd 1) או stderr (fd 2), זמינים האופרטורים הבאים.
Redirection Operator | Effect |
> | Redirects standard output to a file containing standard output. If the destination file exists, it will be overwritten. |
>> | Appends standard output to a file. |
2> | Redirects standard error to a file containing standard output. If the destination file exists, it will be overwritten. |
2>> | Appends standard error to the existing file. |
&> | Redirects both standard output and standard error to a file; if the specified file exists, it will be overwritten. |
< | Uses the specified file as standard input. |
<> | The specified file is used for both standard input and standard output. |
להפניה, בניגוד לזאת, פייפליינינג מבוצע על ידי הוספת סרגל אנכי (|)
אחרי פקודה ולפני פקודה נוספת.
זכור:
- הפניה משמשת לשליחת הפלט של פקודה לקובץ, או לשליחת קובץ כקלט לפקודה.
- פייפליינינג משמש לשליחת הפלט של פקודה לפקודה אחרת כקלט.
דוגמאות לפינות ופייפליינינג
דוגמה 1: להפנית הפלט של פקודה לקובץ
יהיו פעמים שתצטרך לעבור על רשימת קבצים. כדי לעשות זאת, ניתן לשמור תחילה את הרשימה הזו בקובץ ולקרוא לאחר מכן את הקובץ הזה שורה אחר שורה. אם כן נכון שניתן לעבור ישירות על תוצאת ls, דוגמה זו משמשת להמחיש הפניה.
# ls -1 /var/mail > mail.txt

דוגמה 2: להפנית גם את stdout וגם את stderr אל /dev/null
במקרה שברצוננו למנוע משני הפלטים הסטנדרטיים והשגיאה להופיע על המסך, אנו יכולים להפנות את שני סמלי הקובץ אל /dev/null
. שימו לב לכיצד הפלט משתנה כאשר מימוש ההפניה בוצע עבור אותה פקודה.
# ls /var /tecmint # ls /var/ /tecmint &> /dev/null

דוגמה 3: שימוש בקובץ כקלט לפקודה
בעוד התחביר הקלאסי של פקודת cat הוא כדלקמן.
# cat [file(s)]
תוכל גם לשלוח קובץ כקלט, באמצעות אופרטור ההפניה הנכון.
# cat < mail.txt

דוגמה 4: שליחת פלט של פקודה כקלט לפקודה אחרת
אם יש לך רישומים גדולים של תיקיות או תהליכים וברצונך להיות מסוגל לאתר קובץ או תהליך מסוים במבט אחד, תרצה לשלוף את הרישום ל-grep
.
שימו לב שאנו משתמשים בשני צינורות בדוגמה הבאה. הראשון מחפש את המילת מפתח הנדרשת, בעוד השני יסיר את פקודת ה-grep
בפועל מהתוצאות. דוגמה זו מפרטת את כל התהליכים המשוייכים למשתמש apache.
# ps -ef | grep apache | grep -v grep

Source:
https://www.tecmint.com/file-and-directory-management-in-linux/