Contents

Como guardar a saída da linha de comando num ficheiro no Windows, Mac e Linux

Quando você executa um comando de terminal, ele normalmente imprime a saída no terminal, para que você possa lê-la imediatamente. No entanto, por vezes, poderá querer guardar a saída para a analisar mais tarde ou combiná-la com outra ferramenta.

Pode redirecionar a saída de um comando no seu sistema operativo para um ficheiro de texto especificado, utilizando o redireccionamento de saída na linha de comandos. Descubra o método para direcionar o resultado de um comando para um arquivo no Windows, macOS e Linux.

Redirecionar a saída da linha de comandos para um ficheiro

o operador “>” e o operador “”". Embora ambos tenham objectivos semelhantes, é crucial compreender as suas diferenças para evitar qualquer perda de dados não intencional.

O símbolo é utilizado para criar um novo ficheiro ou para substituir um, caso já exista. Por outro lado, o sinal duplo de maior que (") permite a criação de um novo ficheiro se este não existir atualmente; no entanto, não substituirá quaisquer ficheiros pré-existentes. Nos casos em que um ficheiro já existe, adicionará o conteúdo à sua conclusão em vez de substituir quaisquer dados actuais.

Em primeiro lugar, introduza o comando pretendido; em seguida, utilize o símbolo de maior que ‘>’ ou a seta para a direita ‘"’, dependendo se pretende substituir um ficheiro existente ou acrescentar conteúdo, respetivamente; por último, forneça o caminho do ficheiro para onde pretende que a saída seja direccionada. Como ilustração, considere guardar a lista de itens apresentada pelo comando

 ls > /path/to/file 

Modifique o ficheiro localizado em “/path/to/file” fornecendo o seu caminho completo em substituição de

Para aceder ao conteúdo de um determinado ficheiro no seu ambiente de terminal, pode utilizar o comando “cat” acompanhado pela especificação do caminho completo do diretório que conduz ao referido ficheiro. É importante notar que o “/caminho/para/ficheiro” deve ser substituído por uma representação exacta da localização do ficheiro para uma execução correcta da operação.

 cat /path/to/file 

Deve observar o resultado do comando no seu documento atualizado:

/pt/images/redirecting-ouput-of-ls-into-a-file.jpg

O símbolo “>” é utilizado para substituir o conteúdo de um ficheiro existente com a saída gerada por um comando ou série de comandos. Por outro lado, se desejar preservar todos os comandos executados anteriormente e os seus resultados num único ficheiro sem interrupção, recomenda-se a utilização do operador """ que acrescenta novos dados ao ficheiro em vez de o substituir na totalidade.

A incorporação de informação do sistema no ficheiro previamente gerado é uma abordagem viável.Para tal, execute o comando “uname -a” nos sistemas operativos Linux ou Mac ou, em alternativa, utilize o comando “ver” nos sistemas Windows. Depois disso, incorpore o operador """ ao lado do caminho para o ficheiro, como demonstrado abaixo:

 uname -a >> /path/to/file 

Para continuar a atualizar o conteúdo de um ficheiro de registo indefinidamente, repita a operação de anexar uma nova saída de comando ao seu final para qualquer número de repetições consideradas necessárias. Isto permite que um registo contínuo de eventos ou dados seja mantido no ficheiro especificado.

/pt/images/appending-output-to-a-file.jpg

Imprimir a saída para o ecrã e redireccioná-la para um ficheiro

Os redireccionadores ‘<’ e ‘>’ não mostram o resultado de um comando no terminal; em vez disso, guardam-no num ficheiro. Para ver tanto o resultado guardado no ficheiro como o apresentado no ecrã em simultâneo, utilize o comando ’tee’.

Para utilizar o comando “tee”, é preciso redirecionar a saída gerada por outro comando para ele através do símbolo pipe, denotado como uma barra vertical ("|"). Como ilustração, considere a seguinte instância em que os resultados gerados pelo comando “ls” são canalizados para o comando “tee” para processamento:

 ls | tee /path/to/output.txt 

Utilizando o comando tee permite tanto a exibição da saída no terminal quanto a escrita simultânea em um arquivo especificado. Semelhante ao redireccionamento da saída com o símbolo de maior que ( > ), esta abordagem escreve por cima do ficheiro alvo se este já existir ou cria um novo se não existir.

Para utilizar o comando “tee” de modo a mostrar o output no ecrã ao mesmo tempo que o anexa ao fim de um ficheiro especificado, deve-se incluir a flag “-a” antes do caminho do ficheiro, como demonstrado pela seguinte sintaxe:

 uname -a | tee -a /path/to/output.txt 

Observará a saída do comando apresentada no seu ecrã e utilizará o comando “cat” para confirmar que o “tee” também a incluiu no documento.

/pt/images/appending-output-to-a-file-with-the-tee-command.jpg

Tirar partido do poder da linha de comandos

Utilizando a versatilidade das operações da linha de comandos, existem numerosos métodos para direcionar as mensagens de saída padrão e de erro para ficheiros. Esta capacidade permite uma monitorização melhorada dos eventos do sistema, a integração de informações de várias fontes e muito mais.

Para além do simples armazenamento de mensagens de saída, o terminal oferece uma vasta gama de possibilidades. Embora a aquisição inicial de competências possa representar um desafio formidável, as instruções da linha de comandos são versáteis, combináveis e frequentemente mais rápidas do que as suas contrapartes da interface gráfica do utilizador.