SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
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
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
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 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
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
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

Más contenido relacionado

La actualidad más candente

20 comandos linux que todos los administradores deben conocer
20 comandos linux que todos los administradores deben conocer20 comandos linux que todos los administradores deben conocer
20 comandos linux que todos los administradores deben conocerOpenWebinars.net
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linuxmaomaq
 
Comandosbasicoslinux ubuntu
Comandosbasicoslinux ubuntuComandosbasicoslinux ubuntu
Comandosbasicoslinux ubuntuCarlos Robayo
 
2.6.montajes y accesos a medios
2.6.montajes y accesos a medios2.6.montajes y accesos a medios
2.6.montajes y accesos a mediosFernando Solis
 
Comandos basicos de linux
Comandos basicos de linuxComandos basicos de linux
Comandos basicos de linuxRonald Rivas
 
Comandos basicos linux ubuntu
Comandos basicos linux ubuntuComandos basicos linux ubuntu
Comandos basicos linux ubuntuJose Diaz Silva
 
Guia basica de comandos ubuntu
Guia basica de comandos ubuntuGuia basica de comandos ubuntu
Guia basica de comandos ubuntussxdan
 
8 herramientas de procesos de string
8  herramientas de procesos de string8  herramientas de procesos de string
8 herramientas de procesos de stringcyberleon95
 
Consola y Comandos Básicos de Linux (I)
Consola y Comandos Básicos de Linux (I)Consola y Comandos Básicos de Linux (I)
Consola y Comandos Básicos de Linux (I)Julio Caiza
 
COMANDOS BASICOS DE LINUX
COMANDOS BASICOS DE LINUXCOMANDOS BASICOS DE LINUX
COMANDOS BASICOS DE LINUXvicente choque
 
Programacinenshell linux
Programacinenshell linuxProgramacinenshell linux
Programacinenshell linuxusupr2014
 
Maria jose hernandez c.i. 27.878.738 - seccion pnf if-02 t1 f2 - administra...
Maria jose hernandez   c.i. 27.878.738 - seccion pnf if-02 t1 f2 - administra...Maria jose hernandez   c.i. 27.878.738 - seccion pnf if-02 t1 f2 - administra...
Maria jose hernandez c.i. 27.878.738 - seccion pnf if-02 t1 f2 - administra...MariaJoseHernndez2
 

La actualidad más candente (18)

20 comandos linux que todos los administradores deben conocer
20 comandos linux que todos los administradores deben conocer20 comandos linux que todos los administradores deben conocer
20 comandos linux que todos los administradores deben conocer
 
11 suplemments
11 suplemments11 suplemments
11 suplemments
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linux
 
Comandosbasicoslinux ubuntu
Comandosbasicoslinux ubuntuComandosbasicoslinux ubuntu
Comandosbasicoslinux ubuntu
 
Genesis Campos
Genesis CamposGenesis Campos
Genesis Campos
 
2.6.montajes y accesos a medios
2.6.montajes y accesos a medios2.6.montajes y accesos a medios
2.6.montajes y accesos a medios
 
Codigos de terminal linux
Codigos de terminal linuxCodigos de terminal linux
Codigos de terminal linux
 
Que es gnu
Que es gnuQue es gnu
Que es gnu
 
Comandos basicos de linux
Comandos basicos de linuxComandos basicos de linux
Comandos basicos de linux
 
Comandos basicos linux ubuntu
Comandos basicos linux ubuntuComandos basicos linux ubuntu
Comandos basicos linux ubuntu
 
Guia basica de comandos ubuntu
Guia basica de comandos ubuntuGuia basica de comandos ubuntu
Guia basica de comandos ubuntu
 
Unix 3.1
Unix 3.1Unix 3.1
Unix 3.1
 
8 herramientas de procesos de string
8  herramientas de procesos de string8  herramientas de procesos de string
8 herramientas de procesos de string
 
Consola y Comandos Básicos de Linux (I)
Consola y Comandos Básicos de Linux (I)Consola y Comandos Básicos de Linux (I)
Consola y Comandos Básicos de Linux (I)
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linux
 
COMANDOS BASICOS DE LINUX
COMANDOS BASICOS DE LINUXCOMANDOS BASICOS DE LINUX
COMANDOS BASICOS DE LINUX
 
Programacinenshell linux
Programacinenshell linuxProgramacinenshell linux
Programacinenshell linux
 
Maria jose hernandez c.i. 27.878.738 - seccion pnf if-02 t1 f2 - administra...
Maria jose hernandez   c.i. 27.878.738 - seccion pnf if-02 t1 f2 - administra...Maria jose hernandez   c.i. 27.878.738 - seccion pnf if-02 t1 f2 - administra...
Maria jose hernandez c.i. 27.878.738 - seccion pnf if-02 t1 f2 - administra...
 

Similar a Manual linux (20)

Comandos
ComandosComandos
Comandos
 
17 comandos basicoslinuxasoitson
17 comandos basicoslinuxasoitson17 comandos basicoslinuxasoitson
17 comandos basicoslinuxasoitson
 
40 Comandos básicos de Linux.docx
40 Comandos básicos de Linux.docx40 Comandos básicos de Linux.docx
40 Comandos básicos de Linux.docx
 
Comandos básicos ubuntu
Comandos básicos ubuntuComandos básicos ubuntu
Comandos básicos ubuntu
 
linux comando
linux comandolinux comando
linux comando
 
Comandos linux unix de manipulación de archivos y directorios
Comandos linux unix de manipulación de archivos y directoriosComandos linux unix de manipulación de archivos y directorios
Comandos linux unix de manipulación de archivos y directorios
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linux
 
Comando de linux
Comando de linuxComando de linux
Comando de linux
 
tutorial0.pdf
tutorial0.pdftutorial0.pdf
tutorial0.pdf
 
Curso-Taller GNU-Linux Dia2
Curso-Taller GNU-Linux Dia2Curso-Taller GNU-Linux Dia2
Curso-Taller GNU-Linux Dia2
 
Unix JCRB
Unix JCRBUnix JCRB
Unix JCRB
 
Como instalar Unix(Johanna)
Como instalar Unix(Johanna)Como instalar Unix(Johanna)
Como instalar Unix(Johanna)
 
01 practicas de laboratorio
01 practicas de laboratorio01 practicas de laboratorio
01 practicas de laboratorio
 
Unix 1314 test
Unix 1314 testUnix 1314 test
Unix 1314 test
 
Tutorial linux
Tutorial linuxTutorial linux
Tutorial linux
 
Tutorial 18pag
Tutorial 18pagTutorial 18pag
Tutorial 18pag
 
Curso GNU/Linux
Curso GNU/LinuxCurso GNU/Linux
Curso GNU/Linux
 
Intro
IntroIntro
Intro
 
Comandos Linux 1.ppt
Comandos Linux 1.pptComandos Linux 1.ppt
Comandos Linux 1.ppt
 
Comandos ubuntu
Comandos ubuntuComandos ubuntu
Comandos ubuntu
 

Último

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Último (12)

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Manual linux

  • 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