Manual de Shell Linux ( Comandos basicos , utilizaion con ejemplos)

Conversación publicada en el foro Guias y Tutoriales

 
Bien, pues lo primero que debo dejar bien claro es que este "impresionante" megasuperultra tutorial es obra de [tadoramo] "PHANTOM LORD" extraido con su consentimiento de http://www.neosecurityteam.net de sus foros, y como sulen salir estas cosas encontrado por accidente buscando sobre otro tema en google.. me parecio de mucha utilidad para todos los novatillos de linux (yo incluido porque en linux una nunca deja de ser novato XD ) que necesitaran moverse por la consola ( y estando en linux quien y cuando no lo necesita), esa pantalla negra con muchas letras parecida al ms-dos que gracias a nuestras ps3 ahora todos los usuarios de esta consola tendremos en casa, el tan mitico "LINUX", weno que el tuto esta de puta madre.. espero q os sea de ayuda (que lo sera asta para mi, siempre hay q consultar alguna cosilla en linux jeje) y que lo disfruteis..

Fuente: http://www.neosecurityteam.net/foro/...t=0&#entry2902



COPIO Y PEGO:

Manual de Shell Linux ( Comandos basicos , utilizaion con ejemplos)


Buenas a todos este tutorial se trata de los comandos mas utiles y utilizados en sistemas operativos Unix-Linux. Este Texto es explusivo para uso de la comunidad hackersdelocos Si alguno quiere publicarlo en su web por favor no modificar el autor, si quieres modificar el autor podes escribirlo vos.


Introduccion:


Con sete tutorial Vas a aprender los fundamentos del sistema de archivos de Linux y algunos trucos muy utiles que fasilitan el uso del sistema operativo desde la shell por supuesto.

Linux proporciona al usuario un control de arcivos extremadamente sofisticado y seria bueno que sepan aprobechar todo lo que nos ofrece.


Sistema de archivos:


Los archivos del sistema linux tienen un unico directorio raiz a diferencia de otros Sistemas operativos.


i?�Pero que es el directorio raiz?


Linux utiliza la palabra raiz para describir 2 conceptos distintos.


Uno es el del concepto del usuario raiz es decir (usuario root) la persona con el control absoluto del sistema.


Y el concepto de directorio raiz que es el directorio especifico de una maquina que se considera la base del sistema operativo.


Mas adelante aprenderas a montar unidades , encontrar archivos sin saber en que directorio se encuentra, crear borrar y copiar directorios y archivos, y todo esto desde la shell .



i?� que es una ruta de acceso ?


una ruta de acceso es por ejemplo /priv/home/mandinga/public_html/ es decir es la ruta que tendremos para desplazarce desde e ditectorio raiz (/) para llegar al archivo que queremos utilizar.



Navegar por el sitema de archivos :


i?� en que directorio me encuentro ?


Muchas veces mientras estamos varia horas frente a la consola nos perdemos y no reordamos en que directorio nos encontramos.

En estas situaciones es cuando debemos utilizar el comando :


pwd (present working directory) directorio actual de trabajo.


Ej de utilizacion de pwd


> pwd

/priv/home/mandinga/public_html/



i?�Que archivos contiene el directorio?


para listar los archivos de un dierctorio debemos utilizar el comando ls:


ejemplo:


[root@localhost /]# pwd

/


[root@localhost /]# ls

bin dev home lib misc opt root tftpboot usr

boot etc initrd lost+found mnt proc sbin tmp var




en este caso todos los elementos son directorios.


i?�Como se si son directorios o archivos?


debemos utilizar el comando ls junto con la opcion long es decir de la siguiente manera


>ls -l <nombre del directorio>


y aparecera una lista que paerce dificil de entender pero no es tan complicado :


en la primera linea aparecera el nomero de archivos que contiene el directorio y otros datos que no expolicare porque son muchos, pero no esta demas que lo investiguen.


i?�como cambiar de directorio de trabajo?


Con el comando cd de esta manera:


por ej:

[root@localhost /]# pwd

/


[root@localhost /]# cd home

[root@localhost home]#


[root@localhost /]# pwd

/home


Existe una forma mas eficaz de cambiar de directoriosutilizando la pila de directorios con e comando PUSHD y POPD


Estos comandos nos permoten cambiar de un directorio a otro con el comando pushd y volver al directorio anterior con el comando popd, vamops a un ejemplo asi terminan de entender.


[root@localhost log]# pwd

/usr/local

[root@localhost local]# pushd /var/log

/var/log /usr/local

[root@localhost log]# pwd

/var/log

[root@localhost log]# popd

/usr/local


Con el comando pushd fuimos al directorio /var/log y con el comando popd volvimos con solo un comando al directorio don denos encontrabamos anteriormente ( /usr/local )


i?� Como buscamos archivos en linux ?


para buscar un archivo siempre es necesario saber algo de el , es decir , debemos saber el nombre, la fecha de creacion, su tama?o u otra cosa .


Buscar un archivo por nombre.


esta es la busqueda mas utilizada ya que casi siempre se sabe el nombre del archivo que queremos utiizar pero no nos acordamos en que directorio esta.


