findposix - אונליין בענן

זוהי הפקודה findposix שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות החינמיות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS.

תָכְנִית:

שֵׁם


למצוא - למצוא קבצים

תַקצִיר


למצוא [−H|−L] נתיב... [ביטוי_אופרנד...]

תיאור


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

השמיים למצוא התוכנה תוכל לרדת לעומקים שרירותיים בהיררכיית קבצים ו
לא ייכשל עקב מגבלות אורך המסלול (אלא אם כן א נתיב אופרנד שצוין על ידי
האפליקציה חורגת מדרישות {PATH_MAX}).

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

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

אפשרויות


השמיים למצוא כלי השירות יתאים לנפח הגדרות הבסיס של POSIX.1-2008, סעיף
12.2, שירות תחביר הנחיות.

האפשרויות הבאות יתמכו ביישום:

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

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

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

אופרנדים


האופרנדים הבאים יהיו נתמכים:

האופרנד הראשון והאופרנדים הבאים עד אך לא כולל האופרנד הראשון ש
מתחיל עם א '-', או שהוא '!' או '(', יתפרש כ נתיב אופרנדים. אם ה-
האופרנד הראשון מתחיל ב-a '-', או שהוא '!' או '(', ההתנהגות אינה מוגדרת. כל אחת
נתיב אופרנד הוא שם הנתיב של נקודת התחלה בהיררכיית הקבצים.

האופרנד הראשון שמתחיל ב-a '-', או שהוא '!' או '(', וכל מה שבא אחריו
יש לפרש טיעונים כ- ביטוי מורכב מהפריימריז הבאים ו
אופרטורים. בתיאורים, בכל מקום n משמש כטיעון עיקרי, הוא יהיה
מתפרש כמספר עשרוני שלם שקודמו, אופציונלית, על ידי סימן פלוס ('+') או סימן מינוס ('-')
לחתום, כדלקמן:

+n יותר מ n.

n בדיוק n.

-n פחות מ n.

יש לתמוך בבחירות המקדימות הבאות:

−שם דפוס
הקוד הראשי יוערך כאמת אם שם הבסיס של שם הנתיב הנוכחי
גפרורים דפוס באמצעות סימון התאמת התבניות המתואר ב סעיף 2.13,
תבנית תואם סִמוּןהכללים הנוספים ב סעיף 2.13.3, דפוסי
משומש ל שם הקובץ הרחבה אין להחיל מכיוון שמדובר בפעולת התאמה, לא ב
הַרחָבָה.

נתיב דפוס
הפונקציה הראשית תוערך כאמת אם שם הנתיב הנוכחי תואם. דפוס באמצעות
סימון התאמת התבניות המתואר ב סעיף 2.13, תבנית תואם
סִמוּןהכללים הנוספים ב סעיף 2.13.3, דפוסי משומש ל שם הקובץ
הרחבה אין להחיל מכיוון שמדובר בפעולת התאמה, לא בהרחבה.

−נוזר הקובץ הראשי יוערך כאמת אם הוא שייך למזהה משתמש שעבורו
מה היא getpwuidפונקציית () המוגדרת בנפח System Interfaces של POSIX.1‐2008
(או שווה ערך) מחזירה NULL.

−לא קבוצה הקובץ הראשי יוערך כאמת אם הוא שייך למזהה קבוצה שעבורו
מה היא getgrgidפונקציית () המוגדרת בנפח System Interfaces של POSIX.1‐2008
(או שווה ערך) מחזירה NULL.

−xdev הראשוני תמיד יוערך כנכון; הוא יגרום למצוא לא להמשיך
ספריות קודמות בעלות מזהה מכשיר שונה (st_dev, ראה
stat() פונקציה המוגדרת בנפח System Interfaces של POSIX.1‐2008). אם קיימת
−xdev ראשוני מצוין, הוא יחול על כל הביטוי גם אם ה-
−xdev ראשוני בדרך כלל לא ייבדק.

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

