Trucos de Verano, acercándonos al terminal

Trucos de veranoActualmente, cualquier usuario puede utilizar alguna de las distribuciones libres mas populares sin necesidad de depender del terminal. Existen muchas aplicaciones con interfaces gráficas amigables que hacen el trabajo pesado por nosotros, reduciendo nuestra tarea a un simple “siguiente…siguiente / clic…clic”. Mucho han cambiado las cosas  en los entornos gráficos en la última década, pero los que llevan ya un tiempo utilizando sistemas operativos “like-Unix” saben bien que la terminal sigue siendo el mejor aliado. Hoy quiero compartir con ustedes algunos trucos para facilitar la navegación a través de directorios utilizando el terminal.


1- CDPATH para definir el directorio base para el comando cd.

En ocasiones debemos movernos de un directorio a otro que se encuentra distante, por ejemplo para movernos de nuestra carpeta personal hacia el directorio apt que se encuentra dentro de etc que a su vez se encuentra dentro del directorio raiz. Si intentamos movernos directamente utilizando cd /apt se nos devolvera un mensaje de error, pero utilizando CDPATH sí podemos movernos directamente, como se ve en la siguiente imagen.

cdpath


2- Utilizar mkdir y cd con un comando único

En ocasiones creamos un directorio (usando mkdir)en una ubicación distante de nuestra actual locación, y luego necesitamos entrar inmediatamente a esa nueva carpeta (usando cd), como se muestra en la imagen debajo.

mkdir+cd

Si quieres hacer esto en un solo paso, es decir utilizar un solo comando para crear el directorio y acceder a este añade las siguientes líneas al fichero .bashrc en tu carpeta personal (si no existe créalo) utilizando cualquier editor de texto plano (vi, nano, gedit, kate, kwrite o lo que se te antoje):

function mkdircd () { mkdir -p "$@" && eval cd "\"\$$#\""; }

El resultado lo podemos observar en esta imagen:

mkdircd


3- Usar shopt -s cdspell para corregir automáticamente errores de nombres de directorios al emplear el comando cd.

En ocasiones mientras queremos navegar hasta un directorio determinado suele ocurrir que nos equivocamos en teclear algún carácter y, evidentemente, el error no se hace esperar. Esto podemos corregirlo empleando shopt -s cdspel como se muestra a continuación.

cdspell

Intentando acceder a /etc/apt tecleo una letra errónea. Utilizando shopt -s cdspell el error se corrige automáticamente


Por hoy creo que es suficiente, nos vemos pronto con nuevos trucos para la terminal, y como siempre les digo… Saludos GUTL

¿Te resultó interesante? Compártelo ...



Maikel Llamaret Heredia

Publicado por Maikel Llamaret Heredia

https://swlx.info » Facebook » Twitter » Google+ » Linkedin » Forma parte de GUTL desde el 6 diciembre, 2011. Parte de la familia GUTL. Usuario de Tecnologías Libres desde hace varios años. Fiel a GNU/Linux y las filosofías del Software Libre y el Código Abierto. Linux User # 587451. Creador y actual mantenedor del Proyecto SWL-X. Freelancer dedicado al Desarrollo / Diseño Web y Marketing Online. Creador de Web & Media Integrated Solutions

