כיצד להשיג את גודל המדריך בלינוקס

How Get Size Directory Linux



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

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







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



לכן, ls -s אינו שימושי להשגת גודל ספרייה. איזו פקודה שימושית? - הפקודה דו. du מייצג שימוש בדיסק. הוא מדפיס את השימוש בדיסק של הספרייה.



מאמר זה מסביר את התכונות השונות של הפקודה du ב- Linux, המספקת למתכנתים דרכים שונות לדעת את גודל הספריות וספריות המשנה שלהן. Bash היא הקליפה המשמשת לדגימות הקוד של מאמר זה.





תוכן המאמר

du ללא אופציה או טיעון

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



שֶׁל

ולאחר מכן לחיצה על מקש Enter תציג את השימוש בדיסק עבור כל ספריות המשנה של ספריית העבודה הנוכחית. הוא יציג מידע זה עבור עץ המשנה של ספריית העבודה הנוכחית. נקודה בתצוגה מייצגת את ספריית העבודה הנוכחית.

כל נתיב של עץ המשנה מיוצג בשורה, בתצוגה. כל שורה מתחילה בגודל הספרייה (שהיא שם המשפחה בנתיב). התצוגה עשויה להיות משהו כמו:

8./dir1/dir2/dir3/dir4

12./dir1/dir2/dir3

16./dir1/dir2

עשרים./dir1

שים לב שלא ברור אם הגודל הוא בייט או קילובייט או מגה בייט או ג'יגה. קילוביטים של סמל, K פירושו 1024 בתים; מגה בייט של סמל, M פירושו 1,048,576 בתים; גיגה בייט של סמל, G פירושו 1,073,741,824 בתים. על מנת להצביע על הכפילים, יש להשתמש באפשרות -h (מתג), כדלקמן:

שֶׁל

לאחר מכן התצוגה תיראה כך:

8.0K./dir1/dir2/dir3/dir4

12K./dir1/dir2/dir3

16K./dir1/dir2

20K./dir1

כאשר משתמשים באפשרות -h, אומרים שהגדלים הם בצורה קריאה.

הערה: עם האפשרות –all, הפקודה du תיתן גם שימוש בדיסק לקבצים; עם זאת, שימוש בדיסק לקבצים לא יטופל במאמר זה.

גודל מדריכים אחרים

נתיב מוחלט אופייני עבור אמצעי אחסון לינוקס הוא כדלקמן:

/בית/ג'ון/אמר/dirTwo/dirThree/dirFour

ספריית השורש הראשונה / היא. בספרייה זו יש ספריות משנה מיידיות, כולל ספריית הבית. ספריית הבית מכילה את ספריית המשתמש. אם שם המשתמש הוא ג'ון, הוא יכול לתת שם לספריית המשתמש, ג'ון. ספריית המשתמש מזוהה על ידי ~. לכן, המשתמש יכול להשתמש בפקודה cd ~ כדי להגיע לספרייה שלו מכל ספרייה. dirOne היא ספרייה שנוצרה על ידי המשתמש. המשתמש יכול גם ליצור ספריות אחרות ברמה זו. dirTwo, dirThree ו- dirFour הן ספריות משנה לספריות הקודמות שלהן, שנוצרו על ידי המשתמש.

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

/בית/ג'ון/אמר/dirTwo

אז הפקודה תהיה:

שֶׁל /בית/ג'ון/אמר/dirTwo

אוֹ

שֶׁל ~/אמר/dirTwo

כאשר ~ מייצג את ספריית המשתמש.

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

ג'ון@מארח: ~/תגיד $

כלומר המשתמש נמצא בספרייה,/home/john/dirOne, אז הפקודה הבאה תיתן את אותה התוצאה כמו הפקודה למעלה:

שֶׁל dirTwo

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

ניתן להשתמש בתוכנית זו כדי לקבל את הגודל של ספרייה אחת בלבד, האחרונה בנתיב (לפני הנתיב). אפשר לקבל את גודל הספרייה באמצע הנתיב - ראה exclude = PATTERN להלן.