Esto lo podremos realizar con el comando find, con los siguientes parametros, vamos a un ejemplo:


[root@localhost local]# find / -name sound

/etc/makedev.d/sound

/etc/gconf/gconf.xml.defaults/schemas/desktop/gnome/sound

/etc/gconf/gconf.xml.defaults/desktop/gnome/sound

/etc/sound


como vemos en el ejemplo la shell nos devolvio todos los archivos con el nombre sound y su ubicacion. Fasil no?



Buscar un archivo por fecha:


Que pasa si creamos un archivo pero olvidamos el nombre o le pusimos el nombre por default ,por ejemplo (sintitulo1), cuando lo guardamos y no nos acordamos del nombre pero me acuerdo en que fecha lo cree?


Podemos utiliazar el comando find utilizando un directorio de partida para la busque da por ejemplo el directorio raiz ( /) determinando la antiguedad del archivo en la maquina de esta manera, vamos a ejemplo:


[root@localhost phantomlord]# find /home/phantomlord -ctime 0

/home/phantomlord

/home/phantomlord/virtua.jpg

/home/phantomlord/Fireball.JPG



Estos son los archivos que modifique hoy yo en mi maquina en ese directorio , como los modifique hoy coloque el numero 0 que significa qeu el mismo dia fue modificado pero no meacordaba el nombre, uno de esos archivos seran los que estaran buscando.


Buscar archivos por tama?o:


pero para que quiero buscar un archivo por tama?o.

y todos no tenemos discos de 80 GB para utilizar linux , en mi caso yo tengo uno de 20GB con una particion de 7GB para linux y otra para winXp , pero no lo nombremos mas que vamos bien, puede ser que el disco duro se este quedando sin espacio , linux tiene la particularidad que cada vez que se produce un fallo en un programa guarda un archivo llamado core en algun directorio que alomejor no sabemos que existe, este archivo tiene toda la informacion que habia en memoria cuando el programa fallo y a nosotros no nos interesa a no ser que los guarden para ver por que fallo el programa, pero como mi disco no puede darce el lujo de guardar esa informacion los borro y me salvo de quedme sin espacio.



Pero como los busco archivo por tama?o?


Bueno che no me apuren , los buscamos de la siguiente manera:


[root@localhost phantomlord]# find ~/ -size 1024k



Como mi maquina no falla nunca, jaja no tengo archivos core guardados.





Comando WHEREIS


Este comando hace una busqueda rapida de un numero predefinido de directorios y devuelve las rutas de acceso al codigo fuente, manuales y informqacion sobre el archivo a buscar.


Vamos al ejemplo asi entenden.


[root@localhost phantomlord]# whereis lilo

lilo: /sbin/lilo /usr/share/man/man8/lilo.8.gz



como ven me tiro el directorio donde esta ubicado lilo y el directorio donde esta su manual. Fasil No?


Buscar archivos que contienen una palabra :


Este es el mas potente a la hora de buscar , y es el grep , este palabras que pueden estar dentro de un archivo . Vamos al ejemplo:



[root@localhost /]# grep "hola" *.txt

hola


recien acabo de crear un archivo de tecto con el texto hola dentro del archivo como ven he bucado en todos los archivos de texto la palabra hola, como es el unico archivo de texto que tengo en ese directorio solo me tiro la palabra , si tienen mas de un archivo de texto les deberia tirar cuales son los que tienen esa palabra.


Vamos a mas ejemplos de como utilizar grep:


vamos a listar los procesos que estan corriendo en mi maquina para que quede mas claro el ejemplo siguiente:


listamos todos los procesos con el siguiente comando:


>ps -All


[root@localhost root]# ps -All

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD

4 S 0 1 0 0 75 0 - 326 schedu ? 00:00:04 init

1 S 0 2 1 0 75 0 - 0 contex ? 00:00:00 keventd

1 S 0 3 1 0 75 0 - 0 schedu ? 00:00:00 kapmd

1 S 0 4 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd_CPU0

1 S 0 9 1 0 85 0 - 0 bdflus ? 00:00:00 bdflush

1 S 0 5 1 0 75 0 - 0 schedu ? 00:00:00 kswapd

1 S 0 6 1 0 75 0 - 0 schedu ? 00:00:00 kscand/DMA

1 S 0 7 1 0 75 0 - 0 schedu ? 00:00:00 kscand/Normal

1 S 0 8 1 0 75 0 - 0 schedu ? 00:00:00 kscand/HighMem

1 S 0 10 1 0 75 0 - 0 schedu ? 00:00:00 kupdated



bueno eso no son todos pero copie algunos para explicar de que se trata esto:


Los numeros de PID son los numeros sorrespondientes al proceso que corre y el nombre del proceso es el que esta en la linea CDM.


Pero con esto que hacemos?


Supongamos que se nos cuelgue una aplicacion o que queramos matar un proceso especifico. podemos buscar con grub el proceso que queremos terminar de la siguiente manera:


[root@localhost root]# ps -All | grep init

4 S 0 1 0 0 75 0 - 326 schedu ? 00:00:04 init


