martes, 15 de noviembre de 2011

Tipos de Archivos en Linux


Básicamente en linux existen 7 tipos de archivos:

- archivos regulares
d archivos de directorios
l enlaces simbolicos
c dispositivos de caracter
b dispositivos de bloques
p tuberias (pipe)
s socket conector para comunicaciones


Archivos regulares
En Linux no existe diferencia a la hora de clasificar estos archivos por su contenido, para el kernel se los considera como un flujo de bytes. 
Todos los archivos en Linux no necesitan extensión, al ser ser tratados como un flujno de bytes sin formato predeterminado, con una o mas extensiones que indiquen el conjunto al que pertenezcan pueden ser (jpg,gif,doc.xls.mdb)

Directorios
Son archivos que contienen a su vez otros archivos que pueden tener directorios y comúnmente llamados sub directorios. En Linux, los directorios tienen una forma determinada la cual nos facilita la ubicación de los archivos y sub directorios, ya que en la lista que forman, se almacenan características de los archivos con los que se los puede identificar, como es tamaño, la fecha de creación, el bloque asignado, los permisos que tienen asignado, los enlaces, pero no el nombre.
Los directorios son siempre un número entero.Representa el valor de un índice que opera dentro de una lista en el disco.

Enlaces simbólicos
Un enlace no es mas que un nombre que apunta a un determinado recurso del sistema de archivos

Dispositivos de carácter.
Son archivos especiales cuya principal función es la comunicación con un dispositivo de hardware. De acuerdo con la naturaleza del hardware, se denominan de caracteres, (consola, puertos de serie etc) o de bloques, (discos, memorias, ..etc)

Tuberías (pipe)
Archivos localizados para la comunicación entre procesos, son una via de intercambio de datos, el primer byte introducido por el emisor será el primero en ser extraído por el receptor.

Soket 
Son archivos para comunicación entre procesos locales. Se pueden ver como archivos, pero no pueden ser leídos y escritos salvo por los procesos directamente relacionados con la comunicación de la que son objeto.


sábado, 12 de noviembre de 2011

Comando rsync

El comando de rsync esta diseñado para copias de seguridad de red de directorios o archivos particulares que copia de forma inteligente solo los archivos que han sido modificados, en lugar del contenido completo del directorio.



Formato para el comando 

rsync - (opciones) (ruta que se desea sincronizar) usuario@ipequipodestino:(ruta del destino donde se desea sincronizar) 
ejemplo:


rsync -apvr /media/Respaldos/catolica/ jlaq@192.168.1.3:/home/jlaq/catolica/

También se puede hacer copias de un directorio a otro en este caso he sacado un respaldo a un disco:
rsync -apvr /media/Respaldos/catolica/ /media/Expansion\ Drive/MIS\ DOC\ Catolica/



Opciones mas utilizadas 


Existen muchas formas de usar el comando rsync pero puedo decir que las detalladas aquí son las mas usadas, debemos tener encuentra que cuando se realice una copia o sincronización si no ponemos la barra del final, rsync copia el directorio en su totalidad. Con la barra, copia los contenidos del directorio pero no recrea el directorio.



-a obtenemos una copia exacta de una jerarquía de archivos y directorios.
-r: para que recorra toda la estructura de directorios (recursiva)
-l: para que mantenga enlaces simbólicos 
-p: para que mantenga permisos en archivos y subdirectorios 
-t: para que mantenga la hora y fecha 
-g: para que mantenga grupo 
-o: para que mantenga dueño (owner) 
-D: para que mantenga archivos de dispositivo (root) 


Para consultas a continuación dejo una captura de las opciones que están en el man del rsync





viernes, 14 de octubre de 2011

Comando Find


Sintaxis find

find [ruta...] [expresión]


Este comando nos es útil cuando queremos hacer la busqueda especifica del un archivo sea este por su nombre tamaño o su ultima modifcacion, es importante ejecutar este comando con una opcion especifica ya que si no le enviamos  parámetros al "find" no seria de mucha utilidad de manera que el primer parametro que deberíamos pasarle, debe ser la ruta donde se ejecutará la busqueda, y el segundo parametro, el nombre del archivo que queremos buscar.



Encuentra un tipo de archivo

find /home/jorge/Vídeos/ -name "*.flv"

de esta manera estamos buscando todos los archivos que esten dentro de la carpeta de videos con la extencion de flv


Encuentra un archivo especifico

find /home/jorge/Vídeos/ -name "gestion\ de\ proyectos.flv

