Skip to Content
Linux eficiente na linha de comandos
book

Linux eficiente na linha de comandos

by Daniel J. Barrett
April 2025
Intermediate to advanced
248 pages
6h 19m
Portuguese (Portugal, Brazil)
O'Reilly Media, Inc.
Content preview from Linux eficiente na linha de comandos

... A solução mais comum para este perigo é usar o nome alternativo rm para executar rm -i para que seja solicitada a confirmação antes de cada eliminação:

$ alias rm='rm -i'                  Often found in a shell configuration file
$ rm *.txt
/bin/rm: remove regular file 'a.txt'? y
/bin/rm: remove regular file 'b.txt'? y
/bin/rm: remove regular file 'c.txt'? y

Como resultado, um caractere de espaço extra não precisa de ser fatal, porque os prompts de rm -i irão avisar que estás a remover os ficheiros errados:

$ rm * .txt
/bin/rm: remove regular file '123'?      Something is wrong: kill the command

A solução dos aliases é complicada, no entanto, porque a maior parte do tempo podes não querer ou precisar que o rm te faça um prompt. Também não funciona se estiveres ligado a outra máquina Linux sem os teus aliases. Vou mostrar-te uma maneira melhor de evitar que os nomes de ficheiros errados correspondam a um padrão. A técnica tem dois passos e baseia-se na expansão do histórico:

  1. Verifica. Antes de executar rm, executa ls com o padrão desejado para ver que ficheiros correspondem.

    $ ls *.txt
    a.txt   b.txt   c.txt
  2. Elimina. Se a saída de ls parecer correta, executa rm !$ para eliminar os mesmos ficheiros que foram correspondidos.2

    $ rm !$
    rm *.txt

A expansão de histórico !$ ("bang dollar") significa "a última palavra que escreveste no comando anterior". Portanto, rm !$ aqui é uma abreviatura para "apaga o que quer que eu tenha acabado de listar com ls", nomeadamente,*.txt. Se acidentalmente adicionares um espaço ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Aprende o Linux moderno

Aprende o Linux moderno

Michael Hausenblas

Publisher Resources

ISBN: 9798341642164