como vemos nos tiro en vez de la lista entera solo el proceso init que queremos ver. o sea le decimos al shel que liste los procesos (ps -All)pero que nos muestre solo el que queremos ( | grep init)


Ahora que tenemos el proceso solo para ver podemos terminarlo con el comando kill seguido del numero de proceso. Vamos al ejemplo:


[root@localhost root]# kill 0


con eso matamos el proceso init , prueben estos comando abriendo por ejemplo el procesador de textos y matenlo de esta manera para ver como funciona.


Bueno seguimos com los comandos pero antes quiero aclarar que grep lo pueden uasr conbinado de muchas maneras seria bueno que prueben.


Comando whoami para ver quien soy en el sistema.


[root@localhost root]# whoami

root



no hace falta aclarar nada.


Ver que usuarios estan en el sistema WHO


[root@localhost root]# who

root :0 Jul 30 15:19

root pts/0 Jul 30 15:23 (:0.0)



Aca solo estoy yo o sea el usuario root. Con la fecha .



Seguimos con el comando TOUCH para crear un archivo.


este comando sirve para crear un archivo desde la shell en un directorio.


EJ:


[root@localhost root]# touch miarchivo


o tambien sirve para actualizar la fecha de modificacion del archivo .


si queremos borrar ese archivo lo hacemos con e comando rm de la siguiente manera:


[root@localhost root]# rm miarchivo

