LPIC

Guía extraoficial de estudio

Archivos en la Categoría: 1: Trabajo en la línea de comandos

Comandos para visualizar ficheros (head, tail y less)

Vamos a comentar algunos de los comandos más utilizados para la visualización de ficheros:

Visualizar el inicio de los ficheros con head.

head  fichero.txt nos mostrará las 10 primeras lineas de éste. Esto es útil si necesitemos ver la cabecera de un archivo, por ejemplo. Podemos especificar el número de lineas con el flag -n, o el número de bytes con -c.

Visualizar el final del fichero con tail.

Este comando actúa de la misma manera que head, solo que al revés. Al ejecutar tail fichero.txt el shell nos mostrará las 10 últimas lineas. Este comando es utilizado para examinar la actividad reciente en los ficheros de registro (logs), o en otros fichero a los que haya que añadir datos. También estás disponibles los flags -n y-c.

Recorrer las páginas del fichero con less.

Éste comando no es más que una versión mejorada de more. Posee algunas funcionalidades, como la de poder retroceder por páginas en un fichero, que le hacen más interesante. No obstante, aunque suele venir configurado por defecto en Linux, muchos siguen utilizando more. Cuando ejecutamos este comando sobre un fichero, es posible avanzar o retroceder páginas. Veamos su funcionamiento:

Tecla Resultado
Barra espaciadora Avanza por el fichero
Esc + v Retrocede por el fichero
Flecha arriba y abajo recorre el fichero linea a linea
/palabra_a_buscar Busca la palabra en el documento, hacia adelante.
?palabra_a_buscar Busca la palabra en el documento, hacia atrás.
g+num Nos lleva a la línea especificada, en este caso la 50
q Salir del programa
Anuncios

Combinaciones de teclas en la consola de comandos

Vamos a describir algunas de las combinaciones de teclas más útiles que tiene la consola de comandos, que nos van a ayudar a mejorar nuestra productividad y velocidad:

Combinación Resultado         
Ctrl+A/E Desplazar el cursor al principio o final de la linea
Ctrl+flecha izq/der Desplazar el cursor palabra a palabra
Ctrl+l Borra la pantalla (clear)
Ctrl+d Final de archivo EOF – cancela – borra carácter que hay debajo del cursor
Ctrl+c Mata un proceso
Ctrl+z Suspende un proceso
Ctrl+k Borra el texto que hay entre el cursor y el final de la línea
Ctrl+x+retroceso Borra el texto que hay entre el cursor y el principio de la línea
Shift+insert Pega el texto copiado
Ctrl+insert Copia el texto seleccionado
Ctrl+r Comienza una búsqueda hacia atrás de un comando por las letras que introduzcas.
Ctrl+s Comienza una búsqueda hacia adelante de un comando (útil solo si nos hemos pasado pulsando “flecha adelante” para buscar un comando) por las letras que introduzcas.

Para practicar con las  últimas combinaciones de teclas, recordad el comando history (muestra historial de comandos) y history -c (lo borra).

Comandos internos y externos

La diferencia entre estos dos tipos de comando no es más que los internos son los nativos de la consola. Digamos que los externos el intérprete no los sabe ejecutar y para ello requiere su localización en el disco duro. Para encontrarlos, los buscará en una serie de directorios, en concreto aquellos que están indicados en la variable PATH.

Veamos que contiene la variable PATH de mi sistema:

super@linux-jweh:~> echo $PATH
/home/super/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/jvm/jre/bin

Cada directorio separado por ” : ” es un “lugar” donde bash va a buscar dichos comandos externos.

Algunos de los comandos internos de bash son:

  • cd: Comando utilizado para el cambio de directorio de trabajo.
              super@linux-jweh:~> cd /home/super/
              super@linux-jweh:~> pwd
              /home/super
  • pwd: como hemos visto en el ejemplo anterior, este comando muestra por pantalla el directorio de trabajo actual.
              super@linux-jweh:~> pwd
              /home/super
  • echo: Muestra el texto que le sigue. Se podría decir que es como un “printf” en C. En el caso pasarle una variable, muestra su contenido.
                  super@linux-jweh:~> echo hello
  • exec: este comando se utiliza para la ejecución de un programa especificado. Tiene la funcionalidad adicional de ejecutarse junta a la consola, no crea un nuevo proceso. Con esto, cuando finalice la ejecución del programa, finalizará también la consola.
  • time: Muestra el tiempo que tardan en ejecutarse los siguientes procesos:
 [J.F.]$ time ls
1 2 3 back.tar.gz backup.tar
real 0m0.01s
user 0m0.00s
sys 0m0.01s
  • exit: cierra la consola.
Podemos ver más comandos internos ejecutando el comando “help” (también interno) en nuestra consola.

De entre los comandos externos, podríamos citar algunos:

  • ls: sin argumentos,  muestra el contenido del directorio actual. Si le indicamos un directorio, muestra el contenido de dicho directorio.
   super@linux-jweh:~> ls
   bin   Descargas   EOF         Imágenes  Música      Plantillas   Público
   come  Documentos  Escritorio  menu.py   output.txt  public_html  trabajo
   super@linux-jweh:~> ls trabajo/
   copiafitxers.py  formateado   olag    olasaa  olasac  olasa_may   test
   fichero.txt      formateado2  ola.py  olasab  olasad  salida.txt  tabu.txt
  • cp: copia un fichero o directorio.
         super@linux-jweh:~/trabajo> cp formateado formateado_copia
  • mv: mueve un fichero a otro lugar. Si l directorio de destino es el mismo que el de origen, en fichero se renombrará.
        super@linux-jweh:~/trabajo> mv formateado formateado8
  • rm: borra un fichero
        super@linux-jweh:~/trabajo> rm fichero_para_borrar.txt