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

אם ברצונך להשתמש mv לשנות את שם הקובץ ואז להקליד mv, רווח, שם הקובץ, רווח והשם החדש שאתה רוצה שיהיה לקובץ. ואז לחץ על Enter.
אתה יכול גם להשתמש ls כדי לבדוק שהקובץ ישתנה שם או לא
mv renameכיצד לשנות שם של קבצים מרובים באמצעות mv
העניינים מורכבים לאחר שינוי שם של מספר קבצים. perl-rename אין יכולת להתמודד עם שינוי שם של קבצים שונים. עליך להשתמש בכמה טריקים שימושיים של Bash. זה טוב אם אתה מכיר קצת שורת פקודה בדרגה בינונית, אך את הקושי לשנות שם של קבצים שונים mv עומד רק על קלות השימוש mv לשנות שם של קובץ יחיד.
הדברים מתגברים מיד.
נניח הנה ספרייה עם הרבה קבצים, מסוגים שונים. בחלק מהקבצים יש .prog סיומת. אנו רוצים לשנות את שם הקבצים בשורת הפקודה כך שיהיה להם .prg סיומת.
בואו נסתכל על הקבצים.
renameהנה שיטה אחת לעשות את זה שלא יכולה לפנות לכתיבת קובץ סקריפט בפועל של Bash.
renameהאם זה עבד או לא? בואו נבדוק את הקבצים ואז נמשיך הלאה.
renameאז זה עובד בסדר. כולם כן .prg קבצים עכשיו, ואין .prog קבצים בספריה.
מה קרה?
מה בעצם עשתה הפקודה הארוכה? בוא נבדוק את זה.
prenameהחלק הראשון מתחיל לולאה שתעבד כל אחת מהן .prog קובץ בספרייה, בתורו.
חלק אחר אומר מה יהיה העיבוד לַעֲשׂוֹת . זה משתמש mv כדי להעביר כל קובץ לקובץ החדש. שם הקובץ החדש יהיה דומה למדי לשם הקובץ המקורי למעט החלק .prog. כמו כן, ישמש את התוסף של .prg.
הנה דרך קלה
בהחלט. הנה ה לשנות שם פקודה.

