Usando el comando cheat en Fedora Linux

0
905

El comando cheat, disponible para su instalación en muchos sistemas Linux, proporciona una manera fácil de hacer que las hojas de trucos estén disponibles para cientos de comandos.

El término “hoja de trucos (cheat sheet)” se ha utilizado durante mucho tiempo para referirse a listas de comandos con explicaciones rápidas y ejemplos que ayudan a las personas a acostumbrarse a ejecutarlos en la línea de comandos de Linux y comprender sus muchas opciones.

La mayoría de los usuarios de Linux, en un momento u otro, se han basado en hojas de trucos para comenzar. Sin embargo, existe una herramienta llamada “cheat” que viene con un par de cientos de hojas de trucos y que se instala rápida y fácilmente en Fedora y probablemente en muchos otros sistemas Linux.

Primero, para instalar Cheat en Fedora, use un comando como uno de estos:

$ sudo yum install cheat

Los archivos de hojas de referencia en Fedora se almacenarán en /usr/share/cheat y son archivos ASCII (texto) simples como este:

$ file /usr/share/cheat/xargs
/usr/share/cheat/xargs: ASCII text

Para usar el comando cheat, prueba los comandos:

$ cheat uname
$ cheat xargs
$ cheat cheat

Para el comando uname , la respuesta se verá así, mostrando las opciones del comando:

$ cheat uname
# To print all system information:
uname -a
# Linux system-hostname 3.2.0-4-amd64 #1 SMP Debian 3.2.32-1 x86_64 GNU/Linux

# To print the hostname:
uname -n
# system-hostname

# To print the kernel release:
uname -r
# 3.2.0-4-amd64

# To print the kernel version, with more specific information:
uname -v
# #1 SMP Debian 3.2.32-1

# To print the hardware instruction set:
uname -m
# x86_64

# To print the kernel name:
uname -s
# Linux

# To print the operating system:
uname -o
# GNU/Linux

Los comandos que se instalan en las hojas de trucos -cheat sheets – incluyen todos estos:

$ cd /usr/share/cheat
$ ls
7z          csplit         head        mutt         pip        snmpwalk     tree
ab          cups           hello       mv           pkcon      socat        truncate
acl         curl           hg          mysql        pkgtools   sockstat     udisksctl
alias       cut            history     mysqldump    pkill      sort         ulimit
ansi        date           http        nc           popd       split        uname
apk         dd             hub         ncat         ps         sport        uniq
apparmor    deb            iconv       ncdu         psql       sqlite3      unzip
apt         df             ifconfig    netstat      pushd      sqlmap       urpm
apt-cache   dhclient       indent      nkf          pwd        ss           vagrant
apt-get     diff           ip          nmap         python     ssh          vim
aptitude    distcc         iptables    nmcli        r2         ssh-add      virtualenv
aria2c      dnf            irssi       notify-send  rcs        ssh-copy-id  wc
asciiart    docker         iwconfig    nova         readline   ssh-keygen   weechat
asterisk    dpkg           journalctl  npm          rename     stdout       wget
at          du             jq          ntp          rm         strace       xargs
awk         emacs          jrnl        numfmt       route      su           xmlto
bash        export         kill        od           rpm        sudo         xrandr
bower       ffmpeg         less        openssl      rpm2cpio   svn          xxd
bzip2       find           lib         org-mode     rss2email  systemctl    yaourt
cat         fkill          ln          p4           rsync      systemd      youtube-dl
cd          for            ls          pacman       sam2p      tail         yum
cheat       gcc            lsblk       pass         scd        tar          z
chmod       gdb            lsof        paste        scp        tarsnap      zfs
chown       git            lvm         patch        screen     tcpdump      zip
comm        gpg            man         pdftk        sed        tee          zoneadm
convert     grep           markdown    perl         shred      tidy         zsh
cp          gs             mdadm       pgrep        shutdown   tmux
cpdf        gyb            mkdir       php          slurm      top
crontab     gzip           more        ping         smbclient  tr
cryptsetup  hardware-info  mount       ping6        snap       trashy

Puede mostrar una hoja de referencia para cualquiera de estos comandos. Algunos mostrarán una larga serie de ejemplos y otros, solo algunos. Esto, por supuesto, depende de la complejidad y las opciones del comando.

$ cheat ulimit
# Report all current limits
ulimit -a

# Unlimited file descriptors
ulimit -n unlimited

No hay una página de manual disponible para el comando de cheat, pero puede hacer trampa en el comando de cheat  para ver sus opciones:

$ cheat cheat
# To see example usage of a program:
cheat <command>

# To edit a cheatsheet
cheat -e <command>

# To list available cheatsheets
cheat -l

# To search available cheatsheets
cheat -s <command>

# To get the current `cheat' version
cheat -v

Usando el comando cheat -l , por ejemplo, podemos ver los comandos, archivos y etiquetas que indican de dónde provienen las hojas de trucos:

$ cheat -l | head -11
title:        file:                          tags:
7z            /usr/share/cheat/7z            community,compression
ab            /usr/share/cheat/ab            community
acl           /usr/share/cheat/acl           community
alias         /usr/share/cheat/alias         community
ansi          /usr/share/cheat/ansi          community
apk           /usr/share/cheat/apk           community,packaging
apparmor      /usr/share/cheat/apparmor      community
apt           /usr/share/cheat/apt           community,packaging
apt-cache     /usr/share/cheat/apt-cache     community,packaging
apt-get       /usr/share/cheat/apt-get       community,packaging

Si desea agregar sus propias hojas de trucos, primero debe seleccionar su editor y crear un directorio para almacenarlas.

$ export CHEAT_EDITOR=/usr/bin/vim
$ mkdir .cheat

Luego use el comando cheat -e para crear su hoja de trucos:

$ cheat -e hello

Aquí está el archivo de saludo que contiene una hoja de trucos de muestra para este nuevo comando:

$ cat hello
Hello, World!
=============
For some reason, the world never says hello back, but saying "Hello, World!"
is something of a Unix/Linux tradition.

Ahora copie el archivo al directorio /usr/share/cheat :

$ sudo cp .cheat/hello /usr/share/cheat

Entonces prueba tu nueva hoja de trucos:

$ cheat hello
Hello, World!
=============
For some reason, the world never says hello back, but saying "Hello, World!"
is something of a Unix/Linux tradition.

Puede agregar hojas de trucos para otros comandos o para los scripts que desea que otros usen para explicar sus opciones.

A diferencia de las páginas de manual, las hojas de trucos solo proporcionan ejemplos de comandos, pero a menudo son lo más útil, especialmente para los nuevos usuarios que no quieren tener problemas con todas las opciones sintácticas de un comando explicadas en las páginas de manual asociadas.