Mostrando entradas con la etiqueta terminal. Mostrar todas las entradas
Mostrando entradas con la etiqueta terminal. Mostrar todas las entradas

30 sept 2025

Algunas maneras de correr un script al inicio en raspberry pi

Hay muchas formas de que un script se ejecute al reiniciar tu raspberry pi. 

 

1.- Una de ellas consiste en editar tu archivo: 

sudo nano /etc/rc.local 

 

2.- Otra manera en la que hacer lo algo similar consiste en pasar por:  

sudo nano /home/pi/.bashrc 

 

2 y 1/2.- ojo, porque el usuario puede no ser pi y tambien ejecutar scripts. para ello tenemos:

sudo nano ~/.bashrc 

 

3.- Una otra manera de hacer lo cual sería también:

sudo nano /lib/systemd/system/sample.service

 

4.- También podemos añadirlo en:

cd /etc/init.d/

 

and add it as a file:

sudo nano youNameIt.service

 

 :)

 

  

 

23 jul 2023

find & replace expressions inside a text file running a simple python script in GNU-Linux terminal

FILE 1 (BEGIN)

readMe.txt

································································································

Hi!

This set of files is just a little experiment to do some work over a file with a python script.

File "example.txt" contains expressions that will be replaced with new ones as described on “findAndReplace.py” file in this folder. (there is an “.example.txt” file to have it back again in case you want to. Just make it visible and take the “*.hackUp” fake extension).

See it in action by running the “doAll.sh” batch file as root. Remember to “chmod 755 file2change” to the files if you find it suitable. To install stuff you’ll need internet (o_o)

have fun!

(=

································································································

FILE 1 (END); FILE 2 (BEGIN)

findAndReplace.py

································································································

from pathlib2 import Path
# import some libraries
path = Path("example.txt")                  
# file located in the same folder. tune to your desired route, like /home/user/whatever
text = path.read_text()
# read the file
text = text.replace("=)", ":)")
# replace whatever is necessary
path.write_text(text)
# and finally overwrite the file.

# I had to install...       apt-get install python-pip python3-pip -Y
# & after alsa ...          pip install pathlib2 -Y
# due to                    module not loadad error
# ;-)

# do run from terminal...   python findAndReplace.py


# CC Share alike too the latest! ONLY FOR EDUCATIONAL MEANS!!

································································································

FILE 2 (END); FILE 3 (BEGIN) 

example.txt

································································································

=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)

································································································

FILE 3 (END); FILE 4 (BEGIN)

.example.txt.backUp 

································································································

=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
=) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =) =)
 

································································································

FILE 4 (END); FILE 5 (BEGIN)

doAll.sh

································································································

#!/bin/bash

apt-get update

apt-get upgrade -y

apt-get install python -y

apt-get install python-pip python3-pip -y

pip install pathlib2

python findAndReplace.py

································································································

FILE 5 (END)

 

# pseudocode is not a crime!


 

21 sept 2016

Como guardar un archivo .xml "solo por un espacio de tiempo limitado" usando windows (¡y/o GNU/Linux!)

Hace poco me encontré en la tesitura de necesitar repetir un determinado comando -para el caso consistente en descargar y copiar un archivo de mi red local LAN, usando el siguiente archivo que pude masacrar de no recuerdo bien quién o qué fuentes en una de esas derivas existenciales que realizo en cada búsqueda abstracta de soluciones realistas por el internet.

En este caso mi difusa idea era guardar la emisión de un archivo llamado data.xml (que emite un dispositivo de esos que llaman IoT (o internet de las cosas)) pero solo por un rato (un log tan grande petaría mi sistema sin dudas, como bien me indicó un experto amigo). En resumen: Obtener el archivo (que en el mismo aparato se refresca cada segundo) cada cierto tiempo, y guardarlo ese mismo cierto tiempo y no mas. 

El archivo que realiza la primera función se llama getData.vbs (lo puedes repicar en el bloc de notas y guardar con dicha extensión) y es un equivalente al famoso comando get para linux. VBScript es un lenguaje para máquinas que corren windows.

' Set your settings
    strFileURL = "http://ipDeRedLocal/data.xml"
    strHDLocation = "C:\lugarDondeguardarArchivo\data.xml"

' Fetch the file
    Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")

    objXMLHTTP.open "GET", strFileURL, false
    objXMLHTTP.send()

If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1 'adTypeBinary

objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0    'Set the stream position to the start

Set objFSO = Createobject("Scripting.FileSystemObject")
If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
Set objFSO = Nothing

objADOStream.SaveToFile strHDLocation
objADOStream.Close
Set objADOStream = Nothing
End if