de esta manera estamos buscando dentro de la carpeta especificada el archivo con el nombre y su extensión




Comando locate


El comando "locate"es un comando destinado para la búsqueda de archivos dentro del sistema, este es  bastante parecido al comando "find", pero la gran diferencia que tiene con el comando "locate" es que la búsqueda se hace en una base de datos indexada del sistema la que nos permite  aumentar significativamente la velocidad de respuesta en la búsqueda que hacemos:

busquemos el el archivo resolv.conf el que tiene todas las direcciones de los servidores de dominio que nos ayuda a tener una mejor respuesta cuando hacemos búsquedas en Internet


De esta manera podemos ubicar un archivo que hayamos perdido su ubicación o simplemente queramos saber su ubicación en el sistema.

jueves, 7 de julio de 2011

FIREWALL DE LINUX

Consideraciones importantes al configurar un firewall de Linux

Tengamos presente que un firewall su funcion principal es la de evitar el acceso directo sin autorización, Los Kernel actuales de Linux incorporan este soporte a firewalls mediante el filtrado de paquetes NETFILTER(IPtables), para la implementacion de un firewall se deben de indicar las reglas por las que regiran el acceso al sistema.

En el caso de los sistemas linux poseemos las herramientas de ssh (Secure Shell) para codificar cualquier transmisión de información evitando ser asi leídas por cualquiera en la red.
Mas adelante dedicare un post exclusivo para explicar el funcionamiento de esta herramienta tan útil
en linux.

Para proteger su sistema de red es importante tener una buena configuración del firewall por lo que a continuación les explicare espero les sirva de mucha ayuda.

el software mas comun que se suele usar en Linux es el Squid, este es el encargado de hacer cumplir por asi decirlo las reglas que se establecen para el acceso de la información, todas las reglas se almacenan en las llamadas tablas de aqui precede el nombre de iptables que es el comando empleado para acceder a la declaración de las reglas de acceso que se desean aplicar.

Iptables
Es conocido para ejecutar el filtrado de los paquetes NAT y el que implementa las tareas de filtrado, En las llamadas tablas es en donde se almacenan los comandos para la aplicacion de estas.
Las llamadas tablas de filtrado usan las reglas de PREROUTING INPUT OUTPUT FOREWARD Y POSTROUTING

Destinos de los IPtables 

ACCEPT Permite el paso al paquete atraves del firewall
DROP Niega el acceso al paquete
REJECT Niega el acceso y notifica al emisor
QUEUE Envia los paquetes al espacio del usuario
RETURN Va hasta el final de la cadena y permite que el destino predeterminado lo procese.


Opciones del IPtables
El paquete de iptables esta disenado para ser extencible y es posible incluir en el opciones con criterios de seleccion.

Por ejemplo:
iptables -a 
Es el comando para agregar una nueva regla
iptables -d 
Es el comando para eliminar una regla
iptables -r 
Es el comando para reemplazar una regla

Cadenas integradas para el netfilter
INPUT REGLAS PARA PAQUETES ENTRANTES
OUTPUT REGLAS PARA PAQUETES SALIENTES
FORWARD REGLAS PARA PAQUETES REENVIADOS
PREROUTING REGLAS PARA REDIRIGIR O MODIFICAR PAQUETES ENTRANTES
POSTROUTING REGLAS PARA REDIRIGIR O MODIFICAR PAQUETES SALIENTES

con el comando iptables -L -n  
podemos observar las cadenas con las reglas definidas
despues del comando se muestra una lista del cadena a la que aplica la regla, COMO INPUT OUTPUT O FORWARD, o una definida por el usuario, después despliega una lista con las opciones especificando las acciones que lleva acabo.

USO DEL DROP Y DEL ACCEPT
Existen dos destinos integrados

iptables -A INPUT -s 192.168.1.3 -j DROP

de esta manera estamos aceptando todos los paquetes que provengan de la dirección 192.168.1.3


iptables -A INPUT -j ACCEPT ! -s 192.168.1.3

de esta manera estamos rechazando todos los paquetes que provengan de la dirección 192.168.1.3



lunes, 20 de junio de 2011

Estructura de archivos de Linux


La estructura de archivos de Linux

