Conheça este utilitário de linha de comando para controlar discos no Linux

Unidades de armazenamento externas ou internas podem ser acessadas e controladas com o utilitário de linha de comando (CLI) udisksctl.
O programa permite realizar diversas operações avançadas nas unidades conectadas.

Obter informações, verificar o status, monitorar unidades, montar/desmontar dispositivos, travar/destravar unidades criptografadas, desligar completamente ou configurar o SMART etc. — são algumas das tarefas que podem ser executadas com este pequeno utilitário.

Abra um terminal e me acompanhe nas experiências que seguem.

Como obter informações sobre um dispositivo de armazenamento conectado ao meu computador

O utilitário tem autocompletar para facilitar a digitação, portanto use a tecla TAB para tornar mais eficiente o uso dele.

A opção status permite ver as unidades atualmente conectadas ao seu sistema:


udisksctl status

MODEL                     REVISION  SERIAL               DEVICE
--------------------------------------------------------------------------
Hitachi HTS545050A7E380   GG2OA6C0  TE85123RJG3K4W       sda     
SanDisk SSD i100 24GB     11.56.04  123200143249         sdb     
WDC WD5000BPVT-22HXZT1    01.01A01  WD-WXD1A41D1154      sdc     
TOSHIBA MK5059GSXP        GT001L    51NAP03LT            sdd     
SanDisk Cruzer Blade      1.26      4C530699960225111162 sde

Como você pode ver, acima, as informações obtidas e mostradas pelo utilitário são bem detalhadas.

Use a opção info para obter informações específicas sobre um objeto (lembre-se de telcar TAB para completar a digitação):


udisksctl info --drive SanDisk_Cruzer_Blade_4C530699960225111162

A opção dump irá mostrar uma quantidade de dados muito maior, sobre todas as unidades possíveis:


udisksctl dump

Os dados detalhados das unidades podem ocupar diversas páginas de terminal. Use a tecla de espaçamento, para passar as páginas e a tecla Q para sair do modo de visualização do comando.

Sugiro usar o comando grep para obter informações específicas:

udisksctl dump | grep Hitachi
    Drive:                      '/org/freedesktop/UDisks2/drives/Hitachi_HTS545050A7E380_TE85123RJG3K4W'
    Id:                         by-id-ata-Hitachi_HTS545050A7E380_TE85123RJG3K4W
    Symlinks:                   /dev/disk/by-id/ata-Hitachi_HTS545050A7E380_TE85123RJG3K4W
    Drive:                      '/org/freedesktop/UDisks2/drives/Hitachi_HTS545050A7E380_TE85123RJG3K4W'
    Id:                         by-id-ata-Hitachi_HTS545050A7E380_TE85123RJG3K4W-part1
    Symlinks:                   /dev/disk/by-id/ata-Hitachi_HTS545050A7E380_TE85123RJG3K4W-part1
    Drive:                      '/org/freedesktop/UDisks2/drives/Hitachi_HTS545050A7E380_TE85123RJG3K4W'
    Id:                         by-id-ata-Hitachi_HTS545050A7E380_TE85123RJG3K4W-part2
    Symlinks:                   /dev/disk/by-id/ata-Hitachi_HTS545050A7E380_TE85123RJG3K4W-part2
/org/freedesktop/UDisks2/drives/Hitachi_HTS545050A7E380_TE85123RJG3K4W:
    Id:                         Hitachi-HTS545050A7E380-TE85123RJG3K4W
    Model:                      Hitachi HTS545050A7E380

Para monitorar uma unidade use a opção monitor, seguida do nome do dispositivo:


udisksctl monitor SanDisk_Cruzer_Blade_4C530699960225111162 
Monitoring the udisks daemon. Press Ctrl+C to exit.
14:55:24.735: The udisks-daemon is running (name-owner :1.1046).

A unidade, acima, está desmontada e “dormente”. Se houver alguma atividade ligada a ela, o terminal irá mostrar.
Quando quiser terminar o programa tecle Ctrl+C.

Como trabalhar com unidades criptografadas usando o udisksctl

As opções lock e unlock se referem às unidades alvo de criptografia.
No exemplo, abaixo, uso um drive USB criptografado com LUKS.

Para destravar, use unlock e forneça a senha:


udisksctl unlock -b /dev/sde

Passphrase: 
Unlocked /dev/sde as /dev/dm-0.

Para travar novamente, use lock:


udisksctl lock -b /dev/sde

Locked /dev/sde.

O comando pode ser útil dentro de scripts de backup que necessitem de alguma criptografia, para manter os seus dados ainda mais seguros.

Divirta-se com o cowsay

O cowsay é um pequeno aplicativo escrito em Perl, que pode ser usado para espairecer e refrescar os pensamentos, no Linux.
Resumidamente, é uma vaca configurável e falante.

O aplicativo exibe uma vaquinha em ASCII (veja a imagem abaixo), com uma mensagem dentro de um balão.
cowsay ascii art

Um ótimo lugar para usar o programa é de dentro de seus script, toda vez que precisar se comunicar com o seu usuário.

A vaquinha pode ser uma maneira simpática de avisar que “algo deu errado” ou anunciar o sucesso de alguma operação.
Você é que sabe.

Instale o cowsay a partir do repositório oficial da sua distro. No Debian e Ubuntu, use o apt:


sudo apt install cowsay

Execute o programa, fornecendo uma pequena linha de texto:


cowsay "O site elias.praciano.com tem vários artigos sobre Linux"

