הבנת הפקודה לינוקס: Ar

תוכנית ה- GNU יוצרת , משנה ומחלצת מארכיונים. ארכיון הוא קובץ יחיד המחזיק אוסף של קבצים אחרים במבנה המאפשר לאחזר את הקבצים המקוריים (הנקראים חברי הארכיון).

סקירה כללית

התוכן המקורי של הקבצים, מצב (הרשאות), חותמת זמן, הבעלים, ואת הקבוצה נשמרים בארכיון, והוא יכול להיות משוחזר על החילוץ.

GNU AR יכול לשמור על ארכיונים שחבריהם יש להם שמות בכל אורך; עם זאת, בהתאם לאופן ההגדרה של ar במערכת שלך, מגבלה על אורך שם המשתמש עשויה להיות מוטלת על תאימות עם פורמטים ארכיון מתוחזק עם כלים אחרים. אם הוא קיים, הגבול הוא לרוב 15 תווים (אופייניים לפורמטים הקשורים ל- a.out) או 16 תווים (אופייניים לפורמטים הקשורים לקוף).

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

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

אתה יכול להשתמש nm-s או nm - print-armap לרשימת טבלה זו אינדקס. אם ארכיון חסר את הטבלה, צורה אחרת של ar נקרא רנליב ניתן להשתמש רק כדי להוסיף את השולחן.

GNU ar נועד להיות תואם לשני מתקנים שונים. אתה יכול לשלוט על פעילותה באמצעות אפשרויות שורת הפקודה, כמו זנים שונים של ar על מערכות יוניקס ; או, אם תציין את אפשרות הפקודה -M אחת -M , תוכל לשלוט בה באמצעות סקריפט שסופק באמצעות קלט סטנדרטי, כמו תוכנית 'ספרן' של MRI.

תַקצִיר

ar [ -X32_64 ] [ - ] p [ mod [ relpos ] [ count ]] ארכיון [ חבר ...]

אפשרויות

GNU ar מאפשר לך לשלב את קוד המבצע p ודגמי mod mod בכל סדר, בתוך הארגומנט שורת הפקודה הראשונה.

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

ה- keyletter p מציין איזו פעולה לבצע; זה עשוי להיות כל אחד, אך עליך לציין רק אחד מהם:

ד

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

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

M

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

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

אם לא נעשה שימוש במשתנים עם "m", כל החברים שתציין בארגומנט החבר יועברו לקצה הארכיון; באפשרותך להשתמש במשתנים a , b או i כדי להעביר אותם למקום מסוים.

עמ '

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

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

q

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

מכפילי a , b , ו- i אינם משפיעים על פעולה זו; חברים חדשים ממוקמים תמיד בסוף הארכיון.

שינוי V עושה רשימת רשימה כל קובץ כפי שהוא מצורף.

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

עם זאת, יותר מדי מערכות שונות להניח מהיר להוסיף מחדש את המדד, כך גנו AR מיישמת "q" כמילה נרדפת "r".

ייצור

הכנס את הקבצים קבצים ... לתוך ארכיון (עם תחליף ). פעולה זו שונה מ q כי כל חברים קיימים בעבר נמחקים אם השמות שלהם תואמים את אלה שנוספו.

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

כברירת מחדל, חברים חדשים מתווספים בסוף הקובץ; אך באפשרותך להשתמש באחד מהשינויים a , b , או i כדי לבקש מיקום ביחס לחלק מהחברים הקיימים.

התכונה V ששימשה לפעולה זו יוצרת שורה של פלט עבור כל קובץ שהוכנס, יחד עם אחת האותיות a או r כדי לציין אם הקובץ צורף (לא חבר ישן נמחק) או הוחלף.

t

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

אם לא תציין חבר , כל הקבצים בארכיון רשומים.

אם יש יותר מקובץ אחד עם אותו שם (למשל, fie ) בארכיון (אומר ba ), רשימות לא מופיעות רק במקרה הראשון; כדי לראות את כולם, אתה חייב לבקש רשימה מלאה --- בדוגמה שלנו, ar t ba .

איקס

לחלץ חברים (בשם חבר ) מהארכיון. אתה יכול להשתמש V משנה עם פעולה זו, כדי לבקש רשימת ar כל שם כפי שהוא מחלץ אותו.

אם לא תציין חבר , כל הקבצים בארכיון יחולצו.

מספר מכפילים ( mod ) עשויים מיד לעקוב אחר המקש p , כדי להגדיר וריאציות על אופן הפעולה של פעולה:

א

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

הוסף קבצים חדשים לפני חבר קיים של הארכיון. אם אתה משתמש ב- b , השם של חבר ארכיון קיים חייב להיות נוכח כארגומנט relpos , לפני מפרט הארכיון . (כמו אני ).

c

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

ו

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

אני

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

l

שינוי זה מתקבל אך אינו בשימוש.

N

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

o

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

עמ '

השתמש בשם הנתיב המלא בעת התאמת שמות בארכיון. GNU ar לא יכול ליצור ארכיון עם שם נתיב מלא (ארכיונים כאלה אינם POSIX תלונה), אבל יוצרי ארכיון אחרים יכולים. אפשרות זו תגרום ל- GNU להתאים שמות קבצים באמצעות שם נתיב מלא, אשר יכול להיות נוח בעת חילוץ קובץ יחיד מארכיון שנוצר על ידי כלי אחר.

s

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

S

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

u

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

v

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

אשר

שינוי זה מציג את מספר הגירסה של ar .

ar מתעלם אפשרות ראשונית מאוית -X32_64 , עבור תאימות עם AIX. ההתנהגות המיוצרת על ידי אפשרות זו היא ברירת המחדל עבור AR GNU. ar אינו תומך באף אחת מהאפשרויות האחרות -X ; בפרט, זה לא תומך -X32 המהווה את ברירת המחדל עבור AIX ar .

חשוב: השתמש בפקודת הגבר ( % man ) כדי לראות כיצד נעשה שימוש בפקודה במחשב הספציפי שלך.