האם רשימה רק ספריות היא רקורסיבית בלינוקס?

Is List Only Directories Recursively Linux



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

דוגמאות למדריכי רשימה פשוטה

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







$ ls -l



כדי לפרט את כל הספריות והקבצים בתוך מערכת הלינוקס שלך, עליך להשתמש -la במקום פשוט -l בפקודת list. לפיכך, בצע את הפקודה המעודכנת לשם כך. הפלט מציג את כל הקבצים והתיקיות יחד עם המידע הנוסף שלהם.



$ ls -la





כדי פשוט לרשום את הספריות ללא מידע נוסף, נסה את הפקודה שלהלן ואחריה הדגל -d.

$ ls –d * /



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

$ ls –l –d * /

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

$ ls –l | egrep –v ‘^ d’

דוגמה לרישום ספריות באופן רציף

ישנם סוגים שונים של פקודות רקורסיביות הזמינות במערכות לינוקס, שניתן להשתמש בהן כדי לרשום את הספריות רקורסיביות. כדי להבין כל אחד מהם בנפרד, נניח שיש לך 5 קבצים בספריית Linux שלך בשם Documents.

רשום רקורסיבית באמצעות דגל -lR

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

$ ls -lR

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

$ ls –lR / home / aqsayasin / Documents /

רשום רקורסיבית באמצעות פקודת Find

הבהיר לעצמך שלא לכל מערכות לינוקס, למשל, macOS, מערכת הפעלה דמוית יוניקס, יש את האפשרות להשתמש ב- -R לרישום הספריות. במקרה זה, ישנן פקודות אחרות הזמינות למלא את צרכינו והן פקודת האיתור וההדפסה. בפקודה זו, אנו נותנים נתיב לתיקייה יחד עם המינוף של שימוש בפקודה -ls. כאשר -ls נמצא בשימוש בפקודה, פירוש הדבר שהוא יציג גם את המידע הנוסף לגבי הקבצים והתיקיות המתגוררים בספרייה ספציפית. נסה את הפקודה שלהלן המופיעה במעטפת כדי לרשום רקורסיבית את כל הקבצים והתיקיות של מסמכי המסמכים.

$ find/home/aqsayasin/Documents/-print -ls

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

$ find/home/aqsayasin/Documents/-print

רשום רקורסיבית באמצעות הפקודה -du

בואו נסתכל על דוגמה נוספת לרישום רקורסיבי של הקבצים או הספריות בשיטה חדשה נוספת. הפעם נשתמש בפקודה -du כדי להשיג את מטרתנו. פקודה זו מכילה בתוכה את הדגל -a. יחד עם הדגלים, עלינו לציין גם את מיקום הספרייה. תן לנו לבצע את ההוראה שלהלן במעטפת הטרמינל כדי לרשום רקורסיבית את כל התיקיות או הקבצים של מסמכי הספרייה. הפלט מציג את 5 הרשומות עבורו, כפי שמוצג להלן. אתה יכול לראות פקודה זו מציגה גם את מספר הנשיכות הנמצאות בכל קובץ.

$ du –a / home / aqsayasin / Documents /

רשום רקורסיבי באמצעות פקודת עץ

אחרון חביב, יש לנו שיטת פקודת עץ פשוטה וקלה מאוד לרישום רקורסיבי של הקבצים או התיקיות. לא נשתמש בדגל כלשהו בפקודה זו עד כה. עליך לציין את מיקום הספרייה יחד עם עץ מילת המפתח. תן לנו דוגמה לכך באמצעות הפקודה המופיעה למטה. הפלט מציג את פלט הסוג המסועף של העץ של ספריית המסמכים. הוא מציג 0 ספריות ו -5 קבצים בפלט.

$ tree/home/aqsayasin/Documents/

ננסה את אותה פקודת עץ עם מיקום אחר. הפעם אנו מפרטים רקורסיבית את התיקיות של ספריית 'הבית' של המשתמש aqsayasin. הפלט מציג את ענפי תיקיית הבית הכוללים 14 תיקיות שונות, תיקיות משנה ו -5 קבצים.

$ tree/home/aqsayasin/

סיכום

ניסינו את כל השיטות הרקורסיביות כדי לרשום רקורסיבית את הספריות והקבצים, למשל, -lR flag, find and print, du ו- tree command