Blog Tecnológico de Clever

Web Personal de Clever Flores relacionado a la WEB 2.0 (JavaScript, RIA, XUL y Ajax), lenguajes de programación (Java, PHP, Ruby) y GNU/Linux por supuesto;
hincha a morir del Software Libre.

Inicio de sesión

Sindicar

Curso Taller de Ubuntu Linux III ( comandos básicos )

Versión para impresiónEnviar a un amigoVersión en PDF

Una vez instalado Ubuntu, hemos configurado el usuario alumno, con clave alumno, haremos uso ahora de los comandos básicos.

Convenciones
$> ---> Representa el prompt por lo tanto no debe escribirse como comando
Los comandos se ejecutan secuencialmente, es importante ver el resultado de los mismos.

Ficheros (Archivos)
--------------------
@ Planos	/etc/network/interfaces
@ Binarios	/usr/bin/vim/
@ Enlaces	/vmlinuz-->/boot/vmlinuz...
@ Especiales	/dev/sda1-->partición montada en la raiz /
	tty1
	.	]
	.	]--->consolas de texto
	.	]
	ty6     ] 
	ty7	--->consola de gráfica

 tty1  --> Entrar con Ctrl+Alt+F1, para tty3 (Ctrl+Alt+F3) 

Entrar en una de las consolas con el usuario creado en la instalación:
	user:alumno
	pass:alumno

$> id
muestra informacion de uid (identificador de usuario) gid, 
(grupo principal) y grupos adicionales del usuario actual

$> pwd
muestra la ruta del directorio actual

$>sudo su - 
abre una sesion como root, ejecuta comando como root

$>exit 
cierra la sesion actual


Rutas de Directorios:
---------------------

@ Ruta Absoluta.- aquella ruta que se toma en cuenta desde la raiz
  -------------

ejemplo:  $> ls /etc/network/interfaces


@ Ruta Relativa.-aquella ruta que se toma en cuenta desde el
directorio actual
  -------------

ejemplo: $> cd /etc/network (ruta absoluta)
	 $> ls interfaces (ruta relativa al directorio network)
	 $> ls ../../usr/share/doc (.. es directorio padre)
	 $> ls . (. es el directotio actual)

$> id
uid=1000(alumno), gid=1000(alumno), grupos adicionales: admin (100), .....

$> cat /etc/passwd (archivo de usuarios del sistema)

$> grep alumno /etc/paswd 
(muestra la línea donde aparece la palabra alumno)

=> alumno:x:1000:1000:Alumno:/home/alumno:/bin/bash
 
Donde:	alumno = nombre del usuario
	x      = la clave /etc/shadow
	Alumno = descripción	
        /bin/bash = interpretes de comandos

$> grep alumno: /etc/group          

=> alumno:x:1000:pepito,juanito

Donde:  alumno = nombre del grupo
        x    = password en /etc/gshadow
        1000 = gid que es el identificador de grupo
        pepito,juanito = usuarios adicionales del grupo

$> grep alumno /etc/group
Esto me da información de los grupos adicionales del usuario alumno

=> 	adm:x:4:alumno
	dialout:x:20:alumno
	cdrom:x:24:alumno
	plugdev:x:46:alumno
	lpadmin:x:108:alumno
	admin:x:123:alumno
	alumno:x:1000:
	sambashare:x:124:alumno

Comandos básicos para interactuar con el sistema de archivos:
--------------------------------------------------------------

ls 	--> lista los archivos o directorios
cd 	--> permite cambiar directorio
pwd 	--> muestra el path (ruta actual de directorios)
mkdir 	--> crear directorios
cp 	--> crear archivos o directorios
mv 	--> mover o renombrar archivos o directorios
rm 	--> borrar archivos o directorios
clear 	--> limpiar la pantalla


Creacion de archivos:
---------------------

> 	--> crea un nuevo archivo desde la salida estándar (monitor),
            si el archivo existe lo sobreescribe
>>	--> añade la salida estandar al final de un archivo, si el  
            archivo existe agrega siempre al final del mismo 
touch	--> creacion de archivos vacios


Aplicando Ejercicios:
---------------------

$> sudo su -				
se loguea como root

$> cd /etc					
ingresa al directorio /etc

$> cd ..					
sale del directotio /etc

$> pwd						
muestra en que directorio me encuentro

$> cd 
$> mkdir pruebas				
crea el directorio pruebas