/ O site elias.praciano.com tem vários \
\ artigos sobre Linux                  /
 --------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Fácil, não é?

Experimente especificar a largura (width, em inglês) máxima de cada linha, dentro do balão:


cowsay -W10 "___elias .praciano .com___"

 ___________
/ ___elias  \
| .praciano |
\ .com___   /
 -----------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Use a vaquinha no modo Borg (repare nos olhinhos…) com a opção -b:


cowsay -W35 -b "WEBSITE: https://elias.praciano.com TWITTER: https://twitter.com/coisasdogeek"

 __________________________________
/ WEBSITE:                         \
| https://elias.praciano.com       |
| TWITTER:                         |
\ https://twitter.com/coisasdogeek /
 ----------------------------------
        \   ^__^
         \  (==)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Eu não curto maus tratos aos animais… mas existe o modo da vaquinha morta (dead cow), com a opção -d:


cowsay -W15 -d "Eu estou parecendo o cachorro do Elias, que dorme com a língua de fora... "

 _____________
/ Eu estou    \
| parecendo o |
| cachorro do |
| Elias, que  |
| dorme com a |
| língua de   |
\ fora...     /
 -------------
        \   ^__^
         \  (xx)\_______
            (__)\       )\/\
             U  ||----w |
                ||     ||

Experimente usar a opção -g:


cowsay -W15 -g "A opção -g invoca o modo greedy, ou seja, modo ganancioso."

 _______________
/ A opção -g    \
| invoca o modo |
| greedy, ou    |
| seja, modo    |
\ ganancioso.   /
 ---------------
        \   ^__^
         \  ($$)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Segue o modo paranoia, com -p:


cowsay -W15 -p "Modo «paranoia»"

 ____________
/ Modo       \
\ «paranoia» /
 ------------
        \   ^__^
         \  (@@)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Vaquinha chapada com -s:


cowsay -s "Modo chapada ou «stoned»"

 __________________________
< Modo chapada ou «stoned» >
 --------------------------
        \   ^__^
         \  (**)\_______
            (__)\       )\/\
             U  ||----w |
                ||     ||

Vaquinha cansada, com -t:


cowsay -t "Modo cansada ou «tired»"

 _________________________
< Modo cansada ou «tired» >
 -------------------------
        \   ^__^
         \  (--)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Experimente ainda estas outras opções:

  • -y — Vaca rejuvenescida (youthful)
  • -w — Oposto de cansada

Se quiser ajustar por conta própria os olhos da vaca, use a opção -e:


cowsay -e "↓↓" "meus olhinhos"

 _______________
< meus olhinhos >
 ---------------
        \   ^__^
         \  (↓↓)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Altere a aparência da língua da vaca com -T:


cowsay -T "YY" "minha pequena linguinha"

 _________________________
< minha pequena linguinha >
 -------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
             YY ||----w |
                ||     ||

Você quer outros animais?

Se você não gosta de vaquinhas simpáticas, experimente um dos outros vários animais disponíveis pelo programa.
Com a opção -l, é possível listar todos:


cowsay -l

Cow files in /usr/share/cowsay/cows:
apt bud-frogs bunny calvin cheese cock cower daemon default dragon
dragon-and-cow duck elephant elephant-in-snake eyes flaming-sheep
ghostbusters gnu hellokitty kiss koala kosh luke-koala mech-and-cow milk
moofasa moose pony pony-smaller ren sheep skeleton snowman stegosaurus
stimpy suse three-eyes turkey turtle tux unipony unipony-smaller vader
vader-koala www

Como são mais de 40 opções, vou deixar para você a surpresa ao explorá-las, uma a uma.

Por fim, você pode direcionar o output de comandos para utilitário com um pipe:


uptime | cowsay -f daemon

 _____________________________________
/  16:53:14 up 5 days, 22:25, 1 user, \
\ load average: 0,25, 0,43, 0,58      /
 -------------------------------------
   \         ,        ,
    \       /(        )`
     \      \ \___   / |
            /- _  `-/  '
           (/\/ \ \   /\
           / /   | `    \
           O O   ) /    |
           `-^--'`<     '
          (_.)  _  )   /
           `.___/`    /
             `-----' /
<----.     __ / __   \
<----|====O)))==) \) /====
<----'    `--' `.__,' \
             |        |
              \       /
        ______( (_  / \______
      ,'  ,-----'   |        \
      `--{__________)        \/

Como detectar se você está usando um desktop ou notebook

O aplicativo laptop-detect pode ser útil para usar dentro de scripts e disparar ações específicas para cada ambiente em que ele é executado.
Desenvolvido por Franklin Piat, o utilitários lê os arquivos /proc/acpi/battery e /proc/pmu/info para obter informações que o levem a determinar se está sendo executado em um laptop ou um desktop PC.
linuxlogo-slackware-logo-ascii3
Por padrão, ele retorna os seguintes resultados:

  • 0 — provavelmente sendo executado em um laptop
  • 1 — provavelmente NÃO sendo executado em um laptop
  • 2 — erro de uso

Se você o quiser executar na linha de comando, fora de um script, pode usar a opção ‘–verbose’, para obter algum resultado visível:

sudo laptop-detect --verbose
We're a laptop (ACPI batteries found)

Como você pode ver, por ter encontrado referência à uma bateria existente no dispositivo, dentro do arquivo /proc/acpi/battery, o utilitário concluiu que está sendo executado em um ambiente de laptop.