Mostrando postagens com marcador Dicas de comandos. Mostrar todas as postagens
Mostrando postagens com marcador Dicas de comandos. Mostrar todas as postagens

quarta-feira, 24 de maio de 2017

Fazendo Download de uma estrutura de diretórios inteira em páginas com o wget

 Suponha que deseja baixar o diretório diretorio2 no site

http://site.com/diretorio1/diretorio2


Se simplesmente utilizarmos a opção de download recursivo (junto com -c que continua eventuais downloads interrompidos, claro)

  • wget -cr http://site.com/diretorio1/diretorio2,

obteremos a seguinte estrutura de diretórios dentro do diretório em que o comando foi invocado:

"http://site.com/diretorio1/diretorio2"


Provavelmente, gostaríamos de obter apenas o diretorio2, não é mesmo?


Para isto, precisamos utilizar as opções -nH e -cut-dir.
A opção -nH vai nos livrar de "http://site.com/", enquanto que cut-dir informa partir de que nível de diretório deve-se baixar a partir do site.
Assim, o comando a ser dado é
  • wget -cr -nH --cut-dir=2 http://site.com/diretorio1/diretorio2 ,
e obteremos apenas o diretorio2 na nossa estrutura de diretórios.

Pode ocorrer de dentro do diretorio2 haver uma árvore de diretórios com profundidade maior do que 5 ramos, e neste caso, ramos adicionais não serão baixados.
Para contornar este problema, incluimos a opção -l [número de ramos].
Assim, o nosso comando fica:
  • wget -cr -l 7 -nH -cut-dir=2 http://site.com/diretorio1/diretorio2
No exemplo, foram utilizados 7 ramos.

Fonte: Manual do wget (man wget)

domingo, 17 de agosto de 2014

scp: Copiando remotamente arquivos e diretórios com espaços nos nomes

Digamos que você esteja em um servidor dentro de um diretório do tipo "Diretório com Espaços".

Para copiar alguma coisa desse diretório (ou o próprio), pode-se fazer:
$ scp -< opções> usuário@servidor:'"Caminho/do/Diretório com Espaços"' < Diretório e máquina de destino >

As aspas duplas servem, no terminal, para permitir que a inserção de espaços e caracteres especiais quando estes existem no nome do diretório são requeridos por algum outro comando ou sintaxe.
no lugar delas, podemos usar "\ ", ou \/, ou \\, para indicar que espaço " ", "\" ou "/", por exemplo fazem parte do nome que vamos digitar para ser operado pelo comando.
Se estivéssemos enviando comandos para o nosso terminal local, bastariam as aspas duplas (ou indicar com \ que o caractere seguinte deve ser considerado como parte do nome) para indicar ao shell que tudo entre elas faz parte do nome (nome de diretório, no caso do comando que estamos utilizando) que pretendemos operar através do comando.
Ocorre que precisamos passar este nome para ser operado pelo servidor, não pelo nosso terminal local!
Para que o que está em aspas duplas seja passado para o servidor, colocamos tudo entre aspas simples entre aspas simples.
Isso garante que o shell local não trabalhará com o conteúdo entre aspas duplas, apenas repassando para o comando scp operar com o conteúdo no servidor.

terça-feira, 29 de julho de 2014

Baixando páginas inteiras com wget: A forma elegante!

Da última vez que eu postei um artigo sobre o wget, tinha o objetivo de baixar todos os arquivos que estavam em um servidor, apenas.
Podemos, também baixar uma página, todas as imagens e links que fazem parte dela e, além disso, pedir ao wget para automaticamente corrigir os links para que apontem para dentro das páginas que já baixamos em vez de dar link quebrado ao fazer isso quando estamos offline.

O comando para isso é:

wget -crp -l < # de camadas >  -k < endereço que queremos baixar >

A opção -c permite-nos continuar doownloads interrompidos;
-r permite fazer recursão, ou seja, o download dos links dentro da página;
-l é o número de camadas para recursão, ou seja, quando "links dentro dos link devem ser seguidos". Digamos que na página X que você está puxando, há um link para Y, que tem também, um link para Z. Se você especificar 1 depois de -l, o wget não vai baixar a página Z;
-p permite fazer o download de todas as coisas que são necessárias para abrir a página corretamente;
-k corrige os links dentro das páginas, para apontar para as páginas já baixadas.

Fonte: man wget : Página de manual do wget

sábado, 7 de junho de 2014

Ah, se todos os manuais de comando tivessem exemplos...

Estava feliz por ter achado o cnetworkmanager para gerenciar conexões de rede (mas principalmente wireless)facilmente pela linha de conando no Debian Squeeze, quando resolvi atualizar para o Wheezy.

Descobri que o cnetworkmanager não mais estava funcionando no Wheezy, e que para a nova versão do NetworkManager, este pacote para gerenciar rede na linha de comando, simplesmente, havia sido removido.

