שנה שם קובץ בלינוקס

[novashare_inline_content]

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

עם ההזמנהmv

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

שנה שם קובץ או ספרייה בלינוקס עםmv

תחביר פקודהmvכדי לשנות את שם הקובץ הוא כדלקמן:

mv [OPTIONS] source destination

לדוגמה, כדי לשנות את שם הקובץancien_nom.txtלִקרַאתnouveau_nom.txt, עליך להשתמש בפקודה הבאה:

mv ancien_nom.txt nouveau_nom.txt

⚠️ תשומת לב:ההזמנהmvיכול להחליף את קובץ היעד אם האפשרות-אֲנִילא מצוין.

השתמש בפקודהls -lלצפייה בתוצאה:

ls -l

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

mv /ancien/emplacement/ancien_nom.txt /nouvel/emplacement/nouveau_nom.txt

אתה יכול להשתמשmvכדי לשנות שם של ספרייה באותו אופן כמו עבור קובץ:

mv /emplacement/ancien_nom_répertoire /emplacement/nouveau_nom_répertoire

שנה שם של קבצים מרובים עםmv

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

לדוגמה, נשתמש בלולאהforכדי לשנות את הסיומת של מספר קבצים.htmlב.old:

for f in *.html; do
    mv -- "$f" "${f%.html}.old"
done

בואו ננתח את הקוד שורה אחר שורה:

  • השורה הראשונה יוצרת לולאהforוחוזרת על כל הקבצים המסתיימים בסיומת.html.
  • השורה השנייה חלה על כל איטרציה ומשנה את השם של כל קובץ על ידי שינוי הסיומת.htmlיש.old.
  • doneמציין את סוף הלולאה

דוגמה שנייה זו מציגה את אותה דוגמה עם השימוש בfindבשילוב עםmv:

find . -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.old"' \;

ההזמנהfindמחפש את כל הקבצים המסתיימים ב.htmlבספרייה הנוכחית. לְאַחַר מִכֵּן,-execלבצע את הפקודהmvעל כל הקבצים התואמים את החיפוש.

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

אפשרויות נפוצות לשימוש איתןmv

הנה כמה אפשרויות לשימוש עם הפקודהmv:

  • -אֲנִי: מציג הודעת אזהרה לפני החלפת קובץ
  • : אינו מבקש אישור לפני ההחלפה. זה קצת כמו התנהגות ברירת המחדל שלmv.
  • -v: מציג את מה שהפקודה עשתה

⚠️ תשומת לב:אם אתה משתמש באפשרויותet-אֲנִיבו זמנית, האפשרות האחרונה שצוינה תקבל עדיפות.

למידע נוסף עלmv, אני מזמין אותך להקלידman mvבטרמינל שלך אועיין במדריך coreutils.

ההזמנהrenameכדי לשנות שמות של קבצים מרובים בלינוקס

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

ראשית, התקן את החבילהrename. דרום דביאן:

sudo apt install rename 

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

rename -v 's/.pdf/.txt/' *.pdf

כדי לבדוק את תוצאת הפקודה מבלי לשנות את שם הקבצים שלך, השתמש באפשרות:

rename -n 's/.txt/.pdf/' *.txt

החלף חלק משם קובץ. לדוגמה, "קובץ" על ידי "קובץ" של כל ה-.txt:

rename -v 's/fichier/file/' *.txt

המרת שמות קבצים לאותיות רישיות בספרייה:

rename -v 'y/a-z/A-Z/' *

המרת שמות קבצים לאותיות קטנות בספריה:

rename -v 'y/A-Z/a-z/' *