Ao longo dos anos, vários comandos do Linux foram descontinuados, seja porque não são mais relevantes, apresentam problemas de segurança ou deixaram de ser mantidos. Você ainda poderá usar esses comandos comuns, mas provavelmente não deveria. Em vez disso, tente alternativas que sejam menos propensas a bugs e que também ofereçam mais recursos.
cron: use systemd ou launchd
Um dos meus comandos favoritos que aprendi há muito tempo, o cron era, no entanto, uma ferramenta frustrante de usar. Sua sintaxe estranha e seu ambiente difícil de depurar tornaram seu trabalho um desafio, por isso não é surpresa que alternativas modernas estejam disponíveis. No Linux, o software systemd executa muitas tarefas relacionadas à inicialização, incluindo o manuseio de temporizadores.
Se você tiver acesso a uma distribuição Linux recente, tente usar o comando systemctl para mostrar todos os temporizadores do systemd:
systemctl list-timers Você pode então obter mais informações sobre um cronômetro com o subcomando status:
systemctl status motd-news.service A saída inclui uma linha “Process” que lista o comando real que este temporizador executa:
No macOS, o cron também está obsoleto, mas seu substituto é launchd em vez de systemd. Novamente, o launchd faz muito mais do que apenas agendar tarefas, mas atua como uma atualização do cron, com recursos como melhor manuseio de tarefas que podem precisar ser executadas quando o computador está desligado.
ifconfig: ip substitui-o
O comando ip informa tudo o que você precisa saber sobre sua conexão de rede, incluindo endereço IP, rota para a Internet pública e dispositivos de rede. É uma ferramenta de baixo nível cujo poder total você só desbloqueará se for um administrador de rede ou de sistema. Para a maioria dos usuários, ele substitui a antiga ferramenta ifconfig com um propósito: descobrir seu endereço IP público:
ip address Claro, você pode obter as mesmas informações em um site como ifconfig.me, que informa o endereço IP enviado, junto com outros diagnósticos. Você pode até acessá-lo na linha de comando para ver seu IP em texto simples:
Mas se você estiver depurando um problema de rede, essas opções podem estar indisponíveis e uma ferramenta local sempre será mais confiável do que um site remoto que um dia também poderá ser obsoleto.
nslookup: dig é mais poderoso
O “ns” em “nslookup” significa servidor de nomes, portanto esta ferramenta fornece uma interface para consultar DNS. dig é a mesma coisa, com mais recursos e melhor formatação. Embora o status do nslookup tenha mudado algumas vezes, para obsoleto e vice-versa, dig é um substituto útil.
Na prática, dig é um substituto imediato para nslookup: passe um nome de domínio e você receberá de volta o endereço (ou endereços) IP para o qual o domínio mapeia:
Se você precisar de uma ferramenta realmente simples, o nslookup fará o trabalho. Mas assim que você desejar informações detalhadas de depuração ou consultas de registros mais avançadas, dig deverá ser sua primeira escolha.
neofetch: muitos sucessores estão disponíveis
Alguns comandos são tão populares que, quando obsoletos, geram uma série de substituições. O programa Neofetch foi responsável por todos aqueles logotipos ASCII coloridos que você vê iluminando as capturas de tela do terminal Linux:
Infelizmente, a ferramenta foi descontinuada em 2024, mas felizmente existem muitas alternativas. Parece que cada linguagem de programação tem sua própria versão deste utilitário, desde scripts Bash até C e Rust.
Fastfetch é o principal concorrente, apresentando um logotipo colorido junto com especificações e estatísticas detalhadas do sistema. Você pode configurar tudo sobre sua saída, desde o layout até as informações precisas que ele reporta e como elas são apresentadas:
Embora existam muitas opções, o fastfetch é provavelmente o melhor, até porque é mantido ativamente. Outras alternativas, como ufetch ou pfetch, foram arquivadas ou não estão mais sendo atualizadas. E algumas outras ferramentas podem claramente ser inspiradas no design do fastfetch, mas desempenham funções diferentes; onefetch, por exemplo, exibe informações resumidas sobre um projeto git:
scp: rsync pode ser muito mais rápido
scp — para “cópia segura” — é um comando rápido e fácil que copia arquivos com segurança em uma rede, usando uma conexão SSH. Foi uma atualização para FTP, mas agora está obsoleto em favor do rsync, dependendo do uso necessário.
No caso simples, você pode usar qualquer uma das ferramentas da mesma maneira para fazer upload de um arquivo para um computador remoto:
rsync foo.txt user@some-computer:/path/to/remote/foo.txt
scp foo.txt user@some-computer:/path/to/remote/foo.txt Embora o scp funcione perfeitamente para fazer upload de arquivos, o rsync é melhor para estruturas de diretórios mais complexas que você pode querer carregar (ou baixar) mais de uma vez. Como o próprio nome sugere, o rsync garante que um conjunto remoto de arquivos e um conjunto local estejam sincronizados. Se houver diferenças, ele transfere de forma inteligente um conjunto de deltas, em vez de arquivos completos, tornando-o muito mais eficiente que o scp.
netstat: ss é a atualização a ser alcançada
A ferramenta netstat – abreviação de “status da rede” – é outra ferramenta de rede que agora está obsoleta porque fazia parte do pacote net-tools. O equivalente moderno é ss.
netstat mostra soquetes de rede abertos, tabelas de roteamento e outras estatísticas de rede. É útil para solucionar problemas de rede e verificar o desempenho do tráfego de rede.
ss, que pertence à coleção iproute2, mostra diversas estatísticas de rede. É semelhante a rota ipmas está disponível como um comando independente.
qual: tipo é uma opção melhor
Outro aspecto do Linux que pode ser difícil de entender é exatamente o que acontece quando você executa um comando. Por exemplo, executar um comando parece bastante simples:
ls No entanto, nos bastidores, uma de várias coisas pode acontecer, incluindo:
- Executando um comando interno.
- Executando uma função shell.
- Executando um programa executável.
- Executando um alias, fazendo com que o processo se repita.
Existem vários comandos para ajudá-lo a descobrir exatamente o que está acontecendo. Isso inclui o seguinte, com descrições de suas páginas man ou tldr:
- qual: localize um arquivo de programa no caminho do usuário.
- de onde: um Zsh integrado para indicar como um comando seria interpretado.
- onde: relata todas as instâncias conhecidas de um comando.
- onde é: localizar programas.
- comando -v: exibe o caminho para o executável ou a definição de alias de um comando específico.
O comando whatis é mais um relacionado à tarefa, mas com uma pequena diferença. palavra-chave whatis -d mostrará informações detalhadas sobre um comando (e comandos relacionados) pesquisando palavras-chave nas páginas de manual.
Todos eles fazem praticamente o mesmo tipo de coisa, com pequenas diferenças em seus resultados. Mas o substituto recomendado é outro programa: type.
No macOS, o comando which é um shell integrado, mas meu sistema Ubuntu 24 possui apenas um programa executável, em /usr/bin/qual. Este programa não pode fornecer tantas informações quanto um shell integrado porque não tem acesso a esses dados. Portanto, executar “qual cd” no Ubuntu não me dá nenhuma saída, enquanto o macOS me diz “cd: comando integrado do shell”.
O comando type, entretanto, é interno. Tanto no macOS quanto no Ubuntu (e em qualquer outra distribuição Linux), ele deve informar exatamente o que é um comando e onde ele está, se apropriado:
Observe que type também suporta a mesma opção útil -a que which faz, para mostrar todas as instâncias de um comando, não apenas a primeira:
Se a presença do cd como executável, além de um built-in, parece estranha para você – deveria! No macOS, o programa é simplesmente um script de shell que chama o cd embutido, portanto é apenas um wrapper fictício. Isso é para conformidade com POSIX e provavelmente você nunca precisará usá-lo.