Set objXMLHTTP = Nothing

Así pues con este archivo creado y asimismo creando otro de nombre watch.bat (que emula el también famoso comando watch de linux) que diga:

@ECHO OFF
:loop
  cls
  %*
  timeout /t 30

goto loop
Ahora tenemos todo listo para el happening. 30 es el tiempo del loop en segundos. Una vez hecho todo esto, abrimos la consola en Inicio -> Ejecutar -> cmd y nos ubicamos en la carpeta donde creamos estos dos archivos, tecleando: 

cd C:\lugarDondeguardarArchivo\

Posteriormente lo ponemos a funcionar mediante las palabras mágicas:

watch getData.vbs

Si todo va bien el proceso se iniciará ad infinitum. ¿Y todo esto para qué? Se preguntarán algunos... Pues la verdad no sé exactamente que utilidad tiene. Eso si, el archivo, que en este caso concreto se sobreescribe una y otra vez en el tiempo, está disponible para que terceros (personas, máquinas,programas) extraigan información, la procesen y la analicen, incluso quizás creen un log con los datos que prefieran, dejando el resto de información perderse en la noche de los tiempos

...no se, voladas de la mente, supongo. Por si a alguno le sirve de algo, a mi me recuerda que una vez precisé estas lineas de código. ¡Saludos!

Update: Para hacer esto usando la terminal de tu máquina GNU/Linux tan solo teclea como usuario administrador(root):

watch -n 3 wget http://ipDeRedLocal/data.xml -O data.xml  
 

estando en la carpeta /lugarDondeguardarArchivo/ , o especificandolo tras la opción -O del comando wget



5 sept 2016

How to access LAN windows network shares from Debian command line

If you are using Debian OS running in Terminal, console or SSH and you would like to access shares available in that machine's Local Network Area connection capability, you may want to try these easy steps. To me it worked just perfect! Do not forget to run commands as root, involving it by writing su. Also an apt-get update && apt-get upgrade is always recommended. Then after:



1.- Install needed stuff:

apt-get install samba

apt-get install cifs-utils


2.-Edit fstab file

nano /etc/fstab

Nano is a small editor. Use the one you prefer the most, and add the line:

//192.168.x.x/nameOfShare       /mnt/smb      cifs       guest,uid=1000,iocharset=utf8      0      0

Check you local server IP to be right, and also check that your local smb folder path is real. You could also set user and password, but this is not explained hereby.


4.- Run the command:

mount -a


If it all worked all right you should be able to list (ls) and copy (cp) files, in the event of a guest user account available to connect.

I do not remember where I got this info, surely available in the world wide web. This I write to myself as a reminder, in the event I find myself in the need of having to repeat this easy steps, and not remembering where did I find the instructions. Sorry for not crediting properly the source of the information.

3 dic 2013

Como instalar archivos con la extensión .deb - Linux Ubuntu

Hemos descargado una aplicación .deb para nustra distribución favorita de Linux pero... ¿Cómo instalarla en nuestro ordenador?

Nada mas sencillo que emplear el comando dpkg.

Vamos a la terminal, nos ubicamos en la carpeta y como administradores lo ejecutamos. Este comando dispone de muchas opciones, de las cuales nos concentraremos en:

dpkg -i NombrePrograma.deb

Con esto todo debería ser coser y cantar.

En este artículo encontramos una explicación mas exhaustiva.

Como instalar archivos con la extensión .sh - Linux Ubuntu

Hemos descargado una aplicación o instalador cuya extensión es .sh para nuestra distribución de Linux preferida pero... ¿Cómo instalarla?

Nada mas sencillo. Utilizaremos la consola o terminal de comandos. En el menu de Accesorios o Sistema encontraremos el lanzador. Para tener privilegios de administracion en el sistema, escribe

su

e introduce la contraseña de administrador.

Ahora nos situamos en la carpeta donde esta el archivo. Para ello utilizaremos

cd ..

Para volver atras en la estructura de archivos, y

cd NombreCarpeta

para acceder a cada carpeta. El comando

ls

nos listará los archivos y carpetas que estan dentro.

Una vez estamos en la carpeta, nos aseguramos que el archivo tiene los permisos necesarios para ser ejecutado. El comando chmod cumple esta función. Tiene muchas posibilidades pero nos bastará con usarlo así:

chmod +x NombrePrograma.sh

 y luego procedemos a lanzar el instalador usando

./NombrePrograma.sh

Con estos pasos debería ser suficiente para que todo funcione correctamente. La información estaba disponible en ubuntuforums.org