/ Directorio raíz, mantiene la estructura de archivos del sistema.
/bin Binarios de comandos esenciales .
/boot Archivos estáticos de cargador de arranque (boot-loader) .
/dev Almacena interfaces de archivos para varios dispositivos .
/etc Almacena archivos de configuración del sistema.
/home Directorio de los usuarios.
/lib Librerías compartidas.
/lost+found Directorio para almacenar archivos a recuperar.
/mnt Punto de montaje para particiones temporales.
/opt Para coloca software que no fue incluida en el sistema operativo.
/root Raíz principal directorio home del usuario root.
/sbin Binarios esenciales del sistema.
/tmp Archivos temporales.
/usr Almacena archivos y comando sutilizados por el sistema.
/var Almacena archivos variables como los del buzón de correo.

(/) : Directorio Raíz
La barra es el directorio raíz, el principio del sistema de archivos. Sólo existe un directorio root y todos los archivos descienden o están colgando de el. Este directorio contiene todos los archivos y programas necesarios.

(/bin): Directorio de los Binarios
El /bin contiene comandos que pueden ser utilizados por los usuarios y el administrador del sistema, puede también contener comandos que son utilizados indirectamente por algunos scripts.


/boot: Archivos estáticos del cargador de arranque (boot loader)
Este directorio contiene todo para arrancar excepto los archivos de configuración. El /boot es el lugar donde debe colocar todo lo que debe utilizar antes de que el kernel ejecute /sbin/init. Esto incluye sectores maestros de arranque (master boot sectors) guardados, archivos de mapeo de sectores y cualquier otra cosa que no es editada directamente a mano. Los programas necesarios para arreglar que el cargador de arranque sea capaz de arrancar un archivo (tal como el instalador de mapas [lilo, grub] ) estarán localizados en /sbin.


/dev: Archivos de dispositivos
Este es el directorio de los dispositivos. Contendría un archivo por cada dispositivo que el kernel de Linux pueda soportar.


/etc : Configuración del Sistema Local a la Máquina
El directorio /etc contiene archivos y directorios que son locales al sistema actual. Ningún binario debe estar directamente dentro de /etc. Los binarios que en el pasado se encontraban en /etc, están en /sbin 0 /usr/sbin. Esto incluye archivos tales como init, getty y update. Los binarios tales como hostname que son utilizados por usuarios ordinarios y por root no irían en /sbin sino en /bin.


/home: Directorios Hogar de los Usuarios
El home es el directorio de archivos de los usuarios del sistema en este se almacenan los documentos, musica, fotos, etc. Toda la información del usuario. Se recomienda que en la instalación del sistema se deje un espacio considerable para esta sección ya que en este directorio se presentara el mayor crecimiento de información.


/lib: Librerías Compartidas y Módulos Esenciales del Kernel
El directorio /lib contiene aquellas imágenes de las librerías compartidas que se necesitan para arrancar el sistema y ejecutar los comandos en el sistema de archivos raíz.


/lost+found
Es el directorio donde se almacenan los archivos que estaban en uso o ejecución cuando sucedió algún tipo de anomalía para que el sistema se deba reiniciar abruptamente de esta manera permitirá al usuario una recuperación de los archivos a su estado anterior para evitar la corrupción de estos y fallas en el sistema


/mnt y /media: Punto de Montaje para Sistemas de Archivos Montados Temporalmente
Estos directorios se proveen para que el administrador pueda montar temporalmente sistemas de archivos cuando lo necesite. En esta partición por llamarla así se almacenan los dispositivos que se agregan al equipo estos pueden ser físicos o pueden ser imágenes pertenecientes a un directorio se los puede configurar por ejemplo como .iso de algún juego o aplicación especifica.


/opt: Para coloca software que no fue incluida en el sistema operativo.
Es usado para programas que no venían predefinidas en la distribución original del sistema operativo instalado. Varia la existencia de este cuando se esta empleando distribuciones como rpm y las que usan escritorios kde.


/proc: Sistema de Archivos Virtual de Información de Procesos y del Kernel
El sistema de archivos proc almacena la información de los procesos y del sistema en vez de /dev/kmem y otros métodos similares. Se recomienda para almacenamiento y obtención de información de procesos así como otra información del kernel y de memoria.


/root: Directorio hogar de root (opcional)
El directorio hogar de la cuenta de el usuario root puede ser determinada por el desarrollador o por preferencias locales.


/sbin: Binarios del Sistema (Alguna vez mantenidos en /etc)
Los útiles usados por la administración del sistema típicamente contiene binarios esenciales para arrancar el sistema además de los binarios en /bin.


/tmp: Archivos temporales
El directorio tmp se utiliza para archivos temporales, preferentemente en un /dispositivo rápido. /tmp puede ser limpiada en cada arranque o a intervalos relativamente frecuentes. Por tanto, no se debe esperar que la información almacenada en /tmp permanezca por algún periodo largo de tiempo.


