Categories: Tecnologia

Como renomear um diretório no Linux

Renomear um diretório no Linux é fácil e há muitas maneiras de fazer isso. Desde renomear um único diretório até localizar e renomear vários, veja como fazer isso.

Seus dados estão seguros

Renomear diretórios é algo que todos precisamos fazer de vez em quando.

Podemos criar um diretório e escrever seu nome incorretamente, e queremos corrigi-lo. Muitas vezes, a finalidade de um diretório muda ao longo do tempo ou ao longo da vida de um projeto, e você deseja ajustar o nome para refletir seu novo uso. Talvez você tenha descompactado um arquivo compactado e criado uma árvore de diretórios com os nomes dos diretórios em letras maiúsculas e gostaria que eles estivessem em letras minúsculas.

Seja qual for a razão. renomear um diretório não afeta os dados contidos nele. Ele altera o caminho para esses dados, mas os arquivos e diretórios dentro do diretório renomeado não são alterados.

Não renomeie os diretórios do sistema . Alterar o caminho para os arquivos e comandos do sistema terá um efeito prejudicial no funcionamento do seu computador, para dizer o mínimo. Se você precisar usar

 sudo 

para renomear um diretório — a menos que você realmente saiba o que está fazendo — é provável que você não deva renomeá-lo.

Usando o comando mv

Nos casos mais simples, tudo o que realmente precisamos é do mvcomando. Esta é parte integrante de toda distribuição Linux, portanto não há nada para instalar.

O mvcomando tem mais de 50 anos no momento em que este artigo foi escrito. Ele vem desde o início do Unix , quando comandos curtos e enigmáticos estavam em voga, provavelmente para reduzir o número de caracteres que tinham que passar por linhas seriais lentas de teletipos e terminais burros para o computador real.

Na verdade, significa “mover” e pode ser usado para mover arquivos de um diretório para outro. Se você mover um arquivo para o mesmo local em que ele já está e atribuir um novo nome a ele, você renomeará o arquivo. E podemos fazer o mesmo com diretórios.

Existem dois subdiretórios neste diretório.

eu

Para renomear um diretório, usamos o comando mv. Precisamos fornecer o nome atual do diretório e o novo nome.

mv arquivo de trabalho antigo-2

Se o diretório que você deseja renomear não estiver no diretório atual, forneça o caminho e também o nome do diretório.

mv ~/htg/trabalho antigo ~/htg/archive-2

eu

Usando o navegador de arquivos

Os navegadores de arquivos são capazes de renomear diretórios. O pressionamento de tecla no aplicativo GNOME Files é F2. Destacar um diretório e tocar na tecla F2 abre a caixa de diálogo “Renomear pasta”.

Digite o novo nome e clique no botão verde “Renomear”.

O diretório é renomeado para você.

É simples assim.

O comando renomear

Se suas necessidades forem mais complicadas do que a simples renomeação de um diretório, talvez seja necessário usar o renamecomando . Isso permite usar expressões Perl para renomear arquivos e diretórios. Ele fornece uma maneira totalmente mais poderosa e flexível de renomear diretórios.

Estaremos falando sobre o renamecomando baseado em Perl. Existe outro comando mais antigo chamado rename que faz parte dos utilitários principais do Linux. Você provavelmente precisará instalar o renamecomando Perl que queremos usar.

Para evitar conflitos de nome com o renamecomando existente, o renamecomando Perl é chamado prenameno Fedora e perl-renameno Manjaro. No Ubuntu, os comandos renamee prenamesão links simbólicos que resolvem para um binário chamado file-rename.

Então, no Manjaro o comando que você precisará usar perl-rename, e no Fedora é o prename. No Ubuntu, você pode usar renameou prename.

Para instalar a renomeação Perl, no Ubuntu você precisa digitar:

sudo apt instalar renomear

No Fedora, o comando é:

sudo dnf instalar pré-nome

No Manjaro o pacote é chamado perl-rename.

sudo pacman -Sy perl-renomear

Certifique-se de usar o comando apropriado para sua distribuição se quiser trabalhar com os exemplos.

Primeiros passos com renomear

O renamecomando pega expressões regulares Perl e as aplica a um arquivo ou diretório, ou grupo de arquivos ou diretórios.

Em nosso diretório, temos uma coleção de outros diretórios.

