אתה חדש למערכת ההפעלה Linux? אם כן, משימות נפוצות כמו שינוי שמות קבצים ותיקיות עשויות להיות שונות ממה שאתה רגיל אליו. אבל אל תדאג. המושג של שינוי שמות קבצים ב-Linux דומה לכך כיצד זה נעשה במערכות ההפעלה האחרות.
במדריך זה, תלמד דרכים רבות לשנות שמות של קבצים יחידים ומרובים ב-Linux, הן דרך ממשק גרפי והן דרך ביצוע פקודות בטרמינל.
בוא נתחיל!
דרישות מוקדמות
כדי להמשיך במדריך זה, וודא שיש לך את הפריטים הבאים:
- מדריך זה משתמש ב־Ubuntu 18.04 LTS, אך גרסאות אחרות של Linux יעבדו.
- חשבון עם גישה sudo/מנהל.
שינוי שמות קבצים ב-Linux עם מנהל הקבצים
אם אתה רגיל לניהול קבצים דרך ממשק גרפי, בוא נתחיל את המדריך לשינוי שמות קבצים עם מנהל הקבצים. מנהלי קבצים עם ממשק גרפי הם נחמדים מאוד מכיוון שאתה רואה את הקבצים במבט פשוט. אחד מהם, המנהל הקובץ הקודם של GNOME, נאוטילוס, זמין ב-Linux. מדריך זה מדגים שינוי שמות של קבצים באמצעות מנהל הקבצים נאוטילוס.
מנהלי קבצים אחרים של Linux הם Konqueror, Dolphin, Krusader, Thunar, Nemo file manager, ו־Sunflower file manager. מנהלי הקבצים הללו מבצעים את אותה המשימה, אך שינוי של שמות קבצים או ספריות יכול להיות מעט שונה.
הפעל את הטרמינל שלך, ואז הפעל את הפקודה הבאה כדי להתקין את Nautilus (install nautilus
) עם מנהל החבילות apt
אם אין לך אותו עדיין במכשיר שלך. הפקודה sudo
מעלה את הפקודה עם הרשאות sudo/administrator.
שינוי שם של קובץ יחיד
שינוי שם של קובץ יחיד ב־Nautilus לוקח רק מספר לחיצות, כמו ב־Windows File Explorer.
כדי לשנות את שם הקובץ היחיד, פתח את Nautilus, לחץ ימינה על הקובץ שברצונך לשנות את שמו, ובחר באפשרות Rename, כפי שמוצג למטה.
דוגמה זו מתמקדת בשינוי שמות של קבצים, אך התהליך זהה לשינוי שמות של קבצים וגם ספריות.

עכשיו הקלד את שם הקובץ החדש כדי להחליף את שם הקובץ המקורי, לחץ Enter או לחץ על Rename, וזהו.

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

למטה, ישנם שני אפשרויות לבחירה בהתאם לכיצד ברצונך לשנות את שמות הקבצים שנבחרו.
- שינוי שם באמצעות תבנית – מאפשר לך לשנות שמות של קבצים בהגדרות מסוימות.
- חיפוש והחלפת טקסט – מאפשר לך למצוא ולהחליף טקסטים מסוימים בשמות הקבצים.
שינוי שמות קבצים באמצעות תבנית
כדי לשנות שמות של קבצים באמצעות תבנית, בחר באפשרות Rename using a template.
כעת הכנס את שם ההחלפה בשדה הריק כדי לשנות שמות קבצים באמצעות תבנית, ולחץ על הכפתור +Add ובחר מתוך התבניות. למדריך זה, בחר את האפשרות הראשונה (1,2,3,4) ולחץ על Rename. אפשרות זו מוסיפה מספרים מגדלים לכל קובץ אחרי שם הקובץ החדש (טקסט1, טקסט2,…).

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

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

כעת, אתה יכול לראות למטה שהחלפת את המילה "טקסט" ב-"קובץ" בכל שם קובץ.

