Categories
por

Como alternar entre dois directórios na linha de comando do linux

Lori Kaufman é uma especialista em tecnologia com 25 anos de experiência. Tem sido uma escritora técnica sénior, trabalhou como programadora, e até dirigiu o seu próprio negócio multi-local. Leia mais.

Se quiser criar um directório contendo vários subdirectórios, ou uma árvore de directórios, usando a linha de comando no Linux, geralmente tem de usar o comando mkdir várias vezes. No entanto, existe uma forma mais rápida de o fazer.

Digamos que criámos um directório chamado htg, e queremos criar quatro subdirectórios dentro dele. Numa situação normal, usaríamos o comando mkdir para criar o directório htg. Depois, precisaríamos do comando cd para mudar para o novo directório htg e, finalmente, usaríamos o comando mkdir novamente quatro vezes para criar os quatro subdirectórios.

Tudo isto pode ser combinado num único comando, e nós mostrar-lhe-emos como.

Para criar um novo directório com múltiplos subdirectórios, basta escrever o seguinte comando no prompt e premir Enter (obviamente, altere os nomes do directório para o que quiser).

A bandeir a-p diz ao comando mkdir para criar primeiro o directório principal se este ainda não existir (htg, no nosso caso). As palavras entre parênteses fazem parte da “lista de expansão do brace”. Cada um dos itens da lista de expansão de brace é anexado separadamente ao caminho anterior (htg/).

Por exemplo, o comando acima é expandido em htg/articles, htg/images, htg/note, htg/done, todos os quatro subdirectórios sendo criados sob o directório htg. Como pode ver na imagem de ecrã abaixo, funcionou.

Também pode usar uma lista de expansão de brace no comando mkdir se estiver a criar subdirectórios num directório que já existe, como se mostra abaixo. Neste exemplo, o directório htg já existe, pelo que os subdirectórios são simplesmente adicionados sob esse directório.

Pode também aninhar listas de expansão no comando mkdir. Por exemplo, no subdirectório de artigos sob o directório htg, queremos criar dois subdirectórios chamados novos e reescritos. Assim, escrevemos o seguinte comando no prompt e premimos Enter.

Pode também usar o caminho completo se quiser, como fiz no exemplo abaixo:

As quatro subdirectorias são criadas sob o directório htg e depois as duas subdirectorias, novas e reescritas, são criadas sob o subdirectório de artigos.

É assim tão fácil. Também se pode combinar o comando mkdir com o comando cd para fazer um directório e mudar para ele com um comando.

  • Como Adicionar Imagens a Perguntas em Formulários Google
  • Como apagar as suas fotos no Facebook
  • Razer Pensa que Quer um Auricular de Jogo para PC Que Vibre
  • Como obter um link para uma foto ou vídeo no Instagram
  • A correção para processadores lentos AMD no Windows 11 está aqui

Lori Kaufman Lori Kaufman é uma especialista em tecnologia com 25 anos de experiência. Foi escritora técnica sénior, trabalhou como programadora, e até dirigiu o seu próprio negócio multilocalizado. Leia a biografia completa “

Se estiver a trabalhar com ficheiros

Também pode utilizar o preenchimento de tabulações para introduzir o nome do directório, digitando alguns caracteres no nome e depois premindo Tab para terminar a introdução do nome.

Agora, queremos mudar para um segundo directório, pelo que utilizamos novamente o comando cd e o preenchimento de tabulação.

Agora, em vez de digitar o primeiro nome de directório para voltar a esse directório, pode digitar o seguinte comando no prompt e premir Enter.

Isto é simplesmente o comando cd seguido de um espaço e depois de um traço. O nome do directório que está a alternar para exibir e depois é levado para esse directório.

Para alternar de novo para o segundo directório, utilize novamente o comando cd – cd.

Pode também premir uma vez a tecla de seta para cima para aceder ao último comando utilizado a partir do histórico da linha de comando, que neste caso era cd – . Assim, neste momento, para alternar entre estes dois directórios, basta premir a tecla de seta para cima e Enter. Isso é mais rápido do que digitar o caminho de cada vez, mesmo quando se usa o preenchimento de separadores.

Num artigo anterior, revimos 9 melhores ferramentas de comparação e diferença (Diff) de ficheiros para Linux e neste artigo, descreveremos como encontrar a diferença entre dois directórios no Linux.

