[ad_1]
Renomear um diretório no Linux é fácil e há muitas maneiras de fazê-lo. Desde renomear um único diretório até localizar e renomear muitos, veja como isso é feito.
Seus dados estão seguros
Renomear diretórios é algo que todos nós precisamos fazer de tempos em tempos.
Poderíamos criar um diretório e escrever seu nome errado, e queremos corrigir isso. Frequentemente, a finalidade de um diretório muda com o tempo ou durante a vida de um projeto, e você deseja ajustar o nome para refletir seu novo uso. Talvez você tenha descompactado um arquivo e criado uma árvore de diretórios com os nomes dos diretórios em maiúsculas e gostaria que eles estivessem em minúsculas.
Seja qual for a razão. renomear um diretório não faz nada com os dados contidos nele. mudar o caminho a esses dados, mas os arquivos e diretórios dentro do diretório renomeado permanecem intocados.
Não renomeie os diretórios do sistema. Alterar o caminho para arquivos e comandos do sistema terá um efeito prejudicial no funcionamento do computador, para dizer o mínimo. se você precisa usar sudo
para renomear um diretório, a menos que você realmente saiba o que está fazendo, provavelmente não deveria renomeá-lo.
Usando o comando mv
Nos casos mais simples, tudo o que realmente precisamos é o mv
domínio. Isso é parte integrante de todas as distribuições Linux, portanto, não há nada para instalar.
a mv
O comando tem mais de 50 anos no momento da redação deste artigo. Isso remonta ao início do Unix, quando comandos curtos e enigmáticos estavam na moda, provavelmente para reduzir o número de caracteres que precisavam ser passados 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 lhe der um novo nome, você terá renomeado o arquivo. E podemos fazer o mesmo com diretórios.
Existem dois subdiretórios neste diretório.
ls
Para renomear um diretório, usamos o comando mv. Precisamos fornecer o nome atual do diretório e o novo nome.
mv old-work archive-2
Se o diretório que você deseja renomear não estiver em seu diretório atual, forneça o caminho e o nome do diretório.
mv ~/htg/old-work ~/htg/archive-2
ls
Usando o Explorador de Arquivos
Os exploradores de arquivos podem renomear diretórios. A combinação de teclas 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ê.
É tão simples como isso.
O comando de renomeação
Se suas necessidades forem mais complicadas do que simplesmente renomear um diretório, talvez seja necessário usar o rename
domínio. Isso permite que você use expressões Perl para renomear arquivos e diretórios. Fornece uma maneira mais poderosa e flexível de renomear diretórios.
Vamos falar sobre o Perl baseado rename
domínio. Existe outro comando mais antigo chamado rename
que faz parte dos utilitários principais do Linux. Você provavelmente precisará instalar o Perl rename
comando que queremos usar.
Para evitar conflitos de nomes com rename
comando, o perl rename
chama-se comando prename
no fedora e perl-rename
em Manjaro. No Ubuntu, o rename
S prename
Os comandos sã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 é prename
. No Ubuntu, você pode usar rename
qualquer prename
.
Para instalar a renomeação Perl, no Ubuntu você precisa digitar:
sudo apt install rename
No Fedora, o comando é:
sudo dnf install prename
No Manjaro o pacote é chamado perl-rename
.
sudo pacman -Sy perl-rename
Certifique-se de usar o comando apropriado para sua distribuição se quiser trabalhar com os exemplos.
Começando a renomear
a rename
O comando pega expressões regulares do Perl e as aplica a um arquivo ou diretório, ou a um grupo de arquivos ou diretórios.
Em nosso diretório, temos uma coleção de outros diretórios.
ls
Seus nomes são uma mistura de letras minúsculas, maiúsculas e maiúsculas. Podemos convertê-los todos para minúsculas com uma expressão adequada.
rename 'y/A-Z/a-z/' *
ls
Todos os diretórios agora estão em letras minúsculas, se antes eram todos em maiúsculas ou continham alguma letra maiúscula.
Toda a magia está contida na expressão. A expressão está entre aspas simples “'
“. Isto é o que todo o comando significa.
- S: Isso significa procurar qualquer caractere no primeiro intervalo de caracteres e substituí-lo pelo caractere correspondente no segundo intervalo de caracteres.
- /AZ/az/: O primeiro intervalo é todas as letras de “A” a “Z”, e o segundo intervalo é todos os caracteres de “a” a “z”.
- *: O curinga asterisco significa aplicar isso a todos os diretórios.
Em outras palavras, o comando lê como “para todos os diretórios, altere as letras maiúsculas para a letra minúscula equivalente”.
Obviamente você pode renomear um único diretório com rename
Embora pareça exagero. Você será mais rápido usando mv
.
rename 's/gamma/epsilon-2/' *
ls
O “s” nesta expressão significa substituto. Ele verifica cada diretório para ver se seu nome é “gamma”. Nesse caso, ele o substitui por “epsilon-2”. No entanto, observe que isso também corresponderia a um diretório chamado “gamma-zeta”, por exemplo, renomeando-o para “epsilon-2-zeta”.
Podemos evitar isso adicionando o início da string “^
“E fim da cadeia”$
” metacaracteres para a primeira cláusula da expressão.
ls
rename 's/^gamma$/epsilon-2/' *
ls
Isso deixa o diretório “epsilon-2” intocado.
Usando renomear com outros comandos
Podemos usar outros comandos para localizar os diretórios que queremos rename
trabalhar em. Se tivermos um conjunto de diretórios aninhados e quisermos renomear qualquer um que termine em “-old” para terminar em “-archive”, podemos fazer isso usando find
S xargs
.
precisamos usar xargs
Porque rename
não aceita entrada canalizada. a xargs
O comando supera esse problema aceitando a entrada canalizada e adicionando-a à linha de comando de outro comando como um parâmetro de linha de comando.
Nosso comando fica assim:
find . -depth -type d -name "*-old" | xargs -r rename "s/old$/archive/"
- .: Dizemos ao find para começar a procurar no diretório atual. Este poderia ser qualquer caminho, é claro.
- -profundidade: use uma pesquisa profunda. Isso significa que o conteúdo de subdiretórios aninhados mais profundos é processado antes dos mais altos.
- tipo d: Diretórios de pesquisa, não arquivos.
- -name “* -antigo”: A faixa de pesquisa. Estamos procurando diretórios com nomes que terminam em “-old”.
- |: Estamos canalizando a saída de find para
xargs
domínio. - xargs -r: O
-r
(não execute se estiver vazio) significa não executar o comando se não houver diretórios correspondentes. - renomear “s/antigo $/arquivo/”: O
rename
comando para executar.
Nossa árvore de diretórios fica assim antes do comando.
Executamos nosso comando:
E podemos ver que todos os diretórios correspondentes foram renomeados, incluindo os aninhados.
cavalos de corrida
Renomear um diretório não precisa de nada mais do que 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 em uma árvore de diretórios, você precisará da flexibilidade de rename
.
RELACIONADO: Como gerenciar arquivos do terminal Linux: 11 comandos que você precisa saber
[ad_2]