martes, 14 de octubre de 2014

Comandos básicos Linux I


Comandos básicos Linux I
Comandos Básicos I
• • • •
$ date
$ cal $ cal 12 1970 $cal -3 12 1970 Encadenado de comando: $ date;pwd;cal

Visualizar texto por pantalla:
$ echo –e “Hola\nme\llamo\nPepe”
\n: Salto de línea. \\: barra \t: Tabulación horizontal.
\b: carácter atrás.
Comandos Básicos I

Comando internos y externos:
  • –  Comando externos: son los programas binarios almacenados en HD y cargados en memoria, para poder ejecutarlos.
  • –  Comando internos: son los que se ejecutan dentro de la Shell.
  • –  $ type comando
Comandos Básicos I

Atajos para comandos:
  • –  [Ctrl] C: Interrupción del programa, se termina.
  • –  [Ctrl] Z: Para el programa. $find/
    $ ps –aux
  • –  [Ctrl] D: interrumpe interrupción de datos en un promt >
$ mail
Comandos Básicos I

Historico de comandos:
$ history
$ !numero comando: ejecuta ese comando. Se almacena en ~/.bash_history
$ history –c: ¿borra histórico?
Comandos Básicos I

Las rutas:
  • –  El nombre de la ruta o Path name de un fichero es la concatenación, desde la raíz /, de todos los directorios que se deben cruzar para acceder a él, estarán separados cada uno por el carácter /
  • –  /home/usuario/practicas/pract1.txt
  • –  Una ruta absoluta no tiene ni . ni ..
Comandos Básicos I

Ruta relativa:
Partimos de la posición en el directorio actual.
Entradas particulares de directorios:
. Representa el directorio actual. Implícito.
.. Representa el directorio de nivel superior.
La ruta relativa:
Describe una ruta desde la posición actual. Puede contener . O ..
Comandos Básicos I
• • • •
Documentos/personal ./Documentos/personal
Donde: . Representa el directorio activo /home/usuario/documentos/../

Comandos Básicos I

Alias del directorio personal: ~ (Virgulilla)

virgulilla, pero esta no debe ir precedida por carácter alguno.

Las rutas pueden ser relativas a la
$ cd ~/docu $ /~ Error
Comandos Básicos I

– – –
– –
cd:
Change Directory.
cd . No se mueve.
cd .. Sube un nivel.
cd sin argumento vuelve al directorio personal del usuario.
cd ../home
cd ../../usuario



Comandos Básicos I
Listado de ficheros y directorios: ls
– Ejercicio:
ls –l es la opción más completa.
Utiliza man ls para ver las opciones. Anota las opciones más importantes.
¿Qué ficheros son los que comienzan por un punto .?.
Comandos Básicos I
• • •
• • • •
1 -: ordinario, d: directorio, l: vínculo simbólico. 2 contador de vínculos.
3 Propietario del fichero que suele ser el creador.
4 El grupo al cual pertenece
5 El tamaño del fichero en Bytes. 6 Fecha de la última modificación. 7 Nombre del fichero.

Comandos Básicos I



Crear ficheros vacíos:
$ touch nombre
¿Qué otra finalidad tiene el comando?.
Crear directorios mkdir nombre

mkdir –p dir1 dir2 dir3

rmdir
Suprime directorios:
Comandos Básicos I

rmdir no suprime una extructura.

ficheros ni directorios, aunque los subdirectorios están vacíos.

El directorio a eliminar no puede tener ni

$ rm.
Para suprimir una estructura utilizar:
• • •
ALTAMENTE PELIGROSO. rm [opciones] fic1 fic2 fic3
-i: Confirmación para cada uno de los ficheros a eliminar.
Comandos Básicos I

completas.

rm : Suprime uno o varios fichero y estructuras

La supresión es recursiva. Se suprimen todos los niveles inferiores.

• •
-f: fuerza la supresión.
Muy práctico pero peligroso combinar: -rf

-r: siguiente parámetro debe ser un directorio.
Comandos Básicos I Copiar ficheros:


$ cp fich1 [fich2 fich3] Destino
  • –  -i: Pide confirmación de escritura para cada fichero.
  • –  -r: recursivo, copia un directorio y todo su contenido. $ cp –r dir1 dir2
  • –  -p: se preservan los permisos y las fechas.
  • –  -f: forzar la copia.
Comandos Básicos I

Ejercicio:
Crear un fichero de nombre:-i Tratar de borrarlo.
Comandos Básicos I

Mover y renombrar ficheros: $ mv
$ mv fich1 fich.old
$ mv fich2 dir/fich2
$ mv fich2 dir/fich2.old


Comandos Básicos I
Comodines:
Son caracteres de sustitución.
– – –
– – –
*: Sustituye una cadena de longitud variable.
?: Sustituye un único carácter.
[a-g]: Un carácter entre la serie o rango de caracteres.
[!a-g]: Inversión de la búsqueda.
[^a-g]: Inversión de la búsqueda.
{a,g,h}: Un carácter de los especificados.


Comandos Básicos I Comodines:

argumentos que representen ficheros o rutas.

Pueden ser utilizados dentro de todos los
  • –  Se deben cerrar algunos caracteres especiales.
  • –  \ permite cerrar un único carácter.
  • –  $ ls fichero\ * . Se pone \ para que interprete el carácter en blanco.
  • –  Las comillas “”, permiten la interpretación de caracteres especiales o de variables, dentro de una cadena.
  • –  Los apóstrofes ‘’ cierran todos los caracteres especiales de una cadena o fichero.
Comandos Básicos I

Vínculos Simbólicos (SoftLink):
  • –  Es un fichero especial que contiene como información la ruta a otro fichero.
  • –  Es por tanto como un “Alias”.
  • –  $ ln –s fichero vínculo.
  • –  Los vínculos se comportan como el fichero al que apunta, con los mismos permisos y propiedades.
Comandos Básicos I

Vínculos Simbólicos (SoftLink):
  • –  Si el fichero apuntado es un programa, ejecutar el vínculo ejecutará el programa.
  • –  Si el fichero apuntado es un fichero especial, periférico, se ve el vínculo como periférico.
  • –  Si el fichero apuntado es un directorio, un cd llevará a la entrada en ese directorio.
Comandos Básicos I

Vínculos Simbólicos (SoftLink):
  • –  La eliminación del vínculo no implica la eliminación del fichero apuntado.
  • –  La eliminación del fichero apuntado no implica la eliminación del vínculo. Vinculo apunta al vacío.
  • –  Los derechos del fichero apuntado prevalecen sobre los del vínculo.
Comandos Básicos I


¿Qué derechos tiene tanto el vínculo como el fichero apuntado?.
Vínculos Simbólicos (SoftLink): $ touch prueba1
$ ln –s prueba1 vinculoprueba1
ls –l
Comandos Básicos I

Redirecciones:
  • –  Capacidad de redireccionar la visualización de la pantalla hacia:
    Fichero.
    Impresora.
    Cualquier otro periférico.
  • –  Capacidad de redireccionar los mensajes de error hacia otro fichero.
  • –  Sustituir la introducción vía teclado por un fichero.
Comandos Básicos I

Redirecciones:
  • –  Cualquier flujo de datos pasa por un canal y podrá ser desviado hacia otro destino u otra fuente.
  • –  Canal de entrada por defecto es el teclado.
  • –  Canal de salida por defecto es la pantalla.
  • –  Los errores se direccionan por defecto a la pantalla.
Comandos Básicos I

Redirección de salida: (>,>>)
  • –  $Comando > fichero
  • –  $ls –l > listado.txt
  • –  Si no existe listado.txt, se creará.
  • –  Si existe listado.txt, se sobreescribirá, incluso si el comando introducido fuera incorrecto.
  • –  El Shell en primer lugar crea el fichero y posteriormente introduce el resultado del comando en listado.txt.
Comandos Básicos I