/usr Almacena archivos y comando sutilizados por el sistema.
El usr es la segunda mayor seccion del sistema de archivos. /usr es /información compartible, de sólo- lectura, esto significa que /usr, debe ser /compartible entre varias máquinas que corren Linux y no se debe /escribir. Cualquier información que es local a una máquina o varía con el /tiempo, se almacena en otro lugar.


/var almacena archivos variables como los del buzón de correo.
El var contiene archivos con información variable. Esto incluye archivos y /directorios en fila de ejecución, información de bitácora administrativa y /archivos temporales y transitorios.

El sistema de archivos descrito anteriormente es el mas común que existe en las diferentes distribuciones de Linux.

domingo, 19 de junio de 2011

Que es la shell de Linux

La Shell de linux se comprende como un interprete de comandos cuyo trabajo se orienta a un trabajo en linea directa con el núcleo del sistema la shell se la puede entender como un  programa en continua
ejecución que analiza la línea y llama a ejecución al programa o programas y que realiza la función solicitada por la orden. Puede enviar a la shell uno o mas comandos a ejecución separandolos por un (;).

la facilidad que nos presenta la shell es una completa administración del sistema operativo en la cual podemos ver estados de los procesos que se están ejecutando así como la administración y manipulación de archivos del sistema.

La facilidad que nos presta la shell es ver la secuencia de comandos que se han ejecutado desde el momento que se instalo el sistema operativo estos comandos se almacenan en un archivo llamado "history"  este archivo se ubica en el root del sistema y se encuentra con el nombre /.bash_history este archivo nos permite llevar una especie de log de administración del sistema operativo revisando los comandos que se han ejecutado.

Una de las ventajas que nos presenta la shell de Linux es q nos permite administrar la prioridad de los proceso y poner los secundarios en segundo plano. Para poner un proceso en ejecución en segundo plano basta con poner un & después del comando por ejemplo enviamos la edición de un archivo a segundo plano.

con el comando jobs podemos ver los procesos que se encuentran en espera de ser ejecutados para ejecutarlos ponemos el comando fg % (numero del proceso que se encuentra en segundo plano)
y para ponerlo en segundo plano se usa también bg ejemplo


Para suspender un trabajo con crtl +z y regresar a la linea de comandos

Para terminar con un proceso utilizamos el comando kill

Con el comando ps observamos el PID de los procesos en ejecución de esta manera ponemos  kill (PID)
ejemplo
Para ver las opciones de un comando ponemos en la linea del shell man (comando) ejemplo man(kill) y podemos ver las opciones de este comando.


Mas información encontraremos en 

miércoles, 15 de junio de 2011

Unix

Fue un proyecto lanzado a inicios del 1960 y finales de los 70 estaba a cargo de los laboratorios de AT&T dirigido por Ken Thompson y Dennis Ritchie basándose en su proyecto anterior llamado MULTICS, juntos se reunieron para volver a escribir para realizarlo en lenguaje C pronto Unix dejo de ser desarrollado por un un grupo pequeño de especialistas en sistemas operativos a pasar a ser un proyecto mas importante que podía ser comercializado entre los cuales estaba Novell e IBM. En sus inicios Unix fue considerado como un proyecto de investigación el cual se empezó a distribuir gratuitamente entre las Universidades y desde este medio se empezó a desarrollar como un proyecto independiente en el caso de la Universidad De Berkeley fue quien mas avances realizo en el sistema Unix llegando a considerar como su versión un estándar para las demás Universidades esto surgió alrededor de 1975 a esta se la conoció como BSD. A finales de la década de los 70 BSD se volvió  como base del proyecto de investigación de la DARPA que es el departamento de defensa de los Estados Unidos. como resultado de esta investigación en 1983 la Universidad de Berkeley publico una versión con características importantes como interconexión  basadas en protocolos de red (los pioneros en los protocolos que hoy se usan en internet).

Escuchemos de las mismas personas la importancia de este Sistema Operativo

Observemos como era este sistema en sus inicios y notemos la misma estructura que se mantiene genial!!!!


martes, 14 de junio de 2011

Sistemas Operativos y Linux

Como sabemos los sistemas operativos desde sus inicios fueron diseñados para realizar tareas repetitivas, centradas en la administración de archivos, ejecución de programas y recepción de comandos por los usuarios.
Linux como todas las versiones de Unix es multiusuario y multitarea esto significa que el sistema puede realizar varias tareas al mismo tiempo.

