מצא את הקבצים שלך ללא מאמץ משורת הפקודה בלינוקס
משתמשים בדרך כלל מנסים למצוא קובץ באמצעות ה-GUI. עם זאת, לפעמים זה הופך להיות עבודה מייגעת מאוד למצוא קובץ בודד בערימת הקבצים העצומה במערכת שלך. למצוא אותו באופן קונבנציונלי עשוי להיות משימה שלוקחת זמן. כדי להקל על משימה זו, לינוקס מציעה פקודות מסוימות לביצוע העבודה הזו עבורך.
למצוא
היא פקודה פופולרית המשמשת במערכות לינוקס שיכולה לעזור לך לחפש קבצים שונים על סמך השמות, הסוג, הסיומת, ההרשאות, הבעלים שלהם וכו'.
במדריך זה, נתמקד באיתור הקבצים לפי שם. נבחן את הטיעונים השונים שניתן להשתמש בהם עם למצוא
פקודה. נלמד גם על ה לְאַתֵר
הפקודה שהיא גם דרך מהירה יותר לחפש את הקבצים לפי שם.
תחביר עבור למצוא
פקודה
משתמש ב למצוא
פקודה בצורה נכונה יכולה להקל על המשימה שלך. איתור קבצים מסוג מסוים או סיומת מסוימת או חיפוש לפי השם יהיה אפשרי אם אתה מבין היטב את התחביר הכללי של פקודה זו.
התחביר הכללי עבור ה למצוא
הפקודה היא כדלקמן.
מצא [נתיב_חיפוש] [ביטוי] [אפשרויות] [מצא_מה]
ניסיתי לפשט את התחביר של ה למצוא
פקודה כדי להבין את הפקודה טוב יותר.
הבה נסתכל על כל תכונה של התחביר כדי לקבל מושג לגבי המשמעות של כל אחד מהם.
Search_Path: כאן מגיע הנתיב שבו אנו מציינים את הנתיב ממנו נרצה שהמערכת תתחיל לחפש את הקובץ. בקיצור, ספריית ההתחלה כדי להתחיל את החיפוש מצוינת.
ביטוי: אתה יכול לציין את דפוסי החיפוש עבור הקובץ המסוים שאתה מחפש.
אפשרויות: אתה יכול להשתמש באפשרויות הזמינות המשמשות עם למצוא
פקודה במרחב הזה.
למצוא מה: בתכונה זו, הכנס את השם או חלק משם הקובץ שיש לחפש.
הבה נמחיש פקודה זו באמצעות דוגמה.
מצא /home/gaurav/workspace -name "source.c"
בפקודה זו, אני משתמש ב- למצוא
פקודה לחיפוש קובץ "source.c". ביקשתי במיוחד לחפש בנתיב '/home/gaurav/workspace'. משתמש ב -שֵׁם
האפשרות מאפשרת לי לחפש בקובץ שצוין על ידי 'source.c'.
זוהי ההדגמה הפשוטה ביותר לשימוש ב- למצוא
פקודה.
חיפוש קבצים בספרייה הנוכחית
משתמש ב למצוא
הפקודה בצורתה הפשוטה ביותר היא לחפש את הקבצים שלך בספריית העבודה הנוכחית שלך.
למצוא .
פקודה זו תציג את כל הקבצים בספריית העבודה הנוכחית שלך. הנה ה '.
' פירושו 'ספריית העבודה הנוכחית'. להלן הפלט מספריית העבודה הנוכחית שלי. כל הקבצים הקיימים בספרייה זו מופיעים ללא מסננים כלשהם
תְפוּקָה:
. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap/vim-editor/common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. local/lib/locale/en_IN.UTF-8/LC_CTYPE
כדי לחפש קובץ ששמו המשוער ידוע, השתמש ב- למצוא
פקודה כפי שמוצג להלן.
למצוא . -שם [string_from_filename\*]
דוגמא:
למצוא . הקשר שם\*
פקודה זו מחפשת את הקבצים המכילים את המחרוזת 'הקשר'.
תְפוּקָה:
./context_log.policy ./context.xml ./context_preview.c
כל הקבצים בספרייה הנוכחית רשומים המכילה את המחרוזת 'הקשר' בה.
כעת הבעיה מתעוררת בפקודה זו כאשר אתה מנסה לקחת את החופש לגבי רגישות רישיות תוך כדי הקלדת שם הקובץ או המחרוזת המשוערת.
לינוקס די זהירה לגבי רגישות רישיות ומכאן שיש סיכוי טוב שהחיפוש שלך ייכשל. לא אקבל פלט עבור הפקודה find אם אשתמש במחרוזת בתור 'CONTEXT' במקום 'context'. גם אם אות בודדת בשם הקובץ נמצאת במקרה שונה מזה של שם הקובץ המקורי אז, החיפוש ייכשל.
אבל אין צורך לדאוג בקשר לזה. אתה יכול פשוט להחליף את -שֵׁם
אפשרות עם ה -אינם
. זה מאפשר לך לחפש את הקבצים ללא קשר למקרים שבהם שמם. פשוט בצע את השינוי הפשוט הזה בפקודה שלך ואתה תהיה בסדר.
למצוא . -iname CONT\*
הפלט יהיה זהה, גם אם השתמשתי במחרוזת באותיות גדולות.
./context_log.policy ./context.xml ./context_preview.c
חיפוש קבצים בספריות שונות
אתה יכול לחפש בקלות את הקבצים בכל ספרייה במערכת לינוקס ללא קשר לספרייה שבה אתה עובד כעת.
מצא את [נתיב_ספרייה] -iname [שם_קובץ_ספציפי]
דוגמא:
מצא /home/gaurav/tomcat -iname ath.html
כאן, חיפשתי קובץ ספציפי 'ath.html' ולא את הקבצים הדומים למחרוזת הזו. אז הפלט יהיה רק הקובץ הספציפי כפי שהוזכר לעיל.
/home/gaurav/tomcat/ath.html
כעת, נניח שאיננו יודעים את שם הקובץ המלא אלא רק את המחרוזת של שם הקובץ הזה. לאחר מכן נוכל לחפש בקבצים בדרך הבאה.
מצא /home/gaurav/tomcat -iname ath\*
פקודה זו תחפש את כל הקבצים הכוללים את המחרוזת 'ath' בהתחלה. השתמשתי ב -אינם
אפשרות כאן, אז אני לא צריך לדאוג לגבי רגישות המקרים.
תְפוּקָה:
/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/gaurav/tomcat/ATHHHHhow.html
אתה יכול גם להשתמש בפקודה כדי לחפש במספר קבצים המסתיימים בסיומת דומה בשמם.
דוגמא:
מצא /home/gaurav/tomcat -iname "*.c"
הפקודה תחפש את כל הקבצים בספרייה שצוינה המכילה .c בתור סיומת בשם הקובץ שלהם.
תְפוּקָה:
/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c
למדנו על ה למצוא
פקודה כדי לחפש את הקבצים שצוינו בשם הקובץ. כעת, הבה נחקור פקודה אחת נוספת שהיא מהירה יותר מהרגילה למצוא
פקודה.
לְאַתֵר
סקירת פקודות
יש עוד פקודה אחת לחיפוש הקבצים במערכת שלך שהיא מהירה יותר מה- למצוא
פקודה. זה ה לְאַתֵר
פקודה. פקודה זו אינה מותקנת מראש בהפצות לינוקס. אתה יכול להשתמש בשלבים הבאים כדי להוריד ולהתקין את לְאַתֵר
חבילת הפקודה למערכת שלך.
עבור מערכות אובונטו ודביאן, להשתמש:
sudo apt update sudo apt התקנת mlocate
עבור מערכות Cent Os ו-Fedora, להשתמש:
sudo yum התקן את mlocate
הפקודה locate מחפשת את הקובץ לפי התבנית הנתונה בקלט. לְאַתֵר
משתמש בקובץ מסד הנתונים כדי לחפש את הקבצים, קובץ מסד הנתונים הזה נוצר על ידי מעודכן ב
פקודה.
sudo updatedb
משך הזמן שלוקח לעדכן קובץ מסד נתונים זה עשוי להשתנות ממשתמש למשתמש בהתאם לקבצים במערכת שלך.
משתמש ב לְאַתֵר
פקודה
אתה יכול להשתמש ב לְאַתֵר
הפקודה בדרך הבאה. הקפד לעדכן את קובץ מסד הנתונים שלך באמצעות הפקודה sudo updatedb
.
תחביר:
אתר את [filename_or_part_of_filename]
פקודה זו תתחיל את החיפוש מספריית השורש. זה יחזיר את רשימת כל הקבצים במערכת המכילים את שם הקובץ או חלק משם הקובץ כפי שצוין בפקודה.
דוגמא:
אתר copy.c
תְפוּקָה:
/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc /snap/core/9993/usr/lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /snap/core18/1885/usr/lib/python3 .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.cpython -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png
השורה המודגשת מראה שהקובץ המדויק 'copy.c' נמצא. יחד עם תוצאה זו, מוצגים גם קבצים מסוימים אחרים המכילים 'copy.c' כחלק משם הקובץ שלהם.
על מנת למנוע את העומס של קבצים לא רצויים אחרים ולמצוא רק את הקובץ הרצוי, ניתן להשתמש בפקודה locate בצורה הבאה.
אתר -b '\שם קובץ'
דוגמא:
אתר את -b '\copy.c'
תְפוּקָה:
/home/gaurav/Downloads/git-2.23.0/copy.c
הקובץ הספציפי המוזכר בקריטריוני החיפוש מופיע יחד עם הנתיב של הספרייה שבה הוא נמצא.
משתמש ב לְאַתֵר
הפקודה עשויה להיראות מעט מסובכת, אך היא שיטה מהירה יותר לחיפוש קבצים כאשר אינך יודע את המיקום המדויק של הקובץ. אחזור הקבצים הופך למהיר במיוחד כאשר עדכנת את קובץ מסד הנתונים שבו משתמשת פקודת האיתור.
סיכום
במדריך הקצר הזה, למדנו על שתי פקודות חשובות, למצוא
ו לְאַתֵר
. עכשיו אתה יכול לחפש בקלות קבצים במערכת שלך מבלי ללכת לאיבוד בערימת הקבצים. שימוש בפקודות אלה בוודאי יוכיח חסכון בזמן ויעיל עבור המשימה שלך לחיפוש קבצים.