====== 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