Como instalar a interface de linha de comando do WordPress

Alguns usuários podem ter utilidade para uma interface de linha de comando, para realizar atividades administrativas relacionadas ao WordPress.
Para estes, existe o wp-cli — WordPress Command Line Interface, ou “interface de linha de comando do WordPress”.

Sua instalação é simples e leva menos de 30 segundos (verdade!).
Veja quais são os prerequisitos para baixar, instalar e usar o wp-cli:

  1. Ambiente UNIX-like, o que inclui o OSX, sua distro Linux favorita, FreeBSD e Cygwin (para usuários Windows). No ambiente Windows, há suporte limitado do aplicativo, mas é possível usá-lo.
  2. PHP — a versão 5.3.29 é requerida, mas as atuais distribuições GNU/Linux já estão usando versões superiores à 7.0.
  3. WordPress 3.7 ou superior.

Por fim, use o comando wget (ou o curl) para fazer o download do wp-cli.phar:


wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Se preferir usar o curl, faça assim:


curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Verifique se aplicativo já está funcionando adequadamente:


php wp-cli.phar --info

PHP binary: /usr/bin/php7.0
PHP version:    7.0.19-1
php.ini used:   /etc/php/7.0/cli/php.ini
WP-CLI root dir:    phar://wp-cli.phar
WP-CLI vendor dir:  phar://wp-cli.phar/vendor
WP_CLI phar path:   /home/apps
WP-CLI packages dir:    
WP-CLI global config:   
WP-CLI project config:  
WP-CLI version: 1.3.0

Para tornar o uso do aplicativo mais simplificado, vamos torná-lo executável:


chmod +x wp-cli.phar 

… e movê-lo para um diretório mais apropriado.


sudo mv wp-cli.phar /usr/local/bin/wp

Agora já será possível executá-lo, sem digitar “PHP” no começo:


wp --info

PHP binary: /usr/bin/php7.0
PHP version:    7.0.19-1
php.ini used:   /etc/php/7.0/cli/php.ini
WP-CLI root dir:    phar://wp-cli.phar
WP-CLI vendor dir:  phar://wp-cli.phar/vendor
WP_CLI phar path:   /home/apps
WP-CLI packages dir:    
WP-CLI global config:   
WP-CLI project config:  
WP-CLI version: 1.3.0

Se preferir, na hora de baixar o programa, é possível optar pela versão nightly (a versão dos desenvolvedores). Ela tem os recursos mais atuais, porém é menos testada do que a versão estável.


wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli-nightly.phar

Feito o download, basta repetir os procedimentos acima — tendo o cuidado de trocar o nome da versão estável pelo da nightly.


Sempre que quiser atualizar o wp-cli, use a opção ‘update’:


sudo wp cli update
[sudo] senha para justincase: 
Success: WP-CLI is at the latest version.

Se quiser passar a usar a versão nightly, é possível fazer a troca também através do ‘update’. Veja:


sudo wp cli update --nightly

Como configuração adicional, torne o aplicativo amigável ao recurso de autocompletar:


wget https://raw.githubusercontent.com/wp-cli/wp-cli/master/utils/wp-completion.bash

Use o source, para incluir o recurso no BASH, inclua a seguinte linha no seu .bashrc:


source /caminho/para/wp-completion.bash 

… ou seja, se este arquivo estiver no seu diretório home, use “source ~/wp-completion.bash” (sem as aspas).
Para que a alteração tenha efeito imediato, rode o comando:


source ~/.bash_profile

Agora, é só usar!

Assine este site

Todo dia eu aprendo alguma coisa nova sobre administração de servidores, WordPress, bancos de dados, Android etc.
Desde o começo, este site existe para compartilhar o que sei com outras pessoas.
Se quiser ser avisado(a) quando houver post novo no blog, inscreva-se abaixo!

Referências

https://make.wordpress.org/cli/handbook/installing/.
Leia mais sobre WordPress, neste site.

Como remover o GNOME do Debian e instalar outro desktop gráfico

Se você não gosta do GNOME e prefere usar outro ambiente ou desktop gráfico, há um método muito simples para remover e, se quiser, instalar outro desktop que você goste mais.
O GNOME é, atualmente, o desktop gráfico padrão de distribuições importantes, como o Fedora, o Debian e o Ubuntu.
Mas, no mundo do software livre, ninguém é obrigado a usar ou gostar de nada.
Neste post, vou mostrar:

  • Como remover o GNOME totalmente e deixar o seu desktop apenas com a interface texto (CLI).
  • Opcionalmente, como escolher e instalar outro ambiente gráfico.