Este artículo tiene 24 comentarios

  1. Más que nada… Cómo te sale la hora en la terminal cuando ejecutas algún comando?
    OT: Que viva KDE eh?

    • Aqí va otro truco que uso a diario.

      Si no saben los nombres exactos de diferentes archivos o les cuesta trabajo teclear un nombre
      largo, estos pueden abreviarse con un *.

      Ejemplo

      cd /media/AFD230*/

      ls /usr/share/appl*

      cp «./Historia de la cu*» /tmp/

      nano /etc/samba/smb*

      /etc/init.d/kernel*

      Nótese que cuando usamos nombres con espacios en la terminal, estos se ponen entre comillas dobles.

  2. Otro truco que seguramente les va a gustar a toda la comunidad.

    Podemos conversar mutuamente en la terminal con el comando nc disponible en todos los Debians.

    1 – Ponemos en la terminal:

    nc -l -p 8888 (modo listen -l -p puerto_por_donde_se_escucha)

    la consola permanecerá en espera.

    2 – Ejecutamos el mismo comando en otra terminal a modo cliente:

    nc ip_del_server_en_espera puerto

    Ej: nc 192.168.20.54 8888

    3 -Ahora si escribimos de lado del server en espera y damos enter se recibira el mensaje en el cliente y viceversa.

  3. Otro más.

    Si ustedes quieren cambiar el idioma del teclado desde el terminal
    pueden poner:

    setxkbmap us ( para ingés)
    setxkbmap es ( para español)

  4. Cómo hacer un remastersys decente que funcione correctamente

    en Debian y con cualquier versión.

    1- Primero instale squashfs-tools, initramfs-tools, tambien debe estar disponible el comando genisoimage y whoami.

    – Debemos crear 3 scripts:

    -El que limpia los temporales después de crear el iso.
    – El que hace el backup del sistema y crea el iso.
    – Uno opcional que solo hace el iso para por si se cambia el syslinux no tener que hacer todo el squashfs.

    Script 1

    clean.sh
    —————————————————

    #!/bin/sh

    CUSTOMISO=»linuxPersonal.iso»
    WORKDIR=».»

    echo «\n\n——Limpiando residuos anteriores—-\n\n\n»

    if [ -f $WORKDIR/ISOTMP/live/filesystem.squashfs ];then
    rm -v $WORKDIR/ISOTMP/live/filesystem.squashfs
    fi

    if [ -f $WORKDIR/$CUSTOMISO ];then
    rm -v $WORKDIR/$CUSTOMISO
    fi

    ———————————————————–

    script 2

    crea-iso.sh

    ———————————-

    #!/bin/sh

    CUSTOMISO=»linuxPersonal.iso»
    WORKDIR=».»
    LIVECDLABEL=»linuxPersonality»
    CREATEISO=»$WORKDIR/complementos/genisoimage»

    clear

    # Dar permisos a programas
    chmod a+x $WORKDIR/complementos/genisoimage
    chmod a+x $WORKDIR/complementos/mksquashfs

    # ***********Comprobar si eres root si no salir

    testroot=`$WORKDIR/complementos/whoami`

    if [ «$testroot» != «root» ]; then
    echo «\n\n\n***Debes ser root o usar sudo para continuar. Exiting.\n\n\n\n»
    exit 1
    fi
    #*********************************************

    # Crear el iso

    if [ -f $WORKDIR/ISOTMP/live/filesystem.squashfs ];then

    echo «\n\n\nCreando $CUSTOMISO en $WORKDIR/ directorio de trabajo\n\n\n»
    $CREATEISO \
    -v \
    -r \
    -V «$LIVECDLABEL» \
    -cache-inodes \
    -J \
    -l \
    -b isolinux/isolinux.bin \
    -c isolinux/boot.cat \
    -no-emul-boot \
    -boot-load-size 4 \
    -boot-info-table \
    -o $WORKDIR/$CUSTOMISO «$WORKDIR/ISOTMP»
    else
    echo «\n\n\n—-Debe ejecutar backup antes de este script\n\n\n»
    fi

    ————————————————-

    Script 3

    backup.sh

    ———————————————

    #!/bin/sh

    SQUASHFSOPTSHIGH=»-no-recovery -always-use-fragments»
    #SQUASHFSOPTSHIGH=»»
    CUSTOMISO=»linuxPersonal.iso»
    WORKDIR=».»
    LIVECDLABEL=»linuxPersonality»
    FOLDER=»./folders/»

    CREATEISO=»genisoimage» # Programa creador del iso
    SQUASHFS=»mksquashfs» # Programa creador del squashfs

    clear #Borra pantalla

    echo «\n\n\n**** Programa modificado por Haylem Candelario Bauza\n\n»
    echo «****Version original Pablo Bazan Sanchez\n\n\n»

    # ***********Comprobar si eres root si no salir

    testroot=`whoami`

    if [ «$testroot» != «root» ]; then
    echo «\n\n\n***Debes ser root o usar sudo para continuar. Exiting.\n\n\n\n»
    exit 1
    fi
    #*********************************************

    # *************** Limpiar residuos anteriores

    echo «\n\n——Limpiando residuos anteriores—-\n\n\n»

    if [ -f $WORKDIR/ISOTMP/live/filesystem.squashfs ];then
    rm -v $WORKDIR/ISOTMP/live/filesystem.squashfs
    fi

    if [ -f $WORKDIR/$CUSTOMISO ];then
    rm -v $WORKDIR/$CUSTOMISO
    fi
    # ****************************************

    echo «\n\n\n\n\n\n»
    $SQUASHFS $FOLDER $WORKDIR/ISOTMP/live/filesystem.squashfs -b 1M -no-duplicates $SQUASHFSOPTSHIGH

    echo «\n\n\n\n\n\n»
    $SQUASHFS / $WORKDIR/ISOTMP/live/filesystem.squashfs -b 1M -no-duplicates $SQUASHFSOPTSHIGH -e \
    /.thumbails \
    /.cache \
    /media \
    /mnt \
    /proc \
    /iso \
    /etc/fstab \
    /etc/mtab \
    /sys \
    ./

    # Crear el iso

    echo «\n\n\nCreando $CUSTOMISO en $WORKDIR/ directorio de trabajo\n\n\n»
    $CREATEISO \
    -v \
    -r \
    -V «$LIVECDLABEL» \
    -cache-inodes \
    -J \
    -l \
    -b isolinux/isolinux.bin \
    -c isolinux/boot.cat \
    -no-emul-boot \
    -boot-load-size 4 \
    -boot-info-table \
    -o $WORKDIR/$CUSTOMISO «$WORKDIR/ISOTMP»

    ———————————————

    Antes de usar estos scripts usted debe crear en la misma carpeta de ellos una estrucruta de carpetas como:

    folders/

    media
    mnt
    proc
    sys

    * Todas vacías

    ISOTMP
    isolinux (aqui guarde los archivos de syslinux de arranque del cd con la misma estructura)
    live (esto contiene filesystem.packages, initrd.img memtest vmlinux)

    *Estos archivos como initrd y vmlinux los debe extraer de un live cd de debian como es gutl y pegarlos allí porque ya estos están modificados por las initramfs-tools.

    Justo en esta carpeta se creará el . squashfs que es la imágen de tu disco duro.

    El iso resultante se crea al lado de los scripts backup, crea-iso y clean.

    ——————————————–

    Uso:
    – Copiar la carpeta con los scripts y todo a /tmp/
    – moverse a /tmp porque el iso no puede incluirse él a sí mismo y el excluye de este la carpeta /tmp
    – entrar en la carpeta donde tiene los scripts

    – luego aquí primero entra como root con su o sudo su

    – teclea para limpiar cualquier resto de iso resultante o temporal ./clean
    – Salga de la sesión hasta que esté en pantalla el cartel de gdm o gdm3 (puede ser otro.). Esto es necesario para que cuando se crea el iso el sistema no use determinados servicios que puedan dar advertencia con squashfs.
    – Entrar en modo texto con ctrl+alt+f2
    – Luego para crear el iso teclea ./backup y espere a que termine. Cuando lo haga tendra un iso en el mismo directorio.
    -Mueva este iso a su carpeta personal y luego reinicie la pc.

    Ya el iso está listo para quemar.

    Esto está probado al 100 * 100 por compañeros del INOR y funciona ok, está mejorado pr mí y otro compañero basado en el código original remastersys ubuntu.

    Cualquier problema escríbame a haylem@inor.sld.cu

    • Si por casualidad usted cambia el archivo isolinux.cfg de su iso ya sea porque no le cuadra la
      imágen que le puso u otra causa, entonces no es necesario volver a correr backup.

      Usted puede recrear el iso obviando este paso con tan solo ./crea-iso

      que sólo reempaquetará todos los archivos en un .iso.

      Que lo disfruten.

  5. se me pasó un pequeño error en el crea iso.

    Borren las líneas

    # Dar permisos a programas
    chmod a+x $WORKDIR/complementos/genisoimage
    chmod a+x $WORKDIR/complementos/mksquashfs

  6. Haylem me has robado el credito pues el scrip sabes que es obra original mia modificando en pakete reb «Remastersys» 2.0 para ubuntu el cual no funcionaba en debian y por eso lo adapte y traduje al español.

  7. El tuyo funciona totalmente diferente acuérdate que yo le hice algunos cambios. El tuyo es del remaster 2.0 y el mío del 1. El original mío funciona totalmente portable por supuesto he tenido que omitir aquí esos arreglos por motivos de brevedad, mientras el tuyo requiere instalación de paquetes extras como los mencionados el portable ya trae subcarpetas con lo necesario, además la proxima versión estable que haré traerá una nueva interfaz gráfica y permitira tanto correrlo en debian, ubuntu,redhat y la distro que sea. Además el nuevo bakup le haré un nuevo instalador independiente de sistema al estar creado con fltk y bash y traerá un parámetro que permitirá instalarlo en modo consola sin necesidad de gráficos gracias a dialog.

  8. Además, se te olvidó leer el final donde puse otro compañero del INOR no puse otros. Por supuesto que me refería a tí. jajaja.

  9. Necesito alguine que me facilite Debian con los repos fundamentales yo lo iria a copiar pq no tengo una buena conexion y no puedo bajarlos

  10. Alguien que sepa como cambiar el tamaño por defecto que trae asignado el directorio /tmp, actualmente lo tengo fijo en 1.6GB y me haría falta que subiera según la necesidad. Por ejemplo el otro día quise crear un iso de un DVD en k3b y tuve que cambiar el fichero temporal para mi carpeta home. Please Help!

    • eso pasa porque seguro que cuando instalaste el sistema le asignaste una particion a /tmp, lo que tienes que hacer es borrar esa particion y dejar la carpeta /tmp en la raiz

      • Tengo a /tmp en la raíz, de hecho tengo todas las carpetas tipo /home, /boot, /etc, /usr en la raíz, Todas en una particion de 100GB con 70GB libres, pero al preguntar las propiedades de /tmp me dice que este tiene 1.6GB !? Lo que necesito es que al menos tenga 5GB para copiar isos de DVD sin tener que estar redirigiendo el k3b cada segundo.

        • Ufff yo tambien me pregunto por que tendrá ese limite,…. no tendrás cuotas de disco instalada o algo asi….???

          otra cosa, no has probado a borrar la carpeta y volverla a crear???

          • No había pensado en eso, a lo mejor funciona.
            Pero como sería para poder cambiar la cuota de disco de una carpeta???

Los comentarios están cerrados.