Linux en Espanol
 
Codificar en Linux (tema #24131)
Publicar nuevo tema  Responder al tema    Foros de discusión -> Programación
Autor Mensaje
JuankyKong
Forista
Registrado: 2011-11-16
Mensajes: 4

Publicado: 2011-11-16 22:35:39    Asunto: Codificar en Linux

Hola a todos Gracias por aceptarme, soy un estudiante solitario de linux ya que el tema me interesa y estoy en programacion, trato de aprender lo que pueda me alegra muchisimo que haya un foro en espanol con gente amable! bueno aqui va mi pregunta necesito crear 2 pequenhos scripts en bash y estoy estancado el primero neceisto uno que calcule el tamanho de un directorio en bash basado en el comando ls - l y codifique hasta ahorita:

#!/bin/bash
dircount=0
clear
echo -n ?Please Enter A Directory Name?
read directory
ls $filename |

pero estoy confuindo como proseguir para que pueda contar por favor culquier ayuda es muy apreciada asi mismo necesito uno que con el comando ls /dev me diga si es una folder, archivo especial o oculto pero estoy algo perdido gracias muchas
miguelgf
Forista


Registrado: 2006-12-28
Mensajes: 621

Publicado: 2011-11-17 00:44:49    Asunto:

Hola.

El tama?o de un directorio te lo da el comando "du". No se me ocurre para qu? quieres hacerlo con "ls", salvo para practicar con scripts.

Para separar el dato tama?o de los otros datos de salida de "ls -l", puedes usar el comando "cut".

Respecto al "ls /dev", la informaci?n que pides la da el "ls -l". F?jate en la primera columna que tiene un mont?n de letras, casi todas "r", "w" y "x". La primera de todas ellas te dice si es un directorio un enlace simb?lico, un dispositivo de bloques, uno de caracteres, un directorio, etc. Mira este enlace [url]http://www.cyberciti.biz/faq/ls-command-to-examining-the-filesystem/[/url]
Diferente es el que un fichero o directorio sea "oculto". En linux, la caracter?stica "oculto" no es una propiedad del fichero, sino parte de su nombre. Se considera oculto si el nombre empieza por un punto ".". De hecho, para verlos con "ls" necesitas el par?metro "-a", es decir "ls -a". Puedes probarlo en tu propio "home".

Saludos.
JuankyKong
Forista
Registrado: 2011-11-16
Mensajes: 4

Publicado: 2011-11-17 01:59:15    Asunto: muy bueno! gracias !

comprendo la idea. pero como hacer esto en un script ?? porque estoy tratando de hacer practicas y mis scriptings nome estan funcionando :( sera q no traigo par linux ?
JuankyKong
Forista
Registrado: 2011-11-16
Mensajes: 4

Publicado: 2011-11-17 02:56:20    Asunto: Pequenos Scripts

a lo mejor me falto decir un poco mas no se en realidad como codificarlo lo que necesito saber es si es posible crear un pequenho script que cuando lo corro procesa el resultado de ls /dev y el script diga si cada archivo que resulta sea un archivo especial? un archivo de bloque o ninguno como harias eso en un script ?

el otro que necesito es saber es que calcule el tamanho de un directorio del comando ls -l son scripts de practica no entiendo como codificar eso :( no me resulta con los que estoy haciendo el que pueda hacerlo seguro es un maestro de linux
RAGNAROK
Forista


Registrado: 2006-01-30
Mensajes: 434

Publicado: 2011-11-17 10:09:28    Asunto: Re: Pequenos Scripts

No entiendo por que insistes en usar [b:e89b83fa70]ls[/b:e89b83fa70] si hay comandos mejores para lo que pides, pero para obtener el tipo de archivo puedes usar la siguiente estructura:

[code:1:e89b83fa70]for a in "ls /dev/*"

file $a|cut -d: -f

done[/code:1:e89b83fa70]

Aunque usando for a in [b:e89b83fa70]"/dev/*"[/b:e89b83fa70] sin ls igual funciona

Eso deber?a devolverte
[i:e89b83fa70]block special [/i:e89b83fa70]o [i:e89b83fa70]character special[/i:e89b83fa70] para los tipos que buscas.
Luego es solo cosa de anidar un IF-THEN dentro del ciclo FOR para evaluar la salida de file y emitir un mensaje acorde con ECHO

Trata de armar algo con eso y preguntas, pero dudas concretas.

Salu2

PDTA:
[quote:e89b83fa70="JuankyKong"] el que pueda hacerlo seguro es un maestro de linux[/quote:e89b83fa70] Por favor, eso de recurrir al ego-feeding para obtener respuestas es bastante barato.
JuankyKong
Forista
Registrado: 2011-11-16
Mensajes: 4

Publicado: 2011-11-17 14:59:01    Asunto: Gracias

Muchas Gracias! te lo agradesco!





La marca registrada Linux (R) se usa siguiendo la sublicensia obtenida del "Linux Mark Institute",
el LICENCIATARIO exclusivo de Linus Torvalds, propietario de la marca en EEUU y otros países
The registered trademark Linux (R) is used pursuant to a sublicense from the Linux Mark Institute,
the exclusive LICENSEE of Linus Torvalds, owner of the mark in the U.S. and other countries