סכום סופי

ניתן לייצר גודל כולל של כל המדריכים המעורבים. במצב הנ'ל הפקודה תהיה:

שֶׁל --סה'כ

גודל לכאורה

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

שֶׁל -בגודל המראהdirTwo

עומק מקסימלי

עם –max-depth = 0, du מדפיס את הגודל של ספריית העבודה הנוכחית בלבד; עם du –max-depth = 1, du מדפיס את גודל ספריית העבודה הנוכחית ואת הגדלים של כל ספריות המשנה ברמה הראשונה שלה; עם –max-depth = 2, du מדפיס את הגודל של ספריית העבודה הנוכחית ואת הגדלים של כל ספריות המשנה ברמה הראשונה שלה, ושל כל ספריות המשנה ברמה השנייה; עם –max-depth = 3, du מדפיס את גודל ספריית העבודה הנוכחית ואת כל ספריות המשנה ברמה הראשונה שלה, וכל ספריות המשנה ברמה השנייה שלה, ומכל ספריות המשנה ברמה השלישית; זה ממשיך עם עליית הערך של עומק מקסימלי. דוגמה לשימוש בו היא:

שֶׁל --מקסימום עומק=2

פקודת סודו

אחת הספריות עם ספריות המשנה שלה בספריית השורש היא var. אם המשתמש מקליד

שֶׁל /איפה

ולוחץ על Enter, הוא יבין כי הרשאה נשללת לכמה ספריות. כלומר, הוא אינו יכול לדעת את הגודל של כמה ספריות. ההרשאה נדחית מכיוון שהמשתמש אינו משתמש העל. למשתמש העל יש את הזכות לראות את הגדלים (שימוש בדיסק) של אותן ספריות. לכן, על מנת שהמשתמש ירכוש את ההרשאה הזו, עליו להשתמש בפקודת sudo כדלקמן:

סודו שֶׁל /איפה

אם הקליפה מבקשת מהמשתמש את הסיסמה שלו, על המשתמש להקליד את הסיסמה וללחוץ על Enter. באמצעות הפקודה sudo, המשתמש הרגיל (מתכנת) יכול לראות את הגדלים של כל הספריות בספריית var ובספריות דומות.

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

האפשרות – threshold = SIZE לא תאפשר רישום ספריות שגודלן קטן מ- SIZE. בשביל השביל,

/בית/ג'ון/אמר/dirTwo/dirThree/dirFour

עם ההנחיה ב[מוגן בדוא'ל]: ~ $, אם כך

שֶׁל --מפתן= 12K dirOne

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

–Exclude = PATTERN

אפשרות וערך זה יכולים להשמיט שורות ספריות שהמשתמש אינו מעוניין בהן ברישום.

כדי להשמיט את השורה של הספרייה האחרונה, dirFour של הנתיב

/בית/ג'ון/אמר/dirTwo/dirThree/dirFour

הפקודה צריכה להיות:

שֶׁל -לא לכלול= להגיד/dirTwo/dirThree/dirFour dirOne

התוצאה תהיה בערך,

4.0K dirOne/dirTwo/dirThree

8.0K dirOne/dirTwo

12K dirOne

הערה: הגדלים לא כללו את גודל מדריך הרמות האחרון (dirFour) של הנתיב.

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

שֶׁל -לא לכלול= להגיד/dirTwo/dirThree dirOne

הפלט יהיה בערך,

4.0K dirOne/dirTwo

8K dirOne

הערה: הגדלים לא כללו את הגדלים של מדריכי הידית התחתונה של העץ.

שקול שוב, את הקישור המוחלט,

/בית/ג'ון/אמר/dirTwo/dirThree/dirFour

הפקודה הבאה תקבל את השימוש בדיסק רק בספריית dirTwo, שהיא ספרייה בתוך הנתיב. הפקודה היא:

שֶׁל -לא לכלול=/בית/ג'ון/אמר/dirTwo/ * /בית/ג'ון/אמר/dirTwo

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

5.0K/בית/ג'ון/אמר/dirTwo

סיכום

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