Normalmente, para comparar dois ficheiros no Linux, usamos o diff – uma ferramenta de linha de comando Unix simples e original que lhe mostra a diferença entre dois ficheiros de computador; compara os ficheiros linha a linha e é fácil de usar, vem com pré-instalada na maioria, se não em todas as distribuições do Linux.

A questão é como é que obtemos a diferença entre dois directórios no Linux? Aqui, queremos saber que ficheiros/subdirectórios são comuns nos dois directórios, aqueles que estão presentes num directório mas não no outro.

A sintaxe convencional para correr diff é a seguinte:

Por defeito, a sua saída está ordenada alfabeticamente pelo nome do ficheiro/subdirectório, como mostrado na imagem de ecrã abaixo. Neste comando, a chav e-q diz à diff para reportar apenas quando os ficheiros diferem.

Mais uma vez as diff não vão para as subdirectorias, mas podemos usar a chav e-r para ler as subdirectorias também desta forma.

Usando a ferramenta Meld Visual Diff e Merge

Existe uma opção gráfica interessante chamada meld (uma ferramenta de difusão e fusão visual para o ambiente de trabalho GNOME) para aqueles que gostam de utilizar o rato, pode instalá-la da seguinte forma.

Uma vez instalado, procure por “meld” no Ubuntu Dash ou Linux Mint Menu , em Activities Overview no Fedora ou CentOS desktop e execute-o.

Verá a interface Meld abaixo, onde pode escolher a comparação de ficheiros ou directórios, assim como a vista de controlo de versões. Clique em comparação de directório e vá para a próxima interface.

Seleccione os directórios que deseja comparar, note que pode adicionar um terceiro directório marcando a opção “Comparação de 3 vias”.

Uma vez seleccionados os directórios, clicar em ” Comparar “.

Neste artigo, descrevemos como encontrar a diferença entre dois directórios no Linux. Se conhecer qualquer outra linha de comando ou guião, não se esqueça de partilhar as suas ideias sobre este artigo através da secção de comentários abaixo.

Se aprecia o que nós

7 pensamentos sobre “Como encontrar a diferença entre dois directórios utilizando ferramentas Diff e Meld”.

Há uma grande ferramenta chamada Beyond Compare aqui https://www. scootersoftware. com/ .

É uma ferramenta GUI com versões para Linux, Mac & Windows. Pode também ligar-se a um servidor remoto usando sftp.

Muito obrigado por partilhar, vamos verificá-lo.

Não se preocupe, temos uma versão QT de Meld. Chama-se KDiff3

KDE tem Kompare mas só trabalha para ficheiros…

Posso usar o comando diff com hospedeiro remoto , assumir a segunda pasta no servidor B do que como usar o comando diff.

Pode encontrar diferença entre dois ficheiros, um local e outro remoto, como este:

Pode ser a melhor ferramenta, neste caso, é o rsync .

Tem algo a dizer? Junte-se à discussão.

Cancelar resposta

Este site utiliza o Akismet para reduzir o spam. Saiba como são processados os seus dados de comentários.

A maioria dos utilizadores intermédios e quase todos os utilizadores avançados preferem o modo CLI em vez do modo GUI, porque há uma infinidade de truques de linha de comando para tornar as coisas muito mais fáceis e rápidas. Hoje, gostaria de partilhar uma simples dica. Este simples truque de bash pode ajudá-lo a mudar automaticamente para um directório sem utilizar o comando cd. Tudo o que precisa de fazer é apenas introduzir o caminho do directório no Terminal, e será aterrado nesse directório em particular. Isto pode ser útil no scripting e para aqueles que utilizam muito a linha de comando no trabalho. Continue a ler.

Mudar para um directório sem utilizar o comando cd

Digamos que queria ir para o directório Downloads . Não precisa de digitar “cd Downloads” sempre que quiser ir a esse directório. Em vez disso, basta digitar “Downloads” no Terminal. Soa bem, não é? De facto!

Vamos simplesmente digitar “Downloads” no Terminal, e ver o que acontece.

Deve digitar “cd Downloads” para ir para o directório de Downloads, certo? Mas, espere! Já não precisa de usar o comando “cd”. Tudo o que tem de fazer é adicionar uma única linha no ficheiro bashrc.Para o fazer, edite o seu ficheiro bashrc:

E, adicione a seguinte linha no final:

Actualize as alterações feitas no ficheiro bashrc com o seguinte comando:

Tudo feito! Pode agora ir para qualquer directório sem utilizar o comando cd. Basta introduzir o caminho do directório como abaixo. O Bash irá automaticamente preender o cd ao introduzir apenas o caminho de qualquer directório no Terminal.

Veja a imagem do ecrã acima. Usei o comando “cd”? Não. Apenas introduzi o nome do directório e fui automaticamente para o respectivo directório.

Outra vantagem deste método é que não só ajuda a mudar para directórios sucessivos, mas também a ir para quaisquer caminhos diferentes.

Por exemplo, digamos que está actualmente no directório /home/sk/Downloads. Quer ir para /var/mail/ . Como o faria? Simples. Basta digitar o caminho completo do respectivo directório i. e. /var/mail/ no nosso caso. Mais uma vez, não precisa de mencionar o comando ‘cd’. Veja a seguinte captura de ecrã.

Da mesma forma, pode ir para qualquer local sem ter de usar o comando ‘cd’.

Pode não ser útil para si o tempo todo. Porque o cd é apenas um comando de duas letras. Não será longo digitar apenas dois caracteres. No entanto, esta é uma prova justa que mostra que podemos fazer algumas coisas fixes no Linux.

Sou novo no Linux e no Ubuntu e tentei mudar para pastas/directórios com alguma dificuldade.

Alguém poderia explicar porque é que os seguintes comandos não conseguiram mudar para a pasta/directório de destino pretendido?

4 Respostas 4

O sistema de ficheiros é GNU/Linux é como uma árvore, excepto que a raiz está no topo. 🙂 Por isso, tem uma estrutura como esta:

Se quiser mover-se dentro da árvore, uma opção é utilizar caminhos relativos. Se estiver em /home/sharon , então digitando cd Downloads funcionará, porque Downloads é um filho imediato do seu directório actual. Se estiver na subpasta Documentos e quiser mudar de directório ( cd ) para Downloads , terá de subir ( … ) e depois para Downloads . Assim, o comando correcto seria cd ../Downloads .

Poderia também introduzir um caminho absoluto. Assim, a pasta Downloads é uma subpasta de sharon que é uma subpasta de home que é … (obtém-se a ideia :-)) Assim também pode introduzir cd /home/sharon/Downloads onde quer que esteja no sistema de ficheiros.

refere-se sempre ao directório home do utilizador actual ( /home/sharon no seu caso). Se introduzir cd

/Downloads aterrará na sua pasta de Downloads.

. refere-se ao directório actual, por isso cd ./Downloads é aproximadamente equivalente a cd Downloads .

… significa “directório de pais”.

/ no início do caminho do ficheiro refere-se ao directório raiz.

A próxima coisa agradável é a expansão de separadores. Se introduzir cd

/Dow Tab (o último é premir a tecla Tabulator), a bash expande-o automaticamente para cd

Como os outros disseram, GNU/Linux é sensível a maiúsculas e minúsculas. Portanto, faz diferença se entrar em Home , hOme ou home . Além disso, espero que veja agora que existe uma diferença entre /home e home . A primeira é absoluta, enquanto a última é relativa ao seu directório actual.

Tendo migrado do Windows para Linux, gostaria de encontrar um software alternativo ao Winmerge ou melhor, aprender ferramentas de linha de comando para comparar e sincronizar duas pastas no Linux. Ficaria grato se me pudesse dizer como fazer as seguintes tarefas na linha de comando. (Estudei diff e rsync, mas ainda preciso de alguma ajuda).

Temos duas pastas: “/home/user/A” e “/home/user/B”.

A pasta A é o local onde ficheiros e pastas normais são guardados e a pasta B é uma pasta de backup que serve como um espelho completo da pasta A. (Nada é directamente guardado ou modificado pelo utilizador na pasta B.)

As minhas perguntas são:

Como listar os ficheiros que existem apenas na pasta B? (Por exemplo, os que foram apagados da pasta A desde a última sincronização).

Como copiar ficheiros que existem apenas na pasta B de volta para a pasta A?

Como listar os ficheiros que existem em ambas as pastas mas que têm carimbos temporais ou tamanhos diferentes? (Os que foram modificados na pasta A desde a última sincronização. Gostaria de evitar a utilização de checksums, porque existem dezenas de milhares de ficheiros e isso tornaria o processo demasiado lento).

