612 palabras
3 minutos
Utilerías y comandos en Linux

Creación de lanzadores (accesos directos)#

~/.local/share/applications/android_studio.desktop

Terminal window
[Desktop Entry]
Name=Android Studio
Comment=Android Studio
Exec=/opt/android-studio/bin/studio.sh
Icon=/opt/android-studio/bin/studio.png
Terminal=false
Type=Application
Categories=Development;IDE;

Utilidades#

Compartir carpeta en máquina virtual (Linux host - Linux guest)#

Terminal window
# Para montaje manual de la carpeta compartida:
sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
# Para averiguar si esta compartida la carpeta:
vmware-hgfsclient

Notas generales sobre Linux#

Rutas para nuevos programas en PATH#

  • /usr/local/bin/
  • /opt/new_program/

Variables#

Terminal window
# Variable path
export PATH=$PATH:/new_route
# También puede ser
export PATH=new_route:$PATH

Cargar variables#

Terminal window
# Dependiendo de la ruta que quieras como origen
source ~/.profile
source ~/.bashrc

Para guardar la variables de forma permanente#

  • /etc/profile (for all users)
  • ~/.bash_profile (for current user)
  • ~/.bash_login (for current user)
  • ~/.profile (for current user)
  • ~/.bashrc (for current user)
  • /etc/environment to set a permanent PATH environment variable, but it does not support variable expansion.

Más información:

Administración básica#

Terminal window
# Crear un grupo
groupadd grupo
# Crear usuarios
# adduser => Script
# useradd => Manual
useradd -ms /bin/bash superadmin
# -m Crea carpeta home
# -s Asigna shell
# Añadir un usuario a grupo
usermod -a -G sudo soporte
# Cambia password
passwd superadmin
## Agregamos contraseña al usuario appuser
RUN echo 'user:password' | chpasswd

Información del sistema#

Terminal window
# Check system version
lsb_release -a
cat /etc/issue
cat /etc/os-release
hostnamectl

Teclado#

Terminal window
# 1) Configurar teclado
dpkg-reconfigure keyboard-configuration
# 2) Aplicar la configuración del teclado (solo funciona para esa sesión)
setupcon
# 3) Para un cambio permantente
dpkg-reconfigure console-setup

Descargar archivos#

wget#

Terminal window
# Descarga un archivo
wget <URL>
# Descarga y renombra un archivo
wget -O <filename> <URL>
# Descarga varios archivos desde un archivo de texto con las urls
wget -i download_files.txt
# Descarga una carpeta
wget -r ftp://server-address.com/directory
# Descargar de manera recursiva esos elementos
wget -nd -r -A pdf,doc,docx,xls,xlsx,jpg www.rediris.es

Buscar archivos#

Terminal window
find / -name "name" 2> /dev/null

curl#

Terminal window
# Descarga un archivo
curl --location --request GET 'https://github.com/frida/frida/releases/download/17.2.11/frida-server-17.2.11-android-arm.xz' --output file.name

Otros#

Exfiltración de información#

Archivos importantes#

  • /etc/passwd
  • /etc/shadow
  • /etc/resolv.conf
  • /etc/hosts
  • /etc/hostname

Comprimir información#

Terminal window
# Respaldo omitiendo erroes, tipos de archivos y carpetas
tar --warning=no-file-changed --exclude={*.mp4,*.mp3,'./public_html'} --ignore-failed-read -zcvf respaldo.tar.gz .

Entornos virtuales en python, pipx y conda#


Utilerías#

Ver las configuraciones actuales de algún servicio#

Terminal window
grep -v "#" /etc/ssh/sshd_config | awk 'NF'
  • -v "#" todo lo que no tenga #
  • awk 'NF' Number of Fields
    • imprimir la línea completa ({ print }) solo si la condición es verdadera (si NF > 0).

Read a do anything#

#!/bin/bash
while IFS= read -r line
do
user=$(echo $line | cut -d ":" -f1)
password=$(echo $line | cut -d ":" -f2 | base64 -d | base64 -d)
echo "$user:$password"
done < $1

Insertar caracteres antes de una línea#

Terminal window
awk '{print "Insertar al inicio " $0 " insertar al final\n"}' archivo.txt

Dividir un archivo en varios#

Terminal window
split -l 200000 -d --additional-suffix=.txt input_file.txt output_file

Imprimir todo lo que no es comentario#

Terminal window
awk '!/#/' file

Referencias:

Remover caracteres repetidos#

Terminal window
tr -s 'character'
tr -s ' '
tr -s '\n'

Borrar un caracter de un string#

Terminal window
tr -d ".|,"

Reemplazar una cadena por nada#

Terminal window
sed "s/|a|//g"
sed "s/|a|/~b~/g"

Remover la última letra del string#

Terminal window
sed 's/.$//'

Descargar un archivo con scp#

Terminal window
scp user@192.168.100.100:path/file.txt /local/dir

Subir un archivo con scp#

Terminal window
scp file user@192.168.100.100:path/file.txt

Descarga con FTP#

Terminal window
sftp root@<IP>
get -r /var/root/<file>.txt

Con llave publica#

Terminal window
scp -i key_file.pem user@192.168.100.100:path/file.txt /local/dir

Control con systemctl#

Terminal window
# Systemctl
sudo systemctl status ssh
sudo systemctl start ssh
sudo systemctl stop ssh
sudo systemctl restart ssh
# Preguntar si está activo
sudo systemctl is-active apache
# Preguntar si está habilitado
sudo systemctl is-enable apache

Hexedit#

  • Utiliza Ctrl-S para buscar hacia adelante y Ctrl-R para buscar hacia atrás.
  • Usa Inicio, Fin, AvPág y Repág para movimientos más amplios.
  • Guardar los cambios: Presiona F2 para guardar los cambios realizados en el archivo.
  • Salir del programa: Normalmente, se sale presionando Ctrl-X o cerrando la ventana de la terminal.

Ext4 & LUKS#

Terminal window
lsblk
# sudo cryptsetup luksOpen /dev/sdXN nombre_del_disco
sudo cryptsetup luksOpen /dev/sdb1 fotos
sudo mkdir /media/fotos
# sudo mount /dev/mapper/nombre_del_disco /mnt/fotos
sudo mount /dev/mapper/fotos /media/fotos
Nota final

¡Gracias por terminar de leer este artículo! uwur

— El Capitán

¿Tienes alguna duda o te gustaría comentar algo sobre este artículo?

Puedes encontrarme en:

Utilerías y comandos en Linux
https://elcaza.github.io/posts/linux/comandos_linux/
Autor
El Capitán
Publicado el
2022-09-05
Licencia
CC BY-NC-SA 4.0