El Shell Bash de GNU/Linux 5.7 – Otros comandos útiles
- El Shell Bash de GNU/Linux 1 – Introducción
- El Shell Bash de GNU/Linux 2 – Tuberías y filtros
- El Shell Bash de GNU/Linux 3 – Variables de entorno
- El Shell Bash de GNU/Linux 4 – Expresiones regulares
- El Shell Bash de GNU/Linux 5 – Sistema de ficheros
- El Shell Bash de GNU/Linux 5.1 – El árbol de directorios estándar
- El Shell Bash de GNU/Linux 5.2 – Tipos de ficheros
- El Shell Bash de GNU/Linux 5.3 – nombres, rutas absolutas y relativas
- El Shell Bash de GNU/Linux 5.4 – Permisos
- El Shell Bash de GNU/Linux 5.5 – Listar ficheros
- El Shell Bash de GNU/Linux 5.6 – Comandos para trabajas con archivos y carpetas
- El Shell Bash de GNU/Linux 5.7 – Otros comandos útiles
- 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.
- El Shell Bash de GNU/Linux 1 – Introducción
- El Shell Bash de GNU/Linux 2 – Tuberías y filtros
- El Shell Bash de GNU/Linux 3 – Variables de entorno
- El Shell Bash de GNU/Linux 4 – Expresiones regulares
- El Shell Bash de GNU/Linux 5 – Sistema de ficheros
- El Shell Bash de GNU/Linux 5.1 – El árbol de directorios estándar
- El Shell Bash de GNU/Linux 5.2 – Tipos de ficheros
- El Shell Bash de GNU/Linux 5.3 – nombres, rutas absolutas y relativas
- El Shell Bash de GNU/Linux 5.4 – Permisos
- El Shell Bash de GNU/Linux 5.5 – Listar ficheros
- El Shell Bash de GNU/Linux 5.6 – Comandos para trabajas con archivos y carpetas
- El Shell Bash de GNU/Linux 5.7 – Otros comandos útiles
- El Shell Bash de GNU/Linux 5.8 – Montaje de sistemas de ficheros
Pingback: El Shell Bash de GNU/Linux 5.1 – El árbol de directorios estándar | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 4 – Expresiones regulares | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux | jblanco.org
Pingback: El Shell Bash de GNU/Linux | interlevante.es
Pingback: El Shell Bash de GNU/Linux 5.6 – Comandos para trabajar con archivos y carpetas | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 5.4 – Permisos | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 5.3 – nombres, rutas absolutas y relativas | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 5.2 – Tipos de ficheros | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 3 – Variables de entorno | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux | Viajes al paladar
Pingback: El Shell Bash de GNU/Linux 5.5 – Listar ficheros | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux 5.8 – Montaje de sistemas de ficheros | SOSpedia punto net
Pingback: El Shell Bash de GNU/Linux – interlevante.com
Pingback: El Shell Bash de GNU/Linux 5 – Sistema de ficheros – SOSpedia
Pingback: El Shell Bash de GNU/Linux 2 – Tuberías y filtros – SOSpedia
Pingback: El Shell Bash de GNU/Linux – Jose Blanco Vega