Devo advertir que os meus exemplos rodaram bem em uma máquina com conexão Ethernet. Você pode ficar sem conexão, se estiver dependendo de uma placa de rede Wi-Fi/Wireless com suporte precário por parte do fabricante.


Comece por programar o sistema para iniciar na CLI:


systemctl set-default multi-user.target

Leia mais sobre como usar o systemctl para configurar o Linux para iniciar na CLI ou GUI.
Agora reinicie o computador:


systemctl reboot

Quando o sistema voltar autentique-se (de preferência como root) e prossiga com o comando tasksel:


tasksel remove gnome-desktop

debian remover gnome
O trabalho de remoção do GNOME, a esta altura, foi concluído.

Como instalar um outro ambiente desktop gráfico no Debian

Se você quiser, pode usar o mesmo tasksel para selecionar outro desktop gráfico para instalação no seu sistema:


tasksel

tasksel seleciona ambiente gráfico
Como você pode ver, na tela do tasksel, é possível escolher mais de um ambiente gráfico para instalação.
Ao optar por instalar um destes desktop gráficos, não se esqueça de reajustar o padrão de volta para o ambiente gráfico:


systemctl set-default graphic.target

Como desativar/ativar o modo gráfico no Linux com o systemd

Você pode usar o systemd e seu comando systemctl para informar o sistema se quer usar sempre a interface gráfica ou apenas a de linha de comando.
O recurso permite a opção, sem desinstalar absolutamente nada e é facilmente reversível, como irei mostrar.
Com todos as críticas que se possa ter ao systemd — e algumas delas são muito justas — temos que reconhecer que trouxe algumas comodidades e a uniformização de alguns procedimentos.
O que vou descrever, neste artigo, foi testado no Fedora 26 Workstation — mas é aplicável em qualquer outra distro que faça uso do systemd.

Use o systemctl para determinar a interface padrão no seu sistema

Você pode usar o comando systemctl para gerenciar a interface padrão — fazendo a troca entre GUI (modo gráfico) e CLI (modo texto).
Para ver qual é o padrão, neste momento, use o comando assim:


systemctl get-default 

graphical.target

O resultado “graphical.target” indica que a GUI é a interface padrão (no meu sistema). Se fosse a CLI, o get-default iria resultar em “multi-user.target”


Use a caixa de busca do site para localizar mais posts sobre o systemd.
fedora systemd systemctl
Para mudar a interface padrão para o modo texto, na próxima inicialização do sistema, use o set-default:


systemctl set-default multi-user.target

Created symlink /etc/systemd/system/default.target → /lib/systemd/system/multi-user.target.

Este comando pede autenticação de administrador do sistema e só terá efeito após o reboot.
Você reiniciar o sistema com o próprio systemctl:


systemctl reboot

fedora systemd cli systemctl
Para desfazer o procedimento – e voltar a usar a interface gráfica como padrão – use o seguinte comando:


systemctl set-default graphical.target

Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target → /lib/systemd/system/graphical.target.

É simples assim. 😉

Como personalizar o prompt da linha de comando no UNIX/Linux — parte 3

Neste texto vou mostrar como é fácil aplicar cores às informações exibidas no prompt da linha de comando do seu terminal.
Esta é a terceira parte de uma série de artigos sobre como configurar o prompt do seu emulador de terminal e serve para todos os Linux e UNIX (o que inclui os BSD e o MacOS), desde que estejam usando o Bash como emulador — por causa disto, talvez dê para incluir o Windows também nesta história.
Como, neste momento, não tenho um Mac em mãos, só pude testar os exemplos dados no Linux (Fedora 25, Debian 9 e OpenSUSE Tumbleweed).
Se você tiver alguma dúvida, durante a leitura, dê uma olhada nos links ou nos outros artigos (parte 1 e parte 2) desta série — tenho certeza de que a resposta estará em um destes lugares.

A tabela de cores

