Saltar la navegación

4.3.- Comandos de ficheros

Editor de texto plano:

Si estamos en gráfico, Ubuntu incorpora el editor de texto plano gedit (equivalente al bloc de notas o notepad de windows)
En terminal, hay muchos, los más conocidos son: nano, vi, emacs.

En Ubuntu están instalados nano y vi. En entorno comando, desde el primer UNIX se utilizó el editor vi, muy completo pero que se utiliza solo con comandos. En nuestro caso, vamos a utilizar el editor nano, con menos opciones que el vi, pero fácil de utilizar.

Ejemplo: nano archivo.txt abre el editor nano. Si existía archivo.txt, muestra su contenido en pantalla. Si no existía, muestra vacío el contenido. En cualquier caso, podemos añadir o modificar el contenido que queramos.
Para salir y guardar hay que utilizar las combinaciones de tecla que aparecen en la misma ventana del editor en la zona de abajo.
Se muestra captura del editor nano (se ha ejecutado nano archivo.txt).

Ilustración de Editor nano.
Miguel Ángel García Lara (CC BY-NC-SA)

touch
Crea un fichero vacío, si ya existía, actualiza su hora de modificación.
Por ejemplo, touch archivo.txt crea archivo.txt sin contenido en el interior.

Visualización de fichero en terminal:

Los comandos cat, less y more sirven para visualizar archivos de texto en pantalla (equivalen al comando type en Windows)
Las diferencias entre ellos, es que cat muestra el contenido entero, devolviendo el Shell del sistema. Sin embargo, less y more, muestran el contenido del fichero, se puede subir y bajar con los cursores, y para salir se debe pulsar q (quit)

El comando head muestra las 10 primeras líneas de un fichero.

El comando tail muestra las 10 últimas líneas de un fichero.

Comando type
Realiza una acción totalmente distinta que en Windows. En Linux, muestra donde se encuentra el ejecutable de un comando.

Ejemplo:
¿Dónde se encuentra el fichero ejecutable del comando touch?
alumno@sistemasUbuntu:~$ type touch
touch is /usr/bin/touch El archivo touch se encuentra en /usr/bin/touch

Comando cp
Sintaxis: cp [-R] origen destino
El comando cp copia archivos o directorios, se pueden copiar con otro nombre.
-R La opción “R” copia recursivamente, toda la estructura de subdirectorios y ficheros. Copia el árbol entero.

Ejemplos:

  • Estando en $HOME de alumno, copiar el archivo “archivo.txt” en el $HOME de miguel con el nombre copia.txt.
    Utilizando ruta relativa:
    alumno@sistemasUbuntu:~$ cp archivo.txt ../miguel/copia.txt
    Utilizando ruta absoluta:
    alumno@sistemasUbuntu:~$ cp /home/alumno/archivo.txt /home/miguel/copia.txt
  • Copiar todos los archivos .txt del directorio home de usuario 1 al subdirectorio datos con la extensión .dat
    cp /home/usuario1/*.txt /home/usuario1/datos/*.dat
  • Copiar toda la estructura del directorio home de usuario1 al directorio home de usuario 2 (con ruta absoluta)
    cp -R /home/usuario1 /home/usuario2

Comando mv
Sintaxis: mv origen destino
El comando mv mueve archivos o directorios, se puede cambiar el nombre a la vez.
También sirve para renombrar ficheros o directorios.

Comando rm
Sintaxis: rm [-irf] fichero
El comando rm borra ficheros (remove)
-i La opción i pide confirmación antes de borrar cada archivo.
-r La opción r borra recursivamente, por lo que borra directorios enteros.
–f La opción f fuerza el borrado de los archivos, sin preguntar
Para borrar un directorio con una sola orden, y sin tener que confirmar cada borrado, se ejecuta rm -rf

Ejemplo:
Borrar el directorio hoy situado dentro del directorio home de alumno con ruta absoluta:
alumno@sistemasUbuntu:~$ rm –rf /home/alumno/hoy

Direccionamientos “>”, “>>”, “2>”, “2>>”

Los operadores de direccionamiento > y >> se utilizan de la misma forma que en Windows. La salida esperada en la terminal; se redirecciona a un archivo.
El operador > sobrescribe el archivo y el operador >> añade a lo que ya tuviera.

Cuando se ejecuta un comando, se devuelven 2 salidas distintas en terminal: la esperada o estándar (buffer stdout) y los errores (buffer stderr). Mientras que los operadores > y >> redireccionan la salida estándar, los operadores 2> y 2>> redireccionan el buffer de errores.