Como fazer uma cópia exacta da pasta A para a pasta B? Quero dizer, copiar tudo da pasta A para a pasta B que existe apenas na pasta A e apagar tudo da pasta B que existe apenas na pasta B, mas sem tocar nos ficheiros que são os mesmos em ambas as pastas.

8 Respostas 8

Isto coloca a pasta A na pasta B:

Se quiser que o conteúdo das pastas A e B seja o mesmo, coloque /home/user/A/ (com a barra) como a fonte. Isto não toma a pasta A mas todo o seu conteúdo e coloca-a na pasta B. Assim:

-a Fazer a sincronização preservando todos os filesyste

Na saída, a uníssono exibirá cada directório e ficheiro que é diferente nos dois directórios que pediu para sincronizar. Recomendará sincronizar adicionalmente (replicar o ficheiro em falta em ambos os locais) na execução inicial, depois criar e manter uma árvore de sincronização na sua máquina, e nas execuções subsequentes implementará a sincronização verdadeira (ou seja, se eliminar um ficheiro de . /dirA , ele será apagado de . /dirB também. Pode também comparar cada alteração e, opcionalmente, optar por avançar ou reverter a sincronização entre os dois directórios.

Opcionalmente, para iniciar a interface gráfica, basta remover a opçã o-ui text do seu comando, embora eu ache o cli mais simples e rápido de utilizar.

A resposta do TuxForLife é bastante boa, mas sugiro vivamente que use m-c quando sincronizarem localmente. Pode argumentar que não vale a pena pena de tempo/rede fazê-lo para sincronizações remotas, mas vale totalmente a pena para ficheiros locais porque a velocidade é tão grande.

Isto mostra como ter o mesmo tamanho e carimbos de tempo pode falhar-lhe.

Isto é o que estou a usar para fazer cópias de segurança de ficheiros pessoais, onde não me importo com tudo o que é coberto pel a-a , e quero mais informação útil impressa.

-r, – recursivo Isto diz ao rsync para copiar directórios recursivamente.

  • -t, – times Isto diz ao rsync para transferir tempos de modificação juntamente com os ficheiros e actualizá-los no sistema remoto.
  • -u, – update Isto obriga o rsync a saltar quaisquer ficheiros que existam no destino e a ter um tempo modificado mais recente do que o ficheiro fonte. (Se um ficheiro de destino existente tiver um tempo de modificação igual ao do ficheiro-fonte, será actualizado se os tamanhos forem diferentes).
  • -delete Isto diz ao rsync para eliminar ficheiros externos do lado receptor (os que não estão do lado emissor), mas apenas para os directórios que estão a ser sincronizados.
  • -info=FLAGS Esta opção permite-lhe ter um controlo de granulação fina sobre a saída de informação que deseja ver.

A partir de rsyn c-info=help

Embora menos explícito, isto é aparentemente equivalente e mais curto:

-v, – verbose Um únic o-v dar-lhe-á informações sobre que ficheiros estão a ser transferidos e um breve resumo no final [stats1].

Precisa de navegar pelos seus ficheiros no terminal Linux? Precisa do comando cd – aqui está como utilizá-lo.

A navegação no sistema é uma das tarefas mais básicas que um utilizador pode realizar num sistema operativo. Enquanto muitos gestores de ficheiros estão disponíveis que lhe permitem trocar de directórios e navegar nas suas unidades de disco de uma forma gráfica, fazer o mesmo utilizando a linha de comando pode proporcionar-lhe um melhor controlo sobre o seu sistema.

Felizmente, o Linux fornece-lhe um comando conhecido como cd, que lhe permite mudar facilmente o directório de trabalho actual no seu terminal.

Eis como pode usar o comando cd no Linux, o único utilitário que alguma vez precisará para atravessar através de directórios no armazenamento do seu sistema.

Como usar o comando cd no Linux

O comando cd significa Change Directory . Um dos comandos mais fundamentais no Linux, o cd tornou-se um comando global para mudar de directório. Algumas outras implementações do comando, tais como chdir , utilizado em sistemas MS-DOS, estão também presentes.

Sintaxe Básica

A sintaxe básica do comando cd é:

. onde as opções são os argumentos passados com o comando e o caminho é o caminho absoluto ou relativo para o directório.

Caminho Absoluto e Relativo

Antes de poder utilizar o comando cd em toda a sua extensão, deve saber a diferença entre os nomes absolutos e relativos. O pathname absoluto é o caminho completo para o directório, a partir da pasta / (raiz).

Por outro lado, o caminho relativo é derivado do directório de trabalho actual. Pode mover-se para cima e para baixo da árvore de directórios de forma eficiente com o comando cd, se estiver bem versado em caminhos relativos.

Por exemplo, se o seu directório de trabalho actual for /home , e quiser alterar o directório para /Desktop . Então, utilizando o caminho absoluto:

Por outro lado, se quiser mudar para o directório /Desktop utilizando um caminho relativo, tudo o que tem de digitar é:

Cd mantém um registo do que são directórios acima e abaixo do directório actual, para permitir a um utilizador mudar rapidamente para outros directórios sem ter de digitar o caminho completo.

Se não souber o nome exacto da subpasta para a qual pretende mudar, utilize o comando ls para listar todos os directórios dessa pasta.

Alternar para o directório de início

Num sistema Linux, o directório /home é um directório especial reservado aos ficheiros pessoais, programas, e subpastas de um utilizador. Quando faz o login no seu sistema, o directório home é definido como o directório de trabalho actual por defeito.

O directório home tem um carácter especial que lhe é atribuído – o

(til) carácter. Em vez de especificar o caminho completo para o seu directório home ( /home/ nome de utilizador ), pode simplesmente passar o

com o comando cd para alterar o directório de trabalho actual para /home .

Da mesma forma, é possível navegar para o directório home de outros utilizadores da seguinte forma.

Na secção anterior, mudámos o actual directório de trabalho para /Desktop . No comando, pode usar o comando

carácter para denotar o directório /home e desnudar o comando para metade do seu tamanho.

Navegar para a pasta de raiz

Tal como o directório home, o carácter / denota o directório /root num sistema operativo baseado em Linux. Para mudar para a pasta raiz em qualquer altura:

Mudar para o directório de trabalho anterior

Se estiver a trabalhar com múltiplos directórios de cada vez, pode facilmente alternar para a directoria de trabalho anterior usando o caracter – (hífen).

Por exemplo, se o directório de trabalho actual for /home e se mudar para o directório /root. Então, /home tornar-se-á o directório de trabalho actual, e /home será o directório de trabalho anterior.

Ao digitar o seguinte comando, será conduzido para o directório anterior, ou seja, /home .

Além disso, a emissão do comando cd seguido de um carácter de espaço levará o utilizador para o directório de trabalho anterior.

Mudar para o directório dos pais

O directório que consiste em um ou mais subdirectórios é conhecido como directório principal. Simplificando, se tiver /Desktop e /Downloads pastas no seu directório /home, então o directório /home será o directório pai para /Desktop e /Downloads .

Os caracteres … e . representam o directório pai e o directório actual, respectivamente.

Utilize o caractere de pontos duplos ( … ) para mudar para o directório pai.

O comando acima mencionado irá levá-lo um nível acima da árvore do directório. Pode também passar caracteres … adicionais para se mover mais acima na árvore de directórios.

Para mover dois níveis acima do seu directório de trabalho actual:

Também pode passar um directório específico um nível acima do actual directório de trabalho.

Mudar para um nome de directório com espaços

Nem todas as pastas do seu sistema terão um nome com uma palavra. Algumas delas podem incluir o carácter espacial. Por exemplo, /home/ nome de utilizador/Documentos Importantes .

Em tais situações, a especificação do nome do directório irá devolver um erro.

Para mudar para directórios que tenham espaços no nome, envolva o nome do directório entre aspas, como se segue. Note que pode usar tanto aspas simples como duplas no comando.

Em alternativa, pode usar o carácter de barra invertida (\) para escapar aos espaços.

Navegação do sistema através da linha de comando

O terminal Linux é uma poderosa interface de texto para controlar o funcionamento do seu computador. Pode realizar praticamente qualquer tarefa utilizando a linha de comando. Alterar directórios, copiar ficheiros e pastas remotamente, listar informação de ficheiros, editar ficheiros de configuração, nomeá-los. Há um comando para tudo o que deseja fazer no Linux.

No entanto, há uma desvantagem em ter tantos comandos. Nem todos podem aprender e memorizar os comandos, para não mencionar a quantidade pesada que está disponível para usar em primeiro lugar. Mas como utilizador iniciante do Linux, não utilizará todos os utilitários que estão disponíveis no seu sistema.

Em vez disso, aprender alguns comandos básicos que o ajudarão a realizar operações fundamentais é mais do que suficiente para começar a utilizar o sistema operativo.

Deseja familiarizar-se com o Linux? Comece com estes comandos básicos do Linux para aprender tarefas de computação padrão.

Deepesh é o Editor Júnior para Linux no MUO. Escreve guias informativos sobre Linux, com o objectivo de proporcionar uma experiência feliz a todos os recém-chegados. Não tem a certeza sobre filmes, mas se quiser falar sobre tecnologia, ele é o seu homem. No seu tempo livre, pode encontrá-lo a ler livros, a ouvir diferentes géneros de música, ou a tocar guitarra.

Subscreva a nossa newsletter

Junte-se ao nosso boletim informativo para dicas técnicas, resenhas, livros electrónicos gratuitos e ofertas exclusivas!

Para copiar ficheiros ou directórios em sistemas operativos baseados em Unix (Linux e MacOS), usa o comando cp.

O comando cp é um comando relativamente simples, mas o seu comportamento muda ligeiramente dependendo dos inputs (ficheiros vs directórios) e das opções que lhe passar.

Para ver a documentação ou manual do comando cp, execute o man cp no seu terminal:

A forma básica deste comando toma uma fonte de entrada (ou fontes) que deseja copiar (ficheiros ou directórios) e um destino para onde copiar os ficheiros ou directórios:

Como copiar um ficheiro para o directório actual

Para copiar um ficheiro, passe o ficheiro que pretende copiar e o caminho para onde pretende copiar o ficheiro.

Se tiver um ficheiro chamado a. txt , e quiser uma cópia desse ficheiro chamado b. txt :

Por defeito, o comando cp utiliza o seu directório actual como caminho.

Como copiar um ficheiro para outro directório

Para copiar um ficheiro para um directório que seja diferente do seu directório actual, basta passar o caminho do outro directório como destino:

Após o comando cp, o directório anteriormente vazio-1 contém agora o ficheiro a. txt .

Por defeito, o ficheiro copiado recebe o nome do ficheiro original,

Para copiar um directório, é necessário adicionar a bandeir a-r (o u-R ) – que é a abreviatura d e-recursivo :

Aqui o directório-1 que contém o ficheiro a. txt é copiado para um novo directório chamado directório-2 – que agora também contém o ficheiro a. txt .

Como copiar o directório inteiro vs. o conteúdo do directório

Existe um caso interessante quando se copia um directório: se o directório de destino já existir, pode-se escolher se se copia o conteúdo do directório ou todo o directório adicionando ou removendo um trailing / da sua entrada.

Aqui está a descrição da opçã o-R da página de homem:

Se quiser copiar apenas o conteúdo do directório para outro directório, adicione um trailing / à sua entrada.

Se quiser copiar o conteúdo do directório e a própria pasta do directório para outro directório, não adicione um trailing / :

Aqui pode ver que porque o directório-2 já existe – e a fonte de entrada não tinha um trailing / – tanto o conteúdo do directório-1 como o próprio directório foi copiado para o destino.

Como evitar a sobreposição de ficheiros com o cp

Por defeito, o comando cp irá sobrescrever ficheiros existentes:

Há duas maneiras de evitar isto.

A bandeira interactiva

Para ser avisado quando uma overwrite está prestes a ocorrer, pode adicionar a bandeir a-i o u-interactiva:

A bandeira no-clobber

Ou, para evitar sobreescritos sem ser solicitado, pode adicionar a bandeir a-n o u-no-clobber:

Aqui pode ver que graças à bandeir a-n, o conteúdo do directório-1/a. txt não foi sobrescrito.

Outras opções

Há muitas outras opções úteis para passar ao comando cp: com o-v para saída “verbosa” o u-f para “força”.

Encorajo-o vivamente a ler a página de homem para todas as outras opções úteis.

Se gostaram deste tutorial, também falo sobre tópicos como este no Twitter, e escrevo sobre eles no meu site.

Um simples programador da web que gosta de ajudar os outros a aprender a programar.

Se ler até aqui, tweet para o autor para lhes mostrar que se importa. Tweet um agradecimento

Aprenda a codificar gratuitamente. O currículo de código aberto do freeCodeCamp ajudou mais de 40.000 pessoas a conseguir emprego como programadores. Comece

freeCodeCamp é uma organização sem fins lucrativos isenta de impostos 501(c)(3) (United States Federal Tax Identification Number: 82-0779546)

A nossa missão: ajudar as pessoas a aprender a codificar de graça. Conseguimos isto criando milhares de vídeos, artigos, e lições de codificação interactiva – tudo gratuitamente à disposição do público. Também temos milhares de grupos de estudo gratuitos do CampCodeCamp em todo o mundo.

As doações para a FreeCodeCamp vão para as nossas iniciativas educativas e ajudam a pagar os servidores, serviços e pessoal.

andy. brandon50 (CC BY-SA 2.0)

Há muitas formas de alterar o texto na linha de comando do Linux de minúsculas para maiúsculas e vice-versa. De facto, tem um impressionante conjunto de comandos à sua escolha. Este post examina alguns dos melhores comandos para o trabalho e como pode fazê-los fazer exactamente o que deseja.

Usando tr

O comando tr (traduzir) é um dos mais fáceis de usar na linha de comando ou dentro de um guião. Se tiver uma string que queira ter a certeza de estar em maiúsculas, basta passá-la através de um comando tr como este:

Abaixo está um exemplo de utilização deste tipo de comando num script quando se quer ter a certeza de que todo o texto que é adicionado a um ficheiro está em maiúsculas para maior consistência:

Alterar a ordem para [:superior:] [:inferior:] teria o efeito contrário, colocando todos os nomes de departamento em minúsculas:

Da mesma forma, poderia usar as cordas de A-Z e a-z do comando sed para realizar a mesma coisa:

Como sem dúvida suspeita, a inversão da ordem das cordas a-z e A-Z terá o efeito oposto, transformando o texto em todas as minúsculas.

Usando awk

O comando awk permite-lhe fazer a mesma coisa com as suas opções de toupper e tolower. O comando no guião mostrado no exemplo anterior poderia ser feito desta forma:

O inverso (mudar para minúsculas) ficaria assim:

Usando sed

O comando sed (editor stream) também faz um grande trabalho de alternância entre maiúsculas e minúsculas. Este comando teria o mesmo efeito que o primeiro dos dois acima apresentados.

Mudar de maiúsculas para minúsculas implicaria simplesmente a substituição do U perto do fim da linha por um L .

Manipular o texto num ficheiro

Tanto o awk como o sed também lhe permitem alterar o caso de texto para ficheiros inteiros. Então, acabou de descobrir que o seu chefe queria esses nomes de departamento em todas as minúsculas? Não há problema. Basta executar um comando como este com o nome do ficheiro fornecido:

Se quiser sobrescrever o ficheiro de depts, em vez de apenas exibir o seu conteúdo em minúsculas, teria de fazer algo deste género:

Fazer a alteração com sed , contudo, pode evitar esse último passo porque sed pode editar um ficheiro “no local” como aqui mostrado, deixando o ficheiro intacto, mas o texto em todas as letras minúsculas:

Capitalizar apenas as primeiras letras

Para capitalizar apenas as primeiras letras de palavras numa cadeia, pode fazer algo como isto:

Esse comando garantirá que as primeiras letras sejam capitalizadas, mas não mudará o resto das letras.

Assegurando que apenas as primeiras letras são maiúsculas

É um pouco mais desafiante quando se quer alterar o texto de modo a que apenas as primeiras letras estejam em maiúsculas. Digamos que está a manipular uma lista de nomes de membros do pessoal e quer que eles sejam formatados da forma normal de Primeiro Nome Último.

com sed

Poderia usar um comando de sed consideravelmente mais complexo para assegurar este resultado:

com píton

Se tiver python carregado, pode executar um comando como este que também formata texto de modo a que apenas as primeiras letras de cada palavra sejam maiúsculas e o comando possa ser um pouco mais fácil de analisar do que o comando sed mostrado acima:

Há muitas maneiras de alterar a formatação do texto entre maiúsculas e minúsculas. O que funciona melhor depende em parte de se está a manipular uma única cadeia de caracteres ou um ficheiro inteiro e de como quer que o resultado final se apresente.

Sandra Henry-Stocker tem vindo a administrar sistemas Unix há mais de 30 anos. Ela descreve-se como “USL” (Unix como uma segunda língua) mas lembra-se de inglês suficiente para escrever livros e comprar mercearias. Vive nas montanhas da Virgínia onde, quando não trabalha nem escreve sobre Unix, persegue os ursos longe dos seus alimentadores de pássaros.