Linux al ser una versión de Unix modificada tiene la misma flexibilidad del sistema la que fue desarrollada por Ken Thompson en AT&T BELL LABORATORIES a finales de la década de 1960 y principios de los 70 de esta forma Unix se lo reconocio como un sistema operativo para investigadores lo cual persiste hasta hoy en día sigue siendo el mismo concepto, de esta manera Linux esta orientado a soportar varios usuarios y varias tareas de ellos lo que lo convierte en una potente herramienta de trabajo y se convierte en un entorno integramente operativo.

jueves, 2 de junio de 2011

Historia de Unix




Para hablar de linux volvamos un poco el tiempo atrás y recordemos sus inicios ya que esta basado en Unix asi que pense importante escribir sobre sus inicios y conocer un poco como fue ideado y por quienes.

Unix Es el resultado de la investigación de Ken Tompson Dennis Ritchie en 1969 y de los investigadores de los laboratorios de AT&T incorporando muchas características del proyecto MULTICS
(Multiplexed Information And Computing Service fue uno de los primeros sistemas operativos de tiempo compartido empezó en 1964 liderado por Fernando J. Corbato del MIT y General Electric y los Laboratorios Bell) Ellos hicieron un sistema a medida de las necesidades que se presentaban en su época pensándolo así para pequeños microcomputadores.

Desde sus inicios Unix fue pensado como un sistema multiusuario multitareas accesible y eficiente y fue rediseñado en 1973 en el lenguaje de programación utilizado fue C y paso de ser un producto de software a ser un sistema explotado por diseñadores de software en sus inicios por Nobell e IBM, y desde entonces Unix fue tratado como un proyecto de investigación. La primera versión se distribuyo gratuitamente a las principales Universidades de Estados Unidos durante la década de los 70's luego los Laboratorios Bell empezaron a dar licencias de los sistemas a los usuarios. Uno de estos fue los laboratorios de la Universidad de California Berkeley fue quienes agregaron muchas características propias y lanzaron su propia versión de Unix en 1975 llamada BSD esta versión de BSD de Unix fue la principal competencia con la lanzada por Laboratorios Bell y AT&T quienes lanzaron la versión System 3 y evoluciono a la System 5 cual tenia soporte comercial.

La versión de BSD en 1970 fue la base para un proyecto militar estadounidense llamado DARPA, el cual incluía sistemas sofisticados de archivos además de características de intercomunicación basados en los que son ahora los protocolos de comunicación de red de internet como los conocemos hoy en día.

domingo, 15 de mayo de 2011

Comandos para el VI


$vi EDITAR UN TEXTO SIN NOMBRE
$vi (NOMBRE_ARCHIVO) EDITAR UN ARCHIVO NUEVO O UNO EXISTENTE
$vi ARCHIVO1, ARCHIVO2 EDITA UNA LISTA DE ARCHIVOS
$vi +n ARCHIVO EDITA EL ARCHIVO EN LA LINEA n
$vi +/TEXTO EDITA EL ARCHIVO EN LA LINEA QUE EMPIEZA CON EL "TEXTO"

Movimientos del cursor



0 Inicio de linea
$ Fin de linea


w Word: Avanzar palabra
b Back: Retroceder palabra
e End: Al final de palabra


H Home: Esquina sup. izq. de la ventana
L Last: Esquina inf. izq. de la ventana

CTRL+u Window up: Subir ventana
CTRL+d Window down: Bajar ventana
CTRL+b Page back: Retroceder pagina
CTRL+f  Page forward: Avanzar pagina


nG  Salta a la n- ́sima linea
1G A la primera linea
$G A la ultima linea

z   Ret Hacer la linea actual la superior
zz Hacer la linea actual la central
z-  Hacer la linea actual la ultima

Insertar Texto

i Insertar (delante del cursor)
I Insertar al principio de la linea
a Anadir (detras del cursor)
AAnadir al final de la linea
o Insertar una linea debajo de la actual
0 Insertar una linea encima de la actual

Borrar Texto
x: Borrar caracter actual
X:Borrar
caracter anterior
dd: Borrar 
linea actual
D: Borrar
hasta final de linea
d: CmdMov Borrar
hasta la posici ́n del movimiento indicado
dw: Borrar 
palabra





lunes, 25 de abril de 2011

Permisos de Archivos y Directorios

Permisos de Archivos y Directorios



