Terminais
Quem não conhece acha que é bruxaria
Quem não é da área da computação e observa algum desenvolvedor ali com o terminal aberto desferindo comandos, fica apreensivo - Nossa esse cara é inteligente ... Geralmente os hackers dos filmes também são sempre representados dessa forma, fazendo magica ali em frente ao terminal.
Hoje em dia, com a bolha formada, todos querem fazer formações nessa area da computação/análise e desenvolvimento de sistemas, para cada lado que você olha, existe um desenvolvedor/programador, com suas letrinhas coloridas geralmente desfocadas ou há uma boa distancia para que você não perceba que se trata de um código frontend, um código sem conhecimento da base, um código em seu máximo de nível de abstração, fazendo N tarefas com o mínimo de linhas possíveis e ainda por cima de tudo isso alimentado pelo copia-e-cola com IA de copiloto. Me parece que esse vôo está mesmo é sem piloto.
O termo “Terminal”
No início de tudo, os computadores eram enormes ocupavam uma sala mas os comandos deveriam ser programados em algum ponto de entrada, existia então uma espécia de painel de controle, uma bancada onde o programador poderia codificar, esse balcão era chamado de terminal. Logo o termo foi repassado mesmo durante os anos, e o terminal ainda mantem a sua caracteristica, fazer a ponte entre a linguagem de maquina e a linguagem humana através de comandos pré definidos, e ainda sem mantem acoplano ao computador, a diferença é que agora o computador pode ser trasportado com mais facilidade.
Terminal - Windows - Linux
Cada sistema operacional tem seu pacote de ferramentas e com isso cada um tem a sua forma de se comunicar com recursos do sistema. No linux dependendo da distribuição, temos o bash, Zsh, Fish e Dash... Pode-se notar que existem varias opções.
O Windows foi um pouco mais conservador nesse quesito, o CMD que foi por um grande periodo o único terminal do windows foi baseado no antigo MS-DOS, esse terminal sobreviveu até o ano de 2006 no Windows Vista.
Com CMD era possível criar scripts, tentar automatizar as tarefas com scripts, criar arquivos .BAT, talvez combinar isso com o agendador de tarefas. Realmente sempre foi possível se virar de alguma forma, mas com suas limitações e o fato de tratar tudo como texto, acabou limitando a ferramenta.
PowerShell - Windows
Foi então que foi lançado o PowerShell que em vez de tratar tudo como texto passa a tratar tudo como objetos, com suas propriedades e métodos, facilitando muito as automações.
Com ele temos uma linguagem bem dinamica e se você já é habituado com programação, fica fácil de entender. Por exemplo se você quer exibir qual processo está rodando em seu computador, você utiliza o Get-Process Isso te retornará a lista completa. Agora você pode utilizar um Get-Member para descobrir quais propriedades e metodos tem essa lista de objetos (que são os processos). E no nosso caso temos uma propriedade TotalProcessorTime que mostra o total de tempo que o processo está rodando, vamos utilizar essa para curiosidade. Vamos buscar qual processo que está rodando dias seguidos nesse computador
PS C:\Windows\system32> Get-Process | Select-Object Id, Name, TotalProcessorTime | Sort-Object TotalProcessorTime -Descending
| Id | Name | TotalProcessorTime |
|---|---|---|
| 4 | System | 00:10:12.7968750 |
| 3440 | MsMpEng | 00:07:43.7187500 |
| 8480 | Code | 00:05:05 |
| 6232 | dwm | 00:02:43.1250000 |
| 6224 | Code | 00:01:33.2656250 |
| 8836 | chrome | 00:00:58.9687500 |
| 2064 | svchost | 00:00:57.4843750 |
| 8076 | chrome | 00:00:50.2500000 |
| 12400 | Code | 00:00:40.8437500 |
| 6608 | chrome | 00:00:39.2031250 |
| 9964 | Code | 00:00:36.2968750 |
O curioso aqui foi ter encontrado a propriedade TotalProcessorTime, sem sair do PowerShell, apenas olhando as propriedades e métodos. Isso foi possível pois tudo é tratado como objeto e não como texto puro como era no CMD
Conclusão
Podemos notar que até mesmo a ferramenta mais básica que existe por anos, tem sua história e seus segredos com um poder enorme de automação e poder de controle sobre a máquina mas nem todos se interessam mesmo sendo um item essencial que faz parte do conhecimento base.