Skip to main content

כיצד ליצור ספריות בלינוקס עם הפקודה 'mkdir'

מדריך טרמינל לינוקס למתחילים - פרק 5 (אַפּרִיל 2025)

מדריך טרמינל לינוקס למתחילים - פרק 5 (אַפּרִיל 2025)
Anonim

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

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

כיצד ליצור מדריך חדש

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

mkdir

לדוגמה, אם אתה רוצה ליצור ספרייה תחת תיקיית הבית שלך נקרא מבחן, לפתוח חלון מסוף ולוודא שאתה בתיקייה הביתית שלך (השתמש הפקודה cd ~).

בדיקת mkdir

שינוי הרשאות של המדריך החדש

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

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

ll-lt

רוב הסיכויים יהיה לך משהו לאורך שורות אלה:

drwxr-xr-x 2 קבוצת הבעלים 4096 9 מרס 19:34 הבדיקה

את הקטעים אנחנו מעוניינים הםבעל drwxr-xr-xו קבוצה

D אומר לנו כי הבדיקה היא ספרייה.

שלושת התווים הראשונים לאחר הד 'הם הרשאות הבעלים של הספריה שצוין על ידי שם הבעלים:

  • r עומד לקריאה
  • w עומד לכתוב
  • x מייצג לבצע (אשר במקרה זה אומר שאתה יכול לגשת לתיקיה)

שלושת התווים הבאים הם הרשאות הקבוצה עבור הקובץ שצוין על ידי שם הקבוצה. שוב האפשרויות הן r, w ו- x. כלומר - יש אישור חסר. בדוגמה שלמעלה, כל מי ששייך לקבוצה יכול לגשת לתיקיה ולקרוא את הקבצים אך לא יכול לכתוב לתיקייה.

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

כדי לשנות את ההרשאות עבור קובץ או תיקיה שבהם אתה יכול להשתמשchmodפקודה. הפקודה chmod מאפשרת לך לציין 3 מספרים אשר קובעים את ההרשאות:

  • הרשאות קריאה = 4
  • הרשאות כתיבה = 2
  • לבצע הרשאות = 1

כדי לקבל תערובת של הרשאות אתה מוסיף את המספרים יחד. לדוגמה, כדי לקבל הרשאות קריאה וביצוע המספר הרצוי הוא 5, כדי לקבל הרשאות קריאה וכתיבה המספר הוא 6 וכדי לקבל לכתוב ולהפעיל הרשאות המספר הוא 3.

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

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

הבדיקה 750 chmod

אם ברצונך לשנות את שם הקבוצה שבבעלותה תיקיה, השתמש בפקודה chgrp.

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

ראשית, צור את חשבונות הקבוצה על ידי הקלדת הפרטים הבאים:

חשבו קב

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

כעת באפשרותך לשנות את הקבוצה עבור תיקיה על ידי הקלדת הפרטים הבאים:

חשבונות chgrp

לדוגמה:

בדיקת חשבונות

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

מבחן 770 chmod

כדי להוסיף משתמש לקבוצת החשבונות, קרוב לוודאי שתרצה להשתמש בפקודה הבאה:

חשבונות usermod -a -G

הפקודה הנ"ל מוסיפה את קבוצת החשבונות לרשימת הקבוצות המשניות שאליהן יש למשתמש גישה.

כיצד ליצור מדריך ולהגדיר הרשאות באותו זמן

באפשרותך ליצור ספריה ולהגדיר את ההרשאות עבור ספריה זו בו-זמנית באמצעות הפקודה הבאה:

mkdir -m777

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

יצירת תיקיה וכל ההורים הנדרשים

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

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

  • / home / music / rock / alicecooper
  • / home / music / rock / queen
  • / home / music / rap / drdre
  • / home / music / jazz / louisjordan

זה יהיה מרגיז כדי ליצור את התיקייה רוק, ואז את אליס קופר תיקייה המלכה ולאחר מכן ליצור את תיקיית הראפ ואת תיקיית dre dr ולאחר מכן את תיקיית הג 'אז ולאחר מכן את התיקייה louisjordan.

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

