Acción | Comando |
---|---|
Acceso directo |
cd /usr/share/applications vi algo.desktop [Desktop Entry] Name=Pycharm-Community Comment=Pycharm-Community Editing. Redefined. GenericName=Text Editor Exec=/usr/local/bin/pycharm Icon=/media/work/python/pycharm-community-2023.3.3/bin/pycharm.svg Type=Application StartupNotify=false StartupWMClass=pycharm Terminal=false Categories=TextEditor;Development;IDE; MimeType=text/plain;inode/directory;application/x-pycharm-workspace; Actions=new-empty-window; Keywords=pycharm; [Desktop Action new-empty-window] Name=New Empty Window Exec=/usr/local/bin/pycharm Icon=/media/work/python/pycharm-community-2023.3.3/bin/pycharm.svg |
Apache: chequear /etc/apache2/sites-enable/* | apachectl configtest |
Apache: evitar probleams de permisos | chown -R www-data: /var/www/fede.com |
Arranque | sudo gedit /etc/lightdm/lightdm.conf autologin-user= (autoarranque) autologin-user=root (como root) |
ASCII | man ascii ctr+shift+u+hexagesimal ctr+shift+u+60 ` |
Archivos anadir al principio y retorno | sed -i '1s/^/your text\n/' Documentos/rockyou.txt |
Archivos compartir | servidor ftp -> apt install vsftpd ftp mget -> copia archivos en formato original |
Archivos copiar incluyendo enlaces y permisos> | cp -ap archivo |
Archivos ocultos , se ejecutan de manera automatica | ls -a ~ |
Archivos, descargar | scp archivo.extension usuario@dominio.com:/home/usuario |
Archivos, mover varios | mv -t carpeta file1 file2 ... |
Archivos, encontrar archivos | apt-file search archivo find -name elementobu* find -type f -name tureceta* find -type d -name tureceta* find -type d -perm 777 find -type f -empty find -type f -mtime 2 (en las últimas 48h = 2*24) //no han sido modificados en 2 dias |
Archivos, encontrar, muestra y elimina | find ./* -mtime 15 -type f -print -delete |
Archivos, eliminar carpetas y subcarpetas | rm -rf carpeta |
Archivos, limitar abiertos | sudo nano /etc/security/limits.conf Añadimos: * hard nofile 2000000 |
Arquitectura, quitar i386, para errores de apps que no haceptan doble architectura | dpkg remove--architecture i386 |
Atajos | sudo su echo 'ls -la $@'>/usr/bin/la chmod +x /usr/bin/la |
Bateria: ahorro automatico por el uso |
|
Bind9 | hostnamectl set-hostname nuevonombre https://bind9.readthedocs.io/en/latest/chapter3.html Host cliente echo '192... servidorname'>> /etc/hosts |
Borrado a bajo nivel | sudo shred /dev/sdb |
Cabeceras | apt install dkms linux-headers-$(uname -r) |
Comprimir | tar cvf autodiagnostico.tar autodiagnostico |
Consola: cambiar tamanio de la letra | cd /usr/share/consolefonts/ setfont Uni2-Terminus10 (Le da el valor 10) |
Date: configuracion automatica | hwclock --set --date "2022-06-11 23:59:15" hwclock --hctosys sudo timedatectl set-timezone Atlantic/Canary |
Descomprimir | tar -xf file.tar.gz tar Jxvf archivo.tar.xz |
Desinstalar xfce kali | apt remove kali-desktop-xfce xfce4* lightdm* apt autoremove |
Debian version | cat /etc/os-release |
Directorio actual | pwd |
Discos: Muestra discos | LSBLK |
Discos: particion virtual para instalaciones de sistemas como odoo, django,... | apt update apt upgrade sudo apt -y install python3-venv sudo python3 -m venv /opt/my_python cd /opt/ source my_python/bin/activate deactivate |
Discos: solucionar problemas con la particion | fsck /dev/sdax |
Discos: velocidad disco duro: crea un disco de un giga da el tiempo y velocidad | dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync |
Distribución linux | lsb_release -d |
Docker | instalacion:
https://www.digitalocean.com/community/tutorials/como-instalar-y-usar-docker-en-debian-9-es desinstalacion: pkg -l | grep -i docker sudo apt-get purge -y docker-engine docker docker.io docker-Lamp |
Entorno: Crear un entorno virtual Python en Ubuntu 20.04 | https://www.sololinux.es/crear-entorno-virtual-python-en-ubuntu-20-04/ apt update apt upgrade python3 -V apt -y install python3-venv sudo python3 -m venv /opt/my_python ls /opt/my_python sudo su cd /opt/ source my_python/bin/activate pip install idna(ejemplo de paquete) |
Formateo | sudo gparted vFAT: sudo mkfs.vfat /dev/sdb NTFS: sudo mkfs.ntfs /dev/sdb EXT4: sudo mkfs.ext4 /dev/sdb sudo dd status=progress if=/dev/zero of=/dev/sdb |
ftp: servidor | vsftpd, vsftpd.conf # # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=NO # # Uncomment this to allow local users to log in. local_enable=YES # # Uncomment this to enable any form of FTP write command. write_enable=YES # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) local_umask=022 # # Activate directory messages - messages given to remote users when they # go into a certain directory. dirmessage_enable=YES # # Activate logging of uploads/downloads. xferlog_enable=YES # # Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES # # When "listen" directive is enabled, vsftpd runs in standalone mode and # listens on IPv4 sockets. This directive cannot be used in conjunction # with the listen_ipv6 directive. listen=YES # # Set own PAM service name to detect authentication settings specified # for vsftpd by the system package. pam_service_name=vsftpd # seccomp_sandbox add an aditional security layer limiting the number of a # syscalls can be performed via vsftpd. However it might happen that a # whitelist don't allow a legitimate call (usually indirectly triggered by # third-party library like pam, or openssl) and the process is being killed by kernel seccomp_sandbox=NO Desde consola abrimos ftp://user:pass@host Descargar carpeta recursivamente, wget -r ftp://user:pass@server.com/ |
Git: elimina la cache de commit | git rm -rf --cached . |
Git: todo menos un archivo | git add --all -- ':!archivo' |
Git: borrar | rama:git branch -D rama |
Git: permanente autentificacion |
git config --global credential.helper store git push https://github.com/owner/repo.git ---------------------------------------------------------- (2 hour): git config --global credential.helper 'cache --timeout 7200' Forever: sudo apt-get install libsecret-1-0 libsecret-1-dev cd /usr/share/doc/git/contrib/credential/libsecret sudo make git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret sudo apt install dbus-x11 |
Git: token | usuario/settings/Developing settings/Personal acces tokens |
Git: updategit |
rm -rf /var/lib/psa/dumps/clients/fed/domains/fedelleos.es/* git add . git commit -m 'update' git push df -h |
grep | sudo grep -R "Document Root" /etc/apache2/sites-enabled (Nos da la ubicacion de documentos
adicionales) /etc/apache2/sites-enabled/000-default.conf: DocumentRoot /var/www/html |
Grub: recuperar grub |
grub rescue> Hacemos ls hasta que nos muestre particion ext2 o ext4 grub rescue> set root=(hd0,msdos2) #por ejemplo grub rescue> set prefix=(hd0,msdos2)/boot/grub grub rescue> insmod normal grub rescue> normal AL arrancar debemos instalar el grub sudo grub-install /dev/sdc #Si nuestra particion se encuentra en /dev/sdc2, por ejemplo Fedora: dnf install grub2-efi-modules efibootmgr |
Inicio, ejecutar un programa | crontab
-e https://enekodelatorre.com/ejecutar-un-script-o-programa-al-inicio-de-sesion-en-linux/ |
Iluminación pantalla | echo 500 > /sys/class/backlight/intel_backlight/brightness |
Instalar paquetes .tar.gz | Algunos programas como jdk de java se instala simplemente tar zxvf .tar.gz; y ya; luego llevar
el jdk descomprimido a /usr/java/
Otros con make: Dentro del archivo: tar -zxvf file.tar.gz ./configure; si da error hacer autoreconf -i antes make make install apt, snapd, alien: alien -d paquete.rpm && dpkg -i paquete.deb alien archivo.tar.gz && alien -r archivo.deb Creando un lanzador en aplicaciones: thunderbird.desktop en el directorio /usr/share/applications [Desktop Entry] #Nombre de la aplicación Name=Thunderbird #Comentario que aparece al seleccionar el lanzador Comment=Cliente de correo #Comando a ejecutar, generalmente el nombre de la aplicación Exec=/opt/thunderbird/thunderbird #Icono del lanzador, puede ser generico o especificar la ruta del mismo Icon=/opt/thunderbird/chrome/icons/default/default32.png #Para no abrir una terminal Terminal=false #Tipo de archivo Type=Application #Categoria de la aplicación Categories=Network;EmailClient; StartupNotify=true Error de dependencias: apt install -f |
Instalar gnome kali | apt install kali-desktop-gnome Seleccionar gdm3 |
Instalar paquetes AUR | sudo pacman -S base-devel git makepkg -si |
Interfaces de red y sus ips | route -n |
Ip, Escanea logs como /var/log/auth.log y banea las IP con demasiados errores de conexión. | fail2ban |
Ip pública propia | curl wgetip.com curl https://ipinfo.io/ip |
Ip sitio | dig sitio |
Ip : solo ip4 | postconf -e "inet_protocols = ipv4" |
Ionos | Archivos backup: /var/lib/psa/dumps/clients/fed/domains/fedelleos.es# |
java | instalar: sudo pacman -S jre11-openjdk-headless jre11-openjdk jdk11-openjdk openjdk11-doc
openjdk11-src versiones: archlinux-java status elegir: archlinux-java set java-11-openjdk v-entorno:.bashrc -> export JAVA_HOME=/usr/lib/jvm/java-8-openjdk -> source .bashrc |
JetBrains: Error while opening | find ~/ -type f -name '.lock'|rm -rf |
Localizacion | curl ipinfo.io/'ip publica' |
Maquina, cambiar nombre | hostnamectl set-hostname nuevonombre |
Memoria archivos, tamanio | du -hs /ruta |
Memoria ram y swap | free -h |
Memoria discos: espacio | df -h |
Meson | $ meson setup _build . $ meson compile -C _build $ meson install -C _build |
mkcert | sudo apt install wget curl libnss3-tools curl -s https://api.github.com/repos/FiloSottile/mkcert/releases/latest| grep browser_download_url | grep linux-amd64 mv mkcert-v*-linux-amd64 mkcert chmod a+x mkcert sudo mv mkcert /usr/local/bin/ |
Modulos kernel | lsmod |
NTFS | Reiniciar Windows, desbloqueara las unidades Desbloquearla de otra forma para escritura, podria dañar el disco |
Parametros | $@ todos los parametros |
Paquetes | Recogemos los paquetes que queremos que se mantengan actualizados, en: sudo nano /etc/apt/sources.list |
phpmyadmin | apt install phpmyadmin /etc/phpmyadmin/config.inc.php $cfg['SendErrorReports'] = 'never'; |
Paquetes: localizar | dpkg -l | grep -i paquete |
Procesos: | ps -d 100 (Tiempo que se congele) kill proceso (lo mata) psaux pstree lsof -wni tcp:3000 lsof -wni | grep rails |
Process View | pv (process view) en los comandos nos muestra el progreso en comandos que no dispongan de un -v --verbose |
Puertos: Saber qué puertos tiene abiertos nuestro sistema | netstat -napt |
Puertos (Debian): abrir | iptables -A INPUT -p tcp --dport 80 -j ACCEPT |
Redes: ips, macs conectadas | sudo nmap -sP 192.168.1.1-254 |
Redes: CAMBIAR IP EN UBUNTU20 | nano /etc/netplan/00-... network: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: no addresses: - 192.168.1.10/24 gateway4: 192.168.1.0 nameservers: addresses: - 8.8.8.8 enp0s8: enp0s9: enp0s10: netplan apply ip a |
Redes: configuración Ip (Debian) | apt install net-tools
sudo ifconfig eth0 192.168.72.165 netmask 255.255.255.0 up ifconfig eth0 down ———> Cierra eth0. sudo route add default gw 192.168.72.2 eth0 echo “nameserver 8.8.8.8” > /etc/resolv.conf eliminarla -> ip address del ifup interface: ——————-> Habilita la interface especificada,ejemplos: ifup eth0 ;ifup ppp0 ifdown interface: —————–> Deshabilita la interface especificada,ejemplos: ifdown eth0 ;ifdown ppp0 |
Redes: configuración en Ubuntu16.04 | sudo nano /etc/network/interfaces auto enp0s3 iface enp0s3 inet static address 192.168.0.15 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 dns-nameservers 192.168.0.1 |
Redes: comprobacion de servidor | nano /etc/resolv.conf sudo /etc/init.d/networking restart |
Ratón, configuración | xinput set-button-map 16 3 2 1 4 5 6 7 8 9 https://www.ubuntuleon.com/2016/01/cambiar-la-asignacion-de-los-botones.html |
Repositorios |
|
Repositorio: anadir. Error:
|
sudo apt-add-repository -r ppa:certbot/certbot |
Resolucion pantalla | xrandr -s 1680x1050 |
Servicios: resetear, desbloquear | sudo systemctl daemon-reload |
Servicio, para que se ejecute cuando se inicia la maquina | sudo systemctl enable servicio |
Servicio, crear | [Unit] Description=Flet Server After=network.target [Service] User=fed Group=fed WorkingDirectory=/home/fed/www/python/flet/prueba Environment="PATH=/home/fed/www/python/flet/prueba/.venv/bin" ExecStart=/home/fed/www/python/flet/prueba/.venv/bin/python /home/fed/www/python/flet/prueba/main.py [Install] WantedBy=multi-user.target cd /etc/systemd/system sudo ln -s /home/fed/www/python/flet/prueba/flet.service sudo systemctl start flet sudo systemctl enable flet sudo systemctl status flet |
Sistema: actualizar, fichero actualizacion | echo 'sudo apt update && sudo apt dist-upgrade -y && sudo apt autoremove -y'>/bin/update && chmod +x /bin/update |
Sistema, Actualiza la base de datos del locate, de la ruta de los ficheros | updatedb & locate archivo.php |
Sistema, apagar | shutdown now |
Sistema, desbloquear | ctr alt f2 sudo killall -1 gnome-shell , cuando se bloquea gnome htop, identifica el pid bloqueado sudo kill -l numeropid |
Sistema, distribucines ejecutables en tu sistema | sudo os-prober |
Sistema, hardware, operatividad, controladores, seguridad | sudo snap install hw-probe sudo snap connect hw-probe:block-devices :block-devices sudo -E hw-probe -all -upload |
Sistema, información | lscpu, lspci |
Sistema operativo | cat /etc/os-release |
Sistema version kernel | uname -r |
Sistema x86x64 | uname -m |
Ssh | instalar:apt install ssh encender:sudo system ssh start encender:sudo /etc/init.d/ssh start |
Ssh: entrar sin pass, mediante clave privada | ssh-keygen -t rsa -b 2048 ssh-copy-id user@server |
SSL: Instalar certificado ssl para nuestro dominio en apache o ngnix, solo para dominios reales. |
|
ssl, activa | sudo a2enmod ssl |
Subdominios: | Incluir regla dns: subdominio.domino IN A 123.123.123.123 |
Subdominios: Proxy otros puertos | Incluir regla dns: subdominio.domino IN A 123.123.123.123 |
SSL: ngnix | Crear certificados arriba, y ya te configura los archivos autom! |
Swap file | sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile Desabilitarla: sudo swapoff /swapfile |
Teclado: configuracion espaniol | Settings -> languages sudo setxkbmap -layout 'es,es' -model pc105 loadkeys es |
Tee: mover un archico a varios | tee < 512.png > apple-touch-icn-512.png icon-512.png icon-maskable-512.png |
Timezone | sudo dpkg-reconfigure tzdata |
Trafico: Monitoriza tráfico de redes(ncurses) | iptraf |
Trafico: Muestra la ruta que los paquetes de datos han seguida hasta la máquina de destino. | traceroute dominio |
Trafico: Combina ping y traceroute. | mtr dominio |
Trafico: versión para consola de ethereal,un analizador del tráfico de red (sniffer). | tethereal |
Trafico: Determina la ip, dns, proveedor de un nombre o el nombre de una ip.(host -v -a 194.224.55.221) | host -v -a dominio |
Trafico: Informacion sobre un dominio | whois dominio |
Tor-browser | https://www.torproject.org/ sudo ln -s /opt/tor-browser/Browser/start-tor-browser /bin/torb |
Usuarios ver | less /etc/passwd |
Usuarios contraseñas | less /etc/shadow |
Usuario | whoami |
Usuario | useradd encorto adduser largo usermod password Te cambia la contraseña password juan idem de juan sudo adduser pepe grupopeep anade grupo al usuario sudo usermod -a -G secreto filemon hacer un grupo por defecto para el usuario sudo chown fede.fede 'Recovery Linux' CAMBIA PROPIETARIO Y GRUPO sudo apt-get install gnome-system-tools administracion usuarios |
Usuario, hacer sudo | nano /etc/sudoers (lo anadimos, como está root) |
Usuario: root, cambiar contrasenia | sudo passwd |
Usuario, servidor | finger usuario —> Informa sobre un usuario conectado al sistema. finger @servidor —> Informa sobre todos los usuarios conectados a un servidor (nombre o IP) finger usuario@servidor —> Informa sobre un usuario conectado a un servidor |
Usuario, añadirlo a un grupo | sudo usermod -a -G grupo user |
Variables de entorno | nano ~/.bashrc , al final del archivo export PATH="$PATH:/opt/netbeans/bin/" . ~/.bashrc para cargar el archivo |
Version Linux | cat /etc/issue.net |
Vim | Linea: numG Busqueda: / N n Principio: GG Final: shift+g Principio renglon: 0 Final renglon: $4 Seleccionar: v Copiar: y Cortar: x Pegar: p Sustituir: r Borrar palabra: db Desacer: u Directorio: :o |
Virtualbox | Instalar: sudo apt install virtualbox ExtensionPack: VBOXVERSION=$(VBoxManage --version | sed -r 's/([0-9])\.([0-9])\.([0-9]{1,2}).*/\1.\2.\3/') wget -q -N "http://download.virtualbox.org/virtualbox/$VBOXVERSION/Oracle_VM_VirtualBox_Extension_Pack-$VBOXVERSION.vbox-extpack" VBoxManage extpack install --replace Oracle*.vbox-extpack Desinstalar: sudo apt-get remove virtualbox-\* sudo apt-get purge virtualbox-\* ln ejecutable /etc/bin/ |
vmware | Desinstalar sudo vmware-installer -u vmware-workstation |
vscode: install extensions |
|
Zurdo | sudo xmodmap -e "pointer = 3 2 1" |