Restou, então o nmcli, que já é parte do pacote network-manager.
O problema é que o man dele não me pareceu muito simples.
Eu tenho o defeito de só executar um comando quando tenho certeza de que entendi o manual e que ao ser executado, o comando funcionará. Isto pode ser bom em termos de segurança, mas é terrível para o aprendizado, já que aprende-se melhor fazendo.
Uma opção interessante, seria escrever exemplos dos comandos e de suas opções após estas serem explicadas.
Alguns manuais de comando possuem exemplos, se eu não engano, é o caso do comando tar.

Felizmente, existe o site "linux commands examples", que faz exatamente isso!

Pretendo escrever, pelo menos, mais 3 postagens sobre conexões à redes WiFi utilizando a linha de comando, desde a forma mais clássica, onde o usuário root é necessário, até comandos que qualquer usuário pode utilizar na linha de comando.

Por enquanto, para usar o nmcli, consultei este link aqui.

terça-feira, 16 de julho de 2013

Debugando códigos em FORTRAN com o DDD

O DDD (Data Display Debugger) pode ser utilizado para debugar códigos escritos em FORTRAN.
O debugger padrão é o GDB, mas pode ser utilizado o debugger da Intel (IDB), caso o código tenha sido compilado com Intel FORTRAN (ifort)
É necessário compilar os códigos com a opção -g no caso do gfortran, depois digitar:
ddd [nome do programa]
Se for necessário usar o debugger da Intel:
ddd --debugger idb [nome do programa]
Estas informações podem ser vistas neste link e neste outro.

quarta-feira, 3 de outubro de 2012

quarta-feira, 2 de março de 2011

Alterando o PATH do sistema (Fedora)

É a primeira vez, desde muito tempo, que eu uso um sistema RedHat-like.
Costumava usar Conectiva Linux. Isto foi de 1998 a 2001.
A partir de 2002, passei a usar Debian, e em um breve período de trabalho, usava o próprio RedHat (por dois meses, mas só no computador de trabalho).
Agora, na minha iniciação, voltei a utilizar uma distribuição RedHat-like, desta vez, a geradora da RHLE (Red Hat Linux Enterprise - a versão paga da RedHat), a Fedora.
E eu tive dúvidas quanto ao arquivo de configuração para alterar o PATH.
É o /etc/bashrc. Desconfio que seja o mesmo no Debian, mas eu não me lembro.
Ele altera mais coisas do que o caminho, tome cuidado.
Em todo o caso, basta colocar no fim do arquivo a expressão:
PATH=$PATH:/nome-do-caminho-a-ser-colocado-no-path
export $PATH

Para alterar o arquivo somente no seu usuário normal, procure ou crie os arquivos .bash_profile, ou .bashrc

quarta-feira, 23 de junho de 2010

Comando wget - opções de download multiplo e recursividade

Com o comando wget, você pode fazer o download de sites inteiros... ou de apenas arquivos com determinadas extenções que você está interessado.
A opção -r é um pouco perigosa, já que o site poder ter links fora dele, mas é útil.
No meu caso, eu precisava fazer o download de vários pdf que compõem um livro gratuito na Internet.


wget -cr -A*.extensão http://site.arquivo.html
A opção -A é para definir as extensões aceitas, embora eu tenha baixado html, também.
A opçaõ c é para continuar o download, caso este tivesse sido interrompido antes, e a opção r é o download recursivo.

quarta-feira, 13 de janeiro de 2010

Compactando arquivos com o zip a partir de uma lista deles criada com o comando find

Para isso, podemos utilizar a opção -@ do comando zip, e os pipes para direcionar a saída na entrada do comando zip.
Fica assim:

find [caminho] -name "[nomes pesquisados]"|zip -@ [nome do arquivo.zip]

sexta-feira, 25 de dezembro de 2009

Extraindo arquivos específicos do unzip

Isso é coisa básica, que pode ser lida no manual, Mas como eu posso perder mais tempo para procurar no manual do que no meu blog, aqui vai uma dica simples e ridícula sobre o comando unzip.

Checando os arquivos que estão compactados dentro do arquivo.zip:
unzip -l arquivo.zip
Extraindo apenas alguns arquivos:
unzip arquivo.zip arquivo1 arquivo2 .. arquivoN
Extraindo apenas alguns arquivos, mas utilizando caracteres coringa:
unzip arquivo.zip "*expressão*" , onde expressão é a parte do arquivo a ser procurada.

quinta-feira, 13 de agosto de 2009

Unzip - Descompactando apenas um(ns) arquivo(s) dentre os que estão compactados.

Bem, é bem fácil usar o unzip, embora ler os man possa ser algo chato...

unzip arquivo.zip arquvo zipado


Um grande abraço do fundo do meu coração vermelho de outubro de 1917,
Atenágoras Souza Silva.