Está en la página 1de 8

COMANDOS BSICOS DE LINUX 1

Comando Descripcin Ejemplo

ls Muestra el contenido de uno o ms directorios. ls -l -R

Cambia a un directorio. Si se utiliza sin parmetros, nos devuelve


cd a nuestro directorio de trabajo (p. ej. /home/alumno) cd /usr/share

pwd Indica en qu directorio nos encontramos. pwd

mkdir Crea un directorio. mkdir pruebas

cp Copia ficheros desde un origen a un destino. cp /etc/inittab /home/alumno/pruebas

Mueve ficheros desde un origen a un destino. Tambin permite


mv renombrar ficheros. mv palabras.txt texto.txt

rm Borra ficheros. rm *.jpg

Muestra el contenido de un fichero y termina. Tambin permite


cat crear de una forma simple ficheros de texto. cat trabalenguas01.txt

more Muestra el contenido de un fichero pgina a pgina. more mitexto.txt

Igual que more pero nos podemos mover hacia arriba y hacia abajo
less por el fichero. Salimos con q. less mitexto.txt

man Muestra ayuda sobre un determinado comando. man ls

Muestra los porcentajes de espacio ocupado y libre en todos los


dispositivos montados en el sistema de ficheros (discos duros,
df df -h
disquettes, etc.)

du Indica el tamao que ocupa un directorio. du -h /bin

who Indica qu usuarios hay trabajando en el equipo. who

Quin soy yo?. Muy til, junto con pwd para los que estn
whoami perdidos. whoami

grep Muestra las lneas que concuerdan con un patrn. grep hola micarta.txt

wc Muestra el nmero de lneas, palabras y caracteres de un fichero. wc ListaDePeliculas.txt

ln Crea un enlace. ln -s /usr/bin/vi mi_editor

head Muestra las primeras lneas de un fichero. head -n 10 tareas.txt

tail Muestra las ltimas lneas de un fichero. tail /var/log/messages


Comando Descripcin Ejemplo

find Busca ficheros. find /home -name trabalenguas01.txt

lsd Muestra los directorios que hay dentro del directorio actual. lsd

adduser Aade un nuevo usuario. adduser alumno3

userdel Elimina un usuario existente. userdel alumno3

usermod -g dai1 -G pta,iescampanillas


usermod Modifica una cuenta de usuario. alumno

passwd Cambia la clave de un usuario. passwd alumno

su Cambia de usuario. su alumno2

finger Muestra informacin sobre los usuarios. finger alumno

chfn -f 'Jaimito Robles' -o 'Dpto.


Permite cambiar los datos de un usuario (clave, nombre Comercial' -p 902112233 -h 952123456
chfn completo, nmero de telfno, etc.) jaimito

chmod Cambia los atributos de ficheros o directorios. chmod u+rwx carta.txt

chown Cambia el dueo de un archivo. chown alumno2 listado.txt

chgrp Cambia le grupo al que pertenece un archivo. chgrp aula01 alumno2

groups Muestra los grupos a los que pertenece un usuario. groups alumno

groupadd Aade un nuevo grupo. groupadd primero_dai

groupdel Borra un grupo existente. groupdel clase

Cambia el nombre o el nmero que identifica a un


groupmod determinado grupo. groupmod -g 510 -n dai1 primero_dai

Establece los permisos por defecto para los archivos


umask nuevos. umask u=rw, g=, o=
Comando Descripcin Ejemplo

sleep Espera que pase el tiempo que se le indica. sleep 5

Ejecuta un programa, script, comando, etc. a una


at determinada hora. at now + 2 minutes -f copia_seguridad

atq Muestra todos los trabajos pendientes de ejecucin. atq

Borra un trabajo de la lista de trabajos pendientes


atrm de ejecucin. atrm 8

Ejercicios:

Las practicas asumen conocimientos basicos para desenvolverse en un entorno de shell,


(pwd,cd, ls, cp, rm, mkdir, rmdir, mv, comodines y redireccion de shell, etc. . . )
Accede al sistema como superusuario, root (el profesor te proporcionara la contrasena), y
crea un nuevo usuario con las siguientes ordenes:
adduser alumno //Anade un nuevo usuario alumno
passwd alumno //Le cambia la clave a alumno
Para trabajar puedes usar tanto los terminales graficos como los de modo texto. Hay un
terminal grafico y 6 en modo texto:
Ctrl + Alt + F1 (. . . F6) para cambiar a uno de los 6 terminales de modo texto.
Ctrl + Alt + F7 para cambiar al terminal grafico.
Se recomienda el uso de las paginas del manual o ayuda usando la orden
man.

El superusuario
La orden su
La orden /bin/su ejecuta un nuevo shell, con los identificadores de usuario (UID) y grupo (GID)
del nuevo usuario indicado. Se operara con estos nuevos identificadores hasta terminar con la
orden exit. Por defecto, se utilizara el usuario root. Por ejemplo, si alumno1 ejecuta las
siguientes ordenes:

su se convertira en el usuario root


su alumno1 se convertira en el usuario alumno1

Algunos parametros de la orden su son:

Si es ejecutado sin opciones el valor de la mayora de las variables de entorno no vara,


excepto las variables HOME y SHELL. En caso de haber cambiado a un usuario
distinto del root tambien cambian las variables USER y LOGNAME.
-l (ele de login): se cambian todas las variables de entorno, como si se hubiera
hecho un login de nuevo. (En algunas versiones esta opcion ha sido eliminada y han
dejado solo la siguiente).
- (signo menos): equivalente a
-l
-c: ejecuta la orden indicada. (OJO! La orden tiene que delimitarse entre comillas
dobles).
[alumno1@localhost]$ su -c "/usr/sbin/adduser antonio

"
Password:
Indicando un nombre de usuario el cambio se realiza al nuevo usuario:

[alumno1@localhost]$
whoami alumno1
[alumno1@localhost]$ su antonio
Password:
[antonio@localhost alumno1]$
whoami antonio

Al administrador del sistema, nunca se le pide la contrasena al ejecutar esta orden.

Ejercicios:

1. Como usuario alumno, usando la orden su cambia al usuario root y comprueba el efecto de
ejecutar su root (sin parametros) y su -l root. (Puedes utilizar echo $variable y
ps antes y despues de ejecutar la orden).
1.1 Que procesos se crean?
1.2 De las siguientes variables HOME, USER, UID y GROUPS. cuales cambian y cuales no?

2. Para probar la orden su en modo orden ejecuta, como usuario alumno, las siguientes ordenes:

2.1 Crea un fichero en tu directorio: touch prueba.txt


2.2 Con su, cambia el usuario propietario de dicho fichero usando la orden: chown root
prueba.txt
2.3 Comprueba, con la orden ls -l si se ha realizado el cambio.

La orden who
La orden who muestra las sesiones abiertas, asociando el nombre del usuario a la terminal. Pero,
la verdadera identidad de un usuario depende de su UID, que se puede obtener con la orden id.

Ejercicios

3. Si cambiamos de usuario con la orden su, lo aprecia la orden who?


4. Que diferencia hay entre ejecutar whoami y who am i?

Ficheros
5. Al ejecutar las siguientes instrucciones, con que usuario y grupo se crea el fichero hola?

$ su root
# mkdir /practicas
# chgrp mail /practicas
# cd /practicas
# touch hola

6. Que habra que hacer para que el fichero hola perteneciese al grupo mail sin tener que
ejecutar la orden chgrp despues de crear el fichero? Solucionalo y crea el fichero
propietario para comprobar que ahora tiene el grupo deseado.
7. Crea un fichero y hazle un enlace fsico dentro del mismo directorio. Con la orden ls
-il comprueba los datos de los ficheros y verifica que son enlaces fsicos. A continuacion
borra el fichero inicial. Comprueba si puedes trabajar con el enlace fsico. Por que sucede
esto? Recuerda que la orden ln permite crear enlaces fsicos y simbolicos.
8. Crea un fichero y hazle un enlace simbolico dentro del mismo directorio. A continuacion
borra el fichero inicial. Puedes trabajar con el enlace simbolico?, puedes leer el fichero?,
puedes editarlo y modificarlo? Para cada calumno, indica que sucede y por que?

Las paginas de manual


La orden man se utiliza para conseguir ayuda de una orden. Las paginas de manual estan
ordenadas en secciones (existe una seccion para programacion, otra para administracion del
sistema, etc.). Tam- bien existen para funciones de biblioteca (como las que se utilizan en un
programa en C), para ficheros de configuracion, etc. La busqueda la realiza en un orden establecido
mediante la variable MANSECT, definida en su fichero de configuracion. El fichero
/etc/man.config es su fichero de configuracion y en e , ademas, se puede especificar los
directorios donde encontrar las paginas de ayuda.

Modos tpicos de uso:

man <tema>: cuando el tema que queremos consultar suele aparecer en una unica secci
on. Ejemplos: man ls; man man.config; man strcpy; man stdio.
man -a <tema>: mostrara todas las paginas que hay sobre ese tema. Para avanzar de
una a otra hay que pulsar la tecla q. Por ejemplo, man -a mount mostrara todas las p
aginas de manual existentes de la orden mount.
man -S<seccion> <tema>: para consultar la pagina de manual de un tema y una secci
on concreta. El numero de seccion aparece en la primera lnea de la pagina entre par
entesis:

MOUNT(8) Linux Programmers Manual MOUNT(8)

Un ejemplo de uso sera man -S8 mount.