שינוי שמות קבצים עם פקודת mv
אם לריצת פקודות תוכנה היא הדבר שלך במקום לנווט בממשק משתמש גרפי, התכונן ללמוד איך לשנות שמות קבצים בטרמינל. לשנות שמות קבצים בטרמינל של לינוקס דומה לעשות זאת בסביבת שורת פקודה אחרת, כגון PowerShell. אתה מריץ את הפקודות כדי לשנות את שם הקובץ המקורי לשם הקובץ היעד, וזהו.
ישנם שני תרחישים בשינוי שם קובץ. הראשון הוא לשנות שם קובץ מהתיקיה העבודה, והשני הוא על ידי ציון הנתיב המלא. תבחן את תחביר הפקודה mv
למטה כדי לשנות את שם הקובץ, כאשר source
הוא השם המקורי, ו-destination
הוא השם המחליף.
שינוי שם קובץ יחיד עם פקודת mv
בזמן שתחבר לך סינטקס של פקודת ה- mv טרייה על דעתך, בוא ננסה לשנות את שם הקובץ היחיד.
כדי להדגיש איך לשנות את שם הקובץ והתיקייה:
בנוסף, הרץ את פקודת ה-ls
כדי לראות את הקבצים בתוך התיקייה הפעילה. למטה, תוכל לראות שהקבצים file1.txt ו־file2.txt קיימים בתיקייה ~/test.

הרץ אחת מפקודות ה-mv
למעלה כדי לשנות את השם של file1.txt
ל־file10.txt
.
שינוי שם תיקייה דומה לשינוי שם קובץ, כמו כן:
mv ~/test ~/demo
. הסימן~
מציין את תיקיית הבית.
לבסוף, הרץ מחדש את פקודת ה-ls
כדי לראות את הקבצים בתיקייה הפעילה.
למטה, תוכל לראות שהקובץ file1.txt שונה עתה לשם file10.txt.

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

שינוי שמות הקבצים ב-Linux עם הכלי rename
אם אתה משנה את שם הקובץ היחיד בקריאה היומית שלך, אז פקודת ה־mv
תהיה מספיקה. אך אולי אתה רוצה לשנות את שמם של מספר קבצים באופן אוטומטי עם אותו תבנית? לדוגמה, לשנות את שמם של קבצים שמתחילים במילה מסוימת (קובץ). במקרה כזה, התקן את תוכנת ה־rename.
תוכנת ה־rename משנה את שמם של מספר קבצים, משנה את תבניות שמות הקבצים ומכסה קבצים.
כדי להתקין את תוכנת ה־rename, הרץ אחת מהפקודות למטה בהתאם להפצת ה־Linux שעליה אתה עובד.
תחת אתה יכול לראות את תחתון הפקודה של פקודת ה־rename
.
שינוי שמות מרובים של קבצים
עם התחתון של פקודת ה־rename
בתודעה, אתה יכול כעת לשנות את שמות הקבצים שיש להם אותה תבנית. מה שמצוין בפקודת ה־rename
הוא שאין צורך להצהיר על פונקציית לולאה כדי לשנות את שמות הקבצים הרבים כפי שעשית בקטע "שינוי שמות מרובים של קבצים עם לולאת For".
אולי ברצונך לשנות את שמות הקבצים עם מילים מסוימות עליהם. אם כן, תבדוק את ביטוי הרגיל של Perl ('s/file/myfile/'
) בפקודת הדוגמה למטה. ביטויי הרגיל של Perl מגדירים תבנית מחרוזת בהתבסס על שפת התכנות Perl.
כדי למנוע משינוי שמות של קבצים אחרים בטעות, רשום את כל הקבצים המושפעים לפני שתשנה אותם על ידי הוספת האפשרות -n
, כפי שמוצג למטה.

