El Shell Bash de GNU/Linux 5.7 – Otros comandos útiles

  1. El Shell Bash de GNU/Linux 1 – Introducción
  2. El Shell Bash de GNU/Linux 2 – Tuberías y filtros
  3. El Shell Bash de GNU/Linux 3 – Variables de entorno
  4. El Shell Bash de GNU/Linux 4 – Expresiones regulares
  5. El Shell Bash de GNU/Linux 5 – Sistema de ficheros
  6. El Shell Bash de GNU/Linux 5.1 – El árbol de directorios estándar
  7. El Shell Bash de GNU/Linux 5.2 – Tipos de ficheros
  8. El Shell Bash de GNU/Linux 5.3 – nombres, rutas absolutas y relativas
  9. El Shell Bash de GNU/Linux 5.4 – Permisos
  10. El Shell Bash de GNU/Linux 5.5 – Listar ficheros
  11. El Shell Bash de GNU/Linux 5.6 – Comandos para trabajas con archivos y carpetas
  12. El Shell Bash de GNU/Linux 5.7 – Otros comandos útiles
  13. El Shell Bash de GNU/Linux 5.8 – Montaje de sistemas de ficheros

5.7 – Otros comandos útiles

clear

Limpia la pantalla, dejándola simplemente con el prompt del sistema en la parte superior izquierda.

cal

Muestra un calendario. El formato de la orden es el siguiente:

cal [opciones] [mes] [año]

Donde:

  • mes número del 1 al 12
  • año cuatro dígitos.

Ejemplo para ver el mes de diciembre de 2016

cal 12 2016

Si no se introduce el mes, mostrará todo el año completo.

cal 2016

Si no se introducen parámetros, mostrará el mes actual:

cal

Los meses actual, anterior y siguiente:

cal -3

 

date

Muestra la fecha.

date [OPCIÓN]… [+FORMATO]

Ejemplos: Podemos especificar el formato de salida

date +%A%d%B%Y → lunes21febrero2016

date “+%A %d de %B de %Y” → lunes 21 de febrero de 2016

Fijaros que en el segundo ejemplo uso comillas, porque he decidido incluir literales para formatear más todavía la salida.

El mismo comando nos permite formatear la hora:

date +%H:%M:%S → 14:49:08

Para más información:

man date

reboot

Reinicia el sistema.

halt

Apaga el sistema.

shutdown

Apaga el sistema en modo seguro.

Ejemplo:

$ shutdown -r 1

Este comando reinicia (-r) el sistema en 1 minuto. Para ello primero envía señales de parada a todos los procesos y por último al sistema. Hay que ser administrador para ejecutar este comando, o utilizar sudo.

Opciones

t sec → espera t segundos antes de iniciar el proceso de cierre

r → reinicia (reboot) después de shutdown

h → apaga (halt) después de shutdown

exit

Sale del Shell actual o si se trata de una conexión SSH remota la cierra.

ps

Permite conocer lo que está ocurriendo en el sistema, lista los procesos activos en la máquina. Su sintaxis es:

ps [opciones]

Por defecto selecciona todos los procesos del usuario actual asociados a la terminal que lo invoca.

Muestra:

  • el PID,
  • terminal asociada,
  • el tiempo de CPU y
  • el nombre del comando.

Pero dependiendo del tipo de notación o del formato de salida, las columnas de información varían, así que hay que familiarizarse con ellas antes de por ejemplo realizar un Shell Script.

Opciones tiene muchas, algunas interesantes en Notación normal (con guión):

  • -e → todos los procesos (–A) → ps -e; ps -A
  • -f → formato largo → ps -ef
  • -C → buscar proceso por nombre de comando → ps -C firefox-bin
  • -o Muestra un formato definido por el usuario → ps ax -opid,s,cmd
  • %cpu Porcentaje de uso de la CPU
  • %mem Porcentaje de uso de la memoria
  • cmd Comando que ejecuta el proceso
  • Cputime Tiempo de CPU utilizado
  • pid Identificador del proceso
  • ppid Identificador del proceso padre
  • s Estado del proceso

Notación BSD (sin guión)

a → todos los procesos con terminal (tty) → ps a

u → formato orientado al usuario (incompatible con opciones como -f)

x → todos tus procesos

en combinación de a y u → todos los procesos → ps aux

Se pueden mezclar las opciones: todos los procesos del sistema con la sintaxis BSD y formato largo: ps ax -f

A partir de su salida con otros comandos como grep podemos aislar la información que nos interese.

ps aux| grep firefox

Con lo que filtramos los procesos que contengan la cadena firefox.

Diferentes formatos de salida:

ps

ps aux

ps ax -f

Encontrar el PID de un proceso e invitarlo al suicidio:

ubuntu@jblanco-u904:~$ ps -C firefox-bin

PID TTY TIME CMD

4639 ? 00:00:00 firefox-bin

