Ferramentas do usuário


Oficina de Linha de Comando

(oficina interna da Coding Rights para compartilhamento de conhecimentos)

Slides

Notas de esboço da oficina

  • REPL
  • *Tab completion*
  • Outras shells
    • sh
    • dash
    • fish
    • zsh
  • Socorro
    • Ctrl+C, Ctrl+D, q, :q
    • -h | --help
    • man
    • @TODO@: online man viewer
    • apropos
    • Buscadores, Stack Overflow / Super User
  • Andando por aí
    • ls
    • cat
    • less
    • head e tail
    • file
  • Variáveis
    • echo sou $USER, moro em $HOME e rodo $SHELL
    • env
    • $PATH / which
    • Strings e quoting
  • Scripts
    • Criando um script
      • $EDITOR script.sh
    • Executando o script
      • chmod +x script.sh
    • Comentários
    • Hashbangs #!
  • Redirecionamento; stdin, stdout e stderr; piping
  • Sistema
    • id
    • Permissões (chmod, chown, chgrp)
    • sudo
    • Processos
      • background / foreground
    • ps e kill
    • xkill
    • lsof
  • Sistema de arquivos
    • Expansão (*, ?, {,}…)
    • Diretórios Debian / Mac OS
    • find
    • locate
    • mkdir
    • mv
    • rm, rm -rf
    • Abrindo arquivos (gnome-open)
      • @TODO@: como faz no mac?
    • Dotfiles
      • .bash_history
      • .bashrc
  • Gerenciamento de pacotes
    • apt-get, aptitude
    • Pacotes, dependências e repositórios
    • Grafo de dependência de alguma distribuição
  • Loop e controle
    • if / else
    • for
  • Audiovisual
    • avconv
    • ImageMagick: convert e mogrify
    • youtube-dl
    • * for loop: conversão/download em massa
      • for f in *.svg; do ^Cnvert "$f" "$(basename "$f" .svg).png"; done
      • for url in $(cat urls.txt); do youtube-dl -c -f 18 "$url"; done
  • Rede
    • ifconfig
    • netstat
    • nmap
    • ping
    • nslookup
    • whois
    • tcpdump
    • traceroute
  • SSH / SFTP
    • Windows:
      • PuTTY para SSH, FileZilla para SFTP
    • GNU/Linux:
      • ssh, scp
    • ssh: GNU/Linux e Mac OS
    • Montar no sistema
    • Bonus: rsync, bitpocket
  • Web
    • wget / curl
    • links
    • httrack
  • Segurança
    • gpg2
    • srm / secure-delete: remoção bit-a-bit de arquivos
  • Texto
    • grep
    • pdftotext
    • catdoc
    • diff
    • patch
    • dwdiff
      • aha
    • sed
    • pandoc
  • Terminal
    • Outros aplicativos de terminal
      • Terminal2.app
      • @TODO@: buscar
    • screen / tmux

history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr

https://www.commandlinefu.com/commands/browse

http://en.wikipedia.org/wiki/List_of_Unix_utilities

taskwarrior / timewarrior

  • Fun
    • figlet
    • cmatrix
    • sl
    • telnet towel.blinkenlights.nl