Use a relação de códigos de efeitos e cores, abaixo, para alterar os exemplos de prompt.

  • 0 —  efeito nenhum
  • 1 —  efeito negrito ou cor mais forte. Transforma a cor preta em cinza em alguns terminais
  • 2 —  efeito esmaecido ou mais fraco. Transforma a cor branca em cinza em alguns terminais
  • 3 —  efeito itálico
  • 4 —  efeito sublinhado
  • 7 —  efeito de inversão das cores
  • No tempo dos monitores monocromáticos, em fósforo, os efeitos eram muito úteis para ajudar a diferenciar tipos de arquivos e tornar mais legíveis os textos de interação com os usuários em scripts.
    Segue a lista de cores de frente ou foreground:

  • 30 —  preto
  • 31 —  vermelho
  • 32 —  verde
  • 33 —  amarelo
  • 34 —  azul
  • 35 —  púrpura
  • 36 —  ciano
  • 37 —  branco
  • Segue a lista de cores de fundo ou background:

  • 40 —  preto
  • 41 —  vermelho
  • 42 —  verde
  • 43 —  amarelo
  • 44 —  azul
  • 45 —  púrpura
  • 46 —  ciano
  • 47 —  branco

Os primeiros códigos (referentes aos efeitos) não irão funcionar em todos os emuladores de terminal. Portanto, não espere muito deles.
Você também pode encontrar uma tabela de cores no site do Mewbie: http://www.mewbies.com/geek_fun_files/color_scripts/color_scripts_codes.png.
ansi color codes table

Experimente as cores

As relações de cores ANSI podem ser usados em várias ocasiões. Quando estiver fazendo um script, na maioria das linguagens é possível colorir o texto de saída, para interagir com o seu usuário.
Você pode usar este código Bash, para experimentar as cores e os efeitos dados acima:

# as letras do texto na cor ciano ou cyan
echo -e "\e[36mQue cor é esta?"

Se quiser alterar apenas a cor de fundo…

# cor de fundo vermelho
echo -e "\e[41mQue cor é esta?"

Para aplicar o efeito negrito:

# vermelho forte
echo -e "\e[1;31mQue cor é esta?"

Aplique o efeito itálico; cor de frente ciano; cor de fundo amarelo:

echo -e "\e[3;36;43mQue cor é esta?"

Eu sei que dá para ficar brincando horas com isso aí… mas a gente precisa voltar a falar do command prompt.

Como aplicar cores ao prompt da linha de comando

Baseado nos exemplos dos artigos anteriores, aplique as cores, inserindo um dos códigos dos exemplos acima, tal como destacado abaixo:

PS1='\[\e[3;36m\][\d, \T]\n\[\e[0;33m\]\u@\h\[\e[1;36m\][ \w ] '

