Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como Comandos

Cómo copiar con cp y excluir archivos o directorios internos (equivalente a rsync –exclude)

Si yo les pidiera que mencionen un comando para copiar una carpeta hacia otro lugar, casi todos mencionarían a cp . Ahora, si les digo que además, deben copiar todo el contenido de esa carpeta excepto 1 archivo, ahí muchos se quedarían pensando, y otros mencionarían a rsync , pues con el parámetro –exclude se puede excluir X archivo o carpeta y no copiarla. Pero… ¿sabían que cp también permite hacer esto? … O_O … sí amigos, cp tiene su propio “exclude” jeje. Por ejemplo, tenemos la carpeta isos que contiene: ubuntu.iso , debian.iso y archlinux.iso : Y sucede que deseamos copiar hacia la otra carpeta ( distros-deb , que está vacía) el archivo debian.iso y ubuntu.iso , o sea, todos menos archlinux.iso Para ello podríamos copiar un archivo y luego otro, manualmente, pero es mucho más inteligente usar las opciones que nos brinda el sistema no? … :D … por ejemplo, para hacer esto basta con: cp isos/!(archlinux.iso) distros-deb/ Y esto basta para que se copie TODO lo q

Cómo enviar comandos/procesos al background o segundo plano

Muchas veces cuando trabajamos en una terminal deseamos ejecutar un comando pero, luego poder cerrar la terminal y que lo que ejecutamos NO se cierre, por ejemplo, ejecutar en la terminal un script y luego cerrar la terminal pero que el script siga ejecutándose … ¿cómo lograr esto? Para lograr esto simplemente debemos poner un & al final de la línea, por ejemplo, tenemos un script llamado wifi-log.sh y para ejecutarlo y que se quede en el background sería: ./wifi-log.sh & Vean acá un screenshot: Aquí vemos claramente que luego de que ejecutamos la línea de arriba no aparece nada más, excepto 29675 ¿Qué significa esto? 29675 es el PID (número de proceso) del script que ejecutamos, o sea, si deseamos matar el script y que deje de ejecutarse simplemente ponemos: kill 29675 Y listo, se dejó de ejecutar. O sea y a modo de resumen , para mandar al background (o segundo plano) un proceso (comando, varios comandos o script) debemos poner

Subir archivos a servicios de hosting por linea de comandos

Una de las ventajas que nos ofrece linux es su poderosa línea de comandos. Esta nos permite automatizar tareas que de otra manera resultan tediosas ahorrandonos precioso tiempo. Entre las tediosas tareas que mencionaba antes,está el subir archivos a servicios de hosting como depositfiles, fileserve, frakshare y todos los enlaces que prohibe T! Primero que todo, deben tener cuentas creadas en el respectivo servicio y buscar si soporta ftp uploads, depositfiles, fileserve y freakshare lo hacen... mediafire no Lo primero es obtener la información necesaria del servidor, esta esta en la página del hosting, es cosa de buscar un poco, algunos ejemplos en las siguientes imàgenes... Fileserve Deposit Files Freak share De aquí sacan el server El login (su nombre de usuario generalmente) y el password. Ya con esto, podemos empezar con la carga de archivos . Parar esto hay varias formas... podemos usar curl, o logearnos con ftp, pero lo que me pareció mas

Hacer que "rm" mande los archivos a la papelera

Hoy iba a eliminar algo, y me acorde que antes añadía el siguiente alias a mi archivo ~.bashrc: alias rm="mv -t ~/.local/share/Trash/files --backup=t"  He aprendido que puedes tener toda la seguridad del mundo para eliminar un archivo, luego darte cuenta que estabas equivocado. O bien puedes estar desvelado y no estar al 100% de tus facultades mentales y si tienes la contumbre de eliminar con rm puede fallar la mente. Y muchas situaciones más. La clave está en la costumbre. Desventajas de este método: 1. Cuando quieras eliminar archivos para tener más espacio o ya no los quieras tener nunca, tendrás que invocar al rm original por su ruta completa /bin/rm o añadir otro alias. 2. No lo van a poder restaurar normalmente 3. No se va a registrar la fecha en que fue eliminado 3. No podrán administar la papelera de forma simple en la consola A continución gracias a una aplicación escrita en python todos los puntos anteriores están cubiertos, en excepción del prim

Reloj en la Terminal

