- Dominar l'ordre mv permet reanomenar i moure carpetes i fitxers a Linux de forma ràpida i segura, tant en local com en servidors remots.
- Les ordres cp i rm complementen mv per copiar, eliminar i reorganitzar directoris complets, aprofitant opcions com -r, -i, -fy -v.
- L'eina rename i els bucles d'intèrpret d'ordres faciliten el renombrat massiu de fitxers mitjançant patrons i expressions regulars.
- Usar rutes correctes, comprovar amb ls i anar amb compte amb comodins i opcions destructives és clau per evitar pèrdues de dades.

Si treballes amb servidors o desenvolupes projectes a Linux, tard o d'hora hauràs de reanomenar carpetes i fitxers des de la terminal . Sobre el paper sona senzill, però quan estàs començant, veure ordres, rutes i opcions es pot fer pujada, sobretot si véns d'un entorn gràfic com el GNOME, el KDE o similars i estàs més acostumat a l' administrador de fitxers.
La bona notícia és que a Linux tot això es resol amb unes quantes ordres molt potents. Amb entendre bé com funcionen mv, cp, rm i l'eina rename , tindràs control total per reanomenar directoris, moure'ls, copiar-los i gestionar-los tant al teu equip local com a servidors remots a través de SSH.
Conceptes bàsics: directoris, rutes i terminal a Linux
Abans de tocar res convé tenir clar què és exactament una carpeta a Linux: a nivell intern, un directori és un tipus especial de fitxer que emmagatzema un índex amb els noms dels fitxers i subdirectoris que conté. És a dir, quan anomenem una carpeta no estem copiant ni modificant-ne el contingut, només canviem aquest nom d'índex.
A Linux l'estructura del sistema de fitxers és jeràrquica, així que les rutes poden ser absolutes o relatives . Una ruta absoluta comença sempre per / (per exemple, /home/usuari/projecte ), mentre que una relativa s'interpreta a partir del directori on ets ara (per exemple, projecte/img si ja ets a /home/usuari).
Per moure'ns per aquesta estructura fem servir la terminal. Amb cd canviem de directori, amb pwd veiem a quina ruta exacta estem i amb ls llistem el contingut. Aquestes tres ordres són la base perquè els exemples de renom que veurem a continuació no et donin errors de ruta.
Quan treballes a servidors, sobretot en desenvolupament web, és molt habitual connectar per SSH: ssh usuario@servidor . Un cop dins, tot el que facis amb mv, cp, rm i rename funciona igual que a la teva màquina local, només que ara afectes els fitxers del servidor remot.
L'ordre mv: moure i reanomenar directoris a Linux
El protagonista absolut per reanomenar carpetes a Linux és l'ordre mv , acrònim de “move”. La seva missió principal és moure fitxers i directoris, però també ens serveix perfectament per canviar-los el nom sense moure'ls de lloc.
La sintaxi general de mv és molt simple: mv ORIGEN DESTINACIÓ . El paràmetre ORIGEN és el fitxer o carpeta que ja existeix, mentre que DESTINACIÓ és el nou nom o la ruta (més nom) on el volem moure o reanomenar.
Si voleu veure totes les opcions disponibles, podeu executar mv –help a la terminal. Veuràs una mica tipus mv … , juntament amb un llistat de paràmetres i banderes que adapten el seu comportament al que necessitis.
Les opcions més utilitzades de mv a l'hora de treballar amb directoris i fitxers són -f, -i, -uy -v . No són obligatòries, però et donen força control i seguretat, sobretot quan corres el risc de sobreescriure alguna cosa important per accident.
Opcions més útils de l'ordre mv
Quan comences a reanomenar i moure coses des de la consola, el que fa més por és sobreescriure un fitxer o carpeta sense adonar-te . Per això hi ha diverses banderes de mv que convé memoritzar perquè les usaràs sovint.
Amb l'opció -i (interactiva) mv us demanarà abans de sobreescriure una destinació que ja existeixi. Per exemple, si el directori de destinació té el mateix nom que el que voleu moure, mv us demanarà confirmació i podreu escriure i/n per continuar o cancel·lar.
La bandera -f (force) fa just el contrari: no pregunta res i sobreescriu a sac . És útil en scripts automatitzats o quan estàs segur que la destinació es pot picar, però no és bona idea fer-la servir a la lleugera si estàs aprenent.
L'opció -u només mourà o reanomenarà quan el fitxer d'origen sigui més nou que el de destinació o quan el destí encara no existeixi. És interessant si sincronitzes directoris i vols evitar reemplaçaments innecessaris.
Finalment, l'opció -v (verbose) fa que mv mostri a la pantalla què està fent a cada pas. És a dir, veuràs línies de l'estil renamed 'img' -> 'images' , cosa molt útil per seguir-li la pista a operacions amb molts fitxers.
Com anomenar una carpeta a Linux amb mv
Per canviar el nom d'un directori sense moure'l de lloc, només cal que indiqueu el nom actual i el nom nou. La forma bàsica seria mv carpeta_antiga carpeta_nova , sempre estant situat al directori pare d'aquesta carpeta.
Imagina que tens una carpeta anomenada img dins del teu projecte i vols reanomenar-la a imatges . Si ja ets al directori del projecte, n'hi hauria prou amb executar mv img images i diràs adéu al nom antic en un segon.
Si el voleu veure amb un exemple més explícit, podríeu llistar primer el contingut amb ls -l , veure el directori img , executar l'ordre mv -v img images i comprovar de nou amb ls -l que ara només apareix imatges . El sufix -v us mostrarà el missatge de renom perquè no hi hagi dubtes.
És important fixar-se en un detall que sol generar confusió al principi: no es posa “/” al final del nom del directori quan el anomenem . És a dir, escriu mv img images i no mv img/ images/ , perquè en aquest context la barra final no és necessària i pot donar peu a errors si la barreges amb altres rutes.
Reanomenar i moure una carpeta alhora
Un dels avantatges de mv és que et permet moure un directori a una altra ruta i de pas canviar-li el nom en una sola ordre. Això és genial quan esteu reorganitzant un projecte gran o netejant l'estructura d'un servidor.
Suposem que tens una carpeta anomenada ProyectoViejo al teu directori actual i vols moure-la a /home/usuari/EspacioDeTrabajo reanomenant-la a ProyectoNuevo . La comanda quedaria tal que així: mv ProyectoViejo /home/usuari/EspaiDe Treball/ProjecteNou.
Si el que busques és només pujar un nivell a la jerarquia mantenint el nom, pots fer servir rutes relatives. Per exemple, per moure la carpeta img al directori pare sense canviar-li el nom, només caldria mv img ../img . En aquest cas, .. significa “el directori de dalt”.
També pots moure-la dins d'una altra carpeta i de pas anomenar-la. Si tens una carpeta files dins del teu projecte i vols que img passi a anomenar-se imatges dins de fils, faries servir mv img files/images . Després d'executar-lo, la ruta final seria com ./files/images.
Tingueu en compte que quan moveu un directori entre ubicacions, si el sistema de fitxers d'origen i de destinació és el mateix, mv fa un canvi de referència molt ràpid; però si estan en sistemes de fitxers diferents , l'operació equival a copiar tot el contingut i després eliminar l'original, cosa que pot trigar força si la carpeta és gran.
Reanomenar directoris i fitxers en servidors remots amb SSH
En entorns de producció i desenvolupament web és molt habitual treballar a servidors Linux als quals accedeixes per SSH. Des d'aquest moment, totes les ordres que executes a la terminal afecten els fitxers del servidor, així que reanomenar carpetes en remot és igual que fer-ho en local.
Per connectar-te a un servidor normalment es fa servir una ordre del tipus ssh el teu-usuari@el teu-servidor . Un cop autenticat, veuràs el prompt remot i podràs moure't amb cd , llistar amb ls i reanomenar directoris amb mv carpeta_vieja carpeta_nova exactament de la mateixa manera.
L'única diferència pràctica respecte a la teva màquina local és que aquí has de caminar amb més ull, perquè un error de renom en producció pot trencar rutes usades en aplicacions, scripts, enllaços simbòlics o configuracions internes del sistema.
Per minimitzar riscos és bona idea combinar mv amb ls abans i després de cada operació, a més de estirar mv -i perquè et demani confirmació quan hi hagi possibilitat de sobreescriptura. També ajuda a treballar amb rutes absolutes per evitar malentesos amb els directoris actuals.
Quan anomeneu carpetes o fitxers utilitzats per scripts, serveis o aplicacions web, reviseu que no hi hagi rutes codificades amb el nom antic . Si n'hi ha, actualitzeu-les perquè apuntin al nom nou i evita errors 404, errors de càrrega de recursos o serveis que no arrenquen.
Copiar directoris a Linux amb cp abans de reanomenar
Encara que mv et permet reanomenar directament, hi ha moltes situacions en què prefereixes jugar sobre segur i treballar amb una còpia abans de tocar l'original. Per això entra en escena l'ordre cp , encarregada de copiar fitxers i directoris.
La sintaxi bàsica de cp es podria resumir com a cp ORIGEN DESTINACIÓ . Si ORIGEN és un arxiu, no hi ha gaire complicació; però si vols copiar una carpeta sencera, hi ha un matís important: has d'usar l'opció -r o -R perquè la còpia sigui recursiva i inclogui-ne tot el contingut.
Per exemple, si necessiteu duplicar la carpeta fonts a la mateixa ubicació amb un altre nom, podríeu fer alguna cosa com cp -r fonts/ fonts2 . La barra rere fonts és recomanable per deixar clar que és un directori, encara que cp sol deduir-lo; en qualsevol cas, moltes guies recomanen aquest format per evitar errors dinterpretació.
Si vols copiar aquesta mateixa carpeta d'un directori a un altre, fes servir rutes relatives o absolutes segons et convingui. Un exemple clàssic seria cp -r fonts/ ../fonts2 , que copia la carpeta fonts al directori superior amb el nom fonts2, mantenint intacta l'original.
Entre les opcions de cp, les més comunes són -i (demaneu confirmació abans de sobreescriure), -v (manera verbós per veure el progrés) i, per descomptat, -r/-R per indicar recursivitat en directoris. Pots veure la resta amb man cp o cp –help si vols afinar més les còpies.
Reanomenar fitxers a Linux amb mv
Tot el que hem vist per a directoris s'aplica igual a fitxers individuals: mv serveix tant per moure com per canviar el nom d'un fitxer , i la sintaxi és pràcticament idèntica però a nivell de fitxer.
Si estàs en un directori que conté el fitxer arxiu1.txt i vols que passi a anomenar-se fitxer2.txt , només has d'executar mv fitxer1.txt fitxer2.txt . El contingut no canvia, només el nom que el representa al sistema de fitxers.
Si no et trobes al directori correcte, primer desplaça't amb cd o bé indica la ruta completa a l'ordre. Podries fer alguna cosa com cd /home/user/docs/files i després mv fitxer1.txt fitxer2.txt , o directament mv /home/user/docs/files/arxiu1.txt /home/user/docs/files/arxiu2.txt.
Perquè et facis una idea, reanomenar un fitxer amb mv equival, a nivell conceptual, a “ copiar-lo a un nou nom i esborrar l'original”, encara que internament el sistema de fitxers el gestiona de manera molt més eficient i sense duplicar dades.
Com passa amb les carpetes, si moveu un fitxer entre sistemes de fitxers diferents, mv realitzarà internament una còpia i després esborrarà l'original; si es manté dins del mateix sistema, només canvia referències internes i loperació és instantània.
Reanomena diversos fitxers de cop amb bucles i find
mv per si sol no té una opció específica per reanomenar molts fitxers en bloc , però es porta de meravella amb la shell de Linux, així que pots combinar-ho amb bucles for, while o amb l'ordre find per fer famosos massius.
Un exemple típic és canviar dextensió a un conjunt de fitxers. Si vols que tots els .txt del teu directori actual passin a ser .pdf, podries fer servir un bucle for com aquest: for f in *.txt; do mv — «${f}» «${f%.txt}.pdf»; done . Aquí es recorre cada fitxer que acaba en .txt, es talla la part .txt i se substitueix per .pdf.
Aquest tipus de bucles és molt flexible i permet fer pràcticament qualsevol transformació de noms que siguis capaç d'expressar amb la sintaxi de l'intèrpret d'ordres. Això sí, convé provar primer en un directori de proves per evitar embolics si no domines encara les expansions de paràmetres.
També pots utilitzar find per localitzar fitxers que compleixin certes condicions (per nom, per tipus, per data, etc.) i aplicar-los mv en una acció -exec o amb un bucle while llegint els resultats. Això és molt útil per a renombrados més complexos en estructures de directoris grans.
Si tot això et sona una mica avançat, no et preocupis: amb el temps veuràs que combinar mv amb bucles t'estalvia moltíssima feina i et permet automatitzar tasques repetitives amb unes poques línies de shell script.
L'ordre rename: anomenat massiu avançat
A més de mv, en moltes distribucions hi ha una eina anomenada rename que està pensada específicament per reanomenar lots complets d'arxius de forma molt potent , usant expressions regulars de Perl.
Aquest comandament no sol venir sempre preinstal·lat, però afegir-lo és trivial. A Debian, Ubuntu, Linux Mint i derivats pots utilitzar sudo apt install rename . A CentOS o RHEL el més habitual és sudo yum install rename . I a Arch Linux se sol recórrer a paquets com perl-rename des d'AUR (per exemple amb yay o yaourt).
La sintaxi típica de rename té aquesta pinta: rename 's/patron_antic/patron_nou/' fitxers . El que va entre cometes és una expressió regular Perl de substitució, on “s/això/per_això_un altre/” indica quin patró vols trobar i per què el vols substituir.
Per exemple, si en un directori has creat uns fitxers anomenats file1.txt, file2.txt, file3.txt, file4.txt i file5.txt (cosa que pots fer ràpid amb mkdir filetorename; cd filetorename; touch file{1..5} .txt newfile1.txt amb rename 's/file1/newfile1/' file1.txt.
Si el que necessites és canviar l'extensió de tots els .txt a .php, n'hi hauria prou com a rename 's/.txt/.php/' *.txt . Després d'executar l'ordre, podeu comprovar què ha passat amb ls per assegurar-vos que tots els noms s'han transformat com esperaves.
Exemples pràctics amb rename: majúscules, minúscules i espais
Un dels avantatges de rename és que, gràcies a les expressions regulars de Perl , permet fer transformacions molt específiques i que serien força molestes amb un simple bucle i mv. Hi ha diversos casos dús molt típics que convé tenir en ment.
Si voleu convertir tots els noms de fitxer d'un directori a majúscules , podeu executar alguna cosa com a rename 'i/az/AZ/' * . Aquesta sintaxi utilitza l'operació de transliteració “y”, que substitueix cada lletra minúscula pel seu majúscul equivalent.
Per fer el contrari, és a dir, passar tots els noms a minúscules , l'ordre seria rename 'i/AZ/az/' * . Això ajuda molt quan et trobes amb sistemes on la barreja de majúscules i minúscules se n'ha anat de mare amb el temps.
Un altre cas habitual són els fitxers amb espais en el nom, que poden ser força molestos en treballar a la terminal. Pots reemplaçar espais per guions baixos amb una mica de l'estil rename 'y/ /_/' * , evitant així haver de caminar escapant els espais amb barres invertides o cometes.
Si els fitxers a modificar estan en un altre directori, també podeu passar-li la ruta directament a rename, per exemple rename 's/.txt/.php/' RUTA/DE/ARXIUS . D'aquesta manera no cal canviar de directori abans de llançar l'ordre.
Per veure totes les opcions suportades per la vostra versió concreta de rename, és recomanable llançar un rename –help o revisar la vostra pàgina de manual. Tingues en compte que hi ha variants de rename segons la distribució, així que sempre ve bé comprovar la sintaxi exacta disponible al vostre sistema.
Eliminar l'eina rename quan no la necessitis
Si en algun moment decideixes que no vols tenir rename instal·lat al teu sistema (per exemple, perquè en un servidor de producció prefereixes limitar eines disponibles), pots desinstal·lar-lo fàcilment amb el mateix gestor de paquets que vas utilitzar per instal·lar-lo.
En distribucions basades en Debian com Ubuntu o Linux Mint, podries executar sudo apt remove rename . Això eliminarà el paquet i deixarà d'estar disponible a la terminal, encara que sempre podràs reinstal·lar-lo més endavant si el trobes a faltar.
A CentOS, RHEL i derivades, l'ordre equivalent per esborrar el paquet sol ser sudo yum remove rename , cosa que retirarà la utilitat de renombrado massiu del sistema.
En qualsevol cas, fins i tot sense rename instal·lat, sempre tindràs la possibilitat de reanomenar directoris i fitxers amb mv i, si ho necessites, construir els teus propis scripts d'intèrpret d'ordres per automatitzar tasques més complexes.
La clau és triar l'eina que millor s'adapti al teu flux de treball ia l'entorn on estàs operant: en una màquina personal pot tenir sentit tenir-ho tot instal·lat, mentre que en un servidor molt crític potser prefereixes anar amb més “dieta” d'ordres addicionals.
Eliminar fitxers i directoris amb rm: compte en netejar
En qualsevol operació d'organització de fitxers sol arribar el moment d'esborrar allò que ja no cal. A Linux la comanda responsable d'això és rm , que permet eliminar tant fitxers individuals com directoris complets.
La sintaxi general de rm es pot escriure com a rm ARXIU… . Si el que vols és esborrar un fitxer solt, com un log antic, una cosa tan simple com rm archivo.log ja fa la feina, sempre que tinguis permisos per fer-ho.
Per a tractar amb directoris cal utilitzar l'opció -r o -R , que activa l'esborrament recursiu. Per exemple, rm -r carpeta intentarà eliminar la carpeta i tot el seu contingut (subdirectoris i fitxers inclosos), però ho farà sense demanar confirmació per cada element si no hi afegeixes més banderes.
Si vols anar un pas més enllà i forçar l'esborrat fins i tot quan hi hagi restriccions o fitxers de només lectura, hi ha la combinació rm -rf carpeta , que barreja recursivitat i “force”. És molt potent, però també molt perillosa: una badada amb aquesta ordre pot esborrar mitja màquina.
Per això, en entorns on preferiu anar amb més cura, és bona idea combinar -r amb -i , de manera que rm et pregunti si vols esborrar cada fitxer o directori. Alguna cosa com a rm -ri carpeta t'obligarà a confirmar cada pas, cosa que redueix el risc d'esborrar alguna cosa que no devies.
Esborrar directoris buits i altres detalls de rm
A més de rm, hi ha una ordre específica anomenada rmdir l'única funció de la qual és esborrar directoris buits . Si el directori conté alguna cosa al vostre interior, rmdir fallarà i us avisarà que no podeu esborrar-lo perquè no és buit.
Això fa que rmdir sigui una opció una mica més segura quan vols netejar carpetes que saps que ja no contenen fitxers, per exemple després de moure el contingut a un altre lloc. Per veure totes les opcions podeu executar man rmdir des de la terminal.
Tornant a rm, a més de -i, -f, -r/-R i -v (per llistar el que va esborrant), tingues present que pots usar comodins com * i ? per seleccionar grups de fitxers. Un cas típic és eliminar tots els .txt d'un directori amb alguna cosa com a rm *.txt.
També és possible esborrar diversos fitxers alhora indicant-los de forma explícita, per exemple rm fitxer1.log fitxer2.log fitxer3.log . Això us estalvia teclejar rm diverses vegades quan saps exactament quins fitxers vols eliminar.
En qualsevol cas, cada vegada que vagis a llançar un rm amb comodins o amb -r, val la pena repassar l'ordre abans de donar-li a Enter i, si és possible, fer un ls previ per comprovar quins fitxers coincideixen amb el patró que has fet servir.
Dominar bé rm, mv, cp i, quan ho necessitis, rename et permetrà treballar amb facilitat tant al teu escriptori Linux com a servidors remots, reanomenant carpetes i arxius, movent-los, copiant-los o esborrant-los sense dependre de l'entorn gràfic i amb la tranquil·litat de saber exactament què estàs fent en cada moment.
Índex
- 1 Conceptes bàsics: directoris, rutes i terminal a Linux
- 2 L'ordre mv: moure i reanomenar directoris a Linux
- 3 Opcions més útils de l'ordre mv
- 4 Com anomenar una carpeta a Linux amb mv
- 5 Reanomenar i moure una carpeta alhora
- 6 Reanomenar directoris i fitxers en servidors remots amb SSH
- 7 Copiar directoris a Linux amb cp abans de reanomenar
- 8 Reanomenar fitxers a Linux amb mv
- 9 Reanomena diversos fitxers de cop amb bucles i find
- 10 L'ordre rename: anomenat massiu avançat
- 11 Exemples pràctics amb rename: majúscules, minúscules i espais
- 12 Eliminar l'eina rename quan no la necessitis
- 13 Eliminar fitxers i directoris amb rm: compte en netejar
- 14 Esborrar directoris buits i altres detalls de rm