En Linux cada recurso pertenece a un usuario, y a un grupo de usuarios.
La columna permisos, consta de 10 caracteres y se divide de la siguiente manera:
1er. carácter: Nos indica que tipo de fichero es, los valores posibles para este carácter son:

d : directorio
l : enlace simbólico
b : dispositivo de bloque
c : dispositivo de caracteres
s : socket
p : tubería
- : fichero regular
2do 3ro 4to carácter. Es el primer trío de permisos, y nos indican los permisos que el usuario (U) tiene sobre ese fichero.
5to 6to 7mo carácter. Es el segundo trío de permisos, y nos indica los permisos que el grupo (G) tiene sobre ese fichero.
8vo 9no 10mo carácter. Es el tercer trío de permisos, y nos indica los permisos que los otros (O) tienen sobre ese fichero. Otros se refiere a cualquier usuario que no sea el usuario del fichero (U) ni pertenezca al grupo del fichero (G).


Tipos de permisos fundamentales:
r: read (lectura). El usuario que tenga este permiso podrá si es un directorio listar los recursos almacenados en él, y si es cualquier otro tipo de fichero podrá leer su contenido.
w: write (escritura). Todo usuario que posea este permiso para un fichero podrá modificarlo. Si se posee para un directorio se podrán crear y borrar ficheros en su interior.
x: execute (ejecución). Este permiso para el caso de los ficheros permitirá ejecutarlos desde la línea de comandos y para los directorios, el usuario que lo posea tendrá acceso para realizar el resto de las funciones permitidas mediante los otros permisos (lectura y/o escritura). Si un usuario no tiene permiso de ejecución en un directorio, directamente no podrá entrar en el mismo, ni pasar por el.

Los tres tipos de permisos mencionados poseen una representación numérica basada en el sistema octal que parte de representar como ``1'' los bits de los permisos otorgados y ``0'' para los negados. Luego se transforma la representación binaria así obtenida en octal. De esta forma se obtienen para cada tipo de permiso los siguientes valores:

TIPOUSUARIO (u)GRUPO (g)OTROS (o)
-rwxrwxrwx

read write execread write execread write exec


Para cada uno de estos tres tríos vemos que existen tres tipos de permisos fundamentales:

La combinación de los tres tipos de permisos para un tipo de usuario oscila desde cero (ningún permiso) hasta siete (todos los permisos).


Ejemplos más comunes:

644: El propietario con permisiòn de lectura y escritura, grupo con permisión solamente de lectura, otros con permisión solamente de lectura.
755: El propietario con permisión total, grupo com permisión de lectura e ejecución, otros com permiso de lectura e ejecución.
777: El propietario con permisión total, grupo com permisión total, otros con permiso total.


Permisos
Los comandos a continuación pueden ser combinados dependiendo de la necesidad que se presente.

Comando u Opción Ejecución
Chmod Cambia los permisos de un archivo o directorio
Opciones

+ Agrega un permiso
- Quita un permiso
r Establece permisos de lectura para un archivo o directorio
w Establece permisos de escritura para un archivo o directorio
x Establece permisos de ejecución para un archivo o directorio
u Establece permisos para el usuario que creo y es propietario del archivo o directorio
g Establece permisos para acceso de grupo a un archivo o directorio
o Establece permisos para acceder a un archivo o directorio por todos los usuarios del sistema
a Establece permisos de acceso a propietario, grupo y todos los demás usuarios
s Configura permisos de ID de usuario e ID de grupo; el programa pertenece al propietario y al grupo
t Configura permisos sticky bit; el programa pertenece en la memoria
Comandos

chgrp Cambia el grupo para un archivo o archivos
chown Cambia el propietario para un archivo o archivos
ls -l Presenta el nombre del archivo con sus permisos
ls -ld Presenta el nombre del directorio con sus permisos
ls -l Despliega todos los archivos de un directorio con sus permisos










Comandos mas usados en el terminal de linux

En esta sección encontraras como usar los comandos mas importantes dentro del terminal con los que podrás hacer cualquier cosa....
por mi parte prefiero usar el terminal y no la interface gráfica 




Comando cd (change directory)
Cambiar de directorio.

$ cd Musica (relativa)
$ cd /home/jorgitoluis/Musica (absoluta)
$ cd ~tux1/doc (home)
$ cd (Cambia a tu home)
$ cd .. (Sube un nivel)
$ cd - (Cambia al directorio anterior)

Comando mkdir (make directory)
Crea un directorio

$ mkdir /home/jorgitoluis/Musica (absoluta)
$ cd /home/jorgitoluis$ mkdir Musica (relativa)