Note que a diferença é que o código de cores do PS1 precisa estar entre os caracteres “ \[\e[ ” e “ \] “.
Sinta-se à vontade para compartilhar, nos comentários, como você configurou o seu prompt!

Referências

http://www.mewbies.com/acute_terminal_fun_08_get_colorized_on_the_terminal.htm#color_scripts.
https://en.wikipedia.org/wiki/ANSI_escape_code#Colors.

Como personalizar o prompt da linha de comando no UNIX/Linux — parte 2

O prompt da linha de comando, que é exibido antes do cursor piscante, pode ser personalizado de diversas formas.
No texto anterior, mostrei algumas formas básicas de personalização.
Para dar continuidade, vou mostrar como inserir algumas informações úteis sobre o sistema, que podem ajudar você a se situar melhor no terminal.

Os exemplos foram testados no Linux (Debian 9, Fedora 25 e openSUSE Tumbleweed), mas você pode aplicá-los em outras distribuições ou em consoles UNIX, como os BSD ou próprio MacOS.

Clique nos links, no decorrer do texto, para obter mais informações sobre algum assunto específico.
Como já sabemos, a variável de ambiente a ser alterada é PS1 e ela pode ser mudada direto na linha de comando (CLI).
O que vou mostrar é que você pode usar uma série de caracteres de escape que exibem informações sobre o seu sistema.
Na parte 1 deste artigo, mostrei o uso de 2 caracteres de escape: \n e \a — para pular uma linha e para acionar o “sininho” do sistema, respectivamente.
Veja uma lista mais completa:

  • \a — aviso sonoro do sistema ou bell character
  • \d — exibe a data no formato nome do dia da semana, nome do mês e dia do mês. Por exemplo: “Tue May 26” (se o seu sistema estiver em inglês) ou “sáb mar 04” (em português).
  • \D{formatação} — neste caso, você precisa oferecer a formatação que deseja para a exibição da data. Se você não especificar o formato desejado, ele usará a representação padrão da localidade para a qual a sua máquina estiver configurada. De qualquer forma, você precisa usar as chaves {}, mesmo que vazias.
  • \e —  imprime um caractere de escape padrão. Muito usado para inserir informações sobre cores (como veremos mais pra frente).
  • \h —  o hostname do seu sistema ou nome parcial do hospedeiro (anfitrião).
  • \H —  o hostname completo.
  • \j —  o número de trabalhos (jobs) em execução e gerenciados pela shell neste momento.
  • \l —  o nome base do dispositivo de terminal.
  • \n —  insere uma nova linha.
  • \r —  um carriage return ou novo parágrafo.
  • \s —  o nome parcial da shell em execução.
  • \t —  a hora atual do sistema no formato 24h HH:MM:SS.
  • \T —  a hora atual do sistema no formato 12h HH:MM:SS.
  • \@ —  a hora atual do sistema no formato 12h am/pm.
  • \A —  a hora atual do sistema no formato 24h HH:MM.
  • \u —  o nome do usuário atual.
  • \v —  a versão da shell em execução.
  • \V —  a versão do release + patchlevel.
  • \w —  o diretório de trabalho atual, com $HOME abreviado para ” ~ “. Usa o valor da variável de ambiente $PROMPT_DIRTRIM.
  • \W —  o nome base do $PWD, com o $HOME abreviado.
  • \! —  o número desta linha de comando no histórico do sistema.
  • \# —  o número do comando em execução neste prompt.
  • \$ —  define o caractere do prompt a ser exibido. Se o uid for 0 (root), exibe um “#”. Para qualquer outro uid, exibe um “$”.
    Esta informação, no command prompt pode evitar que você execute comandos perigosos quando estiver logado como superusuário.
  • \nnn —  imprime o caractere cujo valor octal é igual a nnn.
  • \\ —  se você precisa de uma backslash
  • \[ —  inicia uma sequência de caracteres não-imprimíveis. Pode ser usado para embutir uma sequência de controle de terminal no seu prompt.
  • \] —  finaliza a sequência de caracteres não imprimíveis.

Exemplos de uso de caracteres de escape no prompt do terminal

Tendo a lista acima como referência, fica fácil alterar os exemplos que seguem, para obter o resultado que você deseja para personalizar o seu prompt.
Veja o nome do usuário junto com o caractere de identificação do uid:

PS1="\u \$ -> "

Não se esqueça de sair do modo root, com o comando exit.
Para imprimir o nome de usuário e o hostname ao lado do prompt, use os seguintes caracteres:

PS1="\u-\h -> "

Você pode incluir a data e a hora atuais em uma linha e o diretório atual em outra:

PS1="\d \t\n\W -> "

O resultado é um prompt em 2 linhas:

sáb mar 04 14:30:54
documentos ->

Não esqueça que o seu diretório home será representado por um “~” (til).
Você tem total liberdade para compor o seu prompt com outros caracteres:

PS1="«\d, \t »\n\u@\H «\w» "

Faça várias experiências para determinar como deseja que o seu prompt definitivo fique.

Como tornar as mudanças permanentes

Tudo o que você precisa é acrescentar a linha de configuração do PS1, que você acabou de criar, dentro de um dos arquivos de inicialização do Bash: o .bashrc ou o .bash_profile. Usualmente, é o primeiro.
Na maioria das distribuições Linux ou UNIX, esta a linha de configuração do PS1 já existe e só precisa ser alterada para o que você deseja.
Se não houver uma linha de configuração do PS1, adicione uma ao final do arquivo.
O comando echo pode ser usado, para introduzir a sua configuração direto na última linha do arquivo. Veja um exemplo:

echo "PS1='«\d, \t »\n\u@\H «\w» '" >> .bashrc

Repare em 3 coisas, relacionadas à linha de comando acima:

  1. o uso das aspas duplas e simples, para não confundir o comando.
  2. o uso de “>>” para adicionar a linha ao final do arquivo .bashrc. Se você usar apenas uma “>”, irá sobrescrever o arquivo inteiro com esta única linha de comando. Tenha cuidado, portanto.
  3. se já houver alguma configuração anterior, dentro do arquivo, ela será sempre sobreposta pela última linha adicionada.

Vamos dar um passo adiante?! Que tal personalizar também as cores do seu prompt?!

https://elias.praciano.com/2017/03/como-personalizar-o-prompt-da-linha-de-comando-no-unixlinux-parte-1/.
https://www.gnu.org/software/bash/manual/bashref.html#Controlling-the-Prompt.
http://www.linfo.org/uid.html.