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 muitos, veja como fazer isso.
Seus dados estão seguros
Renomear diretórios é algo que todos nós precisamos fazer de tempos em tempos.
Podemos criar um diretório e escrever errado seu nome, e queremos corrigi-lo. Frequentemente, a finalidade de um diretório muda ao longo do pace 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 maiúsculas e você gostaria deles em minúsculas.
Seja qual for a razão. renomear um diretório não faz nada com os dados contidos nele. Ele muda o caminho para esses dados, mas os arquivos e diretórios dentro do diretório renomeado não são tocados.
Não renomeie os diretórios do sistema. Alterar o caminho para arquivos e comandos do sistema terá um efeito prejudicial no funcionamento do seu 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 – as probabilities são de que você não deveria renomeá-lo.
Usando o comando mv
Nos casos mais simples, tudo o que realmente precisamos é o mv
comando. Isso é parte integrante de todas as distribuições Linux, portanto, não há nada para instalar.
o mv
comando tem mais de 50 anos no momento da escrita. 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 actual.
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 native em que ele já está e lhe der um novo nome, você renomeou 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 navegador de arquivos
Os navegadores de arquivos podem renomear diretórios. O pressionamento de tecla no aplicativo GNOME Recordsdata é 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 rename
comando. Isso permite que você use expressões Perl para renomear arquivos e diretórios. Ele fornece uma maneira totalmente mais poderosa e flexível de renomear diretórios.
Nós vamos estar falando sobre o baseado em Perl rename
comando. 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 nome com o existente rename
comando, o Perl rename
comando é chamado prename
no Fedora, e perl-rename
em Manjaro. No Ubuntu, o rename
e prename
comandos são ambos hyperlinks 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
ou prename
.
Para instalar o Perl renomear, no Ubuntu você precisa digitar:
sudo apt set up rename
No Fedora, o comando é:
sudo dnf set up 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.
Primeiros Passos Com renomear
o rename
O comando 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.
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 estão agora em letras minúsculas, sejam elas totalmente maiúsculas anteriormente, ou continham a estranha 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.
- 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
.
rename 's/gamma/epsilon-2/' *
ls
O “s” nesta expressão significa substituto. Ele verifica cada diretório para ver se seu nome é “gamma”. Se for, ele o substitui por “epsilon-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 o início da string “^
” e fim da string “$
” 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 que termine em “-archive”, podemos fazer isso usando to find
e xargs
.
Precisamos usar xargs
Porque rename
não aceita entrada canalizada. o xargs
command supera esse problema aceitando a entrada canalizada e adicionando à linha de comando de outro comando como um parâmetro de linha de comando.
Nosso comando fica assim:
to find . -depth -type d -name "*-old" | xargs -r rename "s/outdated$/archive/"
- .: Dizemos ao to find para começar a procurar 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 mais altos.
- -tipo d: Procure diretórios, não arquivos.
- -nome “*-antigo”: A pista de pesquisa. Estamos procurando diretórios com nomes que terminam em “-old”.
- |: Estamos canalizando a saída de to find para o
xargs
comando. - xargs -r: O
-r
(sem execução se estiver vazio) significa não executar o comando se não houver diretórios correspondentes. - renomear “s/outdated$/archive/”: O
rename
comando 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 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 por uma árvore de diretórios, você precisará da flexibilidade de rename
.
RELACIONADO: Como gerenciar arquivos do terminal Linux: 11 comandos que você precisa saber
Fonte da Notícia: www.howtogeek.com