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.
$ 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?
– $ 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 ..
– 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/../
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.
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.
– Change Directory.
cd . No se mueve.
cd .. Sube un nivel.
cd sin argumento vuelve al directorio personal del usuario.
cd .. Sube un nivel.
cd sin argumento vuelve al directorio personal del usuario.
cd ../home
cd ../../usuario
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 .?.
¿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.
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.
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?.
– $ touch nombre
– ¿Qué otra finalidad tiene el comando?.
Crear directorios
mkdir nombre
–
mkdir –p dir1 dir2 dir3
•
– rmdir
– rmdir
Suprime directorios:
Comandos Básicos I
•
•
rmdir no suprime una extructura.
•
ficheros ni directorios, aunque los subdirectorios están vacíos.
ficheros ni directorios, aunque los subdirectorios están vacíos.
El directorio a eliminar no puede tener ni
•
– $ rm.
– $ rm.
Para suprimir una estructura utilizar:
•
•
•
ALTAMENTE PELIGROSO.
rm [opciones] fic1 fic2 fic3
-i: Confirmación para cada uno de los ficheros a eliminar.
-i: Confirmación para cada uno de los ficheros a eliminar.
Comandos Básicos I
•
completas.
completas.
rm : Suprime uno o varios fichero y estructuras
•
La supresión es recursiva. Se suprimen todos los niveles inferiores.
La supresión es recursiva. Se suprimen todos los niveles inferiores.
•
•
-f: fuerza la supresión.
Muy práctico pero peligroso combinar: -rf
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.
– 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
– $ mv fich1 fich.old
– $ mv fich2 dir/fich2
– $ mv fich2 dir/fich2.old
•
–
–
Comandos Básicos I
Comodines:
Son caracteres de sustitución.
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.
?: 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.
[^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.
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?.
•
–
– ¿Qué derechos tiene tanto el vínculo como el fichero apuntado?.
Vínculos Simbólicos (SoftLink):
– $ touch prueba1
– $ ln –s prueba1 vinculoprueba1
– $ 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
– 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.
– 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
– $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.
– 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
– $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
– $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.
– 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
$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 -)
– Para cerrar el canal lo redireccionamos a un seudocanal (canal de cierre -)
$cat <&6
$exec 6>&- #Cerramos el canal.
$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.
– 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
$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:
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:
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:
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
# paramos el comando ó # detenemos el comando
– $yes hola > /dev/null
–
–
Los hola los re-encaminamos a la nada
Comandos Básicos I
•
plano:
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
– $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:
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
– $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:
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)
•
•
• -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:
– Criterios de búsqueda:
-name $find . -name “result*” -print
Comandos Básicos I
•
– Criterios de búsqueda:
– Criterios de búsqueda:
Búsqueda de ficheros:
•
grupo de pertenencia de los ficheros.
grupo de pertenencia de los ficheros.
•
-size:
-user -group: busqueda sobre el propietario y
–
–
–
–
–
-
b: bloque de 512 bytes
-
c: carácter 1 byte.
El valor puede ir precedido de + ó -
• $find -size +100k
Comandos Básicos I
•
– Criterios de búsqueda:
– 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:
– 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
– $ 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
– $ whereis nombre
– Busca en rutas de binarios -b – Entradas en el manual -m
– Fuentes de los ficheros –s
No hay comentarios:
Publicar un comentario