Linux/Unix Shell Scripting - Como funciona el comando "ls"

   
Vista:

Como funciona el comando "ls"

Publicado por dvb (4 intervenciones) el 24/06/2008 21:18:11
Necesito saber como funciona el comando "ls", ps o el grep internamente, osea por ejemplo el ls a quien llama o como lo hace para listar los contenidos.
Necesito hacer un script que emule un ls o un ps o un grep con al menos 3 parametros (l,a,etc...) obviamente este script no debe contener ninguno de esos comandos.

Ojala a alguien le interese el tema, cualquier ayuda sirve.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como funciona el comando

Publicado por Iván Garcerant (27 intervenciones) el 25/06/2008 21:11:18
deseas emular ls, ps y grep con otros comandos? propósito divertido :-)

Ojo que no tengo el equipo Linux encendido así que puede haber pequeños errores...

/*sustituto de ls*/
#!/bin/sh

for arg
do
if test -d "$arg"
then
echo $arg/*
else
echo $arg
fi
done

/*sustituto de grep*/
#!/bin/sh

PATTERN="$1"
shift
for arg
do
sed 's/'"$PATTERN"'/p' "$arg"
done

/*sustituto de ps*/
#!/bin/sh

for process in /proc/[1-9]*
do
#aquí muestra la información que quieres del proceso "$process" leyendo
#del directorio en /proc del mismo
done

Claro que no te he colocado análisis de argumentos, pero espero que hayas captado mi idea. Cualquier cosa, no temas preguntar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como funciona el comando

Publicado por dvb (4 intervenciones) el 01/07/2008 07:15:18
Muchas gracias Iván, tu respuesta me sirvio bastante.

Ahora tengo otra duda jaja, resulta que cuando se hace un ls -l se supone que este comando lista la informacion administrativa contenida en los nodos-i por cada fichero...

Mi consulta es la siguiente donde se almacena esta informacíon en disco (la info administrativa de los nodos-i) y como puedo acceder a ella, o dicho de otra forma de donde lee el ls -l esa información?.

gracias.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como funciona el comando

Publicado por Tom (253 intervenciones) el 01/07/2008 16:46:49
En el propio inodo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como funciona el comando

Publicado por dvb (4 intervenciones) el 01/07/2008 21:31:13
jaja gracias, pero como accedo a el? donde esta ubicado? como lo manipulo?,etc... todos esos como,que googleando no e encontrado info de su manipulacion. Necesito algo mas contundente.

Gracias.
Diego V.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como funciona el comando

Publicado por Iván Garcerant (27 intervenciones) el 02/07/2008 08:20:50
Saludos.

Las manipulaciones del inodo se hacen con los comandos mv, cp, ln, ls, etc... ya que los inodos son el segmento de data que describe para el sistema, la información de cada archivo único de nuestros discos.

A nivel de programación (esto es, con C, perl u otros) la principal interface para obtener información del inodo de un archivo es la función stat(2), sin embargo a nivel de la línea de comando, como dije antes, son los comandos de manipulación de archivos, como cabe esperar si nos ponemos a pensar un poco.

Así que como obtener la información de "ls -l" sin recurrir a ls? En algunas versiones recientes de linux se incluye el comando stat(1) por lo que quizás, puedas hacer uso de este para obtener los detalles que te interesan.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como funciona el comando

Publicado por dvb (4 intervenciones) el 02/07/2008 17:42:23
Muchas gracias Iván, era la respuesta que esperaba.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar