$
df -h $PWD |awk '{print $4}' mostra (o ' é aspas simples):
Usad
9,6G
$
df -h $PWD mostra:
Sist. Arq. Tam Usad Disp Uso% Montado em
/dev/sda1 88G 79G 9,6G 90% /media/00B0DD30B0DD2CC2
O que eu faço aqui na verdade é apenas mostrar a liha disponível, no caso a 4 coluna, para isso utilizo o awk '{print $4}'
Para saber a quantidade de Bytes utilizados na partição atual ($PWD - $PWD (Print Working Directory - imPrimir Diretório de tabalho (work) - imprimir o diretório onde você está executando o comando ))
sábado, 31 de março de 2012
quinta-feira, 29 de março de 2012
Versão com DataInputStream, DataOutputStream e Exception do código java de servidor tcp de echo do livro do Kurose
Como entendi que o código da página 120 do livro Redes de computadores e a internet: uma abordagem top-down. 5. ed - KUROSE, James F; ROSS, Keith W. Redes de computadores e a internet: uma abordagem top-down. 5. ed. São Paulo: Pearson Education, 2011. 614 p. ISBN 9788588639973 (broch.) [
KUROSE, James F; ROSS, Keith W. Redes de computadores e a internet: uma abordagem top-down. 3. ed. São Paulo: Makron Books, c2006. 634 p. ISBN 9788588639188 (broch.). - página 117 ]induz o leitor ao erro por não trabalhar com as exceptions, que não são poucas, bem como usar BufferedReader ao invés de DataInputStream (BufferedReader não é a melhor alernativa se for trabalhar com envio de arquivos) resolvi fazer uma versão dele com exception e utilizando DataInputStream e DataOutputStream.
O código do Cliente TCP do Kurose:
http://presenteperfeito.99k.org/blog/java/kuroseTCPSocket/TCPClientKurose_java.html
O código do Servidor TCP do Kurose:
http://presenteperfeito.99k.org/blog/java/kuroseTCPSocket/TCPServerKurose_java.html
Já o código do meu Cliente TCP
http://presenteperfeito.99k.org/blog/java/kuroseTCPSocket/TCPClientDM_java.html
Apenas lembrando que para funcionar é necessário que tanto o cliente como servidor sejam compilados juntos (javac TCPServer.java TCPClient.java), pois o cliente utiliza a porta e o host definidos no servidor (para mudar o host e a porta apenas no servidor, e garantir que tanto o cliente como servidor terão a mesma porta)
http://presenteperfeito.99k.org/blog/java/kuroseTCPSocket/TCPServerDM_java.html
Estava tentando enviar arquivos via sockts java, só que ocorriam alguns erros intermitentes, após muitas pesquisas descobri através de
http://javafree.uol.com.br/topic-880337-sockets-perdendo-pacotes.html, que realmente pode acontecer, hora funcionar, hora não, se utilizar a tripa de buffers desorganizado, como sugerido pelo código do Kurose.
Resultado terei que implementar novamente toda a minha comunicação para enviar o arquivo, tudo devido a inexperiência e inobservância do detalhe que é recomendada a leitura e escrita de sockets com DataInputStream e DataOutputStream.
Apenas lembrando que o objetivo do código do Kurose é ser didático, não um código bom para servir de base para implementações TCP em java.
Os meus códigos e do Kurose coloquei tudo compactado em .zip em:
http://presenteperfeito.99k.org/blog/java/kuroseTCPSocket/KuroseDM.zip
KUROSE, James F; ROSS, Keith W. Redes de computadores e a internet: uma abordagem top-down. 3. ed. São Paulo: Makron Books, c2006. 634 p. ISBN 9788588639188 (broch.). - página 117 ]induz o leitor ao erro por não trabalhar com as exceptions, que não são poucas, bem como usar BufferedReader ao invés de DataInputStream (BufferedReader não é a melhor alernativa se for trabalhar com envio de arquivos) resolvi fazer uma versão dele com exception e utilizando DataInputStream e DataOutputStream.
O código do Cliente TCP do Kurose:
http://presenteperfeito.99k.org/blog/java/kuroseTCPSocket/TCPClientKurose_java.html
O código do Servidor TCP do Kurose:
http://presenteperfeito.99k.org/blog/java/kuroseTCPSocket/TCPServerKurose_java.html
Já o código do meu Cliente TCP
http://presenteperfeito.99k.org/blog/java/kuroseTCPSocket/TCPClientDM_java.html
Apenas lembrando que para funcionar é necessário que tanto o cliente como servidor sejam compilados juntos (javac TCPServer.java TCPClient.java), pois o cliente utiliza a porta e o host definidos no servidor (para mudar o host e a porta apenas no servidor, e garantir que tanto o cliente como servidor terão a mesma porta)
http://presenteperfeito.99k.org/blog/java/kuroseTCPSocket/TCPServerDM_java.html
Estava tentando enviar arquivos via sockts java, só que ocorriam alguns erros intermitentes, após muitas pesquisas descobri através de
http://javafree.uol.com.br/topic-880337-sockets-perdendo-pacotes.html, que realmente pode acontecer, hora funcionar, hora não, se utilizar a tripa de buffers desorganizado, como sugerido pelo código do Kurose.
Resultado terei que implementar novamente toda a minha comunicação para enviar o arquivo, tudo devido a inexperiência e inobservância do detalhe que é recomendada a leitura e escrita de sockets com DataInputStream e DataOutputStream.
Apenas lembrando que o objetivo do código do Kurose é ser didático, não um código bom para servir de base para implementações TCP em java.
Os meus códigos e do Kurose coloquei tudo compactado em .zip em:
http://presenteperfeito.99k.org/blog/java/kuroseTCPSocket/KuroseDM.zip
terça-feira, 27 de março de 2012
Como saber qual é o sistema operacional utilizando java
Para saber qual o sistema operacional basta
colocar a linha:
System.out.println(System.getProperty("os.name"));
Para saber todas as propriedades de um:
System.out.println(System.getProperties());
O Resultado do System.out.println(System.getProperties()); aqui foi:
{
java.runtime.name=Java(TM) SE Runtime Environment,
sun.boot.library.path=/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/amd64,
java.vm.version=20.1-b02,
java.vm.vendor=Sun Microsystems Inc.,
java.vendor.url=http://java.sun.com/,
path.separator=:,
java.vm.name=Java HotSpot(TM) 64-Bit Server VM,
file.encoding.pkg=sun.io,
sun.java.launcher=SUN_STANDARD,
user.country=BR,
sun.os.patch.level=unknown,
java.vm.specification.name=Java Virtual Machine Specification,
user.dir=/media/00B0DD30B0DD2CC2/Documents and Settings/dm/Meus documentos/REC/trabalhos/tb1rec/t,
java.runtime.version=1.6.0_26-b03,
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment,
java.endorsed.dirs=/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/endorsed,
os.arch=amd64,
java.io.tmpdir=/tmp, line.separator=
,
java.vm.specification.vendor=Sun Microsystems Inc.,
os.name=Linux,
sun.jnu.encoding=UTF-8,
java.library.path=/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/amd64/server:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/amd64:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib,
java.specification.name=Java Platform API Specification,
java.class.version=50.0,
sun.management.compiler=HotSpot 64-Bit Tiered Compilers,
os.version=2.6.32-40-generic,
user.home=/home/dm,
user.timezone=,
java.awt.printerjob=sun.print.PSPrinterJob,
file.encoding=UTF-8,
java.specification.version=1.6,
java.class.path=.,
user.name=dm,
java.vm.specification.version=1.0,
sun.java.command=TCPServer,
java.home=/usr/lib/jvm/java-6-sun-1.6.0.26/jre,
sun.arch.data.model=64,
user.language=pt,
java.specification.vendor=Sun Microsystems Inc.,
java.vm.info=mixed mode,
java.version=1.6.0_26,
java.ext.dirs=/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/ext:/usr/java/packages/lib/ext,
sun.boot.class.path=/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/resources.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/rt.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/jsse.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/jce.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/charsets.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/modules/jdk.boot.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/classes,
java.vendor=Sun Microsystems Inc.,
file.separator=/,
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi,
sun.io.unicode.encoding=UnicodeLittle,
sun.cpu.endian=little,
sun.desktop=gnome,
sun.cpu.isalist=}
Mas digamos que você deseja saber é a versão da JVM (Java Virtual Machine - Máquina Virtual Java)
Basta colocar a linha:
System.out.println(System.getProperty("java.version"));
em algum lugar do seu programa
colocar a linha:
System.out.println(System.getProperty("os.name"));
Para saber todas as propriedades de um:
System.out.println(System.getProperties());
O Resultado do System.out.println(System.getProperties()); aqui foi:
{
java.runtime.name=Java(TM) SE Runtime Environment,
sun.boot.library.path=/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/amd64,
java.vm.version=20.1-b02,
java.vm.vendor=Sun Microsystems Inc.,
java.vendor.url=http://java.sun.com/,
path.separator=:,
java.vm.name=Java HotSpot(TM) 64-Bit Server VM,
file.encoding.pkg=sun.io,
sun.java.launcher=SUN_STANDARD,
user.country=BR,
sun.os.patch.level=unknown,
java.vm.specification.name=Java Virtual Machine Specification,
user.dir=/media/00B0DD30B0DD2CC2/Documents and Settings/dm/Meus documentos/REC/trabalhos/tb1rec/t,
java.runtime.version=1.6.0_26-b03,
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment,
java.endorsed.dirs=/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/endorsed,
os.arch=amd64,
java.io.tmpdir=/tmp, line.separator=
,
java.vm.specification.vendor=Sun Microsystems Inc.,
os.name=Linux,
sun.jnu.encoding=UTF-8,
java.library.path=/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/amd64/server:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/amd64:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib,
java.specification.name=Java Platform API Specification,
java.class.version=50.0,
sun.management.compiler=HotSpot 64-Bit Tiered Compilers,
os.version=2.6.32-40-generic,
user.home=/home/dm,
user.timezone=,
java.awt.printerjob=sun.print.PSPrinterJob,
file.encoding=UTF-8,
java.specification.version=1.6,
java.class.path=.,
user.name=dm,
java.vm.specification.version=1.0,
sun.java.command=TCPServer,
java.home=/usr/lib/jvm/java-6-sun-1.6.0.26/jre,
sun.arch.data.model=64,
user.language=pt,
java.specification.vendor=Sun Microsystems Inc.,
java.vm.info=mixed mode,
java.version=1.6.0_26,
java.ext.dirs=/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/ext:/usr/java/packages/lib/ext,
sun.boot.class.path=/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/resources.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/rt.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/jsse.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/jce.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/charsets.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/modules/jdk.boot.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/classes,
java.vendor=Sun Microsystems Inc.,
file.separator=/,
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi,
sun.io.unicode.encoding=UnicodeLittle,
sun.cpu.endian=little,
sun.desktop=gnome,
sun.cpu.isalist=}
Mas digamos que você deseja saber é a versão da JVM (Java Virtual Machine - Máquina Virtual Java)
Basta colocar a linha:
System.out.println(System.getProperty("java.version"));
em algum lugar do seu programa
quinta-feira, 22 de março de 2012
Comando do linux para listar (ls) apenas os 2 arquivos mais recentes
Comando do linux para listar (ls) apenas os 2 arquivos mais recentes
$ls -trl | tail -2
Se deseja apenas os 3 mais recentes:
ls -trl | tail -3
Apenas os 4:
ls -trl | tail -4
Apenas os 20:
ls -trl | tail -20
$ls -trl | tail -2
Se deseja apenas os 3 mais recentes:
ls -trl | tail -3
Apenas os 4:
ls -trl | tail -4
Apenas os 20:
ls -trl | tail -20
Assinar:
Postagens (Atom)