1. MANUAL DE LINUX PARA TONTOS
VERSIÓN 1.3
Lista de comandos con descripción de la tarea que ejecutan
Descripción de la tarea Comando
Montar y desmontar unidades
Montar el disquete mount /mnt/floppy
Montar el cdrom mount /mnt/cdrom
Desmontar el cdrom umount /mnt/cdrom
Montar una partición en un directorio mount -t ntfs /dev/hda9
/mnt/directorio_de_montaje
Opciones de mount
Se monta todo lo definido en fstab,
menos lo que tenga “noauto”
-a
cualquiera puede montar el sistema de
archivos
-o user
cualquiera puede montar y desmontar -o users
lo que viene por defecto -o default
solo lectura -ro
lectura y escritura -rw
Moverse en el árbol de directorios
Ver interior de un directorio ls : ls -l : ls -la : ls *.pdf
Entrar en directorio cd /mont/pc_dell_profe
Volver al directorio de usuario cd
Bajar un nivel de directorio cd..
Para bajar dos directorios y subir uno cd ../../directorio_siguiente
Para acceder a otra máquina ssh user@130.206.173.61
ssh imac@130.206.169.206
Para ir al explorador de ventanas nautilus
konqueror
Para saber con qué usuario se está who
Para conocer el directorio actual pwd
Para limpiar la ventana de comandos clear
reset
2. MANUAL DE LINUX PARA TONTOS
VERSIÓN 1.3
Descripción de la tarea Comando
Copiar texto a la ventana de comandos se selecciona texto, y en el lugar donde
se quiere pegar se hace click con el
botón central o con los dos laterales a
la vez
Directorios
Crear directorios mkdir nombre_directorio
Borrar directorio vacío rmdir nombre_directorio
Borrar directorio lleno rm -r nombre_directorio (r=recursivo)
rm -rf nombre_directorio (f= sin
confirmación)
Saber cuando ocupa un directorio du -h nombre directorio
Saber cuanto ocupan las particiones o
puntos de montaje
df -h
Archivos
Ejecutar un archivo ./nombre_archivo
Ejecutar un programa que afecte a
variables de entorno, y que tenga
efecto después de cerrar el terminal en
el que se ejecuta
. ./nombre_archivo
Borrar archivo rm nombre_archivo
Copiar un archivo cp nombre_archivo
/dirección/nombre_diferente
cp nombre_archivo /directorio
cp /directorio/nombre
/directorio/nombre
Copiar un directorio entero cp -r /directorio /directorio
Propiedades del archivo file nombre_archivo
Ver permisos archivo ls -la nombre_archivo
Para cambiar permisos chmod +x nombre_archivo (ejecutable)
Copiar archivos de una máquina a otra scp
3. MANUAL DE LINUX PARA TONTOS
VERSIÓN 1.3
Descripción de la tarea Comando
/path_archivo_origen/nombre_archivo
user@numero_ip:/path_otra_maquina/n
ombre_archivo
user=nombre del usuario
numero_ip = 130.206.169.206 o
nombre de la máquina s169m206
Comandos
Manuales de todos los comandos man nombre_comando
Listado de procesos ps -eaf
Escribir fichero en línea de comandos cat nombre_fichero_texto
more nombre_fichero_texto (q=salir)
Buscar cadena de caracteres en listado grep ‘palabra’
more fichero_texto | grep ‘palabra’
Redireccionar salida a fichero de texto ps -eaf > fichero_texto
Salida de un comando es entrada de
otro
ps -eaf | grep kde
Programas
Ejecutar programa nombre_programa nombre_fichero
Editores de texto emacs
kwrite, kedit, gedit, ...
Patran pat2003
Lectores de pdf kghosview, acroread, ggv, xpdf, ...
3d_mec 3d_mec nombre_archivo
Descomprimir archivo.tar.gz tar -xzvf nombre.tar.gz
tar -xzvf nombre.tgz
Comprimir archivos.gz gzip nombre archivo
Comprimir archivos dentro de
directorio
gzip -r nombre_directorio
4. MANUAL DE LINUX PARA TONTOS
VERSIÓN 1.3
Descripción de la tarea Comando
Descomprimir archivo.gz gunzip nombre_archivo
Ejecutar matlab matlab
matlab -nojvm (en línea de comandos)
Varios
Crear variables de entorno export LD_LIBRARY_PATH=/home/imac
Listado de variables de entorno env
Cambio de encoding (de utf8 a ISO-
8859-1)
export LANG=es_ES
Editar el script de inicio (se ejecuta
siempre al inicio de sesión)
el nombre del archivo es:
/home/usuario/.bashrc
Modificar el arranque (texto<->gráfico) editar el fichero /etc/inittab en la línea
en la que aparece: “id:#:initdefault
#=1=sin seguridad
#=3=modo texto
#=5=modo gráfico (carga las X)
Consolas virtuales: además del entorno
gráfico, existen consolas de comandos
en las que se puede trabajar. Práctico
cuando las X fallan.
ctrl+alt+(F1, F2, ... , F7)
Instalación de programas RPM rpm -ihv nombre_fichero.rpm
Desinstalar programas RPM rpm -e nombre_programa
5. MANUAL DE LINUX PARA TONTOS
VERSIÓN 1.3
ANEXO DE COMPILACION CON GCC
INTRODUCCION
Para llamar al programa gcc en la linea de comandos de unix, solo hay que
escribir "gcc". Para ver todas las opciones del programa, utilizar la orden "man
gcc" o gcc –help. La compilación de un programa se puede hacer en dos pasos.
El primero para compilar los archivos individuales que forman el programa, y el
segundo para linkar todos los archivos que componen el programa.
COMPILAR ARCHIVOS INDIVIDUALES
Para realizar la compilación de un archivo llamado "archivo.c", se ejecuta la
orden siguiente en el directorio donde se encuentre el archivo:
gcc -c archivo.c -I directorio_con_includes_1 -I
directorio_con_includes_2
Esta orden creará un archivo "archivo.o" como resultado de la compilación. La
opción "-c" sirve para que no linke todavía este archivo con otros de los que
dependa.
Si el archivo "archivo.c" que queremos compilar utiliza alguna libreria, o llama a
algún fichero "header", o utiliza algún otro archivo *.c , entonces habrá que
relacionarlo con ellos. En un primer paso, habrá que decirle dónde están los
archivos en los que están declaradas las funciones, y en el segundo paso de
compilación, habrá que decirle, dónde esta el código de esas declaraciones. Esto
se explica a continuación.
COMPILAR ARCHIVOS RELACIONADOS CON OTROS
En un primer paso de compilación debemos decir donde están los encabezados
(declaraciones) de las funciones que vamos a utilizar. Si en el fichero "main.c"
estamos incluyendo el fichero header.h con la orden:
#include <header.h>
deberemos especificar dónde esta ese archivo de la siguiente manera:
gcc -c -I /home/imac/include main.c
La opción -I hace referencia a los "include". Esta instrucción nos creara un
6. MANUAL DE LINUX PARA TONTOS
VERSIÓN 1.3
archivo "main.o" que después podremos volver a compilar para obtener un
ejecutable.
COMPILAR ARCHIVOS PARA LINKARLOS
En este segundo paso de compilación, debemos decirle al compilador dónde
están los archivos en los que está el código, (los archivos de librerías), y también
el nombre de las librerías. El nombre estándar para las librerías siempre empieza
por lib y luego le sigue el nombre:
por ejemplo: libgsl.a (si es estática) libgsl.so.* (si es dinámica) sin embargo para
llamarlas a compilar se omite el prefijo "lib" así como el sufijo ".a" o ".so.*"
De esta forma, para hacer la llamada al compilador y decirle que las librerías
están en "/home/imac/lib" , y que se llama "libgsl.a" se realiza la siguiente
instrucción:
gcc -L/home/imac/lib main.o -lgsl -o main
escribir la librería (-lgsl en este caso) siempre después del archivo *.o
para ejecutar
./main
para compilar y linkar todo de una vez
gcc -g -I /home/imac/include -L /home/imac/lib main.c
otro_fichero.c -lgsl -lm
El -g es para generar símbolos para depuración para depurar con gdb
gdb ./main
>break main
>run
>break ...
>step ó continue
CONSIDERACIONES A TENER EN CUENTA
Existe un directorio llamado /home/imac/lib/pkgconfig en el que el fichero gsl.pc
(por ejemplo) explica como hay que hacer la compilación de las librerías gsl.
Dice dónde buscar las declaraciones y dónde las librerías.
7. MANUAL DE LINUX PARA TONTOS
VERSIÓN 1.3
export PKG_CONFIG_PATH=/home/imac/lib/pkgconfig pkg-config --
cflags --libs gsl
Te da como resultado las librería e includes necesarios para compilar
con la librería
Al ejecutar el programa, éste irá a buscar las librerías a los directorios estándar:
/usr/local/lib, ... Pero cuando la librería no esté instalada en esos directorios
habrá que crear una variable de entorno. La instrucción que hay que ejecutar
antes de compilar utilizando librerías es la siguiente:
export LD_LIBRARY_PATH=/home/imac/lib
Siendo /home/imac/lib el directorio donde están las librerías.
La variable de entorno existirá mientras no se cierre la ventana de comandos en
la que se ha definido. Así, si se crea una ventana nueva a partir de esta, la nueva
heredara las propiedades de su "madre" y la variable de entorno existirá en ella.
Si creamos un archivo *.bash (equivalente a un archivo *.bat en windrows) para
que contenga la instrucción de la creación de la variable de entorno, y se ejecuta
antes de realizar las instrucciones de compilación, la variable de entorno solo
durara mientras es archivo *.bash se este ejecutando, y la variable de entorno
no existirá cuando escribamos las instrucciones de compilación. Pero podemos
ejecutar ese archivo *.bash de una forma alternativa para que lo que suceda
durante su ejecución tenga efecto después:
en vez de ejecutar el archivo "archivo.bash" de la siguiente manera:
./archivo.bash
debemos hacerlo así:
. ./archivo.bash