No es que esto sea muy complicado, ya que con teclear un simple “date“, obtendremos automáticamente la fecha y hora de ese momento, pero nunca va a resultar tan cómodo como tener un reloj continuo en una esquina de la pantalla de la terminal. Para hacer esto, podemos utilizar complicados y largos scripts que se pueden encontrar en la red, o podemos hacerlo con una sencilla linea de comandos. Para ello hay varias maneras, como por ejemplo, con la siguiente linea: while true; do echo -ne "e[se[0;$((COLUMNS-27))H$(date)e[u"; sleep 1; done& En este caso tenemos una salida del comando date que comentaba más arriba, pero que se nos quedará todo el tiempo en la parte superior derecha de la pantalla aunque vayamos corriendo lineas. Otra forma curiosa de tener un reloj, es añadirlo al lado de nuestro nombre de usuario, de esta forma: export PS1="${PS1%\$*}"' t $ '

Como asignar comandos y teclas a botones extra del mouse

Hola, hoy les voy a mostrar como asignar comandos y combinaciones de teclas a los botones del mouse. para eso vamos a usar EasyStroke . Primero tenemos que instalarlo para eso ponemos en la terminal: En Debian/Ubuntu/ect: sudo apt-get install easystroke En fedora: sudo yum install easystroke (creo que esta en los repositorios de la mayoría de las distribuciones pero no me se de memoria todos los comandos) Una ves que lo instalemos vamos a ver algo asi: Lo primero que hay que hacer es configurar los botones a usar, para esto vamos a la pestaña Preferencias y seleccionamos boton de gesto y nos va a salir un dialogo como este: Acá podemos elegir cualquier botón del mouse, para eso hacemos click con el botón que queramos en el cuadro gris y se los detecta automáticamente, y elegimos gestos instantáneos .(dejelo en tiempo para usar un trazo) Ena vez hecho esto, volvemos a la pestaña acciones y creamos una nueva acción, elegimos el nombre, después vamos a gr

Traducir desde la Consola

Instalamos el paquete: # apt-get install apertium-en-es Editamos un archivo y ponemos dentro algo en ingles: # vim ingles-input.txt My name is walrus Peter. Traducimos de ingles a espanol: # apertium en-es ingles-input.txt > espanol-output.txt Vemos el texto traducido: # cat espanol-output.txt Mi nombre es Peter. Si queremos traducir de ingles a espanol, simplemente invertimos el en-es por es-en. Si queremos por ejemplo traducir el man del bash, realizamos lo siguiente: # man bash > bash-en-ingles.txt # apertium en-es ingles-input.txt > espanol-output.txt

Como guardar el historial de comandos de multiples terminale

Bueno en esta vez voy a compartir con ustedes un pequeño truco que a mi personalmente me resulta bastante util. Bueno empecemos..! Como guardar el historial de comandos de multiples terminales Seguramente muchas veces les paso que tienen multiples terminales abiertas en el sistema. Y con bash la configuracion predeterminada es que una vez que se pulsa el boton ( ↑ ) no podemos ver el comando anterior que ejecutamos en otra terminal, pero si podemos ver los comandos ejecutados en la misma terminal. Este problema es aun peor ya que por defecto el historial de bash guarda solo la ultima sesion cerrada. Ahora bien, si deseamos guardar el historial de los comandos que usamos en todas las sesiones abiertas tenemos que hacer lo siguiente: Abrimos el archivo .bashrc que se encuentra en su HOME y añadimos las lineas (al final).: shopt -s histappend export PROMPT_COMMAND="history -a; $PROMPT_COMMAND" Luego de agregar estas lineas en el archivo .bashrc cada v

Cómo crear un lanzador en el escritorio de Ubuntu

Desde hace ya algunas versiones, Ubuntu no cuenta con una opción para crear un lanzador . Aquí te explicamos cómo crear uno.   Pasos a seguir Abrí un terminal y escribí lo siguiente: gnome-desktop-item-edit ~/Escritorio --create-new Donde ~/Escritorio es el lugar donde quieras que se cree el lanzador. Posteriormente, se mostrará lo siguiente: Desde aquí podés personalizar el lanzador. En Tipo podés elegir entre Aplicación de Terminal o sólo Aplicación. Si la aplicación tiene una interfaz gráfica, elegí Aplicación. En caso de que necesites ver el "feedback" o los progresos de un script, te conviene elegir la primer opción. En Comando ingresá el lugar donde esté alojado el script o aplicación a ejecutar. Incluso es posible seleccionar un ícono o imagen personalizado haciendo clic sobre el botón del trampolin. Ya sólo queda hacer clic en Aceptar. Finalmente, resta darle permisos de ejecución al script o a la aplicación a la que apunta el lanzador.

Cómo activar/desactivar el touchpad desde el terminal