man cp ls man: visualiza las paginas de manual de varios temas al mismo tiempo,
utilizando
q para avanzar de una a
otra.
man -k orden: sirve para buscar todas las entradas que contienen la cadena orden.
man -f orden (o /usr/bin/whatis orden): muestra un listado de todas las paginas
de manual que hay para esa orden, indicando la seccion en la que esta y una breve descripci
on de la misma.

Nota: otra orden para obtener informacion es info.

Ejercicios:

9. Que muestra la orden man man?


10. Que informacion muestran las siguientes ordenes y cual es la diferencia entre ambas?

man -k mount (es lo mismo que ejecutar /usr/bin/apropos mount)


man -f mount (es lo mismo que ejecutar /usr/bin/whatis mount)
11. Usa la herramienta konqueror para navegar por la ayuda del sistema:

13.1 Ejecuta la orden konqueror man:ls


13.2 Ejecuta la orden konqueror info:bash. En este caso podras usar el sistema de ayuda
info de una manera mucho mas comoda de lo habitual.
Si tienes seleccionado Gnome como entorno de escritorio, puedes usar la herramienta gnome-
help.

Mensajes
Ejercicios:

12. Edita los ficheros /etc/motd y /etc/issue y cambia los mensajes que tienen. (Recuerda
que estos mensajes solo se visualizan en los terminales en modo texto).

Herramientas basicas

La orden find es una orden muy potente que se utiliza para buscar ficheros y directorios
que cumplan ciertos criterios; la busqueda se realiza recursivamente. Ademas, permite indicar
operaciones a realizar sobre cada uno de los ficheros y directorios encontrados. El formato de
esta orden es:

find <lista de caminos> <expresiones>

Se busca por defecto en el directorio (o directorios) indicado y en todos sus subdirectorios, de


forma recursiva. Algunos de los criterios que se pueden utilizar para realizar la busqueda son:
-name <nombre>: nombre del fichero a buscar (se pueden utilizar comodines).
-iname <nombre>: idem a la anterior, pero sin distinguir mayusculas y minusculas.
-user <usuario>: propietario al que debe pertenecer el fichero.
-group <grupo>: grupo al que debe pertenecer el fichero.
-type <c|b|d|l|f>: tipo del fichero a buscar (caracter, bloque, directorio, enlace simb
oli-
co o fichero regular).
-mtime [+|-]n: modificado hace mas de, menos de o exactamente n das.
-atime [+|-]n: utilizado hace mas de, menos de o exactamente n das.
-size [+|-]n: con un tamano de mas, menos o exactamente 512*n bytes.
!: delante de un criterio, lo niega.
-o: o logico de criterios.
-a: y logico de criterios (esta es la opcion por defecto cuando se indican varios criterios).

Los
nicacriterios se pueden
precaucion agrupar
a tomar es que con parentesis se
los parentesis y especifican
hacer operaciones logicas
como \( y \).entre ellos. La u
Ejemplos:

find /usr -type f -size +2 -o ! -user antonio -print: busca, a partir del
directorio /usr, aquellos ficheros regulares cuyo tamano sea superior a 1KB o no
pertenezcan
al usuario antonio. Muestra los nombres de aquellos ficheros que cumplan el criterio.
find . -group proyecto -exec chmod a+r+w {} \;: busca, a partir del directo-
rio actual, todos los ficheros y directorios que pertenezcan al grupo proyecto, y sobre cada
uno que encuentres ejecuta la orden especificada con -exec. Nota: es importante destacar
el espacio que hay entre } y \. La expresion {}sera sustituida por el nombre de
cada
de la uno de los ficheros que se encuentren. Por otro lado, la expresion \; indica el final
orden a ejecutar con exec.

La orden grep busca un patron determinado en un fichero. Normalmente solo se usa para
realizar busquedas en ficheros, pero puede ser muy util para algunas ordenes
administrativas.
Que hacen las siguientes ordenes?:
ps aux | grep alumno1
ls -la | grep d

La orden awk sirve para manipular selectivamente la salida de otras ordenes. Por ejemplo:

ps aux | grep bash | awk { print $1 }

Sabes hacer lo mismo con cut?

La orden xargs opera sobre una serie de objetos sin importarle de que tipo son (el exec de
find siempre opera sobre ficheros encontrados). Esta orden se utiliza bastante como salida final
de una tubera.

ps aux | grep bash | awk {print $2 } | xargs renice +10

Se le puede especificar el no de argumentos que debe ir tomando (finger se ejecuta una


vez para cada usuario devuelto por la tubera anterior):

ps aux | grep bash | awk {print $1 } | xargs -n 1 finger

Te permite colocar los argumentos que se le pasa a la funcion en el lugar


deseado

ps aux | grep bash | awk {print $2 } | xargs -i kill -15 {}

Ejercicios:

13. Consigue un grep recursivo, pero que solamente busque en los ficheros de menos de 2KB, y que
pertenezcan al root, y tengan como grupo propietario el grupo root.
14. Como superusuario borra todos los ficheros del subdirectorio /tmp que no pertenezcan ni al
superusuario ni al usuario creado al inicio de las practicas. Utiliza la orden find y que
te pregunte cada vez que vaya a ejecutar la accion.
15. Busca todos los ficheros regulares que pertenezcan al propietario bin y al grupo bin, que existan
a partir del directorio /, que tengan un tamano mayor a 2KB, y que no descienda por los sistemas
de ficheros montados a partir del /. Si hubiese salida de error debes dirigirla a una fichero llamado
$HOME/error. De los ficheros encontrados se tiene que hacer un ls -l.
16. Muestra el contenido del directorio /usr/bin donde cada lnea debe tener el siguiente
formato:

gzip - > Modificado el Wed, 08 de Jul de 2013

El nombre del da de la semana y el mes pueden aparecer en ingles o espanol. (Pista: orden
find
con opcion printf).
17. Realiza una busqueda de todos los ficheros que tengan una tamano superior a 2KB, sean
de tipo fichero, ordena la salida, y que te haga de todos ellos un ls -la. El ls -la debe
quedar ordenado.
Ejercicios complementarios
18. Tenemos dos usuarios contratados a media jornada. Uno, llamado matutino, viene solo por
las mananas, y el otro, vespertino, que viene solo por la tarde, continua el trabajo de
matutino. El jefe quiere que, aunque sean personas diferentes, y cada uno use su propio login, en
realidad sea el mismo usuario efectivo y tenga los mismos permisos, de forma que de cara al
sistema sean en realidad uno solo. Como podemos realizar esto? Resuelve las siguientes
cuestiones:
18-1 Que UID y directorio HOME le asignaras a cada uno de ellos?
18-2 Como se consigue que compartan todos los ficheros?

19. Si no deseo tener dos usuarios con el mismo identificador, puedo hacer que compartan el mis-
mo directorio HOME? Es posible conseguir que compartan los ficheros que hay dentro de ese
directorio?

RELACIN DE EJERCICIOS

20. En qu directorio se encuentran los ficheros de configuracin del sistema?


21. Qu diferencia existe entre los programas que hay en /sbin y los que hay en /usr/bin?
22. Qu es el shell?
23. Qu combinacin de teclas se usara para pasar del entorno grfico a la consola nmero 4? Y
para volver de nuevo al entorno grfico?
24. Se puede trabajar con el shell (intrprete de comandos) desde el entorno grfico?, cmo?
25. Muestra el contenido del directorio actual.
26. Muestra el contenido del directorio que est justo a un nivel superior.
27. En qu da de la semana naciste?, utiliza la instruccin cal para averiguarlo.
28. Cambia la clave del usuario actual.
29. Crea un usuario con nombre alumno2 y con clave 123456. Comprueba que se ha creado
correctamente accediendo a una consola como alumno2.
30.Cambia la clave de alumno2 a 654321. Elimina alumno2.
31. Muestra todos los archivos del directorio actual que son imgenes jpg.
32. Muestra todos los archivos del directorio /usr/bin que empiecen por la letra j.
33. Muestra todos los archivos del directorio del usuario actual, incluyendo los archivos ocultos, con toda
la informacin de cada uno (permisos, tamao, etc.)
34. Muestra los archivos que empiecen por k y tengan una a en la tercera posicin, dentro del
directorio
/usr/bin.
35. Muestra los archivos del directorio /bin que terminen en n.
36. Muestra todos los archivos que hay en /etc y todos los que hay dentro de cada subdirectorio, de
forma recursiva.
37. Muestra todos los archivos de /usr/X11R6/bin ordenados por tamao. Slo debe aparecer el tamao y
el nombre de cada fichero, sin ninguna otra informacin adicional.
38. Crea un directorio en tu directorio de trabajo con nombre prueba. Copia el archivo gzip del
directorio
/bin al directorio prueba. Crea un duplicado de gzip con nombre gzip2 dentro de prueba.
39. Cambia el nombre de prueba a prueba2. Crea prueba3 en el mismo nivel que prueba2 y mueve
todos los ficheros de prueba2 a prueba3. Borra prueba2.
40. Dentro de tu directorio de trabajo, crea un enlace a la aplicacin kwrite que est en /usr/bin. Prueba
si funciona.
41. Copia a un directorio varios ficheros de diferentes tipos (fotos, msica, texto, pginas web, etc.)
y observa la informacin que da la instruccin file sobre cada fichero.
42. Calcula el espacio que ocupa en el disco duro el directorio /var.
43. Muestra el espacio que queda libre en cada una de las particiones.
44. Muestra el contenido del fichero /etc/fstab.
45. Muestra las 10 primeras lneas del fichero /etc/bashrc.

También podría gustarte