−פרמ [−]מצב
השמיים מצב הארגומנט משמש לייצוג סיביות של מצב קובץ. הוא יהיה זהה ב
פורמט ל- מצב_סמלי אופרנד המתואר ב chmod, ויש לפרש זאת
כדלקמן. כדי להתחיל, יש להניח תבנית עם כל ביטים של מצב קובץ
פינה. א op סמל של '+' יגדיר את ביטים המתאימים במצב
תבנית; '-' ינקה את החלקים המתאימים; '=' יקבע את המתאים
סיביות מצב, ללא קשר לתוכן מסיכת יצירת מצב הקובץ של ה-
תהליך. ה op סמל של '-' לא יכול להיות הדמות הראשונה של מצב; זה נמנע
עמימות עם הפתיחה האופציונלית מכיוון שהמצב ההתחלתי הוא כולו
חלקים מהמציאות, אין שום מצבים סמליים שצריך להשתמש בהם '-' כמו הראשון
אופי.

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

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

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

סוג c הקובץ הראשי יוערך כאמת אם סוג הקובץ הוא c, שם c is 'ב',
'ג', ד', 'אני', 'פ', 'ו', או 's' עבור קובץ מיוחד לבלוק, קובץ מיוחד לתווים,
ספרייה, קישור סמלי, FIFO, קובץ רגיל או שקע, בהתאמה.

−קישורים n הקובץ הראשי יוערך כאמת אם הוא מכיל n קישורים.

−משתמש לא שם
הקובץ הראשי יוערך כאמת אם הקובץ שייך למשתמש. לא שם. If
לא שם הוא מספר שלם עשרוני ו- getpwnamהפונקציה () (או שווה ערך) אינה
להחזיר שם משתמש תקין, לא שם יתפרש כזיהוי משתמש.

−קבוצה Gname
הקובץ הראשי יוערך כאמת אם הוא שייך לקבוצה. Gname. אם
Gname הוא מספר שלם עשרוני ו- getgrnamהפונקציה () (או שווה ערך) אינה
להחזיר שם קבוצה תקין, Gname יתפרש כמזהה קבוצתי.

−גודל n[c]
הערך העיקרי יוערך כאמת אם גודל הקובץ בבתים, מחולק ב-512 ו-
מעוגל כלפי מעלה למספר השלם הבא, הוא n. אם n ואחריו הדמות 'ג',
הגודל יהיה בבתים.

−בזמן n הערך העיקרי יוערך כאמת אם זמן הגישה לקובץ יופחת מזמן הגישה לקובץ.
זמן האתחול, מחולק ב-86400 (כל שארית נמחקת), הוא n.

−ctime n הערך העיקרי יוערך כאמת אם זמן השינוי האחרון של סטטוס הקובץ
מידע שנגרע מזמן האתחול, מחולק ב-86400 (עם כל
השארית נזרקת), הוא n.

זמן n הערך העיקרי יוערך כאמת אם זמן שינוי הקובץ יופחת מ-
זמן האתחול, מחולק ב-86400 (כל שארית נמחקת), הוא n.

−exec שם_השירות [טענה ...] ;

−exec שם_השירות [טענה ...] {} +
סוף הביטוי העיקרי יפונקד על ידי או על ידי
רק א שמיד מגיע אחרי טיעון המכיל
רק שתי הדמויות "{}" יסמן את סוף הביטוי העיקרי.
שימושים אחרים של ה- לא ייחשבו כמיוחדים.

אם הביטוי העיקרי מנוקד על ידי , השירות
שם_השירות יופעל פעם אחת עבור כל שם נתיב והראשי
יש להעריך כאמת אם כלי השירות מחזיר ערך אפס כמצב יציאה.
שם_השירות or טענה המכיל רק את שתי התווים "{}" אמור להיות
מוחלף בשם הנתיב הנוכחי. אם א שם_השירות or טענה המחרוזת מכילה
שתי הדמויות "{}", אבל לא רק שתי הדמויות "{}", זה
מוגדר-מימוש האם למצוא מחליף את שני התווים הללו או משתמש ב-
מחרוזת ללא שינוי.