rm: i?�borrar el fichero regular vaci?o `miarchivo'? (s/n) s

[root@localhost root]#


ahi nos pregunta si lo queremos eliminar.


Para el comando rm existen variantes que las explicare ahora:


rm -i: modo interactivo, pregunta si el archivo se quiere borrar.


rm -f: modo forzado: borra el archivo sin preguntar nada y sin importar los permisos que tenga e mismo.


rm -r: modo recursivo, este es muy potente pero destructivo en algunos casos, lo que hace es borarr todo un directorio y su contenido rm -r <nombre directorio>



Crear y borarr un directorio con el comando mkdir y rmdir


Para crear un directorio hacer lo siguiente:


ejecutar mkdir <nombre directorio>


Por ejemplo


>mkdir directorio nuevo


con e comando rmdir se borran directorios de la misma manera que se crearon.


Copiar archivos con CP:


Para hacer copias de archivos debemos utilizar el comando CP con el siguiente formato:


cp miarchivo1 /miarchivo2


es decir


cp <nombrearchivo a copiar> <directorio donde se deja el segund oarchivo/nombre del archivo copiado>


De la misma manera que rm -r borra directorios con cp - podemos copiar directorios enteros.


Mover archivos y directorios Con MV


Esto es muy util cuando solo se quiere mover un archivo y no copiarlo.


ej:


mv <nombre archivo a mover> <nombredirectorio>


para mover muchos archivos lo hacemos de esta menera


mv <archivo1> <archivo2> <directorio destino>


como ven muchos comandos son casi iguaes en su forma de utilizarlos.


Creacion de vinculos con LN


Llamamos vinculos de archivos a el alia asignada a un archivo . Para los que no entienden bien esto voy a hacer un ejemplo :


Supongamos que en mi maquina tenogo un archivo llamado asdfgh y como es muy dificil de acordarce de un nombre asi le quiero poner un alias sin cambiarle el nombre , ahi es cuando aparece el comando LN lo que puedo hacer con este comando es un vinculo al archivo con un nombre no tan dificil en mi caso como ese archivo tiene un nombre raro lo vamos a llamar raro, jeje


Ej

>ln -s /home/phantomlord/asdfgh ~/raro


de esta manera solo tendre que llamar al archivo como raro y no asi . El simbolo -s agregado al comando ln es para decirle al sistema que se trata de un simbolo simbolico.


Esto es muy util cuando tenemos un servidor web y controlamos los logs del mismo , como el archivo log se encuentra en /var/log/httpd/acces_log es medio cansador copiar todo eso no? Pero para que aprendimos a usar comando ln si le podemos llamar solamente weblog sin tener que molestarce escribiendo. vamos a crear un vinculo al archivo log que se llame weblog en un directorio no tan alejado.


>ln -s /var/log/httpd/acces_log/access_log ~/weblog


asi de simple ahora solo hay que tipear en el directrio raiz weblog para verlo.


Tambien hay algo util si utilizar linux como servidor web, aveces queres que no sea el index.html ,por ejempl,lo que muestre como pagina principal sino otra con el nombre que quieras , esto es util porque podes hacer un vinculo llamado index.html hacia la pagina que queres que muestre como prindipal (pagina.html).



Leer archivos desde shell:


Comando CAT:


Este comando es la forma mas sencilla de visualizar el contenido de un archivo y se ejecuta de esta manera:


[root@localhost root]# cat phantom.txt

ejemplo de cat para tutorial de shell


como ven el archivo dice que es un ejemplo blablabla


pero que pasa si el archivo que queremos ver contiene mucha informacion en muchas paginas?


Aca es cuando aparecen los comandos Less y More:


Es decir comandos visores de paginas.


Estos se utilizan de la misma manera que el comando cat.


>more textolargo.txt


en ese momento se mostrara la informacion del archivo en paginas.


Con la Barra espaciadora avanzamos una pagina.


Con q. cerramos el programa.

con S. pasa a la linea siguiente del texto

Con F. avanza toda la pagina

/<patron> para buscar y avanzar hasta una palabra

con B. retrocede una pagina

Con h.mustra la ayuda del comando more


El comandop less es el mismo que more pero mas sofisticado sin tener que andar pulsando teclas raras como en more para moverse dentro del texto.


>less textolargo.txt


Con la barra. avanza una pagina

con B. retrocede una pagina

con q.Cierra lees y vuelve a la linea de comandos

Flecha abajo avanza una linea

Flecha arriba retrocede una linea

/<patron> para buscar una palabra

?<patron> busca una palabra hacia atras



Visualizar partes de un archivo: HEAD y TAIL


En algunos casos nos interesa saber lo que esta en laparte superior o inferior de un archivo para esto estan los comandos head y tail.


Comando HEAD:


Para ver cabeceras de archivos.


[root@localhost root]# head install.log

Instalacion de paquetes 659

Instalacion de glibc-common-2.3.2-11.9.

Instalacion de hwdata-0.75-1.

Instalacion de redhat-logos-1.1.12-1.

Instalacion de setup-2.5.25-1.

Instalacion de filesystem-2.2.1-3.

Instalacion de basesystem-8.0-2.

Instalacion de glibc-2.3.2-11.9.

Instalacion de bzip2-libs-1.0.2-8.



En este caso se muestran las 8 primeras lineas del archivo install.log


Uso de TAIL:


Este es para ver la parte inferior de los archivos.



[root@localhost root]# tail install.log

Instalacion de talk-server-0.17-20.

Instalacion de telnet-server-0.17-25.

Instalacion de tsclient-0.104-1.

Instalacion de unixODBC-2.2.3-6.

Instalacion de php-odbc-4.2.2-17.

Instalacion de xcdroast-0.98a13-4.

Instalacion de xdelta-1.1.3-11.

Instalacion de mutt-1.4-10.

Instalacion de ypserv-2.6-2.

Instalacion de comps-9-0.20030313.



Edicion RApida y simple de archivos. Comando VI


Este editor es muy simple y se utiliza de la siguiente manera.


>vi <nombrearchivo>


ejemplo:


[root@localhost root]# vi SinNombre 1

2 ficheros que editar


Comandos para editor vi


l desplazamiento a la derecha

h desplazamiento a la izquierda

j linea siguiente

k linea anterior

x borrar un caracter

a a?adir texto a una linea

:w + enter guarda el archivo

:w <nombre> guarda el archivo con otro nombre

:q + enter sale del editor

:q! + enter sale del editor sin guardar






Como contar linear ,palabras y caracteres?


Con el comando wc:


Este comando sirve para contar lineas , palabras o caracteres que contiene un archivo y se utiliza de esta manera:


contar lineas


[root@localhost root]# wc -l SinNombre 1

10 SinNombre


Contar palabras


[root@localhost root]# wc -w SinNombre 1

13 SinNombre


Contar caracteres


[root@localhost root]# wc -c SinNombre 1

61 SinNombre




Comprimir archivos con zip y unzip


Esto se utiliza de la siguiente manera.


Comprimir:


[root@localhost root]# zip archivopl


Descomprimir:


[root@localhost root]# unzip archivopl



Estos programas contienen opciones muy utiles que pueden encontrar con la opcion -h


Comprimir y descomprimir con gzip y gunzip


Hoy en dia este formato de compresion es muy utilizado y se puede utilizar el programa de la siguiente manera.


[root@localhost root]# gzip archivopl

[root@localhost root]# ls

archivo SinNombre 1~ upgrade.log.syslog

archivopl.gz Tutorial de comandos shell linux


Como ven comprimio el archivo llamado archivopl


Para descomprimir se utiliza de la misma manera


[root@localhost root]# gunzip archivopl

[root@localhost root]# ls

archivopl Tutorial de comandos shell linux~

install.log upgrade.log



Ahy lo descomprimimos y quedo de nuevo el archivo archivopl



Administrar uso del disco rigido.Comando DF


El comando DF es utilizado por los administradores y ofrece informacion de como se esta utilizando el disco.


[root@localhost root]# df

fS.ficheros 1K-blocks Used Available Use% Montado en

/dev/hda2 6554216 2136464 4084808 35% /

/dev/hda1 101089 9138 86732 10% /boot

none 75292 0 75292 0% /dev/shm


El comando TAR.


Este comando tar sirve para archivar definitivamente archivos es decir para guardar o distribuir archivos como directorios completos por ejemplo.


ejemplo de tar:



[root@localhost root]# tar -cvf todojunto.tar /home/phatomlord


la opcion -cvf significa la c de comprimir la v porque se ejecuta en modo verbose y la maquina le informara que se esta procesando el archivo todojunto.tar.


Para descomprimir un archivo tar hay que hacer lo siguiente.


[root@localhost root]# tar -xvf todojunto.tar


es decir


>tar -xvf <nombrearchivo.tar>


Y tendras el archivo y el directorio /home/phatomlord en tu maquina.



Supervisar los procesos de la maquina con el comando TOP:


[root@localhost /]#top



Utilidades Para el usuario:


Cambiar la contrase?a: passwd y yppasswd


Como mucho deben saber las contrase?as se deberian cambiar cada cierto tiempo. Aunque muchos de nosotros no lo hagamos es aconsejable hacerlo por cuestiones de seguridad.Si nos encontramos en una red se debera utilizar el comando yppasswd , este actualiza la contrase?a en todas las maquinas de la red.Si estamos es una maquina autonoma , es decir una maquina que no este en red se debera utilizar el comando passwd para cambiar dicha contrase?a.

Ambos comandos se utilizan de la siguiente manera . y vamos a ir a un ejemplo para que quede claro su tutilizacion.


[root@localhost root]# passwd

Changing password for user root.

New password:



En este caso debemos introducir el nuevo password solamente, en otros casos nos pedira que introduscamos el password actual y el nuevo password a utilizar.



Como cambiar el shell de trabajo?


Como muchos saben en un sistema operativo linux existen varios tipos de shell como pueden ser la shell bash , sh , ash ,bsh, tcsh, csh, ksh y en cada una se podran ejecutar scripts de shell diferentes. En esta parte vamos a ver el metodo para cambiar de shell de trabajo pero antes seria bueno saber que tipos de shell podemos utiliazr en nuestra maquina. Esto lo haremos con el comando (chsh -l) de la siguiente manera.


[root@localhost root]# chsh -l

/bin/sh

/bin/bash

/sbin/nologin

/bin/bash2

/bin/ash

/bin/bsh

/bin/tcsh

/bin/csh



una vez que tengamos el listado de shell disponibles podemos proceder a cambiar de shell de la siguiente manera:


[root@localhost root]# chsh

Cambiando interprete de ordenes para root.

Nuevo interprete de ordenes [/bin/bash]: /bin/sh

Se ha cambiado el interprete de ordenes.

[root@localhost root]#


como ven he cambiado de shell bash a una shell sh:





[root@localhost root]# chsh

Cambiando interprete de ordenes para root.

Nuevo interprete de ordenes [/bin/bash]: /bin/sh



La proxima vez que iniciemos secion entraremos directamente con la ultima shell que trabajamos en el caso anterior entrare con la shell sh.


Obtener y cambiar informacion de un usuario: FINGER y CHFN


FINGER: este comando es muy sencillo de utilizar y nos brinda mucha informacion sobre un usuario en el caso de administrar o atacar una maquina.

Con tal solo ejecutar el comando finger <nombreusuario> obtendremos toda la informacion disponible del usuario.


[root@localhost root]# finger usuario

Login: usuario Name: usuario

Directory: /home/usuario Shell: /bin/bash

Never logged in.

No mail.

No Plan.


como ven nos muestra la informacion del usuario lamado usuario en este caso, nos mustra su directorio el nombre , el mail, etc.


CHFN : este comando lo que hace es darnos informacion personal sobre nuestra cuenta y modificarla, para esto solo debemos ingresar el comando chfn sin ninguna opcion.


[root@localhost root]# chfn

Cambiando informacion de finger para root.

Name [root]: root

Office []:

Office Phone []:

Home Phone []:

Se ha cambiado la informacion de finger.


Como supervisar el sistema? DATE , UPTIME y WHO


con estos comandos podemos saber quien esta loggeado y utilizando nuestro sistema, y conocer el estado actual de a maquina.


DATE: este muestra la fhecha y hora actual del sistema, sis somos superusuarios (root) tambien podremos definir la fhecha y hora de nuetro sistema, si somos usuarios normales no dispondremos de esta opcion:


[root@localhost root]# date

dom jul 30 00:44:42 ART 2005


UPTIME: este comando nos devuelve la hora actual y el numero de usuarios que tienen iniciada una sesion en el sistema, el tiempo que esta funcionando el sistema y otros datos.


[root@localhost root]# uptime

00:47:12 up 3:21, 3 users, load average: 0.58, 0.91, 0.62



load average: 0.58, 0.91, 0.62 es la carga que ha soportado el sistema.


WHO: Como linux es multiusuario en el puede haber mas de un usuario trabajando en el sistema al mismo tiempo. Si el sistema anda medio lento seria bueno que veamos cuantos lo estan utilizando.


[root@localhost root]# who

root :0 Aug 1 00:12

root pts/0 Aug 1 00:20 (:0.0)

root pts/1 Jul 30 00:43 (:0.0)


En este caso no aparecen algunos datos pero deberia aparecer el numero de usuarios conectados en el sistema el numero de terminal que utilizan y el numero ip del mismo.



Accediendo a recursos de red: TELNET , RLOGIN, SLOGIN , TP .


TLNET: este como muchos deben saber es un programa terminal simple para conectarce a un amaquina remota. Y se utiliza de la siguiente manera

>telnet <maquinaremota>


Donde maquina remota puede ser un numero ip o el nombre de un host. Luego de conectarce el sistema les pedira el nombre de usuario y la contrase?a.



RLOGIN: este es parecido al comando telnet, con la dierencia que al conectarce tansmite informacion sobre el usuario que quiere conectarce. Este se ejcuta de la misma manera que telnet.


>rlogin <maquinaremota>


Si tienen suerte terminaran el la maquina remota directamente sino se les pedira el nombre de usuario y el pass.


SLOGIN: Este envia datos entre maquinas de forma segura , por eso si tenemos la posibilidad de ingresar con este seria bueno que lo hagamos ya que telner y rlogin envian datos de inicio de secion y todo lo que escribamos ,como texto normal y fasil de capturar. Este se utiliza igual a los otros anteriores.


>slogin <maquinaremota>


FTP: protocolo de transferencia de archivos, este nos permite transferiri archivos . Y se utiliza de la siguiente manera.


>ftp <servidor ftp>


donde servidor ftp es la direccion ip del servidor o el nombre del host del mismo.

Una vez ingresados en el servidor ftp nos podremos mover con los comandos tipicos por los directorios y con los comandos get <nombre archivo> podemos extraer un archivo del servidor y con el comando put <nombre archivo> subir un archivo de nuestro directorio al servidor ftp remoto.



Permisos de usuarios: ls -lg , ls -l


ls -lg : con este comando podremos ver un listado de archivos del directorio en donde estamos con los permisos y grupo de usuario correpondientes a cada archivo.


[root@localhost phantomlord]# ls -lg

total 340

-rwxr-xr-x 1 root 314627 nov 19 1998 Fireball.JPG

-rw-r--r-- 1 root 25388 feb 23 2004 virtua.jpg


Como ven en el ejemplo siendo root tengo todos los permisos en los archivos del usuario phantomlord , si fuese alreves no serian los mismos permisos del usuario phantomlord que root.


COmo leer los permisos?


r (lectura) w (escritura) x (ejecuxion)


-rwx-xr-x


los primeros 3 caracteres despues de - coresponden a los permisos del propietario, los segundos los permios de los grupos y los terceros los del resto del mundo.


Es decir en el ejemplo anterior el usuario tiene todos los permisos (rwx), los grupos tienen solo permiso de ejecucion y escritura sobre el archivo (xr) y el resto del mundo solo tiene permisos de ejecucion sobre e archivo.


Como cambio los permisos? CHmod


COn este comando podemos cambiar los permisos de un archico al que nos interese. Vamos a un ejemplo de utilizacion para que quede claro como se realiza esto.


[root@localhost phantomlord]# ls -lg

total 340

-rwxr-xr-x 1 root 314627 nov 19 1998 Fireball.JPG

-rwxr--r-- 1 root 25388 feb 23 2004 virtua.jpg

[root@localhost phantomlord]# chmod g+x virtua.jpg

[root@localhost phantomlord]# ls -lg

total 340

-rwxr-xr-x 1 root 314627 nov 19 1998 Fireball.JPG

-rwxr-xr-- 1 root 25388 feb 23 2004 virtua.jpg

[root@localhost phantomlord]#



Como ven aca ejecute nuevamente para ver los permisos de los archivos del directorio. Yo eleji cambiarle permisos a el archivo virtua.jpg que como vemos tiene permisos de lectura solamente para los grupos (-rwxr--r--), pero en mi caso yo quiero que tenga permisos de ejecucion tambien es decir asi

(-rwxr--rx--) entonces lo que ejecuto es


>chmod g+x virtua.jpg <nombre archivo a cambiar permiso

| |

Comando g de grupo + x de ejecucion

u de usuario + permiso


ejecuto nuevamente el comando ls -lg y obtengo lo siguiente:




[root@localhost phantomlord]# ls -lg

total 340

-rwxr-xr-x 1 root 314627 nov 19 1998 Fireball.JPG

-rwxr-xr-- 1 root 25388 feb 23 2004 virtua.jpg



Como ven al permiso de los grupos se le agrego el de ejecucion del archivo

(-rwxr-xr--).


Para cambiar los permisos de todoun directorio se debe utilizar la opcion -R esto hace que cambian todos los permisos de los archivo del directorio donde estamos situados.


Tambien existe otra forma de cambiar los permisos pero sin utilizar letras sino numeros para asignarle permisos a un archivo.


Veamoslo de esta manera habe si me explico.


100 - Permiso de lectura - el numero decimal equivale a 4


010 - permiso de escritura - el numero decimal equivale a 2


001 - permiso de ejecucion - el numero decimal equivale a 1


Entonces podemos decir que 110 es la conbinacion de los permisos de lectura y escritura y tambian que el valos decimal de la cadena seria (6+2).


Entonces podemos decir que con solo 3 dijitos podemos establecer permisos al usuario (primer dijito) a los grupos (segungo digito) y al mundo (tercer digito)


Vamos a un ejemplo concreto: Supongamos que queremos dar todos los permisos a el usuario, pero a los grupos y el resto del mundo solo permisos de ejecucion y lectura.


Empezamos por los permisos de ususario.


Para otorgar todos los permisos tenemos que sumar el digito decimal de cada permiso , es decir (4+2+1 = 7), entonces sabemos que -rwx- corresponde a el numero 7.


Ahora vamos a los permisos -rx- de los grupos y resto del mundo. Para esto debemos sumar (4 + 1 = 5) .


Esto nos dice que los 3 numeros para establecer los permisos son 7, 5 y 5.


Entonces solo debemos hacer lo siguiente para terminar el ejemplo:


[root@localhost phantomlord]#chmod 755 virtua.jpg


en mi caso cambie los permisos del archivo virtua.jpg.


Para algunos les va a parecer muy confuso pero si lo utilizan bastante le sva a resultar mas rapido y util.



Cambiar el propietario de un archivo: Chown


Este comando solo lo puede utilizar el usuario root . Si necesitamos cambiar el propietario de un archivo debemos hacerlo de la siguiente manera.


>chown <nuevo prop> <nombre arch> <otroarchivo>.....


Ejemplo:


[root@localhost phantomlord]# chown usuario virtua.jpg

chown: `usuario': usuario invalido