eu

Seus nomes são uma mistura de letras minúsculas, maiúsculas e maiúsculas. Podemos convertê-los todos para letras minúsculas com uma expressão adequada.

renomear 'y/AZ/az/' *

eu

Todos os diretórios agora estão em letras minúsculas, quer estivessem totalmente em maiúsculas anteriormente ou contivessem letras maiúsculas estranhas.

Toda a magia está contida na expressão. A expressão é colocada entre aspas simples ” '“. Isso é o que todo o comando significa.

  • y : Isso significa procurar qualquer caractere no primeiro intervalo de caracteres e substituí-lo pelo caractere correspondente do segundo intervalo de caracteres.
  • /AZ/az/ : O primeiro intervalo são todas as letras de “A” a “Z” e o segundo intervalo são todos os caracteres de “a” a “z”.
  • * : O curinga asterisco significa aplicar isso a todos os diretórios.

Em outras palavras, o comando é lido como “para todos os diretórios, troque quaisquer letras maiúsculas pela letra minúscula equivalente”.

Obviamente, você pode renomear um único diretório com rename, embora pareça um exagero. Você será mais rápido usando mv.

renomear 's/gamma/épsilon-2/' *

eu

O “s” nesta expressão significa substituto. Ele verifica cada diretório para ver se seu nome é “gama”. Se for, substitui-o por “épsilon-2”. Esteja ciente, porém, de que isso também corresponderia a um diretório chamado “gamma-zeta”, por exemplo, renomeando-o para “epsilon-2-zeta”.

Podemos evitar isso adicionando os metacaracteres de início da string ” ^” e final da string ” $” à primeira cláusula da expressão.

eu

renomear 's/^gamma$/epsilon-2/' *

eu

Isso deixa o diretório “epsilon-2” intacto.

Usando renomear com outros comandos

Podemos usar outros comandos para localizar os diretórios renamenos quais queremos trabalhar. Se tivermos um conjunto de diretórios aninhados e quisermos renomear qualquer um que termine em “-old” para que termine em “-archive”, podemos conseguir isso usando finde xargs.

Precisamos usar xargsporque renamenão aceita entrada canalizada . O xargscomando supera esse problema aceitando a entrada canalizada e adicionando outro comando à linha de comando como um parâmetro de linha de comando.

Nosso comando fica assim:

encontrar . -profundidade -type d -name "*-antigo" | xargs -r renomear "s/old$/archive/"

  • . : Dizemos ao find para começar a pesquisar no diretório atual. Este poderia ser qualquer caminho, é claro.
  • -profundidade : Use uma pesquisa em profundidade. Isso significa que o conteúdo dos subdiretórios aninhados mais profundos é processado antes dos subdiretórios superiores.
  • -type d : pesquise diretórios, não arquivos.
  • -name “*-old” : a pista de pesquisa. Estamos procurando diretórios com nomes que terminam em “-old”.
  • | : estamos canalizando a saída de find para o xargscomando.
  • xargs -r : O -r(não executar se vazio) significa não executar o comando se não houver diretórios correspondentes.
  • rename “s/old$/archive/” : O renamecomando a ser executado.

Nossa árvore de diretórios fica assim antes do comando.

Executamos nosso comando:

E podemos ver que todos os diretórios correspondentes, incluindo os aninhados, foram renomeados.

Cavalos para cursos

Renomear um diretório não precisa de nada além de mv. Se preferir aplicativos GUI, você pode usar seu navegador de arquivos. Se você tiver muitos diretórios para renomear e, especialmente, se eles estiverem espalhados por uma árvore de diretórios, você precisará da flexibilidade do rename.

maisroot

Recent Posts

O novo aplicativo “PC Manager” da Microsoft se parece muito com o CCleaner

Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…

7 meses ago

Como reiniciar um PS4

Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…

7 meses ago

Veja por que as reticências são tão assustadoras ao enviar mensagens de texto…

A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…

7 meses ago

O telescópio James Webb acaba de capturar os “Pilares da Criação”

A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…

7 meses ago

Você poderá baixar o Proton Drive mais cedo do que pensa

O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…

7 meses ago

Como aumentar o zoom no Photoshop

Para ver suas fotos mais de perto ou para uma edição precisa , você pode…

7 meses ago