Existe una opción para desactivar el touchpad desde el terminal , cuando todos los applets y métodos alternativos fallan. Este método fue probado en Ubuntu pero debería funcionar también en otras distribuciones. César Bernardo Benavidez Silva es uno de los ganadores de nuestra competencia semanal: " Compartí lo que sabés sobre Linux ". ¡Felicitaciones! ¿Ansioso por participar y hacer tu aporte a la comunidad, como lo hizo César? Hola amigos, les traigo este post dedicado, para quienes igual que yo tienen dificultades con el touchpad de su computador portátil, con sistema operativo Ubuntu 12.04 LTS. El problema que tengo es que el touchpad de mi laptop es muy sensible y cuando escribo algún documento siempre tengo problemas de tocar el touchpad y se generan desastres en el texto que escribo. He probado algunos scripts, presionando la tecla predeterminada de mi computador para activar/desactivar el touchpad, con programas como "touchpad-indicator&qu

Con la terminal: Ordenar alfabéticamente el contenido

Les mostraré el cómo teniendo un archivo con muchas líneas de texto dentro, ordenar alfabéticamente las líneas de ese archivo. Por ejemplo, tenemos un archivo (llamado distros) que contiene lo siguiente: linux debian ubuntu archlinux sabayon gentoo solusos Y deseamos ordenar alfabéticamente estas distros. Para ello en una terminal ponemos lo siguiente: cat distros | sort > distros-ordenadas Y listo, les muestro el screenshot de yo ejecutando este comando, y luego haciendo un cat (mostrando contenido) del nuevo archivo distros-ordenadas: …. ¿a que es extremadamente fácil? El comando sort tiene muchas opciones, en la terminal si hacen man sort les mostrará todas las opciones En fin, un pequeño tip que nos podría resolver varios problemas en determinado momento jajajaja, espero les haya gustado.    

Cómo cerrar un terminal sin que se cierre el programa ejecutado desde el mismo

Normalmente, cuando usás el terminal para ejecutar un programa, si querés cerrar el terminal, esto cerrará también el programa en ejecución. Para evitar este comportamiento, existe un pequeño truco . Supongamos que abriste nautilus desde un terminal ejecutando: nautilus Ahora querés cerrar el terminal sin que se cierre la ventana de Nautilus. Para ello, presioná Ctrl + z en el terminal y ejecutá los siguientes comandos: disown -h %1  bg 1  Una vez hecho eso, podés cerrar el terminal sin que ello repercuta en el programa que abriste desde el terminal. Como plantea Rafa (uno de nuestros lectores), otra forma más fácil de conseguir el mismo efecto es ejecutando el programa con el parámetro & al final. Por ejemplo, para abrir nautilus sería así: nautilus &

Medir la intensidad de nuestro WiFi desde la shell en linux

El objetivo es determinar la fortaleza de la señal de la red wireless, a la que estamos conectados en tiempo real, sin necesidad de instalar software específico como wavemon o recurrir a interfaces como Gnome-Network o WICD. Una manera sencilla de extraer esas estadísticas, es a partir del archivo /proc/net/wireless , algo que podemos ver al escribir en la terminal cat /proc/net/wireless y fijarnos en el valor link Pero si además, lo que queremos es tener esa información continuamente actualizada, es conveniente añadir el comando watch, seguida de la opción en segundos (en mi caso elegí un segundo) watch -n 1 cat /proc/net/wireless Otra secuencia de comandos que encontré en Commandlinefu , y que me pareció interesante, es esta, que utiliza el viejo comando de Unix: awk watch -n 1 "awk 'NR==3 {print "Signal strength = " $3 "00 %"}''' Como ven hace lo mismo, aunque varía ligeramente el formato de salida  

¿Comandos difíciles de recordar?

Personalízalos con Alias Personaliza los comandos poniéndoles un nombre fácil de recordar Hay veces que algunos comandos pueden ser difíciles de recordar, otras veces no es que no los recordemos pero se nos puede hacer pesado escribir todo el tiempo alguno de ellos y más si son una cadena muy larga. Para ambos casos, nuestro sistema tiene una solución, los alias. Como el propio nombre indica, alias se encarga de ponerle un “apodo” o un nombre alternativo a esos comandos difíciles de recordar o facilitarnos algunas tareas repetitivas. En realidad se trata de crear una atajo hacia un comando o función al que le daremos el nombre que queramos. Su utilización es muy simple y su sintaxis más básica sería: alias nombre_de_alias='comando completo' Tan sencillo como eso, a partir de ese momento al escribir el nombre que le hallamos puesto al comando o la cadena de ellos se ejecutarán normalmente. Algunos ejemplos: alias actualiza='sudo apt-

Diminuto script para monitorear conexiones

Estaba observando conexiones con netstat a cada instante en un servidor pero no resultaba muy práctico así que mande a filtrar la columna de las direcciones foráneas, quitarles el puerto, contar la cantidad de conexiones que tiene cada ip, ordenarlas de mayor a menor, imprimirlas en pantalla y refrescar la pantalla. Todo en 8 líneas. Puede ser muy útil para saber quien está haciendo más peticiones a un equipo. #!/bin/bash while true; do clear; echo "========================="; netstat -ntu|awk '{print $5}'| cut -d: -f1| sort| uniq -c| sort -nr| grep -v 'dres|vers'; echo "========================="; sleep 1; done

