Android

Paano palitan ang pangalan ng mga file at direktoryo sa linux

Demo - Create Directory - Linux

Demo - Create Directory - Linux

Talaan ng mga Nilalaman:

Anonim

Ang pagpapalit ng pangalan ng mga file at direktoryo ay isa sa mga pangunahing pangunahing gawain na madalas mong kailanganin upang gumanap sa isang sistema ng Linux.

Ang pagpapalitan ng solong file ay madali, ngunit ang pagpapalit ng pangalan ng maraming mga file nang sabay-sabay ay maaaring maging isang hamon, lalo na para sa mga gumagamit na bago sa Linux. Maaari mong palitan ang pangalan ng mga file gamit ang isang GUI file manager o sa pamamagitan ng terminal ng command-line.

Sa tutorial na ito, ipapakita namin sa iyo kung paano gamitin ang mv at rename utos upang palitan ang pangalan ng mga file at direktoryo.

Pagbabago ng mga file na may mv Command

Ang utos ng mv (maikli mula sa paglipat) ay ginagamit upang palitan ang pangalan o ilipat ang mga file mula sa isang lokasyon patungo sa isa pa. Ang syntax para sa utos ng mv ay ang mga sumusunod:

mv source destination

Ang source ay maaaring isa o higit pang mga file o direktoryo at destination maaaring maging isang solong file o direktoryo.

  • Kung tinukoy mo ang maraming mga file bilang source , ang destination dapat na isang direktoryo. Sa kasong ito, ang mga file ng source ay inilipat sa target na direktoryo.Kung tinukoy mo ang isang solong file bilang source , at ang target na destination ay isang umiiral na direktoryo pagkatapos ang file ay inilipat sa tinukoy na direktoryo.Upang magbago ng pangalan ng isang file na kailangan mong tukuyin iisang file bilang source , at iisang file bilang target na destination .

Halimbawa, upang palitan ang pangalan ng file file1.txt bilang file2.txt tatakbo ka:

mv file1.txt file2.txt

Ang pagpapalit ng pangalan ng maraming mga file na may mv Command

Ang utos ng mv maaaring palitan ang pangalan ng isang file nang paisa-isa ngunit maaari itong magamit kasabay ng iba pang mga utos tulad ng find o sa loob ng bash para sa o habang ang mga loop ay muling magpangalan ng pangalan.

Ang sumusunod na halimbawa ay nagpapakita kung paano gamitin ang Bash para sa loop upang palitan ang pangalan ng lahat ng mga file ng .html sa kasalukuyang direktoryo sa pamamagitan ng pagbabago ng .html extension sa .php .

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

Suriin natin ang linya ng code ayon sa linya:

  • Ang unang linya ay lumilikha ng isang para sa loop at iterates sa pamamagitan ng isang listahan ng lahat ng mga file na may pag- .html .Ang pangalawang linya ay nalalapat sa bawat item ng listahan at gumagalaw ang file sa isang bagong pinapalitan .html may .php . Ang bahaging ${file%.html} ay gumagamit ng pagpapalawak ng parameter ng shell upang maalis ang bahagi ng .html mula sa filename.done ay nagpapahiwatig ng pagtatapos ng segment ng loop.

Maaari din nating gamitin ang utos ng mv upang find ng katulad ng sa itaas.

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

Ang utos ng hanapin ay ipinapasa ang lahat ng mga file na nagtatapos sa .html sa kasalukuyang direktoryo sa utos ng mv paisa-isa gamit ang switch -exec . Ang string {} ay ang pangalan ng file na kasalukuyang pinoproseso.

Tulad ng nakikita mo mula sa mga halimbawa sa itaas, ang pagpapangalan ng pangalan ng maraming mga file gamit ang utos ng mv ay hindi isang madaling gawain dahil nangangailangan ito ng isang mahusay na kaalaman sa pag-script ng Bash.

Ang pagpapalit ng mga file na may rename Command

Ginagamit ang utos ng rename upang palitan ang pangalan ng maraming mga file. Ang utos na ito ay mas advanced kaysa mv dahil nangangailangan ito ng ilang pangunahing kaalaman ng mga regular na expression.

Mayroong dalawang bersyon ng rename ng rename may iba't ibang syntax. Sa tutorial na ito, gagamitin namin ang bersyon ng perl ng utos ng rename . Kung wala kang naka-install na bersyon na ito sa iyong system, madali mong mai-install ito gamit ang package manager ng iyong pamamahagi.

  • I-install ang pangalan ng pangalan sa Ubuntu at Debian

    sudo apt install rename

    I-install ang pangalan ng pangalan sa CentOS at Fedora

    sudo yum install prename

    I-install ang pangalan ng pangalan sa Arch Linux

    yay perl-rename ## or yaourt -S perl-rename

Ang syntax para sa rename ng rename ay ang mga sumusunod:

rename perlexpr files

Ang rename utos ay palitan ng pangalan ang lahat ng mga files ayon sa tinukoy na perlexpr regular na expression. Maaari kang tungkol sa mga regular na pagpapahayag dito.

Halimbawa, ang sumusunod na utos ay magbabago sa lahat ng mga file na may extension .html sa .php :

rename 's/.html/.php/' *.html

Maaari mong gamitin ang -n argument upang mag-print ng mga pangalan ng mga file na mapalitan ng pangalan, nang hindi pinangalanan ang mga ito.

rename -n 's/.html/.php/' *.html

Ang output ay magiging hitsura ng isang bagay tulad nito:

rename(file-90.html, file-90.php) rename(file-91.html, file-91.php) rename(file-92.html, file-92.php) rename(file-93.html, file-93.php) rename(file-94.html, file-94.php)

Bilang default, hindi papalitan ng utos ang pangalan ng mga umiiral na file. Ipasa ang -f argumento upang payagan ang mga umiiral nang mga file na over-nakasulat.

rename -f 's/.html/.php/' *.html

Nasa ibaba ang ilang mas karaniwang mga halimbawa ng kung paano magagamit ang utos ng pangalan:

  • Palitan ang mga puwang sa mga filenames na may mga salungguhit

    rename 'y/ /_/' *

    I-convert ang mga filenames sa maliit na titik

    rename 'y/AZ/az/' *

    I-convert ang mga filenames sa malalaking titik

    rename 'y/az/AZ/' *

Konklusyon

Sa ngayon dapat kang magkaroon ng isang mahusay na pag-unawa sa kung paano gamitin ang mv at rename utos upang palitan ang pangalan ng mga file. Siyempre, may iba pang mga utos na palitan ang pangalan ng mga file sa Linux tulad ng mmv . Ang mga bagong gumagamit ng Linux na natakot ng linya ng utos ay maaaring gumamit ng mga tool sa pagpapalit ng pangalan ng batch ng GUI tulad ng Métamorphose.

palitan ang pangalan ng terminal ng mv