קורס עבודה בסביבת Unix/Linux שיעור תרגול find


זה נושא דיון מלווה לערך המקורי ב- https://www.tocode.co.il/bundles/unix1/lessons/findlab

היי

  • לגבי שאלה 1 סעיף 2 לא הצלחתי. הפקודה שלי היא
    find . -user ‘myusername’
    ניסיתי להוסיף - ! אבל בכל מקום ששמתי זה לא התאים.

  • בנוסף הייתי שמח לתשובה של שאלה 1 סעיף 6 שגם לא הצלחתי

תודה רבה!

אני גם מסתבך עם סימן קריאה, מעדיף את השימוש ב not, כלומר:

find /tmp -not -user ynon

או יותר כללי:

find /tmp -not -user $USER
לייק 1

נסה לחפש בתיעוד על האופציה mtime

היי
בתרגיל 3 הכוונה ל hard link?
אני מסתבך בלעשות את זה על יותר מקובץ אחד.

יצרתי 3 קבצים ואז זה מה שרשמתי:
ניסוי 1: ;\ {} find . -type f -name “?.txt” -exec ln

ניסוי 2: ;\ {} find . -type f -name “?.txt” - exec ln ?.txt ?.txt.bak

הי איציק,

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

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

הניסויים שלך עם exec הם בהחלט בכיוון הנכון, אבל כדאי לחשוב על זה הפוך. קודם כל בוא נכתוב את שלושת הפקודות שהיינו מריצים אם לא היינו עובדים ב find. במקרה של התרגיל רציתי לקחת שלושה קבצים עם השמות a.txt, b.txt ו c.txt וליצור לכל אחד מהם עותק, לכן הפקודות היו:

cp a.txt a.txt.bak
cp b.txt b.txt.bak
cp c.txt c.txt.bak

עכשיו שיש לנו את זה אפשר לשאול ״איך find יכול לייצר את הפקודות האלה באופן אוטומטי?״

תרגיל 2 (השתמתי בinum כדי למצוא את הקבצים לפי המזהה שלהם):

find . -inum 3803211  -exec ls -lGi {} +

תרגיל 3 (השתמשתי בexec ובcp על הקבצים הקיימים:

find . -name "[abc].txt" -exec cp {} "{}.bak" \;
לייק 1