Redirección de salida: (>,>>)
  • –  Si lo que se quiere es añadir en el fichero se empleará >>
  • –  $ls –l >> listado.txt
  • –  De esta forma se añadirán nuevos datos a listado.txt sin sobreescribirlo.
  • –  $ifconfig eth0 > miIP.txt
Comandos Básicos I

Redirección de entrada: (<)
  • –  Los comandos que esperan datos o parámetros pueden también recibirlos desde un fichero usando <.
  • –  $wc < fichero.txt
  • –  $tr ‘ ‘ ‘\t’ <prueba.txt
  • –  $mail usuario < carta.txt
Comandos Básicos I

Redirección de entrada: (<<)
  • –  Herescript o Here Document, permite la inserción de un texto hasta un punto especificado y el envío de su resultado a un comando o un filtro.
  • –  $tr ‘ ‘ ‘\t’ <<END
    Ahora introducimos un texto. Al terminar de introducir el texto pondremos END, se le pasa al comando tr el texto y sustituirá espacios en blanco por tabulaciones.
Comandos Básicos I

Redirección de entrada: (<<)
Herescript o Here Document
$tr ‘[a-z]’ ‘[A-Z]’ <<END
>En un lugar de la Mancha. >END
Comandos Básicos I

Canales estándares:
Canal de entrada estándar stdin descriptor 0
Canal de salida estándar stdout descriptor 1
Canal de error estándar descriptor 2.
Se puede redireccionar el canal de error estándar hacia otro fichero.
$ls t* y*
$ls t* y* 2> error.txt
No se muestra por pantalla los errores sino que los reencaminamos al fichero error.txt
Comandos Básicos I

Canales estándares:
Podemos redireccionar los dos canales de salida a un único fichero, utilizando &>.
$ls z* y* > resultados.log
Muestra los errores en pantalla y en resultados.log lo acertado de ls.
$ls z* y* 2> errores.log
Muestra los resultado acertado de ls por pantalla, y se introduce en errores.log los errores de ls.
Comandos Básicos I

Canales estándares:
$ls z* y* > resulconError.log 2>&1
  • En pantalla no se muestra nada estando todos los resultados acertado como errores de ls en resulconError.log
  • En primer lugar se indica que la salida de error se desvíe a la salida estándar, posteriormente se redirecciona el resultado de la salida estándar del comando ls hacia el fichero resultconError.log. El fichero tendrá tanto la salida estándar y la salida de error.
Comandos Básicos I

• •
$ls –l > /dev/null 2>&1 $cat /dev/null
Canales estándares:
$wc < fichero.txt > resultado.txt $cat resultado.txt
Comandos Básicos I


  • –  El número de canales en total son del 0-9.
  • –  Los canales están abiertos para la entrada y para la
Apertura de canales:
Los canales estándares son los numerados como 0,1,2.
exec permite abrir otros siete canales, 3-9.
salida.
$exec 5>canal5.txt $ls –l >&5
$cat canal5.txt

– – –
  • –  Todo lo que se escriba por el canal 5 irá a canal5.txt
  • –  $exec 5>&- #Cierro el canal 5


Comandos Básicos I
Apertura de canales: $exec 6<canal6.txt
– –
Para cerrar el canal lo redireccionamos a un seudocanal (canal de cierre -)
$cat <&6
$exec 6>&- #Cerramos el canal.

Comandos Básicos I

Tuberías o Pipelines:
Permiten redireccionar el canal de salida de un comando hacia el canal de entrada de otro comando.
Carácter |
– –
$ps –a | grep gimp*
$ifconfig eth0 | grep 192.168.1.100

Comandos Básicos I

Encadenamiento de comandos:
  • –  La relación de comando deben estar separados por ;
  • –  $comando1;comando2;comando3
  • –  $date;who;ps
  • –  $uname -a;pwd;ls -l > resultado.txt
Comandos Básicos I

plano:

Ejecución de un comando en segundo
  • –  Cuando se inserta un comando, el shell crea un nuevo proceso para ejecutarlo.
  • –  Una vez iniciado el nuevo proceso se debe esperar a la finalización para iniciar el siguiente comando. Salvo que encadenemos comandos con ;
  • –  Nada impide al shell esperar al mensaje de finalización del comando para la ejecución de un nuevo comando.
