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

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

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

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

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

mkdir <שם משתמש>

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

בדיקת mkdir

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

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

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

ll-lt

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

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

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

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

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

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

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

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

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

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

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

הבדיקה 750 chmod

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

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

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

חשבו קב

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

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

חשבונות chgrp <שם משתמש>

לדוגמה:

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

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

מבחן 770 chmod

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

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

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

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

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

mkdir -m777 <שם משתמש>

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

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

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

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

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

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

mkdir -p <שם משתמש>

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

mkdir -p ~ / music / rock / alicecooper

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

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

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

mkdir -v <שם משתמש>

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

שימוש ב- & # 34; mkdir & # 34; ב Shell סקריפט

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

#! / bin / bash

mkdir $ @

cd $ @

גע

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

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

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

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

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

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

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

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

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

#! / bin / bash

mkdir -p $ @

cd $ @

גע

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

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

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

#! / bin / bash

mkdir -p $ @

cd $ @

הד "שלום" >> שלום

אם אתה מפעיל את הפקודה. / .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]; לאחר מכן
cd $ @
הד "שלום" >> שלום
יְצִיאָה
אַחֵר
cd $ @
הד "שלום"> שלום
יְצִיאָה
Fi

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

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