Tutorial del comando chmod

Instrucciones detalladas para aprender a manejar correctamente los permisos de los archivos en sistemas Linux / Unix, con el comando chmod. Para cambiar los permisos de un archivo o directorio del servidor, tienes que utilizar el comando chmod. En general, cualquier comando de linux o unix tiene una ayuda, que puedes ver invocando al comando, seguido con el parámetro -help. Algo como esto: chmod -- help Este comando en concreto tiene varias sintaxis permitidas. De entre ellas por ejemplo puedes utilizar: chmod [ opciones ] modo-en-octal fichero Las opciones podemos indicarlas o no, según queramos. Opciones típicas son: -R para que mire también en los subdirectorios de la ruta. - v para que muestre cada fichero procesado - c es como -v, pero sólo avisa de los ficheros que modifica sus permisos El modo en octal es un número en base 8 (octal) que especifique el permiso. Los números en octal se especifican empezando el número por un 0. Por ejemplo, 0777 es

Cómo saber si un paquete se encuentra instalado o no de manera fácil y rápida

Algunas veces necesitamos saber si algún paquete está instalado en nuestro sistema, y es algo tedioso abrir nuestro gestor de paquetes para después de varios pasos ver si se encuentra instalado o no. He aquí la manera fácil y rápida de hacerlo desde un terminal . Para saber si un paquete se encuentra disponible en los repositorios, abrí un terminal y escribí: Arch Linux: pacman -Ss paquete Fedora: yum search paquete Debian/Ubuntu: apt-cache search paquete OpenSUSE: zypper se paquete Gentoo: emerge -S paquete Para saber si un paquete se encuentra instalado en nuestra máquina: Arch Linux: pacman -Qs paquete Fedora: rpm -qa | grep paquete Debian/Ubuntu: dpkg -l | grep paquete OpenSUSE: zypper se -i paquete Gentoo: emerge -pv paquete Facil, ¿no?

Con la terminal: Ejemplos con el comando Find

Una vez más los compañeros de humanOS nos dejan un artículo muy útil con algunos ejemplos que podemos utilizar, cuando hacemos uso de Find , un comando para buscar archivos o carpetas. Para obtener la ayuda del comando ejecute: man find para abandonar el manual basta con oprimir la tecla [q] (válido para cualquier manual). En los ejemplos siguientes el punto (.) después de find ( find .) significa que estamos buscando en la carpeta que indica el prompt. Se puede sustituir por cualquier ruta válida como /home/. Ejemplos: Simplemente buscar archivos con un patrón. find . -type f -name "*.deb" buscar y copiar hacia /home/pepe/ find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ ; Buscar los archivos Thumbs.db y eliminarlos. find . -type f -name "Thumbs.db" -exec rm -f {} ; Crear un archivo de texto puro con el md5 de los ficheros en el directorio. find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt Eliminar las molestas carp

Los 8 comandos y atajos más útiles

Los 8 comandos y atajos de teclado más útiles que los novatos en Linux deben saber Hoy en día no es necesario tocar la línea de comandos para usar Linux . Esto puede ser cierto, sin embargo, es importante que los nuevos usuarios y los que aún están planeando utilizar Linux conozcan algunos de los comandos básicos y atajos de teclado para sacarle el máximo provecho a Linux . Así que aquí he hecho una lista de los 8 comandos y atajos de teclado en Linux más útiles que creo que los novatos deben saber: ls Con este comando, puedes ver el contenido de tu directorio de trabajo actual. ls es a menudo vinculados con las opciones -l (para ver una lista detallada de archivos) y -a (para ver los archivos ocultos). Se usa de esta manera: $ Ls -al sudo Permite a los usuarios ejecutar programas con los privilegios de seguridad de otro usuario (normalmente el usuario root). Por defecto, sudo te pedirá una contraseña de usuario pero puede ser configurado para requ

last, como obtener los últimos inicios de sesión

El comando last es una pequeña utilidad que nos permite conocer cuando se inició la sesión y cuando finalizó, con que usuario y desde que dirección IP se realizaron los últimos inicios de sesión a un sistema. Quizá esta información no sea de utilidad en alguna situación o para detectar intrusiones a un sistema. Su uso es muy simple:  $ last -F -10 Este comando nos permite conocer los ultimos 10 inicios de sesión en el sistema. Si queremos conocer los inicio de sesión realizados por un determinado usuario lo haríamos con: $ last -F -10 root Este comando tiene unos cuantos parámetros más que pueden consultarse en la página man del comando.