mkdir -p

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

mkdir -p ~ / music / rock / alicecooper

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

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

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

mkdir -v

הפלט יהיה לאורך שורותmkdir: נוצר ספריה / נתיב / אל / directoryname.

באמצעות "mkdir" ב Shell סקריפט

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

#! / bin / bash mkdir $ @ cd $ @ touch hello

השורה הראשונה צריכה להיכלל בכל סקריפט שאתה כותב והוא משמש כדי להראות כי זה אכן סקריפט BASH.

הפקודה "mkdir" משמשת ליצירת תיקיה. "$ @" (הידוע גם בשם פרמטרים קלט) בסוף השורה השנייה והשלישית מוחלף עם הערך שציינת בעת הפעלת התסריט.

הפקודה "cd" משתנה לספרייה שציינת, ולבסוף פקודת המגע יוצרת קובץ ריק בשם "שלום".

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

  1. פתח חלון מסוף (הקש Alt ו- T צריך לעשות זאת)
  2. להיכנס ננו
  3. הקלד את הפקודות לעיל לתוך העורך
  4. שמור את הקובץ על-ידי הקשה על CTRL ו- O בו-זמנית
  5. צא מהקובץ על-ידי הקשה על CTRL ו- X בו-זמנית
  6. שנה את ההרשאות על ידי הקלדה chmod + x
  7. הפעל את התסריט על ידי הקלדת ./createhellodirectory.sh הבדיקה

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

עד כה כל כך טוב אבל עכשיו לנסות לרוץ שלב 7 שוב.

  1. תופיע שגיאה המציינת שהתיקייה כבר קיימת.

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

#! / bin / bash mkdir-$ $ @ cd $ @ גע ב- hello

אם תציין את -P כחלק מפקודת mkdir אז זה לא יהיה שגיאה אם ​​התיקייה כבר קיימת, אבל אם היא לא קיימת היא תיצור את זה.

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

תארו לעצמכם את משפט המגע הוחלף בהצהרת הד אשר כותבת טקסט לקובץ כדלקמן:

#! / bin / bash mkdir -p $ @ cd $ @ echo "שלום" >> שלום

אם אתה מפעיל את הפקודה. / .Createhellodirectory.sh הבדיקה "שוב ושוב את האפקט יהיה כי הקובץ שנקרא" שלום "במדריך הבדיקה יגדל גדול יותר עם יותר ויותר שורות עם המילה" שלום "בו.

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

#! / bin / bash mkdir $ @ 2> / dev / null; אם $? -q 0; ולאחר מכן cd $ @ הד "שלום" >> יציאה שלום Fi

התסריט הנ"ל היא השיטה המועדפת שלי לטיפול ביצירת תיקיות. הפקודה mkdir יוצרת את התיקייה אשר מועברת כפרמטר קלט אבל כל פלט השגיאה נשלח ל / dev / null (אשר בעצם אומר בשום מקום).

השורה השלישית בודקת את מצב הפלט של הפקודה הקודמת שהיא ההצהרה "mkdir", ואם היא תצליח היא תבצע את ההצהרות עד להצהרה "Fi".

זה אומר שאתה יכול ליצור את התיקייה ולבצע את כל הדברים שאתה רוצה אם הפקודה היא מוצלחת. אם אתה רוצה לעשות משהו אחר אם הפקודה לא הצליחה אז אתה יכול פשוט להזין משפט אחר כדלקמן:

#! / bin / bash mkdir $ @ 2> / dev / null; אם $? -q 0; ולאחר מכן $ @ הד "שלום" >> helloexitelsecd $ @ הד "שלום"> helloexitfi

בתסריט הנ"ל, אם ההצהרה mkdir עובד אז ההצהרה שולחת את המילה "שלום" לסוף הקובץ שנקרא "שלום", ואילו אם זה לא קיים קובץ חדש ייקרא "שלום" עם המילה " שלום ".

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