como el usuario , usuario no existe en mi maquina no lo pude cambiar.


Cambiar el grupo de un archivo: CHGRP



>chgrp <nombregrupo> <nombrearchivo> <otroarchivo>.....



Ejemplo:


[root@localhost phantomlord]#chgrp administradores virtua.jpg

[root@localhost phantomlord]#ls -lg

-rwxr-xr-x 1 root 314627 nov 19 1998 Fireball.JPG

-rwxr-xr-- 1 root administradores 25388 feb 23 2004 virtua.jpg




Convertirce en otro usuario en forma temporal: SU


Con el comando su nos podemos convertir en otro usuario en forma temporal de esta manera su <nuevo usuario>


Vamos al ejemplo:


[root@localhost /]# su phantomlord

[phantomlord@localhost /]$


Como vemos pase de ser root a el usuario phantomlord , en este caso no me pidio contrase?a pero en algunos casos deberia pedir contrase?a, y es seguro que el sistema la pida.


Sino saquense la duda antes de pensar en maldades. jeje


[phantomlord@localhost /]$ su root

Password:

[root@localhost /]#


Lo unico que tiene esto que por ejemplo si entran temporalmente a la cuenta de otro usuario os datos por ejemplo al ejecutar mail seran los de la cuanta con a que primero se han loggeado.