זה לא חלק מהפצה סטנדרטית של לינוקס, אז אתה רוצה להתקין אותו. כמו כן, יש לו שם שונה במשפחות שונות של לינוקס, אך כולם פועלים באופן דומה. פשוט תחליף את שם הפקודה הנכון בהתאם לטעם של לינוקס שאתה משתמש.
בהפצות שמקורן בדביאן או באובונטו אתה פשוט מתקין perl-rename ככה:
*.progבהפצות שמקורן ב- RedHat או בפדורה אתה פשוט מתקין שם מקדים ככה. זכור כי ה- p הראשוני, מייצג את Perl.
renameכדי להתקין אותו במנג'רו לינוקס השתמש בפקודה הבאה. זכור כי פקודת שינוי שם מכונה s.
.progהשתמש בשם פקודה -> בוא בוא ננסה יותר
כאן נשתמש rename. אנו עושים זאת כדי שיהיה לנו קבוצה של קבצי .prog.
.prgבואו נשתמש בפקודה המופיעה למטה כדי לשנות את שמם. נבדוק גם עם ls פקודה אם זה עבד או לא. אם אתה רוצה להחליף rename עם שם הפקודה המדויק עבור לינוקס אם לא ניתן להשתמש באובונטו או בלינוקס שמקורם בדביאן.
ls lsזה עובד טוב, עכשיו כולם קבצי .prg למעט .prog קבצים שנותרו בספריה.
מה קרה פה?
בואו נדון בזה בשלושה חלקים.
בתוך ה ראשון חלק, תראה את שם הפקודה, rename (או ls או ls, להפצות האחרות).
השלישי אחרון החלק הוא ^, שמסביר $ להפעלת כל קבצי ה- prog.
ה שְׁנִיָה החלק מסביר את העבודה שאנחנו רוצים לעשות בכל שם קובץ. ה ^ פירושו תחליף. המונח הראשון (ls) הוא מה ls יחפש בכל שם קובץ והמונח השני (ls) הוא מה שיוחלף בו.
תוספות עווית לא עובדות
הפקודות החלק האמצעי או הביטוי המרכזי הוא 'ביטוי רגיל' של פרל והוא זה שמספק את s/ לפקד על אמינותה.
שינוי חלקים אחרים של שם קובץ
שינינו עד כה סיומות שם קבצים, בואו נשנה חלקים אחרים בשמות הקבצים.
בספריה ישנם קבצי קוד מקור רבים ב- C. קידומת כל שמות הקבצים היא סְלֶנְג_. אנו יכולים לבדוק זאת באמצעות y/.
a-zכאן אנו מחליפים את כל המופעים של הסלנג_ ב- sl_. פורמט הפקודה מוכר לנו למדי. אנו רק משנים את מונח החיפוש, מונח ההחלפה וסוג הקובץ.
A-Zכאן אנו מחפשים קבצי .c ומחפשים סלנג_. בכל פעם שמצאת סלנג_ בשם קובץ הוא מוחלף בסלא_.
ניתן גם לבדוק את תוצאת הפקודה לאחר חזרה על הפקודה ls מלמעלה תוך שימוש באותם פרמטרים:
a-zהסרת חלק משם הקובץ
אנו יכולים גם למחוק חלק משם קובץ לאחר החלפת מונח החיפוש ללא כלום.
mv oldfile.txt newfile.txt
אנחנו יכולים גם לראות מה ls מצווה כי שלנו .c קבצים מוכנים מראש עם sl_. בוא נעזוב את זה לגמרי.
ה לשנות שם הפקודה פועלת באותה תבנית כפי שהוזכר לעיל. אנו הולכים לחפש קבצי .c. מונח החיפוש הוא sl_, אך אין מונח החלפה. שני קו נטוי '//' ללא שום דבר ביניהם פירושו מחרוזת ריקה.
ls *.txtיכול לעבד כל קובץ c בתורו. כמו כן, הוא מחפש sl_ בשם הקובץ. אם מצאת את זה, אתה יכול להיות מוחלף בלא כלום. לחלופין, מונח החיפוש מוסר.
שימוש נוסף ב-
ls *.prog -lהפקודה מאשרת שקידומת sl_ נמחקה מכל קובץ .c.
הגבלה משתנה לחלקים מסוימים משמות הקבצים
בואו נשתמש
for f in *.prog; do mv -- '$f' '${f%.prog}.prg' לצפייה בקבצים עם פרמטר המחרוזת בשם הקובץ שלהם. ואז נשתמש לשנות שם פקודה להחליף את המחרוזת באמצעות פרמטר מחרוזת. כמו כן, אנו משתמשים ls פעם נוספת כדי לראות את ההשפעה של לשנות שם הייתה לפקודה על קבצים אלה.ls *.pr*
for f in *.prog; do mv -- '$f' '${f%.prog}.prg' sudo apt-get install rename
לאחר מכן תראה ארבעה קבצים בעלי תפסיק בשם הקובץ שלהם. param.c, param_one.c ו- param_two.c יש לכולם תפסיק ב מתחיל של שמם. יש ל- third_param.c תפסיק ב אחרון של שמו, רגע לפני ההרחבה.
אתה יכול לחפש לשנות שם פקודה עבור param בכל מקום בשם הקובץ. לאחר מכן תוכל להחליף אותו בפרמטר בכל המקרים.
שימוש נוסף ב ls הפקודה מראה לנו שמה שקרה בדיוק. האם תפסיק היה בהתחלה או בסוף שם הקובץ. אתה יכול גם להחליף אותו ב- פָּרָמֶטֶר.
אנו יכולים להשתמש במטא-תווים של פרל כדי לטהר את התנהגות הביטוי המרכזי. מטא-תווים הם הסימנים המייצגים רצפים או עמדות של דמויות. למשל,
sudo dnf install prenameפירושו התחלה של מחרוזת, (.) פירושו כל תו בודד (מלבד תו חדש),
sudo pacman -Syu perl-renameפירושו סוף של מחרוזת.
כמו כן, אנו משתמשים בתחילת מטא-אופי מחרוזת (
ls *.prog) כדי להגביל את החיפוש שלנו לתחילת שמות הקבצים.
rename 's/.prog/.prg/' *.prog
ls *.pr*
ls sl*.c
rename 's/slang_/sl_' *.c
הקבצים ששמנו שם רשומים בעבר. כמו כן, אנו יכולים לראות את פרמטר המחרוזת הוא בתחילת 3 שמות קבצים והוא ממוקם בסוף אחד משמות הקבצים.
שֶׁלָנוּ לשנות שם הפקודה משתמשת בתחילת המטא-אופי של השורה (^) לפני פרמטר מונח החיפוש. זה מסביר לשקול רק את מונח החיפוש שנמצא אם הוא נמצא בראשית שם הקובץ. פרמטר מחרוזת החיפוש יימנע אם הוא נמצא במקום אחר בשם הקובץ.
כשמסתכלים עם
ls sl*.c, נוכל לראות ששם הקובץ מכיל את הפרמטר אחרון של שם הקובץ לא השתנה. אבל לשלושת שמות הקבצים יש פרמטר ב מתחיל משמותיהם עם מחרוזת חיפוש שהוחלפה בערך המונח החלופי.
ה לשנות שם הכוח טמון בכוחו של פרל.
מסתכל עם קבוצות
הנה המקרה שבו כנראה יש לך קבצים עם אותם מחרוזות בשמם. הם לא דומים בדיוק אותם מחרוזות, אז אתה פשוט מחפש והחלפה לא יכולה לעבוד כאן.
בדוגמא זו אנו משתמשים
ls *.c rename 's/sl_//' *.c ls *.cלצפייה באילו קבצים יש לנו שמתחיל עם str. כמו כן, ישנם שניים מהם, string.c ו- strangle.c. אנו יכולים גם לשנות את שם שני המחרוזות לאחר שימוש בשיטה המכונה קיבוץ.
הביטוי האמצעי של לשנות שם הפקודה תחפש מחרוזות בשמות קבצים עם רצף התווים סטרי אוֹ stra. כאן ואחריו רצפים אלה נג. לחלופין, מונח החיפוש שלנו הולך לחפש מחרוזת ו מוזר. מונח ההחלפה הוא לִדפּוֹק.
ls *param*
rename 's/param/parameter' *.c
ls *param*
לאחר השימוש
ls *param*.cפעם אחרת מאשרת כי string.c הפך ל- bang.c ו- strangle.c הוא כעת bangle.c.
השתמש בשם פקודה עם תרגומים
ה לשנות שם הפקודה מבצעת את כל הפעולות בשמות קבצים המכונים תרגומים. הנה דוגמה לתרגום שמאלץ קבוצה של שמות קבצים לאותיות גדולות.
בתוך ה לשנות שם הפקודה שניתנה להלן הודעה שאנחנו לא משתמשים ב-
rename 's/^parameter/value/' *.cכדי להתחיל את הביטוי האמצעי, אנו משתמשים
ls *param*.c. זה מסביר שהפקודה לא יכולה לבצע החלפה; אנו מבצעים תרגום.
המונח
ls value*.cהוא ביטוי של פרל. המשמעות היא שכל התווים הקטנים ברצף מ- a עד z. אבל, המונח
ls str*.cמייצג את כל האותיות הגדולות ברצף מא 'עד ת'.
את הביטוי האמצעי בפקודה זו ניתן לנסח מחדש כאילו כל אחת מאותיות הקטנות מ- a עד z נמצאות בשם הקובץ. הוא מחליף אותם באמצעות התווים המתאימים מסדר התווים האותיים מ- A עד Z.
אם ברצונך לאלץ את שמות הקבצים של כל קבצי ה- PRG באותיות רישיות, פשוט השתמש בפקודה זו:
שנה את שם 'y / a-z / A-Z /' * .prg
rename 's/(stri|stra)ng/bang/' *.c
הפקודה
ls ban*.cהראה לנו שכולם .prg קבצי סיומת נמצאים כעת באותיות רישיות. כמו כן, כדי להיות מדויקים בהחלט, הם לא .prg קבצים יותר. ובכן, הם קבצי PRG. ודא כי לינוקס רגישה לאותיות רישיות.
אנו יכולים גם להפוך את הפקודה האחרונה לאחר שנחזור למיקום
ls *.PRGומונחי A-Z בביטוי האמצעי.
שנה את שם 'y / A-Z / a-z /' * .PRG
ls * .prg
אתה לא יכול ללמוד פרל בחמש דקות
אחיזת פרל היא זמן מושקע. אבל להתחיל להשתמש ביכולות החיסכון בזמן של לשנות שם פקודה, אינך רואה שיש לך ידע רב בפרל בכלל כדי לקצור יתרונות גדולים בכוח.
סיכום:
לפניכם הכל על 'השתמשו בשמו של Command On Linux'. מה דעתך לגבי זה? אם ברצונך לחלוק שיטה או טיפים אחרים הנוגעים למאמר, ספר לנו למטה. לשאלות ושאלות נוספות הודיעו לנו בסעיף ההערות למטה!
קרא גם:


