Sei sulla pagina 1di 16

IMPLANTACIN DE SISTEMAS OPERATIVOS.

CURSO 12/13
TEMA 6.2 Pgina. 1 I.S.O. Linux. Comandos bsicos.
I.E.S. Fco. Romero Vargas. Jos Antonio Carrasco Daz. Creative Commons
CONTENIDO
COMANDOS BSICOS DE GNU-LINUX. ............................................................................ 2
Introduccin. ............................................................................................................................ 2
FORMAS GENERALES DE OBTENER AYUDA EN LINUX. (MODO TEXTO). ........ 4
Usuarios y grupos. ................................................................................................................... 6
Comandos Bsicos. ................................................................................................................ 10
Comandos para administrar ficheros y directorios. ........................................................... 10
Comando ls ......................................................................................................................................... 10
Comando cd ........................................................................................................................................ 11
Comando pwd ..................................................................................................................................... 11
Comando mkdir .................................................................................................................................. 11
Comando mv ...................................................................................................................................... 11
Comando cp ........................................................................................................................................ 12
Comando rm ....................................................................................................................................... 13
Uso de comodines en Linux. .................................................................................................. 14
Comodn * .......................................................................................................................................... 14
Comodn ? .......................................................................................................................................... 15
Comodn [] ......................................................................................................................................... 15
algunos ejercicios sobre comandos. ...................................................................................... 16

IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 2 I.S.O. Linux. Comandos bsicos.

COMANDOS BSICOS DE GNU-LINUX.
INTRODUCCIN.
Una vez instalado e inicializado un sistema Linux se dispone de dos vas fundamentales de
interaccin: una grfica (si se instal una interfaz X y se configur adecuadamente) y una texto
conocida como consola o terminal.
Al igual que Unix, Linux ofrece el mecanismo de consolas o terminales virtuales. Este consiste
en que a partir de una entrada estndar (el teclado) y con una salida estndar (el monitor) se
simulen varias terminales, donde el mismo, o distintos usuarios puedan conectarse
indistintamente. De esta forma es posible tener ms de una sesin abierta en la misma
mquina y trabajar en ella indistintamente. Este mecanismo tambin facilita la caracterstica
multiusuario del sistema Linux pues las diferentes conexiones se pueden establecer con
diferentes usuarios.
Por defecto, las consolas desde la uno a la seis tienen asociado un programa que permite
conectarse al sistema en modo texto, mientras que la siete, si se instal y activ el ``modo
grfico'', constituye una consola grfica.
El cambio de una consola a otra se realiza a travs de la combinacin de teclas Alt y Fx (las
teclas de Funcin), donde x oscila entre 1 y 12. De esta forma se pueden acceder un total de 24
consolas virtuales: para las doce primeras se utiliza el Alt izquierdo y para las otras doce el
derecho. Por ejemplo para llegar a la consola 16 se presionaran las teclas Alt derecho y F4. (El
nmero de consolas disponibles es configurable).
Desde una consola grfica para cambiar a otra tipo texto se debe adems presionar la tecla
Ctrl, pues las combinaciones Alt + Fx son capturadas e interpretadas por las aplicaciones
grficas de otra forma.
As, si pulsamos Ctrl Alt F1 accedemos a la consola nmero 1 (tty1), con Ctrl Alt F5
accedemos a la consola nmero 5 (tty5), etc. Si estamos corriendo Debian en una mquina
virtual Vmware nos encontraremos con el problema que dicho software utiliza la combinacin
Ctrl Alt como hotkey para liberar el cursor del ratn, por lo que tendremos que acceder a la
configuracin del Vmware y cambiar este hotkey, a por ejemplo, Ctrl Alt Mayus.
Con la tecla Alt izquierda combinada con los cursores (derecho e izquierdo) se puede adems,
realizar un movimiento circular entre todas aquellas consolas que tengan un proceso asociado
(texto, grfico, etc.). Esta combinacin no funcionar una vez que entremos en la consola
grfica.



IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 3 I.S.O. Linux. Comandos bsicos.

Si accedemos a una consola en modo texto podremos apreciar que en ella se muestra el
nombre de la distribucin, la versin de la misma, la versin del kernel y la arquitectura de la
mquina. Tambin aparecer el nombre que se le asign al sistema en la instalacin y la
palabra login.
Aqu puede entrarse el nombre de un usuario del sistema. Luego se pedir la contrasea o
password de dicho usuario (tened cuidado ya que al entrar dicho password no se muestra
ningn eco en la pantalla). Si ambos son vlidos se establecer la conexin y se mostrar lo
que se conoce como prompt del sistema, con forma similar a esta:
usuario@pinguino:~$
Aqu ha abierto sesin un usuario con nombre usuario, en una mquina que se llama
pinguino, est actualmente en el directorio ~ y sabemos que es un usuario normal y no el
root por que el prompt termina con un smbolo $ (si fuera root terminara con un smbolo #).
Este entorno de texto donde nos encontramos y que nos permite introducir comandos es
conocido comnmente como Shell (caparazn). Este Shell es capaz de interpretar una gran
cantidad de comandos y sentencias. Constituye a su vez un poderoso lenguaje de
programacin mediante scripts.
GNU-Linux tiene la filosofa de no obligar al usuario a utilizar un programa determinado para
cada accin, sino que siempre da la libertad de elegir el programa que queremos utilizar. Lo
mismo ocurre con el Shell que vayamos a utilizar para acceder al sistema. El Shell que ms se
usa es conocido como bash, aunque existen una gran variedad de ellos, como por ejemplo csh,
ksh, etc.
Algunas caractersticas que merece la pena conocer de bash son:
Auto completar durante la escritura. Al teclear uno o varios caracteres se puede pulsar
TAB con el objetivo de que en caso de que pueda completarse de forma unvoca un
comando, nombre de fichero o una variable (en dependencia del contexto), complete
de forma automtica (se escriba el resto de la palabra). Si existieran varias posibilidades
para completar la palabra, se oir un sonido y volviendo a pulsar TAB se mostrarn en
pantalla todas las posibilidades existentes. En caso de existir muchas posibilidades (por
defecto ms de 100) se pregunta si se desea mostrarlas todas o no.
Historial de comandos. Esta es una facilidad de muchos otros shells que permite el
movimiento a travs de los ltimos N comandos ejecutados, en la sesin actual o en las
anteriores. N por defecto es 1000, pero puede modificarse. Para moverse arriba y abajo
se suelen utilizar los cursores.
Poderosas estructuras de control para realizar scripts. (Procesos por lotes). Se pueden
utilizar instrucciones if, for, while, select, case, etc.

IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 4 I.S.O. Linux. Comandos bsicos.

Definicin de funciones y alias para comandos. Las funciones permiten definir
subrutinas programadas usando el lenguaje de bash y los alias, asociar nombres a
llamados a comandos con ciertas opciones y argumentos de forma ms nemotcnica o
abreviada.
FORMAS GENERALES DE OBTENER AYUDA EN LINUX. (MODO TEXTO).
Existen mltiples y variadas formas de obtener ayuda en un sistema Linux. A continuacin se
describen algunas de ellas:
Muchos comandos poseen una opcin para mostrar una ayuda breve acerca de su utilizacin.
Esta opcin usualmente consiste en utilizar el parmetro -h, --help o -? tras el nombre del
comando.

El comando help, que muestra en algunos comandos integrados del bash un manual propio.


IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 5 I.S.O. Linux. Comandos bsicos.

El comando info que muestra informacin sobre los comandos en una estructura de
hipertexto. Vemos aqu la salida de ejecutar el comando info cal

El comando whatis que nos da una ayuda rpida sobre comandos.

El comando apropos, que dada una palabra busca los comandos relacionados sobre ella.

El comando man muestra un manual bastante amplio acerca de comandos, formatos de
ficheros de configuracin, llamadas al sistema, etc.
Los manuales de man estn disponibles y pueden instalarse en mltiples idiomas. Estos se
dividen internamente en secciones. Un mismo objetivo puede estar representado en varias
secciones. De no especificarse ninguna seccin a travs del primer argumento del comando se
tomar la primera donde aparezca.
Estas pginas man son la principal fuente de informacin con la que solemos contar en Linux,
suelen estar escritas directamente por los creadores de los comandos y abarcan todas y cada
una de las posibles opciones de los comandos, ficheros de configuracin, etc. Este mismo
hecho hace que muchas veces encontremos excesiva informacin.
(Podemos buscar en las pginas man pulsando la tecla / y buscar los siguientes resultados con
otra pulsacin de la misma tecla. Para salir de las pginas man basta con usar la tecla q).
IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 6 I.S.O. Linux. Comandos bsicos.

USUARIOS Y GRUPOS.
Como ya se ha afirmado Linux es un sistema multiusuario, lo cual permite que varios usuarios
puedan conectarse y trabajar en l de forma simultnea. Las conexiones como ya se ha visto se
pueden realizar a travs de varias terminales locales o utilizando servicios de red como el
Telnet y SSH.
Un usuario se caracteriza por su login el cual debe indicar para conectarse al sistema, adems
de su password o contrasea. Adems puede poseer un conjunto de datos adicionales
mencionados ms adelante.
El usuario con ms privilegios en Linux es aquel cuyo login es root. Este es el nico con
derechos suficientes para crear o eliminar a otros usuarios, adems de acceder a todo el
sistema de ficheros sin ninguna restriccin. Este usuario root tiene mucho ms poder que el
usuario Administrador en un entorno Windows.
En Linux adems existen grupos de usuarios tambin administrados por root o por un usuario
designado por este. Los grupos permiten otorgar los mismos privilegios a un conjunto de
usuarios. Siempre que se aada un usuario al sistema se crear un grupo con su mismo
nombre, llamado grupo primario. Durante la creacin o posteriormente, se podr incorporar el
usuario a otros grupos secundarios. As, si creamos en Linux un usuario con nombre Jaime,
automticamente el sistema tambin crear un grupo llamado Jaime y har que Jaime sea un
miembro de dicho grupo. Estos grupos se conocen como grupos principales.
Tanto los usuarios como los grupos se identifican por el sistema a travs de un identificador
(ID) numrico. El usuario root siempre tiene el ID cero. Cada usuario cuando se conecta al
sistema posee un identificador de usuario asociado (uid) y un identificador de grupo (gid).
Al aadir un usuario tambin se crear un directorio en nuestro disco con el nombre de su
login. Este directorio se coloca por defecto en el directorio /home excepto para root, cuyo
directorio base es /root. As, al crear un usuario Jaime, el sistema crear automticamente el
directorio /home/Jaime y lo establecer como el directorio inicial del usuario. Se suele decir
que /home/Jaime es el directorio home del usuario Jaime.
La informacin asociada a los usuarios en un sistema Linux se guarda en el fichero
/etc/passwd y las contraseas y datos afines en /etc/shadow.





/etc/passwd
IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 7 I.S.O. Linux. Comandos bsicos.






Por su parte la informacin de los grupos, sus miembros y passwords estn en /etc/group y
/etc/gshadow respectivamente.

Vemos como en el fichero /etc/shadow aparecen las contraseas codificadas de los usuarios.
Si queremos conocer el significado de los restantes campos de este fichero podemos consultar
su manual, con el comando man shadow.
Para crear un usuario se usa el comando useradd, aunque es mucho mejor usar un script que
viene instalado en Linux, que se llama adduser. Este script llama a useradd y permite realizar
funciones avanzadas, como crear automticamente el directorio del usuario, configurar su
perfil, solicitar su contrasea, etc.
Como ejemplo, vamos a realizar el siguiente ejercicio:
1) Creamos dos usuarios, uno con nombre obdulio y otro con nombre chindasvinto. En
ambos usamos de contrasea 123 por ejemplo.
2) Creamos un grupo con nombre flores, y aadimos a los dos usuarios anteriores a dicho
grupo. (Para crear un grupo usamos la orden addgroup, y para aadir un usuario a un
grupo podemos usar la misma orden adduser que vimos anteriormente, pero con el
formato adduser usuario grupo).

jaime
Nombre del
Usuario
x
Contrasea
(una x indica
que la
contrasea
esta
guardada en
el fichero
/etc/passwd)
1001
UID del
usuario
1001
GID del grupo
,,,
informacin
adicional del
usuario. (En
este caso no
se ha
introducido
nada)
/home/jaime
Directorio
home del
usaurio
/bin/bash
Shell a utilizar
/etc/shadow
IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 8 I.S.O. Linux. Comandos bsicos.


3) Editamos el fichero /etc/passwd y comprobamos como se han creado dos lneas al final
del fichero, una para cada uno de los usuarios que hemos creado.
4) Editamos el fichero /etc/shadow y veremos cmo se han creado tambin dos lneas,
una para cada uno de los usuarios.
5) Editamos el fichero /etc/group y comprobamos como se ha creado una lnea para el
grupo creado, donde adems comprobamos que se han aadido como miembros los
dos usuarios. Las dos lneas anteriores sern la de los grupos que se crearon
automticamente cuando aadimos nuestros usuarios al sistema.
Para comprobar que los usuarios se han creado bien, vamos a realizar lo siguiente:
1) acceder a un terminal de texto (Control Alt Fx), y hacer un login con el usuario
obdulio. Una vez abierta sesin, ejecutar el comando whoami y el comando id.
Deberamos comprobar que efectivamente estamos en el grupo flores. Para cerrar la
sesin usamos el comando logout.
2) Acceder a otro terminal, hacer un login con chindasvinto y comprobad lo mismo.
(Para volver al terminal grafico desde un terminal de texto, accedemos al 7 terminal con la
combinacin de teclas Control Alt F7).
Comprobaremos como toda la gestin de usuarios y grupos de Linux, en realidad se basa en la
modificacin de una serie de ficheros de texto que estn en el directorio /etc/.
IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 9 I.S.O. Linux. Comandos bsicos.

Intentad ahora crear otro usuario, con nombre pimiento y asignarlo como miembro del grupo
verduras que tambin habr que crear. Estas acciones realizarlas sin usar los comandos
adduser y addgroup, y en su lugar modificar directamente los ficheros passwd, shadow y
group.
Una vez hecho, acceder a los terminales de texto y como hemos hecho anteriormente,
comprobad que pimiento puede realizar login, y que pertenece a los grupos que debe
pertenecer.
Un problema de aadir usuarios de esta forma, es que no se crea su directorio home, cosa que
deberemos hacer a mano.
Este ejercicio nos ha servido para comprobar como en Linux todo es un fichero, y que con un
simple editor de ficheros de texto podemos configurar y administrar todo el sistema.

IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 10 I.S.O. Linux. Comandos bsicos.

COMANDOS BSICOS.
En las siguientes secciones mencionaremos y describiremos brevemente la utilidad de un
grupo de comandos bsicos para interactuar con un sistema Linux. Muchos de estos comandos
estn presentes tambin en los sistemas Unix aunque a veces varan sus opciones y
argumentos en dependencia de las versiones.
Para facilitar el estudio vamos a clasificar los comandos de Linux en varias categoras:
Comandos para administrar ficheros y directorios
-------------------------
COMANDOS PARA ADMINISTRAR FICHEROS Y DIRECTORI OS.
COMANDO LS
El comando ls permite listar el contenido de un directorio.
Sintaxis: ls [opciones] [directorio | fichero]
Algunas opciones:
-l : muestra la salida en formato largo.
-R: lista recursivamente un directorio.
-a : lista adems los ficheros ocultos (sus nombres comienzan con punto).
-h : muestra el tamao de los ficheros en forma ms legible (Ej.: 16M, 4k, etc.)
-i : muestra el identificador del i-nodo asociado a cada elemento.


Un grupo de opciones que se suele utilizar bastante es lia (ls lia). Como observamos en este
ejemplo, podemos agrupar las opciones de los comandos como ms nos interese.
Ejemplos:
IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 11 I.S.O. Linux. Comandos bsicos.


COMANDO CD
El comando cd se utiliza para cambiar el directorio actual.
Sintaxis: cd [directorio]
Si escribimos directamente cd sin ningn parmetro, la orden nos llevar automticamente al directorio
base (home) del usuario actual.
COMANDO PWD
El comando pwd indica el camino absoluto del directorio en el cual nos encontramos
actualmente.
COMANDO MKDIR
El comando mkdir se utiliza para crear directorios.
Sintaxis: mkdir [opciones] [directorio]
Algunas opciones:
-p : Crea los directorios padre del directorio a crear en caso de que no existan.
COMANDO MV
El comando mv mueve ficheros. Este comando tambin puede ser utilizado para cambiar el
nombre de ficheros o directorios, para lo cual solo tenemos que mover el fichero o directorio
al mismo sitio donde esta, pero con un nuevo nombre.
Sintaxis: mv [opciones] <fuente> <destino>
Algunas opciones:
-i : ejecuta el comando de forma interactiva, o sea, pregunta ante de sobrescribir el destino si existiera.
-u : actualiza (upgrade) el destino con el fuente solo si este es ms reciente.
IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 12 I.S.O. Linux. Comandos bsicos.

Ejemplos:

COMANDO CP
El comando cp permite copiar un fichero en otro, o varios ficheros en un directorio.
Sintaxis:
cp [opciones] <fuente> <destino>
Algunas opciones:
-R : copia recursivamente un directorio.
-i : utiliza una forma interactiva (pregunta antes de sobrescribir el destino).
-l : hace enlaces fuertes a los ficheros fuentes en lugar de copiarlos.
Ejemplos:

En esta orden es obligatorio indicar tanto la fuente como el destino de la copia, no como en
Windows en el cual si no se indicaba el destino se copiaba al directorio actual. Para indicar esto
mismo en Linux debemos indicar que el destino es . (un punto, que indica el directorio actual).
IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 13 I.S.O. Linux. Comandos bsicos.


COMANDO RM
El comando rm se utiliza para borrar ficheros y directorios.
Sintaxis: rm [opciones] <ficheros | directorios>
Algunas opciones:
-r : borra recursivamente un directorio.
-i : ejecuta el comando de forma interactiva.
Ejemplos:

IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 14 I.S.O. Linux. Comandos bsicos.

USO DE COMODINES EN LINUX.
Aprovecho este punto para explicar los comodines en Linux, que se suelen utilizar mucho con los
comandos que acabamos de ver.
Vamos a nombrar 3 comodines distintintos que se utilizan en Linux, el asterisco (*) la interrogacin
cerrada (?) y los corchetes [].
COMODN *
El comodn * hace referencia cualquier cadena de caracteres en el nombre del archivo. Cuando se usa el
carcter * para referirse al nombre de un archivo, el intrprete de comandos lo sustituye por todas las
combinaciones posibles provenientes de los archivos en el directorio al cual nos estamos refiriendo.
Veamos algunos ejemplos:


IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 15 I.S.O. Linux. Comandos bsicos.

Observamos en el ltimo ejemplo como el asterisco sustituye cualquier carcter o conjunto de
caracteres pero deja de sustituir en cuanto escribamos algo tras el asterisco en la orden. As, *o.* quiere
decir fichero que empiecen con cualquier nombre, que tengan una o y un punto, y que terminan con
cualquier nombre.
Tambin es importante conocer que asterisco se sustituye por cualquier conjunto de caracteres, incluido
el conjunto vaco, es decir, que puede que no haya ningn carcter. Veamos un ejemplo para entenderlo
mejor.

COMODN ?
Este carcter solo sustituye un nico carcter. Por lo dems se comporta exactamente igual que el
asterisco, aunque en este caso no se incluye el conjunto vacio.
Ejemplos de este comodn.

COMODN []
Este comodn sustituye un nico carcter, como en el caso de ? pero con la ventaja de que podemos
indicar varios valores. As, [15] indica que en ese lugar puede aparecer un 1 o un 5. Si usamos un guion
dentro de los corchetes indicamos un rango, as, [1-5] indica que en ese lugar puede aparecer cualquier
nmero del 1 al 5.
Evidentemente todos estos comodines se pueden usar conjuntamente, para obtener los patrones de
bsqueda que deseemos.
IMPLANTACIN DE SISTEMAS OPERATIVOS. CURSO 12/13
TEMA 6.2 Pgina 16 I.S.O. Linux. Comandos bsicos.


ALGUNOS EJERCICIOS SOBRE COMANDOS.
Vamos a proponer algunos ejercicios para reforzar los conocimientos de los comandos para
administrar ficheros y directorios.
1) Crear un directorio ejercicio1 en vuestro home, y copiar en el mismo todos los ficheros
con extensin conf del directorio /etc. Realizad esta accin con un solo comando, y
posicionados en el directorio home del usuario.
2) Crear un directorio ejercicio2 dentro de un directorio prueba dentro de un directorio
control dentro de un directorio alumno dentro de vuestro home. Realizad esta accin
con un solo comando y posicionados en el directorio home de vuestro usuario.
3) Moved todos los ficheros que contengan una letra a en su nombre del directorio
ejercicio1 al directorio ejercicio2. Un solo comando y posicionados en el raz de
vuestro rbol.
4) Copiad el directorio alumno de vuestro home, y todo lo que contiene, a un directorio
copia_alumno que debe crearse en vuestro directorio home. Un solo comando para la
copia.
5) Borrar el directorio alumno de vuestro home con un solo comando y sin que pida
confirmacin.
6) Cread un directorio llamado fich_ocultos en la raz de vuestro home, que contenga una
copia de todos los ficheros ocultos que estn en vuestro home. (Los ficheros y
directorios ocultos son aquellos cuyo nombre comienza por un punto, y no son
mostrados normalmente por ls).

Potrebbero piacerti anche