ubuntu@jblanco-u904:~$ kill 4639

Otra forma de encontrar un PID, si no estamos seguros del nombre de la aplicación:

ps ax|grep firefox

4890 ? S 0:00 /bin/sh /usr/lib/firefox-3.6.11/firefox

4895 ? S 0:00 /bin/sh /usr/lib/firefox-3.6.11/run-mozilla.sh /usr/lib/firefox-3.6.11/firefox-bin

4899 ? Sl 0:00 /usr/lib/firefox-3.6.11/firefox-bin

4915 pts/0 R+ 0:00 grep firefox

La lista de opciones del comando ps es demasiado larga. Os recomiendo leer man ps. Y algunos ejemplos más:

ps -f -u jblanco

Vemos los procesos que está ejecutando el jblanco.

ps aux |grep ^jblanco

Conseguimos lo mismo aunque de forma más correcta, el carácter ^ es una expresión regular que indica que la palabra ‘jblanco’ ha de encontrarse al principio.

ps aux|grep ^root

Procesos de root.

ps –e

Muestra todos los procesos. Similar a ps aux.

ps –l

Muestra más detalles sobre los procesos, como el proceso padre o la prioridad.

top

Proporciona un resumen actualizado de la actividad de los procesos y de sus recursos

Por defecto se actualiza el contenido de la pantalla cada 10 segundos

Puede mostrar el resumen de la información del sistema así como la lista de tareas actualmente gestionadas por el kernel.

El tipo de información, el orden y el tamaño de la misma es configurable por el usuario.

El programa proporciona una interfaz interactiva limitada para manipular los procesos así como una amplia interfaz para la configuración personal de la vista de la información.

Para salir debemos presionar la tecla “q” (Quit)

man top

kill

Envía una señal a un proceso.

kill [-s SEÑAL] PID

Podemos indicar varios PIDs para que reciban esa señal en un solo comando separados por espacios.

La señal puede indicarse con su número o su nombre. Véase Error: no se encontró el origen de la referencia.

Por defecto envía la señal SIGTERM (15)

Con –l obtenemos el listado de todas las señales.

El uso más habitual es matar un proceso que ha dejado de funcionar, de ahí su nombre y su funcionamiento por defecto kill pid (se envía una señal 15 al proceso con ese pid), si todavía se resiste le podemos mandar una señal 9.

Para mandar una señal a un proceso, es suficiente con conocer el PID asignado por el sistema. Podemos obtenerlo mediante el comando ps aux.

Ejemplo:

Abrimos gedit

Averiguamos su PID con:

ps aux|grep gedit

jblanco 2521 2.9 0.5 257472 20848 pts/0 S+ 11:37 0:00 gedit

jblanco 2541 0.0 0.0 7644 1008 pts/1 S+ 11:37 0:00 grep

Hacemos un kill PID

kill 2521

Cuando el comando kill se utiliza sin argumentos se envía una señal al proceso de tipo 15. Esta señal indica al sistema que tiene que detener el proceso en ejecución. Si queremos eliminar un proceso, sea el que sea, y de la forma anterior no se elimina, enviaremos la señal 9:

kill -9 2521

killall

killall [-s SEÑAL] nombre_comando

Envía la señal a todos los procesos generados por la orden nombre_comando.

killall firefox-bin

ifconfig

Configura las interfaces de red → eth#.

ifconfig interface [address [opciones]]

Sin argumentos muestra el estado de las interfaces activas.

  • interface puede ser eth0, eth1
  • address es una IP

Opciones:

  • -a todas las interfaces
  • -s lista corta (netstat -i)
  • -v modo verbose
  • up activa la interface
  • down desactiva la interface
  • promisc habilita/deshabilita el modo promiscuo de la interface. Si esta activo, se recibirán todos los paquetes de la red. Programas como ethereal necesitan de este modo para esnifar.
  • netmask addr Establece la máscara de red

Ejemplos:

ifconfig eth0

ifconfig eth0 down

ifconfig eth0 up

ping

ping [opciones] destino

Envía indefinidamente paquetes de prueba a destino. Se puede especificar que solo se envíe un paquete, de lo contrario se para con la combinación de teclas CTRL+C (Stop):

ping -c1 google.es

man

Muestra las páginas del manual en línea. Nos proporciona el acceso al manual interactivo de Linux. Su sintaxis es:

man nombre_comando

Ejemplos:

man ls
man ps > leer-tranquilamente.txt

En los comandos también podemos obtener ayuda abreviada, a veces:

cal –help

free

Muestra los la memoria libre y utilizada. También tenemos disponible el fichero:

cat /proc/meminfo

alias

Crea un seudónimo para una orden. Es útil si utilizamos un comando largo a menudo, podemos darle un alias y llamar al alias como si fuese una orden más del Shell.

Ejemplo:

alias lf=’ls -la|grep ^-‘