Comando rmdir (remove directory)
Borra un directorio

$ pwd
/home/jorgitoluis$ rmdir Musica

Trabajar con múltiples directorios

Crear y borrar varios directorios con la bandera -p

$ mkdir -p dir1/dir2/dir3
$ rmdir -p dir1/dir2/dir3

Comando ls
Lista el contenido de un directorio.

$ ls /home/jorgitoluis
opciones importantes:
-l lista larga (más opciones)
-a lista todos los archivos incluído los ocultos
-t listan los archivos por cambio de fecha
-R lista contenido recursivo

Comando touch
Este comenado permite crerar un archivo vacío o cmabiar la fecha de modificación.

$ ls -l
-rw-rw-r-- 1 jorgitoluis jorgitoluis 512 Jan 1 11:10 Musica
$ touch Musica
$ ls -l
-rw-rw-r-- 1 jorgitoluis jorgitoluis 512 Jan 1 15:37 Musica
$ touch new
$ ls -l
-rw-rw-r-- 1 jorgitoluis jorgitoluis 512 Jan 1 15:37 Musica
-rw-rw-r-- 1 jorgitoluis jorgitoluis 0 Jan 1 15:38 new

Comando cp

Permite copiar archivos y carpetas

Sintaxis:

cp origen(s) destino

Ejemplo:


Copiando un archivo a otro
$ cp .bashrc bashrc.old

Copiando múltiples archivos a un directorio
$ cp /home/jorgitoluis/doc1 /home/jorgitoluis/doc2 /tmp

Copiando un directorio a otro
$cp -R /home/jorgitoluis/tmp

Comando mv

Permite mover un archivo, si la carpeta de destino es la misma, la función sería renombrar el archivo.
Este comando es por su naturaleza recursivo.

Sintaxis:
mv origen(s) destino

Ejemplo:

Para mover un archivo a otro directorio
$ mv jorgitoluis/doc1 ../../tmp

Para renombrar
$ mv doc1 doc2

Comando cat (concatenate)
Permite ver el contenido de un archivo, es muy ultil por ejemplo puedes hacer un cat del history o de alguna configuración y examinar su contenido sin modificarlo.

cat yp.conf yum.conf

Comando more y less
Permite presentar el contenido de un archivo página por página.

[jorgitoluis@jorge:~etc]$ less /etc/httpd/conf/httpd.conf (archivo de configuracion del apache)

[jorgitoluis@jorge:~ etc]$ more /etc/httpd/conf/httpd.conf

Comando od y strings
Despliega el contenido de archivos binarios.

[jorgitoluis@jorge:~ etc]$ od /usr/bin/passwd

Comando rm
Borra archivos y carpetas.

rm /home/jorgitoluis/doc1.txt

rm -Rf /home/jorgitoluis/documentos

Comando split
Tu puedes dividir un archivo en pequeños pedazos utilizando split.

Sintaxis:
split -b<Bytes> file <prefix>

Ejemplo:

$ split -b 1024k doc1 doc1

Conceptos y Comandos Básicos sobre el terminal de linux


Esta es la forma normal por el cual se presenta el terminal con el usuario normal

para acceder a super usuario es decir a ejecutar comandos como root escribimos en el terminal:

sudo su -
y escribimos el password 
de esta manera tenemos acceso.

SIGNIFICADO DE LOS SÍMBOLOS EN EL EL TERMINAL 
El $ usualmente indica que está autenticado un usuario regular.
El # usualmente indica que está autenticado el superusuario (root)
El ~ indica que se encuentra en la carpeta personal del usuario.

Algunos de los comandos Linux Básicos
passwd: Cambia el password del usuario con que estas logeado
date: Busca la fecha de hoy 
cal: presenta un calendario
who, finger: Busca que usuarios se encuentran activos en el sistema
clear: Limpia la pantalla
echo: Escribe un mensaje para si mismo
write: Escribe un mensaje para otras pantallas
wall: Escribe un mensaje para todos
talk: Se comuncia con otros susuarios del sistema
mesg: Activa y/n la recepción de los mensajes de write, wall, and talk 


Tips del Teclado
<backspace>, <Ctrl-h> Borrar caracter hacia la izquierda.
<Ctrl-c> Terminar la ejecución de un comando y regresar a shell
<Ctrl-d> Fin de la transmisión
<Ctrl-w> Borrar la palabra hacia la izquierda
<Ctrl-u> Borra toda la línea
<tab> Completa el comando o el nombre del archivo
<Flecha arriba> Anterior comando.
<Flecha abajo> Siguiente comando.
<Flecha izquierda> Recorre un caracter hacia la izquierda.
<Flecha derecha> Recorre un caracter hacia la derecha.
<shift page-up> Presenta la salida del comando anterior
<Ctrl-r> Busca un comando dentro del history

