Está en la página 1de 19

Bloque 3.

Sistemas operativos libres: Linux

U.D. 14
COMANDOS BÁSICOS DE LINUX

Módulo: Sistemas Informáticos


CFGS. Desarrollo de Aplicaciones Multiplataforma (DAM)

I.E.S. COMERCIO
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

ÍNDICE

1. INTRODUCCIÓN 3
2. FORMAS GENERALES DE OBTENER AYUDA EN LINUX.5
3. RUTAS ABSOLUTAS Y RELATIVAS 6
4. COMANDOS BÁSICOS 7
4.1. Comandos para manipular ficheros y directorios .................................................................7

4.2. Comandos para paginar, visualizar y editar ficheros .........................................................10

4.3. Comandos para hacer búsquedas de ficheros y patrones................................................12

4.4. Comandos para comprimir y agrupar ficheros ....................................................................14

4.5. Otros Comandos ......................................................................................................................15

5. MANEJO AVANZADO DE LA SHELL 17


5.1. Variables de entorno ...............................................................................................................17

5.2. Metacaracteres.........................................................................................................................17

5.3. Anidar o concatenar comandos .............................................................................................17

5.4. Tuberías ....................................................................................................................................17

5.5. Redireccionamientos ...............................................................................................................18

2
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

1. INTRODUCCIÓN
Para manejar GNU/Linux se puede hacer de dos formas: una gráfica (si se instaló una interfaz
X) y una de texto conocida como consola o terminal.
Linux ofrece el mecanismo de consolas o terminales virtuales. Esto consiste en que a partir de
una entrada (el teclado) y con una salida (el monitor) se simulen varias terminales, donde el
mismo, o distintos usuarios puedan conectarse indistintamente. De esta forma es posible tener
más de una sesión abierta en la misma máquina y trabajar en ellas.
Por defecto, las consolas desde la uno a la seis tienen asociado un programa que permite
conectarse al sistema en modo texto, mientras que la siete, si se instaló y activó el “modo
gráfico”, constituye una consola gráfica.
El cambio de una consola a otra se realiza a través de la combinación de teclas Alt y Fx (las
teclas de Función), donde x varía entre 1 y 12.
Desde una consola gráfica para cambiar a otro tipo texto se debe además presionar la tecla
Ctrl, pues las combinaciones Alt + Fx son capturadas e interpretadas por las aplicaciones
gráficas de otra forma.
Si nos remitimos a una consola texto podremos apreciar que en ella se mostrará, el nombre
que se le asignó al sistema en la instalación y la palabra login. Aquí puede entrarse el login de
un usuario del sistema.
(Luego se pedirá el password que al ser introducido no se muestra ningún eco en la pantalla.
Si ambos son válidos se establecerá la conexión y se
mostrará el prompt:
usuario@maquina:~$
Del prompt podemos obtener la siguiente información:

 usuario: El usuario que está manejando la Shell.

 maquina: El nombre del pc que se está


manejando.

 ~: Directorio, del sistema de archivos donde se


encuentra el usuario (Alt Gr + 4)

 $ ó #: Indica si es un usuario normal ($), o es un usuario con privilegios, normalmente


root (#)
El programa que se ejecuta en Linux cada vez que un usuario se conecta y que le permite
interactuar con el sistema se conoce como shell. Éste es capaz de interpretar una gran gama
de comandos y sentencias. Constituye a su vez un poderoso lenguaje de Scripting
(programación).
Existen muchos tipos de shells orientados a caracteres para Linux.

3
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

Ejemplos:
 ash: A shell

 csh: C shell

 bsh: Bourne Shell

 bash: Bourne Again Shell

De los mencionados anteriormente bash es el más empleado en Linux. Es uno de los más
desarrollados y está adaptado para múltiples plataformas. Ofrece entre otras posibilidades las
siguientes:

 Auto completar durante la escritura. Al teclear uno o varios caracteres se puede


pulsar TAB con el objetivo de que en caso de que pueda completarse de forma unívoca
un comando, nombre de fichero o una variable (dependiendo del contexto), la complete
de forma automática (se escriba el resto de la palabra). Si existieran varias
posibilidades para completar la palabra, se oirá un sonido y volviendo a pulsar TAB se
mostrarán en pantalla todas las posibilidades existentes.

 Historial de comandos. Esta es una facilidad de muchos otros shells que permite el
movimiento a través de los últimos N comandos ejecutados, en la sesión actual o en
las anteriores. N por defecto es 1000, pero puede modificarse. Para moverse arriba y
abajo se suelen utilizar los cursores.

 Poderosas estructuras de control para realizar scripts. (Procesos por lotes). Se


pueden usar instrucciones if, for, while, select, etc.

 Definición de funciones y alias para comandos. Las funciones permiten definir


subrutinas programadas usando el lenguaje de bash y los alias, asociar nombres a
comandos con ciertas opciones y argumentos de forma más nemotécnica o abreviada.

4
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

2. FORMAS GENERALES DE OBTENER AYUDA EN LINUX.


Existen múltiples y variadas formas de obtener ayuda en un sistema Linux:

1. Muchos comandos poseen una opción para mostrar una ayuda breve acerca de su
utilización. Esta opción usualmente es --help ó -?.

Se añade el parámetro - - help tras cualquier comando, para así obtener la ayuda de dicho
comando.

Ej : $ ls --help

2. El comando man formatea y despliega un manual bastante amplio acerca de comandos,


formatos de ficheros de configuración, etc. Los manuales están disponibles y pueden
instalarse en múltiples idiomas.

Ejemplo: $ man chmod

3. Existe un conjunto de comandos integrados (builtin) al bash que no poseen un manual


propio. Para ellos se puede emplear el comando help. Algunos de los comandos integrados
al bash son: cd, fg, bg, logout, exit, umask, set, help, source, alias, echo, kill, jobs y export.

Ejemplo: $ help logout

4. El programa info despliega información acerca de comandos, en ocasiones más amplia


que la que brinda man.

Ejemplo: $ info ln

5. Muchos programas se empaquetan con su documentación en diversos formatos.


Normalmente estas ayudas se agrupan en el directorio /usr/share/doc.

6. En Internet de forma general existen una gran cantidad de grupos de noticias, listas de
discusión, sitios Web y FTP sobre Linux.

5
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

3. RUTAS ABSOLUTAS Y RELATIVAS


Para indicar la ubicación en disco de un fichero hay que indicar la lista de directorios que
contienen al fichero. Es decir, un fichero puede estar dentro de un directorio que a su vez está
dentro de otro y así varios. En esta lista, que denominaremos ruta de acceso, cada directorio
está separado del siguiente directorio por el signo / , y sin dejar espacios en blanco.

Para facilitar las cosas existen ciertos directorios especiales:

 / Es el directorio raíz. El superior de todos.

 . Es el directorio activo. En el que nos encontramos en un momento dado.

 .. Es el directorio superior al que nos encontramos.

Hay dos formas de expresar la ruta de un fichero, absoluta y relativa.

 Una ruta absoluta es aquella que parte del directorio raíz. Las rutas absolutas son
válidas, en cualquier caso. Si establecemos como ejemplo paralelo la dirección de la
vivienda, la dirección absoluta incluye la calle y el número de la vivienda, de forma
única e independiente.

 Una ruta relativa es una ruta que parte del directorio actual como origen. Esta ruta
sólo es válida desde un directorio actual concreto, es decir, es relativa a un directorio.
Si seguimos el ejemplo que pusimos para la dirección de una vivienda, una ruta relativa
es como si te indicaran "dos casas más allá de cierta esquina". Observamos como la
dirección "dos casas más allá de una cierta esquina" es sólo válida para una calle, y
esa misma dirección referida a otra calle sería otro inmueble distinto.

Ejemplo:

El archivo fich.txt se encuentra en /home/user/Documentos/text

 Si estás en /home/user/ la ruta absoluta hacia fich.txt es

/home/user/ Documentos /text/fich.txt

 Si estás en /home/user/ la ruta relativa hacia fich.txt es

Documentos /text/fich.txt

 Si estás en /home/user/Escritorio, la ruta relativa hacia fich.txt es

../ Documentos /text/fich.txt

6
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

4. COMANDOS BÁSICOS
En las siguientes secciones mencionaremos y describiremos brevemente la utilidad de
un grupo de comandos básicos para interactuar con un sistema Linux. Para su mejor
comprensión clasificamos los comandos en varias categorías:

4.1. Comandos para manipular ficheros y directorios

ls

El comando ls permite listar el contenido de un directorio.


Sintaxis: ls [opciones] [directorio | fichero]

Algunas opciones:
-l : muestra la salida en formato largo.
-R : lista recursivamente un directorio.
-a : lista además los ficheros ocultos (sus nombres comienzan con punto).
-h : muestra el tamaño de los ficheros en forma más legible (Ej.: 16M, 4k,)
-i : muestra el nº de nodo de cada fichero
Ejemplos: $ ls -hl etc
$ ls -R usr
$ ls -al
$ ls -lia .. (i=--inode: inodo de cada archivo)

cd

El comando cd se utiliza para cambiar el directorio actual.


Sintaxis: cd [directorio]
Ejemplos: $ cd tmp

$ cd # cambia hacia el directorio base del usuario actual

$ cd ~ # (F5) cambia al directorio home del usuario actual.

$ cd .. # cambia al directorio padre

7
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

pwd

El comando pwd indica el camino absoluto del directorio en el cual nos encontramos
actualmente.

Ejemplo: $ pwd # (nos devuelve algo como /home/usuario)

mkdir

El comando mkdir se utiliza para crear directorios.


Ejemplos: $ mkdir datos
$ mkdir bin
$ mkdir -p docs/linuxdocs/docum/pdf # se crean los directorios
intermedios si es necesario
$ mkdir ~/libros # crea el directorio en home

rmdir

El comando rmdir se utiliza para borrar directorios.


Ejemplo: $ rmdir datos

mv

El comando mv mueve un fichero o varios ficheros hacia un directorio. Este permite a su vez
renombrar ficheros o directorios.
Sintaxis: mv [opciones] <fuente> <destino>
mv [opciones] <ficheros> <directorio>
Algunas opciones:
-u : actualiza (upgrade) el destino con el fuente solo si este es más reciente.

Ejemplos: $ mv mail.cf mail.cf.old # renombra un fichero


$ mv *.txt /tmp # mueve ficheros terminados en .txt al directorio
/tmp
$ mv -u program.c /src # actualiza el fichero destino si es menos
reciente que el fuente.

8
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

touch

Este comando se utiliza para cambiar la fecha de acceso y/o modificación a un archivo

Sintaxis: touch [opciones] archivo

Si el argumento archivo corresponde al nombre de un archivo que no existe, touch creará el


archivo con dicho nombre y sin ningún contenido.
Ejemplos: $ touch fich1

Para editarlo (o crearlo) nano fich1

cp

El comando cp permite copiar un fichero en otro, o varios ficheros en un directorio.


Sintaxis:
cp [opciones] <fuente> <destino>
cp [opciones] <ficheros> <directorio>
Algunas opciones:
-r: copia recursivamente (todos sus archivos y subdirectorios) un directorio.
-v : muestra por pantalla los archivos que se están copiando en tiempo real.

Ejemplos: $ cp /etc/passwd . # copia un fichero en el directorio actual


$ cp /usr/bin/*sh /tmp #copia los ficheros terminados en sh en tmp

rm

El comando rm se utiliza para borrar ficheros

Sintaxis: rm [opciones] <ficheros | directorios>

Algunas opciones:

-r: borra recursivamente un directorio.

Ejemplos: $ rm prueba

$ rm -i bin/*

$ rm -rf temp/ #borra todos los ficheros de temp

9
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

4.2. Comandos para paginar, visualizar y editar ficheros

cat

El comando cat concatena (conCATenate) ficheros y los imprime en la salida estándar. Si sólo
se da el origen a cat, utiliza como salida la pantalla. Es decir, cat hola muestra por pantalla el
fichero hola. Si sólo se da la salida a cat (cat > fichero) utiliza como entrada el teclado.
Ejemplos: # cat /etc/passwd /etc/shadow
$ cat > fichero
$ cat < origen > destino

vi

El editor vi es el editor estándar de Unix. Es orientado a comandos. Existe una versión


conocida como vim (Vi IMproved) muy poderosa que permite la edición de múltiples ficheros,
ayuda en línea, selección visual, varios niveles de deshacer, etc. Encontraremos vi en
cualquier versión de Linux que usemos.
Básicamente vi posee dos modos de interacción: el de inserción (edición) y el de comandos.
Para pasar al modo comando se pulsa Esc y para pasar al de inserción se pulsa i.
Algunos comandos útiles en vi (pulsando ESC para pasar al modo de comandos, que veremos
en la última línea de la pantalla).

 dd - borra la línea actual.

 ndd - borra n líneas desde la posición actual.

 dw – borra la palabra actual

 nyy – copia las n líneas siguientes

 p – pega lo copiado

 u - deshace el último comando.

 :q! - sale sin salvar.

 :w - salva.

 :wq - salva y sale.

 /expre – busca la expresión que le pongas. Después n, repite la búsqueda

10
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

more y less

Los comandos more y less paginan (dividen en páginas) uno o varios ficheros y los muestran
en la terminal (pantalla).
Se diferencian en las facilidades que brindan. Por ejemplo, more es más restrictivo en cuanto
al movimiento dentro del texto, mientras que less no limita este aspecto pues acepta el empleo
de todas las teclas de movimiento tradicionales. Cuando se alcanza el final del último fichero
a paginar, more termina automáticamente, no así less. También more muestra sucesivamente
el porcentaje del fichero visto hasta el momento. Tanto less como more proveen una serie de
comandos para moverse con facilidad dentro del texto paginado.
Ejemplos: $ less /etc/passwd
$ more /etc/passwd
$ cat fichero | less

Algunas teclas que podemos usar mientras usamos estos programas son:

 q - permite interrumpir el proceso y salir.

 /patron - realiza búsquedas del patrón dentro del texto. Para repetir la búsqueda del
mismo patrón sólo es necesario escribir /.

 [n]b - en more permite regresar n páginas (por defecto n es 1).

 [n]f - en more se adelantan n páginas y en less, n líneas.

tail y head

Los comandos tail y head muestran respectivamente el final y el comienzo (10 líneas por
defecto) de uno o varios ficheros. De no especificarse al menos un fichero toman la entrada
estándar.
Sintaxis:
tail [opciones] [ficheros]
head [opciones] [ficheros]
Algunas opciones:
-f para el caso de tail se ejecuta de forma sostenida o sea se continúa visualizando
el final del fichero hasta que se interrumpa el proceso (Ctrl-c).
-<n> imprime las n últimas (primeras) líneas en lugar de las diez establecidas por
defecto.

11
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

Ejemplos: $ tail -f /var/log/udev


$ tail -20 /var/log/syslog
$ head -15 /var/spool/mail/pepe (crear pepe con 30 líneas,
como administrador)

4.3. Comandos para hacer búsquedas de ficheros y patrones

grep

El comando grep busca patrones en ficheros. Por defecto devuelve todas las líneas que
contienen un patrón (cadena de texto) determinado en uno o varios ficheros. Utilizando las
opciones se puede variar mucho este comportamiento.

Sintaxis: grep [opciones] <patrón> [ficheros]


Algunas opciones:
-c devuelve sólo la cantidad de líneas que contienen al patrón.
-r busca en un directorio de forma recursiva.
-n imprime el número de cada línea que contiene al patrón.
-i ignora mayúsculas y minúsculas.
-v busca líneas n coincidentes.

Ejemplos: $ grep Todd /usr/share/doc/sudo/HISTORY


$ grep root /etc/passwd
$ cat /etc/passwd | grep juan
$ ls –lia | grep run
# grep -n device /var/log/syslog

Para formar los patrones:


[…] conjunto de caracteres.
[a-z] rango en el conjunto de caracteres.
[^…] complemento del conjunto de caracteres (elementos que no están en el
conjunto)
. cualquier carácter

12
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

* la expresión se repite 0 o más veces.


+ la expresión se repite 1 o más veces.
{n,m} la expresión se repite entre m y n veces.
^ comienzo de línea.
$ final de línea.
Ejemplos:
$ grep “A” doc1
$ grep [ahj] doc1
$ grep [a-z] doc1
$ grep [a-zA-Z0-9] doc1
$ grep ^aeiou doc1
# grep aeiou$ doc1

find

El comando find es uno de los más poderosos en un sistema Linux. Permite buscar de forma
recursiva en un directorio a todos los ficheros que cumplan ciertas condiciones. Las
condiciones pueden estar relacionadas con el nombre de los ficheros, el tamaño, los permisos,
el tipo, las fechas de acceso y modificación, etc.
Sintaxis: find [camino] [opciones]
Algunas opciones:
-name <expresión> permite especificar patrones para los nombres de los ficheros a
buscar.
-size +/-<n> permite indicar el tamaño máximo y/o mínimo de los ficheros a buscar.
-exec <comando> ; permite definir un comando a ejecutarse para cada resultado de la
búsqueda. La cadena {} se sustituye por el nombre de los ficheros encontrados.
Ejemplos:
$ find /etc -name *.conf # busca en /etc todos los ficheros con extensión conf

$ find / -size +1024k -size -2048k # busca ficheros tamaño entre 10M y 20M

# find / -name core -exec rm -i “{}” “;” # busca todos los ficheros que se llamen
core y los borra, con confirmación.

13
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

4.4. Comandos para comprimir y agrupar ficheros

tar

El comando tar es una herramienta para agrupar varios ficheros o el contenido de un directorio
en otro fichero. El comando tar no comprime, Existe una opción (-z) que automáticamente
ejecuta un gzip o un gunzip sobre el fichero agrupado.
Sintaxis: tar [opciones] <fuentes>
Algunas opciones:
-c permite crear (tarear).
-x permite extraer (destarear).
-v activa el modo debug, donde se ven todos los mensajes.
-f <fichero> agrupa o desagrupa en o hacia un fichero y no utilizando la salida o
entrada estándar como es por defecto.
-z compacta o descompacta el fichero resultante una vez agrupado o desagrupado
con gzip y gunzip respectivamente.
-j compacta o descompacta el fichero resultante una vez agrupado o desagrupado
con bzip2
Ejemplos:
$ tar cvf archivo.tar ficheros #empaqueta
$ tar xvf archivo.tar #desempaqueta
$ tar czvf archivo.tar.gz ficheros #empaqueta y comprime con gzip

$ tar xzvf archivo.tar.gz #desempaqueta y descomprime


$ tar cjvf archivo.tar.bz2 ficheros #empaqueta y comprime con bz2

$ tar xjvf archivo.tar.bz2 #desempaqueta y descomprime

14
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

4.5. Otros Comandos

echo

El comando echo muestra en su salida todo lo que se le pase como argumento.


Ejemplo:
$ echo Hola amigo...
Hola amigo...

clear

El comando clear limpia la pantalla del terminal


Ejemplo:
$ clear

alias

El comando alias permite asignarles otros nombres a los comandos.


Sintaxis: alias [nombre[=valor]...]
Sin argumentos muestra todos los alias definidos por el usuario actual.
Para deshabilitar un alias se emplea el comando unalias.
Ejemplo:

$ alias ll='ls -ali'

du

El comando du permite conocer el tamaño (kilobytes) de un directorio.


Sintaxis: du [opciones] [ficheros | directorios]
Algunas opciones:
-h : imprime las unidades de la forma más representativa (M megabytes).
-s : sumariza el tamaño de cada fichero/directorio sin profundizar
-c : produce un total cuando se utilizan varios argumentos.
Ejemplo:

15
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

$ du -h * | more
$ du -hsc /usr /home

df

El comando df permite saber el espacio libre en los dispositivos montados


Sintaxis: df [opciones] [directorios]
Algunas opciones:
-h : imprime de forma más representativa (Ej. M para megabytes).
Ejemplo: $ df –h /

uname

El comando uname muestra información del sistema al que se está conectado.


Sintaxis: uname [opciones]
Ejemplos:
$ uname
$ uname –r #muestra la versión del kernel

exit

El comando exit permite terminar el shell actual. Si se tiene un único shell es equivalente a
desconectarse del sistema, pero si se está en un subshell sólo se terminará este, retornando
al shell anterior.

16
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

5. MANEJO AVANZADO DE LA SHELL

5.1. Variables de entorno


Las variables de entorno son un conjunto de valores dinámicos que normalmente afectan el
comportamiento de los procesos en una computadora.
Existen variables definidas en el sistema. Pueden verse con el comando env
Entre ellas están dos variables muy comunes en Linux

 $PATH Contiene una lista separada por dos puntos de directorios en los cuales el
intérprete de comandos buscará los archivos ejecutables que no se invocan con una
ruta. echo $PATH (env | grep PATH)

 $HOME Contiene la ubicación del directorio de usuario. De esta manera, los dos
comandos siguientes tienen el mismo efecto (env | grep HOME).

La forma de crear una variable y asignarle valor es: NOMB_VARIABLE=valor

5.2. Metacaracteres
*  sustituye a cualquier carácter o conjunto de caracteres
? sustituye a un solo carácter.

[]  se especifica que carácter o caracteres se sustituirán en esa posición.


[!]  Permite la negación de algún carácter.

5.3. Anidar o concatenar comandos


;  podemos ejecutar varios comandos en la misma línea, una detrás de otra,
separándolas con ;
# cd /etc ; mkdir uno ; mkdir dos; ls
&&  Ejecuta un segundo comando si el primero ha sido ejecutado correctamente.
# mkdir datos && ls

5.4. Tuberías
Las tuberías en GNU/Linux enlazan la salida de un comando con la entrada de otro, lo que nos
permite realizar tareas complejas en la línea de comandos. Una tubería se escribe con el
carácter | (Alt Gr+1).
Veamos un ejemplo:
cat texto.txt | wc

17
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

El comando wc cuenta el número de líneas, palabras y caracteres de un archivo. La línea


anterior nos muestra, por tanto, el número de líneas, palabras y caracteres del fichero
texto.txt

5.5. Redireccionamientos
Los comandos toman su entrada de algo conocido como entrada estándar y envían su salida
a la salida estándar (a menudo abreviado como "stdin o standard input" y "stdout o standard
output"). Además, existe una salida especial para los mensajes de error de cada programa
(stderr o standard error).

El intérprete de comandos configura el sistema de forma que la entrada estándar es el teclado


y la salida la pantalla.

Podemos cambar este funcionamiento:


> archivo Redirige al archivo. Crea el archivo
>> archivo Redirige stdout al archivo, pero añade el texto.

2> archivo Redirige sterr al archivo

< archivo Redirige stdin desde el archivo.

Ejemplos:
ls /etc > fich.txt # el resultado del listado lo meterá en un fichero

18
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux

mkdir /datos 2> # si hay error el resultado lo manda al fichero

date >> fechas.txt # Añade la fecha al fichero. Podemos hacerlo varias veces.

19

También podría gustarte