He creado el alias lf que me saca un listado sólo de archivos (-) en formato largo.

Si queremos tener un alias siempre disponible, lo podemos incluir en el fichero .bashrc, es tu fichero local de configuraciones para el Shell, hacia la parte del final se incluyen los alias, es conveniente que al editar ficheros pongamos comentarios como:

#jblanco mar-2016

unalias

Elimina los alias indicados.

Con –a, elimina todos los alias.

su

Cambia el identificador efectivo de usuario y de grupo al de usuario.

Si no se da el usuario, se supone root.

sudo

Eleva privilegios al ejecutar un comando.

Nos pedirá nuestra clave y si estamos en el grupo adm o sudoers nos permitirá ejecutar el comando con privilegios administrativos.

Ejemplo:

sudo fdisk -l

du

Muestra un resumen del uso de disco para cada fichero, recursivamente para directorios.

du [fichero|directorio] [-opciones]

Sin argumentos, informa del espacio de disco para el directorio en curso.

Nos puede servir para identificar los directorios que están ocupando demasiado espacio

Ejemplo:

ubuntu@jblanco-u904:~$ du /home/ubuntu/ -sh

14M /home/ubuntu/

Este comando visualiza el espacio del disco que utiliza el directorio del usuario ubuntu, mostrando sólo el resumen (s) y en formato legible por humanos (h)

Opciones:

  • s resumen
  • h muestra los tamaños de forma legible (p.ej., 1K 234M 2G)

df

Informa de la cantidad de espacio de disco usada y de la disponible en sistemas de ficheros

df [opciones] [fichero]

Sin argumentos, informa del espacio usado y del disponible en todos los sistemas de ficheros montados actualmente (de todos los tipos).

De otro modo, informa sólo del sistema de ficheros donde esté cada argumento fichero.

Opciones interesantes:

  • h imprime los tamaños en formato legible
  • l Limita la salida sólo a sistemas de ficheros locales

Ejemplo:

df / -lh

S.ficheros Tamaño Usado Disp Uso% Montado en

/dev/sda1 7,5G 2,4G 4,8G 33% /

id

Muestra información del usuario especificado (uid, gid, grupos), o bien del actual:

uid=1000(ubuntu) gid=1000(ubuntu) grupos=4(adm),20(dialout),24(cdrom),46(plugdev),106(lpadmin),121(admin),122(sambashare),1000(ubuntu)

uname -a

Muestra la versión de Linux

hostname

Nombre de la máquina, con hostname -f obtenemos el FQDN.

w

Muestra información sobre los usuarios conectados y lo que están haciendo.

whoami

Muestra el usuario → Mismo resultado que con id -un

who

Muestra los usuarios conectados

who [opciones]

Opciones interesantes:

  • -b tiempo del último inicio del sistema
  • -H muestra la línea de encabezados de columnas
  • -r muestra el runlevel actual
  • -u visualiza la siguiente información: nombre del usuario, terminal desde el que se está conectado, hora a la que accedió al sistema, horas y minutos transcurridos desde la última actividad del usuario (un punto indica actividad en el último minuto), número de identificación del proceso shell del usuario (PID), y puede aparecer por último un comentario.
  • am i muestra en pantalla el login del usuario que esta activo en el terminal.

Aparecen 4 columnas:

jblanco@tochox:~$ who

jblanco tty7 2016-03-14 14:17 (:0)

jblanco pts/0 2016-03-14 17:44 (:0.0)

En la primera columna aparece el login del usuario que está activo en el sistema.

La segunda indica que terminal está utilizando.

La tercera y cuarta indica día, mes y hora de conexión.

Aparece una quinta en el caso de la terminal gráfica que indica el numero de DISPLAY: normalmente el 0.

  1. El Shell Bash de GNU/Linux 1 – Introducción
  2. El Shell Bash de GNU/Linux 2 – Tuberías y filtros
  3. El Shell Bash de GNU/Linux 3 – Variables de entorno
  4. El Shell Bash de GNU/Linux 4 – Expresiones regulares
  5. El Shell Bash de GNU/Linux 5 – Sistema de ficheros
  6. El Shell Bash de GNU/Linux 5.1 – El árbol de directorios estándar
  7. El Shell Bash de GNU/Linux 5.2 – Tipos de ficheros
  8. El Shell Bash de GNU/Linux 5.3 – nombres, rutas absolutas y relativas
  9. El Shell Bash de GNU/Linux 5.4 – Permisos
  10. El Shell Bash de GNU/Linux 5.5 – Listar ficheros
  11. El Shell Bash de GNU/Linux 5.6 – Comandos para trabajas con archivos y carpetas
  12. El Shell Bash de GNU/Linux 5.7 – Otros comandos útiles
  13. El Shell Bash de GNU/Linux 5.8 – Montaje de sistemas de ficheros

17 comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.