עכשיו הריץ אחת מהפקודות rename
למטה כדי להחליף את המילה file
במילה myfile
בשם של כל קובץ טקסט בתוך ספריית העבודה או בספריית ~/test/*.txt
.
בביטוי של Perl ('s/file/myfile/'
), האפשרות s
מציינת החלפה, שפירושה שאתה משנה את שמות הקבצים. שים לב שהאפשרות -v
מוסיפה להחזיר אילו קבצים הפקודה שינתה.
בתמונה למטה, ניתן לראות שכל המופעים של "file" בקבצי הטקסט הוחלפו ב"myfile".

rename
Command אם אתה מעדיף לשנות את שמות הקבצים במקום, הסר את סיומת הקובץ כאשר אתה מציין את נתיב הקובץ, לדוגמה,
rename -v 's/file/myfile/' ~/test/*
שינוי סיומות הקבצים
למעבר לשמות הקבצים, פקודת rename
גם משנה סיומות קבצים. אולי יש לך קבצים שנוצרו עם סיומת קובץ שגויה. במקרה כזה, יש לציין את סיומת הקובץ שברצונך לשנות בביטוי בפרל בזמן הרצת פקודת rename
.
הרץ את פקודת rename
למטה כדי לשנות את כל הקבצים (*
) מסיומת .txt
לסיומת .html
בתיקייה ~/test
. הסמל $
בביטוי הפרל מתאים לסיום מחרוזת (.txt
) לכל שם קובץ, כך שהפקודה משנה רק סיומות של קבצים בסיומת .txt
. וכמו במקרה של שינוי שמות רבים, הוסף את האפשרות -v
כדי לרשום כל שינוי שהפקודה עושה.
כדי להסיר את כל סיומות הקבצים במקום, הסר את מחרוזת ההחלפה בביטוי הפרל, כמו כן:
rename -v 's/.txt$//' *.txt
כפי שאתה יכול לראות בתמונה למטה, ה.txt הוחלפו ב.html

שינוי שמות הקבצים לאותיות רישיות וקטנות
במקום סיומות קבצים שגויות, ייתכן שתתמודד עם שמות קבצים באותיות קטנות או רישיות. אולי אתה מנסה למצוא קובץ באותיות רישיות, מבלי לדעת ששם הקובץ הוא באותיות קטנות.
לינוקס הוא רגיש לתיקיות, אז נוודא שיש לך את כל תיקיות הקבצים עם תיקיות התוויות הנכונות. תיקיות האותיות הן בעצם ההבחנה בין טקסטים בין אותיות קטנות וגדולות.
הרץ אחד מהפקודות rename
למטה כדי לשנות את כל שמות הקבצים באותיות קטנות (a-z
) בתיקיית העבודה (*
) לאותיות גדולות (A-Z
) ולהיפך.
ניתן לראות למטה את שני התוצאות של שינוי האותיות בשם הקובץ.

החלפת רווחים והסרתם משמות הקבצים
כמו בתיקיות האותיות של שמות קבצים, עשוי להיות לך בעיה במציאת קבצים אם יש להם רווחים בשמות הקבצים שלהם. נתקן את זה על ידי החלפת הרווחים בתו או הסרת הרווחים לחלוטין.
הריץ את הפקודה rename
למטה כדי להחליף רווחים בכל שמות הקבצים בקו תחתון (_
) בתיקיית העבודה. מאחר והקו תחתון הוא תו מטא-תו, עליך להבריג אותו עם סימן הקרוס (\\_
) כדי להצהיר על הקו תחתון באופן ליטרלי. מטא-תווים הם תווים מיוחדים עם משמעויות מיוחדות בתוכנית מחשב.
שימו לב שה־g
בביטוי ה־Perl אומר לפקודה להחליף את כל ההתאמות (רווחים), ולא רק הראשון.
מתחת לכך, ניתן לראות שהפקודה החליפה את כל הרווחים בקווים תחתונים.

כדי להסיר את כל הרווחים בשם קובץ במקום למלא אותם בתו, הפעילו את הפקודה הבאה.
בביטוי ה־Perl למטה, הכוכבית אחרי הרווח ריקה (/ *
) מתאימה לכל המופעים של רווחים בשם קובץ ולא רק הראשון. התו להחלפה הוא ריק (//
), כך שהפקודה rename
מסירה את כל הרווחים (g
).
עכשיו ניתן לראות מתחת שכל הרווחים הוסרו מכל שם קובץ.

כתיבת האות הראשונה של כל מילה בשם קובץ באות רישא
אם תעדיפו לשמור על הרווחים ולכתוב את האות הראשונה של כל מילה בשם קובץ באות רישא, תצטרכו ביטוי Perl מורכב יותר. ראו את הפקודה הדוגמא למטה.
הביטוי Perl למטה מתאים לכל תו יחיד (\\w
) בגבול מילה (\\b
) כל עוד התו אינו נקודה או אגרוף (?<![.'\\'']
). הפקודה rename
תתרגם אז את האות ההיא לאות גדולה (u$&
).
מתחת ניתן לראות שכל מילה בשמות הקבצים מתחילה באות רישא בעוד התוספות נשארות ללא שינוי.

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