La fe no es creer lo que no vimos, sino crear lo que no vemos.

Miguel de Unamuno

menú
 

Snippets.

Linux_consola.

Comandos para Linux =================== ## buscar paquetes debian; el ejemplo busca cualquier paquete que empiece con 'r-' > apt-cache search "^r-.*" - - - ## buscar entre los paquetes instalados (debian); en el ejemplo todos los paquetes que tengan en su nombre la cadena "php" dpkg --get-selections | grep php - - - ## ver tiempo de ejecucion de comandos time sleep 1 - - - ## buscar directorios con nombre "XXXX" ### con "type -f" busca ficheros find . -iname "XXXX" -type d - - - ## borrar directorios con nombre "XXXX" ### con "type -f" busca y borra ficheros find . -iname "XXXX" -type d -exec rm -rf {} \; - - - ## cat reads the contents of /dev/null (which contains nothing) and > writes this into t$ cat /dev/null > t cat /dev/null > t - - - ## poner a un usuario en un grupo sudo usermod -a -G sudo usuario - - - ## poner quitar servicios del inicio de sistema ### Red Hat based, lets disable the Apache web server at the system startup. sudo chkconfig httpd off sudo chkconfig httpd --del ##cambiar arranque y parada automatica de servicios (debian based) sudo update-rc.d apache2 defaults //aplica la configuracion por defecto sudo update-rc.d apache2 start 20 2 3 4 5 . stop 80 0 1 6 . //apache se iniciara en los niveles de ejecucion [2 3 4 5] y se parara en [0 1 6] sudo update-rc.d -f apache2 remove //se elimina el arranque y parada automaticos de apache en todos los niveles de ejecucion. Here -f option stands for force is mandatory. - - - ## netstat ### processes accepting connection (ports) sudo netstat -lp ### How to display a list of open ports? ### How to display a list of Active connections? ### -n is used to display numeric addresses instead of trying to determine symbolic hostnames ### -A is used to define the address family we are concerned with. Here its internet connections on IPv4 network, so inet(user inet6 for IPv6 connections). sudo netstat -n -A inet sudo lsof -i - - - ## comprimir con tar y bzip2 tar jcvpf stuff.tar.bz2 stuff/ ## extraer tar y bzip2 tar jxvf stuff.tar.bz2 - - - ## recuperar un sitio entero por ftp (-r -> recursivo); en este y en el siguiente creara un directorio "servidor.com" en el directorio donde se ejecute el comando y ahi descargara los contenidos wget --user=usuario --password=clave -r ftp://servidor.com ## recuperar un directorio de un sitio por ftp (-r -> recursivo) wget --user=usuario --password=clave -r ftp://servidor.com/directorio - - - ## chequeo del sistema de ficheros en inicio ## para debian y centos # In /etc/init.d/checkfs.sh is the line if [ -f /forcefsck ] || grep -s -w -i "forcefsck" /proc/cmdline, so providing forcefsck on the kernel command line or generating a /forcefsck file on shutdown should cause an fsck on the next reboot. # To prevent manual fsck runs, ask fsck to try to automatically fix errors with the -y option by uncommenting and changing no to yes in the following /etc/default/rcS entry, after the edit it should look like: # automatically repair filesystems with inconsistencies during boot FSCKFIX=yes # One option (forcefsck or FSCKFIX) does not imply the other. - - - ## buscar texto en ficheros (de paso guarda el resultado de la busqueda en "grep.txt"); ## -r hace la busqueda recursiva (en este caso en el directorio "." y descendientes), -R tambien recursiva pero sigue enlaces simbolicos y -H muestra en que fichero se ha encontrado la coincidencia, ademas del texto coincidente ## la expresion a buscar ("die(" en este caso) puede ser una expresion regular; -i ignora mayusculas/minusculas tanto en la expresion de busqueda como en el nombre de ficheros ## aadir --color para colorear las partes del resultado; -n para mostrar el numero de linea; -a procesa ficheros binarios como si fueran texto, util para encontrar cabeceras de tipo (en imagenes jpg, por ejemplo, con esta opcion se puede buscar la cadena "JFIF"), en este caso usar tambien -o para mostrar solo la cadena coincidente (si se muestra toda la linea, por defecto, los caracteres binarios ensuciaran la salida) grep -Hr "die(" . > grep.txt - - - ## quitar beeps en consola echo 'set bell-style none' >> ~/.inputrc - - - ## ejecutar comandos php php -r "phpinfo();" - - - ## phpinfo en linea de comandos php -i - - - ## nombre y version de distribucion; cualquiera de las siguientes cat /etc/*-release lsb_release -a uname -a cat /proc/version - - - ##consultar registros dns de un dominio ## -type=any indica que se quieren consultar todos los registros que haya (omitible) ## 8.8.8.8 indica a que servidor dns preguntar (omitible) nslookup -type=any sportreview.es 8.8.8.8 - - - ## ejecutar "comando" con otro "usuario" sudo -u usuario comando - - - ##Deshabilitar servidor grafico en arranque, entrar en el sistema en modo solo texto systemctl set-default multi-user.target ##habilitar servidor grafico en arranque, entrar en el sistema en modo grafico systemctl set-default graphical.target - - - ##tunel SSH ### -f pone ssh como tarea de fondo ###luego nombreUsuario@servidor al que conectar ### -L local-port:host:remote-port ### -N instructs OpenSSH to not execute a command on the remote system. ssh -f usuarioRemoto@direccionRemota.oIp -L puertoOrigen:direccionOrigen.oIp:puertoDestino -N ssh -f sportreview@91.126.140.65 -L 3306:localhost:3306 -N telnet -l oper localhost 3306 - - - ##Contar numero de ficheros/directorios ### -A is to count dot files, but omit . and ... ### -q make ls replace nongraphic characters, specifically newline character, with ?, making output 1 line for each file ### -U (faster) do not sort result ### -R si se quiere contar en subdirectorios (recursiva descendente) ls -AqU | wc -l ##Contar numero de ficheros ###cambiar "-type f" por "-type d" para buscar directorios ###quitar (o cambiar a la profundidad deseada) "-maxdepth 1" para buscar en subdirectorios find . -type f -maxdepth 1 | wc -l - - - ## Cambiar propmt de usuario (permite diferenciar con facilidad usuario root de otros); tanto para acceso directo como para acceso SSH Editar `.bashrc` de cada usuario (en su directorio personal: `/home/usuario`, `/root`) y cambiar valor de PS1, ejemplos: - para usuario no administrador en produccin `PS1="${debian_chroot:+($debian_chroot)}(\!) \[$(tput setaf 5)\]\u@\h\[$(tput sgr0)\]\[$(tput sgr0)\] [\W] \\$ "` - para administrador en produccin `PS1="${debian_chroot:+($debian_chroot)}{\$?} \[$(tput setaf 1)\]\u@\h [\w] \\$ \[$(tput sgr0)\]\[$(tput sgr0)\]"` Tambin se puede incluir `force_color_prompt=yes` si se quieren los resultados de los comandos coloreados (ej: `ls` muestra diferentes colores segn tipos de ficheros listados)