אם הביטוי העיקרי מנוקד על ידי , הפרלמנט הראשי יהיה
תמיד מוערך כאמת, ושמות הנתיבים עבורם מוערך הנתיב הראשי
יצטבר לקבוצות. התועלת שם_השירות יופעל פעם אחת
עבור כל קבוצה של שמות נתיבים מצטברים. כל קריאה תתחיל לאחר האחרון
שם הנתיב בקבוצה מצטבר, ויש להשלים אותו לפני ה- למצוא
יציאות של כלי השירות ולפני שם הנתיב הראשון בקבוצה הבאה (אם קיים)
מצטבר עבור בדיקה ראשונית זו, אך לא צוין אחרת האם ה-
קריאה מתרחשת לפני, במהלך או אחרי הערכות של בחירות פריימריז אחרות.
אם קריאה כלשהי מחזירה ערך שאינו אפס כמצב יציאה, ה- למצוא תועלת
יחזיר סטטוס יציאה שאינו אפס. ארגומנט המכיל רק את השניים
תווים "{}" יוחלף על ידי קבוצת שמות הנתיבים המצטברים, כאשר כל אחד מהם
שם הנתיב מועבר כארגומנט נפרד לכלי השירות המופעל באותו סדר
שהוא צובר. גודל כל קבוצה של שני שמות נתיבים או יותר יהיה
מוגבל כך שביצוע כלי השירות לא יגרום ל-{ARG_MAX} של המערכת
המגבלה שיש לחרוג ממנה. אם יש יותר מארגומנט אחד המכיל את שני התווים
"{}" קיימת, ההתנהגות אינה מוגדרת.

הספרייה הנוכחית להפעלת שם_השירות יהיה זהה ל-
הספרייה הנוכחית כאשר למצוא כלי השירות הופעל. אם שם_השירות
מציין שמות של כל אחד מהכלי השירות המובנים המיוחדים (ראה סעיף 2.14, מיוחד מובנה
תשתיות), התוצאות אינן מוגדרות.

−אוקיי שם_השירות [טענה ...] ;
השמיים −אוקיי ראשוני יהיה שווה ערך ל −exec, אלא שהשימוש ב-
אין צורך לתמוך בסימן> כדי לסמן את סוף הביטוי העיקרי, ו
למצוא יבקש אישור על הפעלתו של שם_השירות באמצעות
הקובץ הנוכחי כארגומנט על ידי כתיבה לשגיאת תקן כמתואר ב
סעיף STDERR. אם התגובה בקלט הסטנדרטי היא חיובית, כלי השירות
יופעל. אחרת, הפקודה לא תופעל והערך של
מה היא −אוקיי האופרנד יהיה שקר.

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

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

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

ניתן לשלב את הפריימריז באמצעות האופרטורים הבאים (לפי סדר יורד)
עֲדִיפוּת):

( ביטוי )
נכון אם ביטוי נכון.

! ביטוי
שלילה של אופרטור ראשוני; האופרטור NOT האונרי.

ביטוי [−א] ביטוי
צירוף של פונקציות ראשוניות; האופרטור AND משתמע מהצמדה של
שני בחירות ראשוניות או שהופקו במפורש על ידי האופציונלי מפעיל. השני
לא יוערך הביטוי אם הביטוי הראשון הוא שקר.

ביטוי −o ביטוי
החלפת פונקציות ראשוניות; אופרטור OR. הביטוי השני לא יהיה
מוערך אם הביטוי הראשון נכון.

אם לא ביטוי נוכח, −הדפסה ישמש כביטוי. אחרת, אם ה-
הביטוי הנתון אינו מכיל אף אחד מהפריימריזים −exec, −אוקיי, או −הדפסה, הנתון
הביטוי יוחלף למעשה על ידי:

( ביטוי_נתון ) −הדפסה

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

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

STDIN


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

קלט קבצים


אין.

הסביבה וריאציות


משתני הסביבה הבאים ישפיעו על הביצוע של למצוא:

שפה ספק ערך ברירת מחדל עבור משתני הבינאום שאינם מוגדרים או
ריק. (ראה את הכרך של הגדרות הבסיס של POSIX.1-2008, סעיף 8.2,
בינאום משתנים בעד הבכורה של בינאום
משתנים המשמשים לקביעת הערכים של קטגוריות מקומיות.)

LC_ALL אם מוגדר לערך מחרוזת לא ריקה, עוקף את הערכים של כל האחרים
משתני בינאום.

LC_COLLATE
קבע את המקום להתנהגות של טווחים, מחלקות שקילות ורב-
אלמנטים של איסוף תווים המשמשים בסימון התאמת תבניות עבור ה- −n
האפשרות ובביטוי הרגולרי המורחב שהוגדר עבור ה- yesexpr אזור
מילת מפתח ב LC_MESSAGES קטגוריה.

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

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

NLSPATH קבע את המיקום של קטלוגי הודעות לעיבוד של LC_MESSAGES.

נתיב קבע את מיקום ה- שם_השירות עבור −exec ו −אוקיי פריימריז, כמו
מתואר בכרך הגדרות הבסיס של POSIX.1-2008, הפרק 8, סביבה
משתנים.

אסינכרוני אירועים


בְּרִירַת מֶחדָל.

STDOUT


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

"%s\n", <נתיב>

STDERR


השמיים −אוקיי ראשי יכתוב הנחיה לשגיאת תקן המכילה לפחות את
שם_השירות שיופעל ושם הנתיב הנוכחי. באזור POSIX, האחרון
לֹא בהנחיה יהיה '?'הפורמט המדויק בו נעשה שימוש אינו מוגדר.

אחרת, שגיאת התקן תשמש רק עבור הודעות אבחון.

תפוקה קבצים


אין.

מורחבים תיאור


אין.

יְצִיאָה סטָטוּס


יוחזרו ערכי היציאה הבאים:

0 הכל נתיב אופרנדים עברו בהצלחה.

>0 אירעה שגיאה.

השלכות OF שגיאות


בְּרִירַת מֶחדָל.

השמיים הבא סעיפים יש לו אִינפוֹרמָטִיבִי.

בקשה נוהג


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

הסיבית המשמשת באופן מסורתי עבור sticky (היסטורית 01000) מצוינת ב-
−פרמ ראשוני באמצעות צורת הארגומנט של המספר האוקטלי. מכיוון שביט זה אינו מוגדר על ידי זה
נפח POSIX.1‐2008, יישומים אינם חייבים להניח שהוא אכן מתייחס ל-
חתיכה דביקה מסורתית.

דוגמאות


1. הפקודות הבאות שוות ערך:

למצוא .
למצוא . −הדפסה

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

2. הפקודה הבאה:

למצוא / \( −שם tmp −o −שם ‏*.xx \) −בזמן +7 −exec rm {} \;

מסיר את כל הקבצים בעלי שם tmp או מסתיים ב .xx שלא ניגשו אליהם במשך שבע או
יותר פרקי זמן של 24 שעות.

3. הפקודה הבאה:

למצוא . −פרמ −o+w,+s

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

4. הפקודה הבאה:

למצוא . −שם SCCS שזיף מיובש −o −הדפסה

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

5. הפקודה הבאה:

למצוא . −הדפסה −שם SCCS שזיף מיובש

מתנהג כמו בדוגמה הקודמת, אך מדפיס את שמות ספריות ה-SCCS.

6. הפקודה הבאה שקולה בערך ל- −nt הרחבה ל- מבחן:

if [ −n "$(מצא file1 שזיף מיובש −חדש יותר קובץ2)" ]; אז
הדפס %s\\n קובץ1 is חדש יותר מֵאֲשֶׁר קובץ2"
fi

7. התיאורים של −בזמן, −ctime, ו זמן להשתמש בטרמינולוגיה n 86400 שניות
תקופות (ימים)''. לדוגמה, קובץ שנגש אליו בשעה 23:59 נבחר על ידי:

למצוא . −בזמן -1 −הדפסה

בשעה 00:01 למחרת (פחות מ-24 שעות לאחר מכן, לא יותר מיום אחד לפני כן); ה-
לגבול חצות בין ימים אין השפעה על חישוב 24 השעות.

8. הפקודה הבאה:

למצוא . ! −שם . שזיף מיובש −שם '*.יָשָׁן' −exec
sh 'mv "$@" ../יָשָׁן/' sh {} +

מבצע את אותה משימה כמו:

mv ./*.יָשָׁן ./.יָשָׁן ./.*.ישן ../יָשָׁן/

תוך הימנעות משגיאת "רשימת ארגומנטים ארוכה מדי" אם יש מספר רב של
קבצים המסתיימים ב- .old ובלי לרוץ mv אם אין קבצים כאלה (והימנעות
שגיאות ``אין קובץ או ספרייה כאלה'' אם ./.יָשָׁן לא קיים או שאין קבצים תואמים
./*.יָשָׁן or ./.*.ישן).

האלטרנטיבה:

למצוא . ! −שם . שזיף מיובש −שם '*.יָשָׁן' −exec mv {} ../יָשָׁן/ \;

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

9. במערכות שתצורתן נקבעה להרכבת מדיה נשלפת על ספריות תחת /חֲצִי, ה
הפקודה הבאה מחפשת בהיררכיית הקבצים קבצים גדולים מ-100000 KB ללא
חיפוש בכל מדיה נשלפת מותקנת:

למצוא / נתיב /חֲצִי שזיף מיובש −o −גודל +200000 −הדפסה

10. למעט ספריית השורש, ו "//" על יישומים שבהם "//" לא מתייחס
לספריית השורש, לא ניתן דפוס ל −שם יתאים ל- , כי
נגרר תווים מתעלמים בעת חישוב שם הבסיס של הקובץ תחת
הערכה. בהינתן שתי ספריות ריקות בשם Foo ו בָּר, הפקודה הבאה:

למצוא פו/// בַּר/// −שם Foo −o −שם 'בַּר?*'

מדפיס רק את השורה פו///.

Rationalale


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

התיאורים של ה- '-' משנה על ה- מצב ו אונום טיעונים ל −פרמ יְסוֹדִי
מסכים עם הפרקטיקה ההיסטורית של יישומים של BSD ו-System V. System V ו-BSD
בתיעוד שניהם מתארים זאת במונחים של בדיקת ביטים נוספים; למעשה, הוא משתמש ב-
אותם ביטים, אך בודק אם לפחות כל הביטים התואמים מוגדרים במקום שיהיו
בדיוק את סט הביטים התואמים.

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

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

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

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

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

השמיים −גודל אופרנד מתייחס לגודל הקובץ, ולא למספר הבלוקים שהוא עשוי לכלול.
לתפוס במערכת הקבצים. הכוונה היא ש- st_size שדה המוגדר במערכת
יש להשתמש בנפח הממשקים של POSIX.1‐2008, לא ב st_blocks נמצא בהיסטוריה
יישומים. ישנן לפחות שתי סיבות לכך:

1. גם במערכת V וגם ב-BSD, למצוא משתמש רק st_size בחישובי גודל עבור האופרנדים
שצוין על ידי כרך זה של POSIX.1‐2008. (BSD משתמש st_blocks רק בעת עיבוד ה-
−ls יְסוֹדִי.)

2. משתמשים בדרך כלל חושבים על גודל קובץ במונחים של בייטים, שהיא גם היחידה בה משתמש ה-
ls כלי עזר עבור הפלט מה- −ל אפשרות. (גם במערכת V וגם ב-BSD, ls שימושים
st_size עבור −ל שדה גודל אפשרות ושימושים st_blocks עבור ls −ס חישובים.
כרך זה של POSIX.1‐2008 אינו מציין ls −ס.)

התיאורים של −בזמן, −ctime, ו זמן שונו מתיאור ה-SVID של n
ימים עד n שהיא תוצאה של חילוק הפרש הזמנים במספר שלם בשניות
עד 86400. התיאור שונה גם מבחינת מסגרת הזמן המדויקת עבור ה- n מקרה
(נגד מה היא +n or −n), אך הוא תואם את כל היישומים ההיסטוריים הידועים. הוא מתייחס ל
תקופה אחת של 86400 שניות בעבר, לא בכל זמן מתחילת תקופה זו ועד
השעה הנוכחית. לדוגמה, −בזמן 2 נכון אם ניגשת לקובץ בכל עת ב
תקופה שבין 72 שעות ל-48 שעות קודם לכן.

יישומים היסטוריים אינם משנים "{}" כאשר הוא מופיע כתת-מחרוזת של −exec
or −אוקיי שם_השירות או מחרוזת ארגומנט. היו בקשות רבות של משתמשים לכך
סיומת, כך שנפח זה של POSIX.1‐2008 מאפשר את ההתנהגות הרצויה. לפחות אחד אחרון
היישום אכן תומך בתכונה זו, אך נתקל במספר בעיות בניהול
הקצאת זיכרון וטיפול במופעים מרובים של "{}" במחרוזת בזמן שזה היה
בפיתוח, כך שזו עדיין לא התנהגות נדרשת.

בהנחה של נוכחותו של −הדפסה נוסף כדי לתקן מלכודת היסטורית שפוגעת
משתמשים מתחילים, הוא תואם לחלוטין לגרסה כלפי מעלה ממערכת V ההיסטורית למצוא תוֹעֶלֶת.
בצורתו הפשוטה ביותר (למצוא בספרייה), זה עלול להתבלבל עם מהירות BSD ההיסטורית
למצואמפתחי BSD הסכימו שהוספה −הדפסה כביטוי ברירת מחדל היה ה-
החלטה נכונה והוספתי את הצום למצוא פונקציונליות בתוך כלי עזר חדש בשם
לְאַתֵר.

מבחינה היסטורית, האפשרות יושמה באמצעות הפונקציה העיקרית −עקוב. ה ו
אפשרויות נוספו משתי סיבות. ראשית, הן מציעות פירוט מדויק יותר של שליטה ו...
עקביות עם תוכניות אחרות שמנסות לנהל היררכיות קבצים. שנית, ה −עקוב יְסוֹדִי
תמיד מוערך כאמת. מכיוון שמבחינה היסטורית הם היו משתנים גלובליים שלקחו
אפקט לפני תחילת המעבר, לחלק מהביטויים התקפים היו תוצאות בלתי צפויות.
דוגמה לכך היא הביטוי −הדפסה −o −עקוב. כי −הדפסה תמיד מוערך כאמת, ה
סדר הערכה סטנדרטי מרמז על כך −עקוב לעולם לא ייבדק. זה מעולם לא היה
המקרה. נוהג היסטורי עבור −עקוב ראשוני, לעומת זאת, אינו עקבי. חלקם
מימושים תמיד עוקבים אחר קישורים סמליים בשורת הפקודה, בין אם −עקוב is
צוין או לא. אחרים עוקבים אחר קישורים סמליים בשורת הפקודה רק אם −עקוב is
שצוין. שתי ההתנהגויות מסופקות על ידי ו אפשרויות, אבל סקריפטים המשתמשים ב-
נוֹכְחִי −עקוב הראשוני היה שבור אם −עקוב האפשרות מוגדרת לעבודה גם
דרך.

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

למצוא . סוג l

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

תכונה של SVR4 למצוא התועלת הייתה −exec הפריימריז + שליחות קטלנית. זה איפשר
שמות קבצים המכילים תווים מיוחדים (במיוחד תווים) שיקובצו
יחד ללא הבעיות שקורות אם שמות קבצים כאלה מועברים ל- קסארגס. אַחֵר
יישומים הוסיפו דרכים נוספות לעקוף בעיה זו, בעיקר א −הדפס0
ראשוני שכתב שמות קבצים עם סיום של ריק בייטים. זה נלקח בחשבון כאן, אבל
לא אומץ. שימוש ב-null terminator פירושו שכל כלי שירות שהיה אמור לעבד
למצוא's −הדפס0 הפלט היה צריך להוסיף אפשרות חדשה כדי לנתח את מסופי ה-null שהוא היה עושה עכשיו
לקרוא.

השמיים "-ביצוע...{}התחביר "+" שאומץ היה תוצאה של פרשנות IEEE PASC 1003.2 #210. זה
יש לציין כי זהו שינוי שאינו תואם לתקן IEEE 1003.2‐1992. לדוגמה,
הפקודה הבאה הדפיסה את כל הקבצים עם '-' אחרי שמם אם הם רגילים
קבצים, ו-a '+' אחרת:

למצוא / סוג f −exec הד {} - ';' −o −exec הד {} + ';'

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

FUTURE כיוונים


אין.

השתמש ב-findposix באופן מקוון באמצעות שירותי onworks.net



התוכניות המקוונות האחרונות של לינוקס ו-Windows