Ufff bueno espero que me esten siguiendo que tengo unos mas para contarles. hace aproximadamente 4 dias que estoy escribiendo este manual bastante completo porque me gustaria que les sirva a usuarios de linux avanzados y a usuarios de linux nuevos. Nose cuantas hojas llevare escritas ya porque lo estoy haciendo en el gedit , lo unico que se que abajo dice 812 lineas, pero pienso seguir hasta cansarlos.


Montar y desmontar unidades: MOUNT y UMOUNT


MOUNT este comando lo que hace es montar unidades de disco o particiones no pertenecientes al sistema. Es decir que aparezca una unidad de disco por ejemplo de windows que tengan en su maquina como un directorio mas en su linux.Para esto debemos decirle a linux con el comando mount donde se encuentra la unidad a montar y que tipo de sistema de archivos maneja.


Vamos un poco a ejemplos reales, y el mejor ejemplo para esto es mu maquina ya que tengo 2 discos: uno montado en el ide 0 con 2 particiones fat 32 de windows 98. y otro en el ide 1 con 2 particiones , una de linux y otra de windows xp con sistema .


Antes que nada vamos a proceder a montar el floppy.


La forma de montar unidades es la siguiente:


>mount -t <sistemadearchivos> <dispositivo> <directorio>


[root@localhost floppy]# mount -t auto /dev/fd0 /mnt/floppy