Comando history
Guarda los últimos 1000 comandos ejecutados, este comando es muy importante ya que con el podemos ver las acciones que se hicieron y los configuraciones que se han realizado sobre el sistema operativo.


Tips del Mouse dentro de la consola
<Botón izquierdo del mouse>
Click: Marca start de selección
Drag: Marca selección
<Botón central del mouse>
Click: Pega selección
<Botón derecha dl mouse>
Click: Marca el fin de la selección




lunes, 14 de marzo de 2011

Que son las Distribuciones en GNU/Linux

Esta es una gran pregunta que se hace cuando estamos dando nuestros primero inicios al manejar un sistema GNU/LINUX el día de hoy quiero compartir con ustedes un poco sobre esto aclarar que es una distribución y en que se diferencian entre ellas así que manos a la obra.

Que es una Distribución
Lo mas importante de todo esto es tener en claro que todos los sistemas GNU/LINUX usan un kernel que llega a ser el núcleo el corazón por decirlo del sistema operativo entonces las distribuciones vienen a ser la compilación de varios paquetes que son los programas con los que la distribucion sera lanzada al mercado cada una de estas se diferencia dependiendo de las necesidades que las empresas han visto en sus mercados de esta manera hay distribuciones orientadas directamente a el uso de pcs de escritorio y otras dedicadas especialmente para el uso de servidores, una vez aclarado este tema de que es una distribucion puedo decir que las distribuciones de linux se pueden clasificar en dos grandes grupos distribuciones basadas en RPM y distribuciones NO basadas en RPM

DISTRIBUCIONES BASADAS EN RPMLos archivos rpm terminan en la extensión .rpm contienen varios archivos y programas en su interior, algo similar a los archivos .zip, .rar

RPM es el acrónimo creado por redhat para definir un esquema de distribución de paquetes. Significa RedHat Package Manager o Manejador de paquetes de RedHat

Que contienen estos famosos archivos con extencion .rpm estos archivos han venido siendo los mas importantes desde el desarrollo del sistema operativo GNU/LINUX los cuales incluyen una colección de archivos binarios relativos a un determinado paquete o utilería sino que también incluye archivos de ayuda, de configuración y lo mas importante estos incluyen lo que se llama dependencias, esto es, que otros paquetes rpm requiere este rpm para instalarse.

Sin embargo no solo eso tienen los archivos rpm sino que todos los paquetes rpm nos permiten además desinstalar completamente una aplicación,(es decir eliminar todos los archivos que se crearon al momento de la instalacion de este programa ) pues se mantiene una lista de todos y cada uno de los ficheros de configuración, librerías, binarios, páginas de ayuda y demás que haya instalado un paquete rpm, así de esta forma al borrar un paquete rpm podemos tener la total seguridad de que hemos eliminado todas las referencias y archivos instalados por el rpm.

Además los paquetes rpm pueden ser actualizados, de esta manera los rpm sobrescriben con total tranquilidad sus anteriores versiones instaladas, sustituyendo binarios y páginas manuales así como creando nuevos enlaces que se requieran, pero siempre respetan los archivos de configuración preexistentes, lo que permite actualizar una aplicación con una versión superior sin incurrir en una tarea completa de re-configuración por esta razón es tan rápida la actualización y modificación de los paquetes que vienen con el sistema operativo al momento de su instalación cabe mencionar que al tener esta opción de actualización del sistema no hay q caer en lo aburrido de reiniciar el sistema cada vez que se instala un programa nuevo como sucede en un sistema operativo que todos conocemos.

DISTRIBUCIONES NO BASADAS EN RPM

En este tipo de distribuciones se trata de eliminar un poco el uso de consola tratando de orientar el uso de sus aplicaciones a usuarios con poco conocimiento informático es decir se trata de simular los archivos .exe que se ejecutan en windows pero siempre manteniendo la estructura básica de archivos binarios paquetes de utileria, ayudas, configuración  e integridad de dependencias Para instalar estos paquetes sólo tienes que hacer doble click sobre el archivo con extencion .deb y automáticamente se lanzará la aplicación gdebi, que se ocupará de instalar el paquete y buscar las dependencias de otros paquetes que pudiera necesitar para su correcta instalación.