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 -o user archivos 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
[email protected] ssh
[email protected]
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
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 . ./nombre_archivo variables de entorno, y que tenga efecto después de cerrar el terminal en el que se ejecuta 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
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
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 ISO8859-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 (textográ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 ctrl+alt+(F1, F2, ... , F7) gráfico, existen consolas de comandos en las que se puede trabajar. Práctico cuando las X fallan. Instalación de programas RPM
rpm -ihv nombre_fichero.rpm
Desinstalar programas RPM
rpm -e nombre_programa
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 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
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.
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