wcd(1) | 2019-08-14 | wcd(1) |
wcd - Wherever Change Directory
Chdir para Dos e Unix
wcd [opções] [diretório]
Wcd é um programa de linha de comando para mudar diretório rapidamente. Ele economiza tempo de digitar no teclado. É preciso digitar apenas uma parte de um nome de diretório e wcd vai pular para ele. Wcd possui um método de seleção rápida no caso de múltiplas correspondências e permite apelidamento (aliasing) e banimento de diretórios. Wcd também inclui um navegador de árvore de diretório interativa de tela cheia com pesquisa rápida.
Wcd foi modelado com base no Norton Change Directory (NCD). NCD apareceu primeiro em The Norton Utilities, versão 4, para DOS em 1987, publicado por Peter Norton.
Wcd foi portado para diferentes shells de linha de comando: command.com do DOS, cmd.exe e PowerShell do Windows, cmd.exe do OS/2 e shells do Unix, como os shells Bourne (sh), Bourne Again (bash), Korn (ksh), Z (zsh) e C (csh) e outros funcionando em qualquer sistema operacional.
Wcd oferece suporte a conjuntos de caracteres de 8 bits em todos sistemas e possui suporte opcional a Unicode. Veja a seção LOCALIZAÇÃO.
Veja a seção INSTALAÇÃO para como instalar wcd para uso pessoal.
Por padrão (se nenhum caractere curinga for usado), pesquisas wcd por um diretório com um nome que começa com o nome digitado.
Por exemplo, esse comando vai mudar para diretório para o "/home/user/Desktop" do usuário atual:
wcd Desk
Quando houver múltiplas ocorrências, wcd apresentará ao usuário uma lista de todas as ocorrências. O usuário poderá, então, fazer uma seleção pressionando com poucas teclas (na maioria das vezes, apenas uma).
Wcd oferece suporte aos seguintes caracteres curingas:
* corresponde qualquer sequência de caracteres (zero ou mais) ? corresponde qualquer caractere [SET] corresponde qualquer caractere no conjunto especificado, [!SET] ou [^SET] corresponde qualquer caractere ausente no conjunto.
Um conjunto é composto de caracteres ou intervalos; um intervalo se parece com caractere hífen caractere como em "0-9" ou "A-Z". O "[0-9a-zA-Z_]" é o conjunto mínimo de caracteres permitidos no construto padrão "[..]". Caracteres internacionais (ex.: caracteres de 8 bits) são permitidos se o sistema oferecer suporte a eles. Para suprimir a significância sintática especial de qualquer um entre "[]*?!^-\" dentro ou fora de um construto "[..]" e corresponder o caractere exato, precede o caractere com um marcador de barra invertida ("\").
O uso de caracteres torna possível um poderosa pesquisa. Por exemplo, isso pesquisa qualquer nome de diretório que termine com "top":
wcd *top
Corresponde diretórios que tenham "top" em qualquer lugar no nome:
wcd *top*
Corresponde qualquer nome de diretório que começa com "a", "b" ou "c":
wcd [a-c]*
Também é possível dar uma parte de um caminho de diretório. Aqui Wcd pesquisa por diretório que começa com "Desk" e cujo caminho corresponda a *me/Desk*.
wcd me/Desk
É permitido digitar qualquer tipo de expressão com barras e caracteres curingas. Ex.:
wcd src*/*1?/a*2
Se nenhum caractere curinga é usado e wcd encontra uma correspondência perfeita, wcd vai ignorar todas as correspondências curingas por padrão. Esse comportamento pode se alterado com a opção -w.
O navegador interativo de árvore de diretório pode ser iniciado usando a opção -g.
wcd -g
Wcd gera um arquivo de dados de árvore no qual ele pesquisa o diretório. Em sistemas Unix e Windows, wcd adiciona links simbólicos ao arquivo de dados de árvore ao varrer o disco, mas não os segue. Enquanto segue links, wcd poderia acabar varrendo loops infinitos, ou varrer porções muito grandes de uma rede.
Wcd também pode mudar para diretórios que não estejam no arquivo de dados de árvore. Ex.:
wcd ..
Se wcd encontrou uma correspondência, mas não pode mudar para o diretório, ele tenta removê-lo do arquivo de dados de árvore padrão. Porém, não remove o arquivo de dados de árvore extra. Veja também a opção -k.
Wcd mantém uma pilha de diretórios que é armazenada no disco. A pilha possui um tamanho padrão de 10 e é cíclico. Veja as opções -z, -, + e =.
Em ambientes multiusuários, a opção -u pode ser usada para alterar para os diretórios de outros usuários.
Nos sistemas DOS e Windows, não importa se você usa uma barra ("/") ou uma barra invertida ("\") como separador de diretório.
É possível em sistemas DOS e Windows alterar a unidade e diretório de uma só vez precedendo o nome do diretório com o nome da unidade.
wcd d:jogos
As versões Windows (Command Prompt, PowerShell, MSYS, zsh, cygwin) oferecem suporte a caminhos UNC de rede SMB do Windows sem letra de unidade tal como "\\nomeservidor\nomecompartilhamento". Wcd para Prompt de Comando do Windows faz uso do comando "pushd" para mapear automaticamente um caminho UNC a uma letra de unidade. Em caminhos PowerShell do Windows, MSYS, zsh e Cygwin, há suporte completo a caminhos UNC. O diretório de trabalho atual pode ser um caminho UNC.
Wcd possui suporte ao redimensionamento de console do Windows 10 e no ConEmu (consulte <https://conemu.github.io/>) desde a versão 6.0.3. O console do Windows 10 não deve estar no modo legado (verifique as propriedades do console). A tela pode não ser atualizada quando a propriedade de layout do console "Ajustar saída de texto ao redimensionar" estiver desabilitado. A tela pode ser atualizada manualmente pressionando a tecla F5.
Wcd possui três interfaces diferentes para escolher de uma lista de correspondências. A interface pode ser escolhida em tempo de compilação.
A primeira interface usa stdin/stdout simples. Uma lista numerada é exibida no terminal. O usuário tem que escolher a partir da lista digitando um número seguido por <Enter>. Essa interface não fornece funcionalidade de rolagem para cima em caso de uma lista longa. A capacidade de rolagem para cima do terminal/console tem que ser usada. É bem pequena e portátil.
A segunda interface é feita com a biblioteca conio. Ela fornece uma capacidade embarcada de rolagem para cima. O usuário é apresentado a uma lista numerada com letras. A escolha de uma lista pode ser feita pressionando apenas uma letra. Essa interface é rápida porque ela economiza pressionamentos de teclas. Se possível, a tela será restaurada após sair. Aquele que preferir digitar números, pode usar a opção -N.
A terceira interface é feita com a biblioteca curses. É similar à interface conio. A versão curses do wcd também possui uma interface "gráfica" adicional. Ela permite ao usuário selecionar um diretório por meio de um navegador de árvore de diretório interativa em tela cheia. Ela possui um método de pesquisa de navegação tipo vim(1). Ela pode ser ativada com a opção -g.
Ao usar a opção -o, é sempre possível voltar para a interface de stdin/stdout.
Use essa opção para adicionar rapidamente o caminho atual para o arquivo de dados de árvore padrão. Nova varredura do disco completo pode levar um longo tempo em alguns casos.
wcd -A . wcd -A /home -A /etc wcd -A d: -A e: -A \\servidor\compartilhamento
No Windows, é possível varrer todos os diretórios compartilhados de um servidor de rede Windows digitando alguma coisa como: "wcd -A \\nomeservidor".
Veja também as opções -S, -s e -E.
Wcd coloca o caminho atual no arquivo de banimento. Isso significa que o wcd ignora todas as correspondências deste diretório e seus subdiretórios.
O arquivo de banimento pode ser editado com um editor de texto. Há suporte ao uso de caracteres curingas e nome são combinados com o caminho absoluto.
Caminhos banidos não são excluídos da varredura do disco. Para fazer isso, use a opção -xf.
1. Procura uma correspondência nos arquivos de dados de árvore 2. Se nada corresponder, tenta abrir o diretório que informado.
No modo CD direto, wcd funciona na ordem inversa.
1. Tenta abrir o diretório que você digitou. 2. Se não, tenta uma correspondência no(s) arquivo(s) de dados de árvore.
O arquivo de pilha e o go-script são armazenados, por padrão, na unidade C: se a variável de ambiente HOME não estiver definida. Use essa opção se a unidade C: for uma unidade somente leitura. Essa opção deve ser usada na frente das opções de pilha -, + e =.
Use essa opção para adicionar rapidamente o caminho atual ao arquivo de dados de árvore extra.
Wcd inicia um curses textual baseado em interface "gráfica". O usuário pode selecionar um diretório por um navegador interativo de árvore de diretórios de tela cheia. Ele possui um método e navegação tipo vim(1).
Se nenhuma string de pesquisa for dada, wcd apresenta toda a árvore que está no arquivo de dados de árvore padrão e nos arquivos de dados de árvore extras.
Se uma string de pesquisa for dada, a lista de correspondência é apresentada como uma árvore de diretório.
O layout de árvore padrão é similar ao layout de árvore do NCD original no DOS. A diferença no layout é que no NCD todos os diretórios do mesmo nível de profundidade eram alinhados verticalmente por toda a árvore. Isso era possível no NCD porque a largura máxima de um nome de diretório no DOS era 12 (8,3) caracteres. Em sistemas operacionais modernos, nomes de diretório podem ser muito longos, assim como as diferenças no tamanho podem ser grandes. Portanto, pastas com uma mesma profundidade não são alinhadas verticalmente por toda a árvore no wcd, mas apenas em sub-ramos. Então, há alguns movimentos laterais ao mover para cima ou para baixo de um sub-ramo para outro sub-ramo.
O comportamento de navegação no Wcd é exatamente o mesmo que no NCD original. Por exemplo, se você pressionar a tecla de seta para Baixo, você desce para o próximo diretório com o mesmo nível de profundidade, pulando por ramos. Isso permite navegação rápida pela árvore.
Veja as opções -Ta, -TC e -Tc para alterar o comportamento de navegação.
Neste modo, wcd não apresentará uma lista quando houver mais de um diretório que corresponde ao diretório dado. Wcd vai apenas mudar para a primeira opção. Quando wcd é invocado novamente com os mesmos argumentos, ele vai mudar para a próxima opção, e por aí vai.
Wcd vai imprimir o diretório para ir para stdout. Então, um método de instalação diferente pode ser usado. Pode-se fazer a seguinte função para um shell compatível com POSIX:
wcd () { cd "$($HOME/bin/wcd.exe -j $@)" }
Quando você está usando um shell antigo que não oferece suporte o comando de substituição "$()", você tem que usar substituição de comando estilo antigo com acento grave ("back-quote").
wcd () { cd "`$HOME/bin/wcd.exe -j $@`" }
Em sistemas Windows, se estiver executando shell 4NT, pode-se usar o seguinte alias:
alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`
Esse método elimina a necessidade do go-script, então pode-se usar a opção -GN em combinação com -j.
Mantém caminhos no arquivo de dados de árvore quando wcd não consegue mudar para eles. O comportamento padrão de wcd é tentar remover caminhos dos dados de árvore quando wcd não puder mudar para eles. Com essa opção, esse comportamento é desativado.
Não lê o arquivo de dados de árvore padrão. O arquivo de dados de árvore relativos já deve ter sido criado usando a opção +S do wcd. CAMINHO também pode apontar para um arquivo diretamente.
Um exemplo. Suponha que um outro sistema montou no ponto de montagem "/mnt/rede":
wcd -n /mnt/rede src
Wcd abre o arquivo de dados de árvore relativo em "/mnt/rede/". O arquivo contém os caminhos relativos a partir daquele ponto.
Wcd com um interface baseada no conio ou curses (veja a seção Interfaces) apresenta uma lista de correspondência numerada com letras por padrão. Quando a opção -N é usada, a lista de correspondência é numerada com números. Independente da opção -N, pode-se digitar uma letra ou número para fazer uma seleção a partir da lista de correspondências.
Quando por algum motivo a interface conio ou curses do wcd não funcionar, pode-se usar a interface stdin/stdout do wcd usando a opção -o.
Se o diretório estiver vazio, wcd vai removê-lo e também vai tentar removê-lo do arquivo de dados de árvore.
Wcd vai remover o diretório e todos seus subdiretórios e arquivos, e remove os diretórios do arquivo de dados de árvore.
O arquivo de dados de árvore existente é sobrescrito.
O diretório de varredura padrão pode ser sobreposto com a variável de ambiente "WCDSCAN". Veja a seção VARIÁVEIS DE AMBIENTE.
Unix:
wcd -S / wcd -S /home -A /etc -A /usr
DOS/Windows:
wcd -S c:/ wcd -S c: -A d: -A \\servidor\compartilhamento
Com as versões Windows, é possível varrer todos os diretórios compartilhados de um servidor de rede Windows digitando alguma coisa como: "wcd -A \\nomeservidor".
Wcd remove por padrão "/tmp_mnt/" da lista de correspondência. O diretório "/tmp_mnt" é usado pelo montador automático. Esse comportamento pode ser desativado com a opção -t.
No layout de árvore de estilo padrão do NCD a opção -Ta desabilita pular para diretórios não relacionados.
No modo de árvore compacta, o modo alternativo faz navegação similar à dos gerenciadores de arquivo GUI como o Windows Explorer ou Linux KDE Konqueror. Pressionar Cima e Baixo move a pasta selecionada uma linha para cima ou para baixo. Pressionar Esquerda primeiro dobra as subpastas e o próximo movimento para Esquerda realmente move para esquerda.
Você alternar em tempo real entre a navegação padrão e alternativa pressionando <Shift-A>.
Quando o modo de navegação alternativa estiver ativado, você verá um "A" no canto inferior direito.
O comportamento padrão não centralizado, que minimiza o movimento de árvore, é o mesmo que no NCD original.
Quando o modo CJK estiver ativado, você verá um "C" no canto inferior direito.
No Unix/Cygwin, o diretório base para diretórios home de usuários é presumido ser "/home". Wcd vai procurar por "/home/USUÁRIO/.treedata.wcd" e "/home/USUÁRIO/.wcd/.treedata.wcd", naquela ordem, e lê a primeira que existe e é legível. No DOS/Windows, o diretório base para diretórios home de usuários é presumido ser "\\users", então o wcd tenta ler "\\users\USUÁRIO\treedata.wcd" e "\\users\USUÁRIO\.wcd\treedata.wcd".
Quando essa opção é usada, wcd vai excluir CAMINHO e todos seus subdiretórios quando wcd está varrendo um disco. Há suporte a caracteres curingas, os quais são correspondidos com os caminhos absolutos. A opção -x pode ser usado múltiplas vezes.
wcd -x <caminho1> -x <caminho2> -s
A opção -x deve ser usada na frente da qualquer opção de varredura (-s, -S, +S, -A, -E).
Em sistemas DOS/Windows, deve-se especificar a letra da unidade dependendo de se a variável de ambiente HOME ou WCDHOME está definida. Se HOME ou WCDHOME estiver definida, é necessário especificar a letra da unidade. Um exemplo:
wcd -x c:/temp -S c:
Do contrário, não especifique a letra da unidade.
wcd -x /temp -s
Quando essa opção é usada, wcd vai excluir todos os caminhos listados no ARQUIVO e todos seus subdiretórios quando o wcd estiver varrendo um disco. Há suporte a caracteres curingas, os quais são correspondidos com os caminhos absolutos; um caminho por linha. Esteja ciente que wcd não vai ignorar espaços em brancos no início ou fim de uma linha, porque eles são caracteres legais em um nome de diretório. A opção -xf pode ser usado múltiplas vezes. Quando se deseja excluir todos os caminhos banidos da varredura, pode-se fazer o seguinte (exemplo para wcd no Unix):
wcd -xf ~/.ban.wcd -s
Há suporte a caracteres curingas. Por exemplo, para excluir todos os seus diretórios Subversion com arquivos administrativos, adicione uma linha com "*/.svn".
A opção -xf deve ser usada na frente da qualquer opção de varredura (-s, -S, +S, -A, -E).
Wcd não vai consultar o usuário com perguntas de sim/não, mas presume que o usuário responde sim em todas as perguntas. Isso pode ser usado em combinação com a opção -rmtree. Essa opção deve ser usada na frente das opções que podem levar a perguntas sim/não.
O tamanho padrão da pilha é 10. Operação de pilha pode ser desativado ao definir o tamanho com 0. Essa opção deve ser usada na frente de qualquer outra operação de pilha (-,+,=). Do contrário, o tamanho da pilha será definido de volta para o padrão 10.
O comando correto é:
wcd -z 50 -
O novo tamanho de pulha será 50, wcd irá uma diretório para trás. Um comando errado é:
wcd - -z 50
Wcd vai um diretório para trás, a pilha obtém o tamanho padrão 10. O -z 50 é ignorado.
Adicione essa opção como a primeira opção a seu alias ou função de wcd. Por exemplo, para um shell compatível com POSIX, isso seria:
wcd () { wcd.exe -z 50 "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go }
Volta um diretório. O comando "wcd -" volta apenas um diretório. Para voltar mais diretórios, adicione um número. Por exemplo, o comando "wcd -3". A pilha é cíclica.
Avança um diretório. O comando "wcd +" avança apenas um diretório. Para avançar mais diretórios, adicione um número. Por exemplo, o comando "wcd +2". A pilha é cíclica.
Use essa opção se você não sabe mais quantas vezes adicionar ou retirar. A pilha é exibida e você pode escolher um número. O lugar atual na pilha é marcado com um asterisco "*".
O diretório de trabalho atual de um shell do Unix só pode ser mudado pelo comando embarcado cd(1). Portanto, o programa é sempre chamado por uma função ou um alias. A função ou alias serve de fonte para um script shell (go-script) que é gerado pelo programa wcd. Wcd só pode funcionar após a função ou o alias ser definido.
Uma outra influência importante em sua instalação é a definição de variáveis de ambiente HOME e WCDHOME. Veja a seção VARIÁVEIS DE AMBIENTE.
Para um shell POSIX (ksh, bash, zsh etc.) no Unix, Linux, Cygwin ou MSYS nativo, adicione a seguinte função ao arquivo de inicialização do shell (ex.: Bash usa "$HOME/.bashrc"):
wcd () { CAMINHO/wcd.exe "$@" . ${WCDHOME:-${HOME}}/bin/wcd.go }
Substitua CAMINHO com a localização onde o executável wcd foi instalado. Recarregue os arquivos de inicialização do shell ou inicie o novo shell.
A localização do go-script "wcd.go" se difere por shell.
Wcd para bash de DOS do DJGPP e bash de OS/2 exige uma função diferente. O go-script não é escrito em um diretório "bin", e se WCDHOME e HOME não estão definidos, o go-script é escrito no c:/.
Bash de DOS:
wcd () { CAMINHO/wcdbash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go }
Bash de OS/2:
wcd () { CAMINHO/wcdos2bash.exe "$@" . ${WCDHOME:-${HOME:-"c:"}}/wcd.go }
A versão WinZsh do wcd exige uma função um pouco diferente. O go-script nunca vai ser escrito no c:/.
wcd () { CAMINHO/wcdwin32zsh.exe "$@" . ${WCDHOME:-${HOME}}/wcd.go }
Veja a seção ARQUIVOS para mais informações.
Adicione o seguinte alias para o arquivo de inicialização de shell "$HOME/.cshrc" ou "$HOME/.tcshrc" :
if ( ${?WCDHOME} ) then alias wcd "CAMINHO/wcd.exe \!* ; source $WCDHOME/bin/wcd.go" else alias wcd "CAMINHO/wcd.exe \!* ; source $HOME/bin/wcd.go" endif
Substitua CAMINHO com a localização onde o executável wcd foi instalado. Recarregue os arquivos de inicialização do shell ou inicie um novo shell.
Descompacte o arquivo zip e adicione o diretório "bin" à sua variável de ambiente PATH.
No Prompt de Comando do Windows, um programa Windows não pode mudar o diretório de trabalho atual, mas um arquivo .bat pode. O script batch "wcd.bat" executa o programa que gera um novo script batch "wcdgo.bat". Então, "wcd.bat" executa "wcdgo.bat" que, finalmente, muda o diretório.
Em um Prompt de Comando do Windows VISTA, ou mais novo, você pode ter acesso limitado aos diretórios. Para obter acesso a mais diretórios você precisa de permissões administrativas. Você pode obter um Prompt de Comando com permissões administrativas se você clicar com botão direito do mouse no ícone do Prompt de Comando e selecionar Executar como administrador.
Adicione a seguinte função a seu perfil de usuário PowerShell. A localização deste perfil é armazenada na variável $profile. É necessário que uma das variáveis de ambiente HOME ou WCDHOME esteja definida.
function wcd { CAMINHO\wcdwin32psh.exe $args & $env:HOME\wcdgo.ps1 }
Substitua CAMINHO com a localização na qual o executável wcd foi instalado. Inicie um novo PowerShell. Wcd para PowerShell só oferece suporte ao provedor de sistema de arquivo. A nenhum outro provedor.
Em um Prompt de Comando de OS/2 (cmd.exe), um programa do OS/2 não pode mudar o diretório de trabalho atual. É por isso que o wcd gera um script de comando "wcdgo.cmd" que deve ser executado no shell atual. O script "wcd.cmd" primeiro executa "wcdos2.exe", o qual cria o script "wcdgo.cmd". Então, "wcd.cmd" executa o script "wcdgo.cmd".
export LANG=nl Holandês export LANG=nl_NL Holandês, Holanda export LANG=nl_BE Holandês, Bélgica export LANG=es_ES Espanhol, Espanha export LANG=es_MX Espanhol, México export LANG=en_US.iso88591 Inglês, EUA, codificação Latin-1
Para uma lista completa de códigos de idioma e país, veja o manual do gettext(1): <http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes> Em sistemas Unix, você pode usar o comando locale(1) para obter informações específicas de localidade.
Se você selecionou um idioma que não está disponível, você terá as mensagens padrões em inglês.
Se você instalou o wcd em um diretório diferente do diretório padrão, você pode precisar definir a variável de ambiente WCDLOCALEDIR para apontar para o diretório da localidade.
Um exemplo para cmd do Windows:
set WCDLOCALEDIR=c:/meu_prefixo/share/locale
Um exemplo para shell POSIX:
export WCDLOCALEDIR=$HOME/share/locale
A ordenação dá preferência para a variável de ambiente LC_COLLATE sobre LANG. Se você definir LC_COLLATE com valor "C" ou "POSIX", a ordenação de localidade é desativada. Por exemplo, se você deseja o idioma holandês, mas não deseja a ordenação holandesa, você pode fazer algo como isso:
export LANG=nl_NL export LC_COLLATE=C
export LC_CTYPE=en_US.UTF-8
Há dois grupos de páginas de códigos: páginas de código DOS (OEM) e páginas de códigos Windows (ANSI). A codificação padrão do Windows, quando configurado com configurações regionais Western, é ANSI CP1252. Programas do Windows, como o bloco de notas, usam essa página de código ANSI padrão do sistema. O console do Windows usa por padrão uma página de código OEM (CP437 ou CP850) para compatibilidade com programas DOS. Se você usa uma versão DOS do wcd em um console Windows, ele vai funcionar por causa da página de código DOS. Mas a versão DOS do wcd carece de suporte a nomes de diretórios longos e unidades de rede no Windows.
A versão Windows do wcd é um programa nativo do Windows e vai usar a página de código ANSI de sistema Windows. Então, em um Windows com região Western, será usada a página de código CP1252 para nomes de diretório e mensagens. Para obter uma saída consistente, independente da página de código ativa, todas as versões Windows do wcd traduzem a saída ANSI para saída Unicode no Prompt de Comando e no PowerShell.
A fonte raster de console só oferece suporte à página de código OEM original instalada com Windows, então você terá que alterar a fonte de console para true type Console Lucida para fazer letras Unicode (e ANSI) aparecerem corretamente.
Versões não Unicode do wcd anterior à versão 5.2.0 usam saída ANSI simples. Para essas versões antigas, a página de código do console tem que ser feita igual à página de código de sistema (alterada para 1252) para fazer wcd para Windows funcionar adequadamente com caracteres especiais como caracteres acentuados ou símbolo de Euro.
A página de código de sistema do Windows pode ser alterada via as opções regionais no Painel de Controle. A página de código de console Windows é alterada com o comando "chcp".
Quando você digita "wcd -V", a codificação de caracteres usada por wcd é mostrada. Digite o comando "chcp" para exibir a página de código ativa do console Windows.
Wcd possui suporte opcional a Unicode. Para ver se wcd foi compilado com suporte a Unicode, digite "wcd -V". Se seu terminal/console e a fonte oferecem suporte a ele, você deve ver o símbolo de Euro e caracteres chineses.
Wcd foi parcialmente convertido em Unicode. Em seu núcleo, wcd lida com todos os dados como um fluxo de bytes. Apenas nas linhas exibidas na tela são convertidas para caracteres amplos Unicode. Wcd depende completamente das funções libc e não possui um código específico UTF-8. Veja também <http://www.cl.cam.ac.uk/~mgk25/unicode.html>
Wcd possui suporte opcional a correspondência Unicode com normalização. Para descobrir se wcd possui suporte a normalização, digite "wcd -V". Wcd com suporte a normalização Unicode vai corresponder nomes Unicode baseados em equivalência compatível. Sem suporte a normalização Unicode, nomes são correspondidos quando eles são equivalente binário. Veja também <http://en.wikipedia.org/wiki/Unicode_normalization>
UTF-8 no Unix/Linux
Para ver caracteres UTF-8, seu console/terminal também precisa ter suporte a UTF-8. A versão xterm que vem com o XFree86 4.0 ou mais novo inclui suporte a UTF-8. Para ativá-lo, inicie xterm(1) em uma localidade UTF-8 e use uma fonte com codificação iso10646-1, por exemplo, com
LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'
Distribuições modernas do GNU/Linux oferecem suporte a UTF-8 por padrão. Outras codificações de caracteres multibyte também devem funcionar, mas isso ainda não foi testado.
Wcd presume que os arquivos de dados de árvore estejam codificados na codificação de caractere de localidade. Não há Marca de Ordem de Bytes (B.O.M.) escrita em arquivos de dados de árvore.
UTF-16 no Windows
No Windows, há suporte a Unicode em todas as versões do PowerShell e no Prompt de Comando do Windows 7 (ou mais novo). Unicode também funciona no Take Command, ou TCC/LE, feito pela JP Software, que pode ser usado em versões mais antigas do Windows (XP/Vista).
No Windows, todos os nomes de diretórios no disco são codificados em Unicode UTF-16. Para programas não Unicode do Windows, os caracteres Unicode são traduzidos para a página de código ANSI padrão. Para caracteres que não são parte da configuração regional, essa tradução não é possível e programas não Unicode exibem uma interrogação ou um caractere errado.
Wcd com suporte a Unicode vai ler os nomes de diretórios codificados em UTF-16 e convertê-los internalmente em UTF-8. Todos os arquivos de dados de árvore são codificados em UTF-8 e não compatível com a versão não Unicode do wcd. Wcd não vai criar um go-script codificado em UTF-8.
Todas as versões do PowerShell do Windows são capazes de executar scripts codificados em UTF-8, a menos que haja um BOM UTF-8 no script.
Desde o Windows 7 é possível no Prompt de Comando do Windows para mudar diretório com um script batch para um diretório com letras Unicode no nome. O nome do diretório precisa ser codificado em UTF-8 e o script batch não podem ter um BOM. A página de código ativo do Prompt de Comando precisa ser definido para 65001 (UTF-8) antes do comando cd. Wcd para Prompt de Comando vai criar um go-script "wcdgo.bat". Ele primeiro muda a página de código para 65001, depois muda o diretório e, ao final, define a página de código de volta para a original.
Você precisa definir a fonte para True Type Lucida Console (fonte não raster) quando letras não aparecem corretamente.
A versão não Unicode Windows do wcd pode ler arquivos de dados de árvore Unicode desde a versão 5.2.0, desde que haja uma Marca de Ordem de Bytes (BOM) no arquivo (veja <https://pt.wikipedia.org/wiki/Marca_de_ordem_de_byte>), mas ele não muda os diretórios com letras Unicode no nome que não são parte da página de código ANSI padrão do sistema. A versão Unicode Windows do wcd escreve um BOM nos arquivos de dados de árvore codificada em UTF-8 desde a versão 5.2.0, o que também os torna legível pelo notepad.
UTF-8 no Cygwin
Cygwin oferece suporte a Unicode desde a versão 1.7. A camada do Cygwin tem o cuidado para que os nomes Unicode UTF-16 do Windows sejam convertidos para UTF-8. Então os programas, como o wcd, não precisam estar cientes disto e podem operar usando codificação UTF-8 como no Unix/Linux. Defina a codificação de caracteres para UTF-8 com a variável de ambiente LANG ou LC_CTYPE. Você pode precisar varrer novamente suas unidades. Você precisa definir a fonte para True Type Lucida Console (fonte não raster) se você usa o console padrão do Cygwin.
A versão Cygwin se comporta exatamente como a versão Unix do wcd. Não há BOM escrito nos arquivos de dados de árvore e ele presume que eles estejam codificados na codificação de caracteres de localidade do Cygwin.
Se a variável de ambiente WCDHOME estiver definido, wcd vai usar WCDHOME em vez de HOME. Todos os arquivos "*.wcd" são arquivos textos. Eles podem ser editados com um editor de texto. A versão do wcd para Prompt de Comando do Windows se comporta como a versão para DOS. A versão Cygwin do wcd se comporta como a versão Unix.
DOS: \treedata.wcd or %HOME%\treedata.wcd Unix: $HOME/.treedata.wcd
DOS: \extra.wcd or %HOME%\extra.wcd Unix: $HOME/.extra.wcd
DOS: \ban.wcd or %HOME%\ban.wcd Unix: $HOME/.ban.wcd
DOS: \alias.wcd or %HOME%\alias.wcd Unix: $HOME/.alias.wcd
DOS: c:\stack.wcd or %HOME%\stack.wcd Unix: $HOME/.stack.wcd
O nome do arquivo de pilha pode ser alterado com a variável de ambiente WCDSTACKFILE. Veja a seção VARIÁVEIS DE AMBIENTE.
bash do DOS: c:/wcd.go ou $HOME/wcd.go Prompt de Comando do Windows: c:\wcdgo.bat ou %HOME%\wcdgo.bat PowerShell do Windows: $env:HOME\wcdgo.ps1 WinZsh: $HOME/wcd.go Cygwin/MSYS: $HOME/bin/wcd.go Prompt de Comando do OS/2: c:\wcdgo.cmd ou %HOME%\wcdgo.cmd bash do OS/2: c:/wcd.go ou $HOME/wcd.go Unix: $HOME/bin/wcd.go
DOS: PATH\rtdata.wcd Unix: PATH/.rtdata.wcd
HOME também define por onde deve-se iniciar varrendo o disco quando a opção -s é usada. Isso pode ser sobreposto com a variável de ambiente WCDSCAN.
Para a versão Unix, Cygwin, PowerShell do Windows, WinZsh e MSYS, é exigido que HOME ou WCDHOME esteja definida. Para outras versões do wcd, o uso dessas variáveis é opcional.
Se HOME estiver definido no DOS/Windows, wcd vai colocar todos seus arquivos (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) no diretório HOME. O comportamento do wcd é, então, igual à versão Unix de wcd. Wcd vai varrer o disco padrão a partir de HOME. Unidades não serão automaticamente varridas mudando para elas. Você precisa dizer wcd explicitamente. Ex.:
wcd -S c: -A d: -A e:
Correspondência de diretórios é agora global por todas as unidades varridas.
Nas versões wcd antes de 5.1.5, WCDHOME também mudava o diretório padrão de varredura. Isso foi alterado. Desde a versão 5.1.5, WCDHOME não muda o diretório padrão de varredura. Veja a opção -s. A partir da versão 5.1.5, use a variável de ambiente WCDSCAN para sobrepor o diretório padrão de varredura.
Exemplo para Prompt de Comando do DOS, do Windows e do OS/2:
set WCDHOME=C:\Users\erwin\wcd
Um exemplo para shells de tipo POSIX:
export WCDHOME="$HOME/.wcd"
Um exemplo para shells de tipo Csh:
setenv WCDHOME "$HOME/.wcd"
Exemplos para Prompt de Comando do DOS, Windows e OS/2:
set WCDSCAN=C:\Users\erwin;D:\data set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\unidadeprojeto\projetoX
Um exemplo para shells de tipo POSIX:
export WCDSCAN="$HOME:/unidadeprojeto/projetoX"
Um exemplo para shells de tipo Csh:
setenv WCDSCAN "$HOME:/unidadeprojeto/projetoX"
Um exemplo para Prompt de Comando do DOS, Windows e OS/2:
set WCDFILTER=projetos;doc
Um exemplo para shells de tipo POSIX:
export WCDFILTER="projetos:doc"
Um exemplo para shells de tipo Csh:
setenv WCDFILTER "projetos:doc"
Um exemplo para Prompt de Comando do DOS, Windows e OS/2:
set WCDEXCLUDE=*/windows;*/temp;*CVS
Um exemplo para shells de tipo POSIX:
export WCDEXCLUDE="/dev:/tmp:*CVS"
Um exemplo para shells de tipo Csh:
setenv WCDEXCLUDE "/dev:/tmp:*CVS"
Para usar um tempo único baseado no arquivo YYYYMMDD-HHMMSS para cada shell interativo aberto:
export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)
Para uma pilha per xterm(1), use a variável de ambiente WINDOWID do xterm:
export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID
Para o GNU screen(1), para usar pilha por tela:
export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW
set PDC_RESTORE_SCREEN=1
Windows só permite salvar um buffer pequeno. Então, não é sempre possível restaurar tudo. Alguns dados inúteis podem ser emitidos no console após o wcd sair, se você definir uma largura grande de buffer.
sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1),
Wcd foi escrito por Erwin Waterlander <waterlan@xs4all.nl>
Página do projeto: <http://waterlan.home.xs4all.nl/>
SourceForge: <http://sourceforge.net/projects/wcd/>
A formatação de página de manual foi fornecida por Jari Aalto <jari.aalto@cante.net>.
NCD foi escrito originalmente por Brad Kingsbury para "Norton Utilities" do Peter Norton por volta de 1987. Veja também <http://www.softpanorama.org/OFM/norton_change_directory_clones.shtml>
2019-08-14 | wcd |