====== CLI: interfaz de línea de comandos ====== CLI (//Command Line Interface//, interfaz de línea de comandos)) es un tipo de interfaz de usuario que permite dar instrucciones a algún programa o sistema operativo por medio de una línea de texto simple. ===== Linux ===== ==== Ejecutar último comando como root ==== sudo !! Con dos signos de exclamación, nos estamos refiriendo al último comando ejecutado, de esta manera nos ahorramos tener que volver a escribirlo en esos casos en que olvidamos ejecutar el comando con permisos de administrador. Si ''sudo'' no está instalado en el sistema o no tenemos permiso para usarlo, podemos usar esta alternativa: su -c "!!" Tendremos que saber la contraseña de root, claro está. ==== Abrir un editor rápidamente para escribir un comando ==== fc -e vim Ese comando abrirá el editor ''Vim'', podremos escribir un comando y cuando guardemos y cerremos, se ejecutará. Útil cuando tenemos que escribir comandos largos o complicados. Si queremos ahorrarnos el tener que indicar por argumento qué editor se lanzará, podemos utilizar la variable de enterno ''FCEDIT'' y darle como valor el editor que queramos usar: export FCEDIT=vim De esa manera, al ejecutar solo ''fc'' ya se abrirá Vim. ''fc'' viene de //fix commands//, es decir, arreglar comandos. ==== Escribir el último argumento utilizado ==== Con la combinación Alt + . accedermos al último argumento utilizado. Por ejemplo, si ejecutamos: cd /home/tempwin/ Si a continuación pulsamos A + ., en la terminal aparecerá ''/home/tempwin''. Si volvemos a pulsar A + ., se mostrará el argumento anterior y así sucesivamente iremos viajando hacia el "pasado" de los argumentos usados con anterioridad. ==== Mostrar los sistemas de ficheros montados ==== El comando para mostrar los sistemas de ficheros que están actualmente montados en el sistema es ''mount'', pero podemos mejorar el "aspecto" de la salida empleando el comando ''column'': mount | column -t Pasaremos de: $ mount proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) dev on /dev type devtmpfs (rw,nosuid,relatime,size=8145608k,nr_inodes=2036402,mode=755,inode64) run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755,inode64) efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime) /dev/sda3 on / type ext4 (rw,relatime) securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot) pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime) none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700) systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=14584) hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M) mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime) debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime) tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,nr_inodes=409600,inode64) configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime) fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime) none on /run/credentials/systemd-sysusers.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700) /dev/sda4 on /home type ext4 (rw,relatime) tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=1631068k,nr_inodes=407767,mode=700,uid=1000,gid=998,inode64) gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=998) A esto otro: $ mount | column -t proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) dev on /dev type devtmpfs (rw,nosuid,relatime,size=8145608k,nr_inodes=2036402,mode=755,inode64) run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755,inode64) efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime) /dev/sda3 on / type ext4 (rw,relatime) securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot) pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime) none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700) systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=14584) hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M) mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime) debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime) tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,nr_inodes=409600,inode64) configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime) fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime) none on /run/credentials/systemd-sysusers.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700) /dev/sda4 on /home type ext4 (rw,relatime) tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=1631068k,nr_inodes=407767,mode=700,uid=1000,gid=998,inode64) gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=998) [tempwin@zeta ~]$ ==== Volver al directorio anterior ==== Para movernos entre directorios, usamos el comando ''cd''. Si queremos ir rápidamente al directorio en el que estábamos antes, utilizamos el argumento ''-'': cd - El argumento ''-'' es lo mismo que la variable de entorno ''$OLDPWD'' ==== Restaurar el terminal ==== Cuando en una consola virtual de Linux empieza a escribir caracteres extraños, podemos utilizar el comando ''reset'' para restaurarla. ==== Tabla ASCII ==== En el manual del programador de Linux podemos ver rápidamente una tabla de los 128 caracteres ASCII: man ascii