[root@localhost mnt]#



por ejemplo para montar el floppy despecifique el sistema de archivos automatico dispositivo /dev/fd0 correspondient al floppy y qu elo monte en la carpeta /mnt/floppy.


Montando CDROM:


De la misma manera que montamos el floppy lo hacemos para montar el cdrom.


Montando unidades de disco:


En mi caso voy a montar un disco donde tengo instalado windows 98 , este disco tiene 2 particiones una donde esta el sistema win 98 y otro donde tengo los datos.


[root@localhost mnt]# mount -t vfat /dev/hdc5 /mnt/win98d

[root@localhost mnt]#


como ven especifique el sistema de archivos vfat correspondiente a el sistema de archivos fat de DOS. Como el dispositivo esta conectade en el ide 1 y l particion que queria montar es una particion extendida tube que especificar que se encuentra en /dev/hdc5. si quisiera montar la particion donde tengo el sistema deberia ponder /dev/hdc1 mnt/win98s, donde win98s es una carpeta que tengo preparada para montar la particion de sistema de win 98.



Uso de UMOUNT : para desmontar unidades se hace igual que cuando se las monta

es decir



>umount -t <sistemadearchivos> <dispositivo> <directorio>


Vamos a un ejemplo practico: vamos a desmontar la particion de datos del disco de win 98 que monte anteriormente.