Comandos Básicos I

plano:

Ejecución de un comando en segundo
  • –  Para que el shell autorice la ejecución de un nuevo comando sin esperar la finalización de la ejecución del comando anterior, debemos acabar el comando con &.
  • –  $sleep 10s & #Espero 10 segundos
  • –  Al ejecutar el comando nos muestra:
    [Número del trabajo] PID Identificador de proceso
  • –  Podremos ver los trabajos en segundo plano con: $jobs
Comandos Básicos I

plano:

Ejecución de un comando en segundo
  • –  $jobs #Muestras los trabajos segundo plano
  • –  $ps -aux | grep sleep #Vemos el proceso
  • –  $yes hola
  • –  CTRL+Z
  • –  CTRL+C
# Muestra infinitos hola por pantalla
# paramos el comando ó # detenemos el comando
$yes hola > /dev/null

Los hola los re-encaminamos a la nada
Comandos Básicos I

plano:

Ejecución de un comando en segundo
$yes Hola Mundo > /dev/null &
$jobs;ps -a | yes
$fg %n #Ponemos al trabajo n el primer plano CTRl+Z lo paramos CTRL+C lo detenemos
$bg %n arranca trabajo n que esté parado.
$jobs
Comandos Básicos I

plano:

Ejecución de un comando en segundo
$gedit & # Podremos trabajar con gedit
$fg %n #Ponemos en primer plano el trabajo n
CTRL+Z #Paramos gedit
$bg %n #Ponemos en segundo plano gedit
Comandos Básicos I

plano:

Ejecución de un comando en segundo $uname -a;pwd;ls -l > resultado.txt &
Comandos Básicos I

Búsqueda de ficheros:
  • –  Comando find permite la búsqueda recursiva de ficheros dentro de la estructura de ficheros, y pemite actuar sobre los resultado devueltos.
  • –  $find ruta criterios opciones
Comandos Básicos I


-type: $find . -type l “link*” -print b:Ficheroespecialmodobloque
c:Ficheroespecialmodocarácter d:Directorio
f:ficheroordinario.
l:Vínculosimbólico
p:TuberíaoPipe
s:Socket(Conexióndered)
Búsqueda de ficheros:
Criterios de búsqueda:
-name $find . -name “result*” -print
Comandos Básicos I

Criterios de búsqueda:
Búsqueda de ficheros:

grupo de pertenencia de los ficheros.


-size:
-user -group: busqueda sobre el propietario y
– – – – –
  1. b:  bloque de 512 bytes
  2. c:  carácter 1 byte.
w: palabra 2 bytes k: 1 kbyte
El valor puede ir precedido de + ó - $find -size +100k
Comandos Básicos I

Criterios de búsqueda:
Búsqueda de ficheros:

-atime, mtime:
  • –  atime: último acceso (access time)
  • –  mtime:última modificación.
  • –  Trabajan con periodos de 24 horas, 1 día.
  • –  0: será el mismo día.
  • –  1: ayer.
  • –  2: antes de ayer
  • –  Etc.
  • –  Los signos de + y – permiten precisar los términos “de más” y “de menos”.
  • –  $find . -mtime -1
Comandos Básicos I

Búsqueda de ficheros:
Comandos:
  • -ls: indica información detallada en los ficheros encontrados.
  • -exec: ejecuta el comando que va justo después con cada coincidencia
  • Exec debe ser obligatoriamente la última opción de find.
  • El comando ejecutado por exec debe terminarse por {} \;
  • $find . -type f -name ”*.avi” -exec rm -f {} \;
Comandos Básicos I

Búsqueda de ejecutables: $ whereis nombre
$ which comando
$ locate fichero
Comandos Básicos I

Búsqueda de ejecutables:
$ whereis nombre
Busca en rutas de binarios -b Entradas en el manual -m
Fuentes de los ficheros –s

No hay comentarios:

Publicar un comentario