$> mkdir -p pruebas/imagenes/fotos 		
crea el directotio pruebas,imagenes,fotos uno dentro del otro 

$> mkdir -p miprograma/documentacion/html 	

si añadimos la opción -p mkdir se encarga de crear, si no existen, 
los directorios miprograma y documentacion. Si usaras este comando 
sin la opción -p obtendrías como resultado un error.

$> cd pruebas 					
cambia al directorio pruebas
$> pwd

$> touch saludo 				
crea el archivo saludo

$> ls -l saludo					
lista con detalles el archivo saludo

$> echo "hola mundo" > saludo			
muestra un mensaje a la pantalla y lo redirecciona el archivo 
saludo lo sobreescribe

$> cat saludo
muestra el contenido del archivo saludo

$> cp saludo hola				
(copia archivo saludo como hola) 

$> mkdir documentos				
crea el directorio documentos

$> cp saludo hola documentos/			
copia el archivo saludo,hola dentro del directorio documentos

$> ls -ld documentos				
lista con detalles el directorio documentos

$> ls -l documentos				
lista el contenido del directorio documentos

$> cp -R documentos archivos			
copia el directorio documentos como el directorio archivos, 
incluyendo subdirectorios, -R es recursivo

$> cp -R imagenes documentos		
copia el directorio imagenes como el directorio documento

$> ls -l documentos				
lista el directorio documentos

$> ls -la 					
lista todos los archivos y directorios del directorio actual,
incluyendo archivos ocultos

$> ls -lrt					
lista en columnas por tiempo y modo reverso 

$> ls -lrt  /					

$> ls -la documentos				
lista todos los archivos y directorios del directorio documentos

$> ls -lRa documentos				
lista en columnas incluyendo ocultos y subdirectorio del
subdirectorio documentos

$> ls -lRa /

$> ls sa*					
lista archivos y directorios que comiencen con sa

$> ls --help 					
muestra en forma resumida las opciones del comando

$> mv hola holitas 				
mueve el archivo actual "hola" como "holitas", renombra el archivo

$> mv holitas imagenes/hola 			
mueve archivo holitas dentro de imagenes y lo renombra como hola

$> ls imagenes

$> mv imagenes galeria				
mueve directorio imagenes en el mismo directorio y lo renombra 
como galeria, no ncesita recursivo -R para directorios

$> rm saludo 					
borra archivo saludo no hay undelete

$> rm -f saludo					
borra forzadamente sin pregunta archivo saludo, en Centos

$> rm -fR galeria				
borra forzadamente el directorio galeria

Ejercicio práctico: Como Hacer Backups:
----------------------------------------

$> mkdir /backup
Creo un directorio backup en la raiz

$> mkdir -p /backup/etc/network
Creo directorios etc y network en forma parentada dentro del backup
 
$> cp -p /etc/passwd /etc/shadow \
 > /etc/group /etc/hosts \
 > /backup/etc
Copio archivos dentro del backup/etc preservando permisos
los símbolos > de la segunda y tercera línea no se escriben
estos sales por el uso del \ al final de una línea para indicar 
que el comando continúa en la siguiente línea

$> cp -p /etc/network/interfaces  \
 /backup/etc/network
Copia archivos interfaces preservando permisos

$> cp -Rp /home /backup
Copia todo el home dentro del backup preservando permisos uids,gids

$> cd / 
cambia la raiz

$> tar -zcpvf backup.tgz backup
Empaqueta y comprime el directorio backup  y el archivo resultado
se llama backup.tgz

$> mv backup.tgz /root
Mueve archivo backup.tgz dentro del /root


Creacion de Enlaces:
--------------------

$> ln -s /usr/bin /programas
Crea un enlace blando (similar al acceso directo, si se borra el 
archivo original el enlace se quedo roto)

$> ls -l -a /
lista los archivos de raiz indicando su numero de inodo

$> ls -l /programas/
El acceso directo se comporta como el directo original

$> ln /bin/touch /bin/tocar
Crea un enlace duro al archivo, si se borra el archivo este no 
desaparecera hasta que se borren todos los enlaces duros 	
apuntando a el

$> rm /bin/touch

$> ls -li /bin/tocar

$>/bin/tocar archivo

Ayudas de Consola:
------------------

Shift+ret+pagina (retrocede la pantalla de la consola)

TAB autocompleta nombres de archivos,comandos y variables de entorno