[root@localhost mnt]# umount -t vfat /dev/hdc5 /mnt/win98d

umount: /dev/hdc5: no montado



Vomo ven una vez desmontado nos avisa diciendo <dispositivo> no montado.

Cuando montamos solo nos devuelve el prompt del shell sin aviso.


[root@localhost mnt]#




Apagar maquina y reiniciar maquina. Shutdown/Reboot


Como savemos los qeuipos hoy en dia son muy exigentes a la hora de apagar la maquina como se debe para no producir errores fatales el el sistema. Debo decirles que linux es mucho mas exigentes que los otros sistemas operativos en este sentido, debido a que utiliza muchos programas para mantener funcionando e sistema correctamente y si algun proceso esta modificando , creando o solamente trabajando con algun archivo cuando apagamos la maquina como no se debe apagar es seguro que se destruiran todos los archivos que se estaban procesando en ese momento, pero no se asusten que no es cosa de otro mundo solo debemos cerarr sesion antes de apagar la maquina.

Para prevenir estos errores debemos utilizar los comandos shutdown para apagar y eboot para reiniciar la maquina.


Shutdown: este comando tiene varias opciones de utilizacion , por ejemplo podemos ejecutar:


shutdown -h 1 y el sistema se apagara en 1 minuto.


Eso nos da la posivilidad de dejar trabajando la maquina pero decirle que dentro de tantas hotas se apague sola.


La opcion que mas utilizo yo es la siguiente ya que estoy en contacto directo cuando trabaja la maquina, es decir nunca esta trabajando sin estar yo al lado, ya que la uso mucho mas para practicar y aprender que para otra cosa.


>shutdown -h now


Cuando me tengo que ir solo ejecuto este comando y la maquina se apaga en el instante. Por eso le agrego en vez de numeros de tiempo la palabra now para que se apague ahora mismo.


El comando Reboot se utiliza de forma similar al comando shutdown.


ej:


>reboot -h now


En el mundo unix/linux existen millones mas de comandos y utilidades para trabajar desde la shell , una de esas utilidades pueden ser en midnigth comander


>mc


El netcat


>nc


El traceroute


>traceroute


Modo de uso: traceroute [-dFInrvx] [-g gateway] [-i iface] [-f first_ttl]

[-m max_ttl] [ -p port] [-q nqueries] [-s src_addr] [-t tos]

[-w waittime] [-z pausemsecs] host [packetlen]


El nmap


>nmap


Opciones: nmap [Scan Type(s)] [Options] <host or net list>

Some Common Scan Types ('*' options require root privileges)

* -sS TCP SYN stealth port scan (default if privileged (root))

-sT TCP connect() port scan (default for unprivileged users)

* -sU UDP port scan

-sP ping scan (Find any reachable machines)

* -sF,-sX,-sN Stealth FIN, Xmas, or Null scan (experts only)

-sR/-I RPC/Identd scan (use with other scan types)

Some Common Options (none are required, most can be combined):

* -O Use TCP/IP fingerprinting to guess remote operating system

-p <range> ports to scan. Example range: '1-1024,1080,6666,31337'

-F Only scans ports listed in nmap-services

-v Verbose. Its use is recommended. Use twice for greater effect.

-P0 Don't ping hosts (needed to scan www.microsoft.com and others)

* -Ddecoy_host1,decoy2[,...] Hide scan using many decoys

-T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane > General timing policy

-n/-R Never do DNS resolution/Always resolve [default: sometimes resolve]

-oN/-oX/-oG <logfile> Output normal/XML/grepable scan logs to <logfile>

-iL <inputfile> Get targets from file; Use '-' for stdin

* -S <your_IP>/-e <devicename> Specify source address or network interface

--interactive Go into interactive mode (then press h for help)



Ejemplo: nmap -v -sS -O www.pagina.com 192.168.0.0/16 '192.88-90.*.*'



>gcc (exelente compilador)


>man gcc para ver el manual.


Y decenas mas de exelentes programas y aplicaciones para aprovechar en este sistema operativo.



Bueno me despido , mi nombre es Phantom Lord y espero que les sirva todo lo que escribi en este tutomanual de shell de linux.


Hasta la proxima amogos , si queres publicar el tutorial en tu web por favor no modifiques el autor.


Salu2 Phantom Lord


--------------------



Y nada mas.. pedazo de curro que se a marcao el colega jejeje ( GRACIAS INFINITAS PHANTOM LORD esto mas que un tutorial es un "LEGADO")


SALU2

PD: LEED, APRENDER Y COMPARTIR LO APRENDIDO!
El problema no es que sea un tocho, es que la lectura es difícil de seguir.
Una sugerencia:
COloca los comandos en [code][/code] para que se facilite la lectura. Es dificil saber donde acaba una cosa y empieza otra.
GTA 5 Red Dead Redemption 2 Final Fantasy XV Kingdom Hearts 3 The Last of Us 2 God of War FIFA 17 Final Fantasy VII Remake Horizon: Zero Dawn