שם בסיס ושם שם: שתי פקודות שכדאי שתכירו

פקודות לינוקס של מעטפת מסוף

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

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

לשם מה הם נועדו

פקודות אלה הן בסיסיות מאוד, ו תפקידיה צליל:

  • שם בסיס: משמש לחילוץ שם הקובץ מנתיב.
  • שם הדירוג: משמש לחילוץ שם הספריה מנתיב.

דוגמאות לשימוש

כאן תוכלו לראות כמה דוגמאות כיצד להשתמש בהם:

  • לדוגמא, להשתמש שם בסיס עם / etc / passwd, ושהוא מחזיר את שם הקובץ בפלט שלו, במקרה זה passwd:
basename /etc/passwd

  • אתה יכול גם לציין תוספת כך שייתן לך את שם הקובץ ללא הסיומת. לדוגמה, נניח שרציתם לחלץ את שם התמונה /home/media/test.jpg ללא סיומת jpg (היא תחזור prueba):
basename -s .jpg /home/media/prueba.jpg

  • אתה יכול אפילו לעבד מספר מסלולים בו זמנית בנפרד, לשם כך עליך להשתמש באפשרות -a:
basename -a /etc/passwd /var/log/boot.log

  • כדי לעשות את ההפך ולתת לך את שם הספרייה, ללא שם הקובץ, עליך להשתמש שם הדירוג. לדוגמא, אם ברצונך להשתמש בו בנתיב /var/spool/mail/test.txt ויש להחזיר אותו / var / spool / mail, ואז השתמש ב:
dirname /var/spool/mail/prueba.txt

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

pathname="/home/usuario/data/fichero"

result=$(dirname "$pathname")

echo $result

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

/*script para convertir una imagen gif en png*/

#!/bin/sh
for file in *.gif;do
    #Salir si no hay ficheros
    if [! -f $file];then
        exit
    fi
    b='basename $file .gif'
    echo NOW $b.gif is $b.png
    giftopnm $b.gif | pnmtopng >$b.png
done


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   גרגורי רוז דיג'ו

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