Translate

7/2/12

Mira lo que tienes : history, shutdown

Web OS

2394ª Parte Mira lo que tienes : history, shutdown

history con este comando podemos ver los últimos comandos usados, realmente ayuda mucho si estamos vagos o somos detectives.

shutdown con este comando podemos cerrar el linux, siempre y cuando seamos los administradores o estemos en el grupo de sudoers (los que pueden dar ordenes emulando al root o capitoste del asunto a.k.a administrador del sistema.) Recordaos de apuntaros en ese grupo nada mas instalar si no os tocará desenchufar y eso está feo. Últimamente hay distros en que apretando el botón de encendido/apagado se apaga pero vete a saber si la tuya tiene esto. Aparte tampoco tienes porque estar con las X’s a lo mejor eres administrador delegado. O usuario despistado sea como sea hay que aprenderlo pues los Sistemas de Archivos sufren si se desmontan malamente. NO AL DESENCHUFAR SIN MAS NI MAS.

Viendo la man de history

BASH_BUILTINS(1) BASH_BUILTINS(1)

NOMBRE
bash, :, ., alias, bg, bind, break, builtin, case, cd, command,
continue, declare, dirs, disown, echo, enable, eval, exec, exit,
export, fc, fg, for, getopts, hash, help, history, if, jobs, kill, let,
local, logout, popd, pushd, pwd, read, readonly, return, set, shift,
shopt, source, suspend, test, times, trap, type, typeset, ulimit,
umask, unalias, unset, until, wait, while - órdenes incorporadas en
bash, vea bash(1)

ÓRDENES INCORPORADAS EN BASH
A menos que se diga otra cosa, cada orden interna documentada en esta
sección que acepte opciones precedidas por - también acepta – para
significar el final de las opciones.
: [argumentos]
Sin efecto; la orden no hace nada más que expandir argumentos y
realizar cualquier redirección que se haya especificado. Se
devuelve un código de salida cero.

. nombre-fichero [argumentos]
source nombre-fichero [argumentos]
Lee y ejecuta órdenes desde nombre-fichero en el entorno actual
del shell y devuelve el estado de salida de la última orden
ejecutada desde nombre-fichero. Si nombre-fichero no contiene
una barra inclinada, se usan los nombres de fichero en PATH para
encontrar el directorio que contenga a nombre-fichero. El
fichero que se busca en PATH no necesita ser ejecutable. Se
busca en el directorio de trabajo si no se encontró el fichero
en PATH. Si la opción sourcepath de la orden interna shopt está
desactivada, la búsqueda en PATH no se realiza. Si se
suministran argumentos, se convierten en los parámetros
posicionales cuando se ejecuta nombre-fichero. Si no, los
parámetros posicionales permanecen inalterados. El estado de
retorno es el de la última orden de dentro del guión (0 si no se
ejecutó ninguna orden), y `falso’ si nombre-fichero no se
encontró o no se pudo leer.

COMO VÉIS es un comando integrado en una man integral ponéis cualquier comando de los de arriba y os sale todo pero todo así que para reducir iremos al grano.

Y la parte que nos toca el comando history viene a decir:

history [-c] [n]
history -anrw [nombre-fichero]
history -p arg [arg ...]
history -s arg [arg ...]
Sin opciones, muestra la lista de historia de órdenes con
números de línea. Las líneas marcadas con un * han sido
modificadas. Un argumento de n lista solamente las últimas n
líneas. Si nombre-fichero se da, se emplea como el nombre del
fichero de historia; si no, se usa el valor de HISTFILE. Las
opciones, si se dan, tienen los siguientes significados:
-a Añade las líneas de historia “nuevas” (las introducidas
desde el inicio de la sesión de bash en curso) al fichero
de historia.
-n Lee las líneas de historia que aún no han sido leídas del
fichero de historia y las mete en la lista de historia
actual. Éstas son las líneas añadidas al fichero de
historia desde el comienzo de la sesión de bash actual.
-r Lee los contenidos del fichero de historia y los usa como
la historia en curso.
-w Escribe la historia en curso en el fichero de historia,
sobreescribiendo sus contenidos.
-c Limpia la lista de historia borrando todas las entradas.
-p Realiza la sustitución de historia de los siguientes args
y muestra el resultado en la salida estándar. No
almacena los resultados en el fichero de historia. Cada
arg debe protegerse para deshabilitar la expansión de
historia normal.
-s Almacena los args en la lista de historia como una sola
entrada. La última orden en la lista de historia se
elimina antes de que se añadan los args.

El valor de retorno es 0 a menos que se encuentre una opción
inválida o que ocurra un error mientras se lee o se escribe el
fichero de historia.
como ejemplo este:

ximo@Palas-SN10E100 ~ $ history
1 df;free
2 mc
3 df;free
4 df;free
5 top
6 dmesg
7 which macchanger
8 df;free
9 mc
10 mc
11 sudo mc
12 sudo mount /dev/disk/by-label/ENDEAVOURDATA
13 which ee
14 sudo gedit
15 which nano
16 sudo nano /etc/sudoers
17 sudo mc
18 su
19 uuid
20 dmesg
21 macchanger-gtk
22 dmesg
23 blkid
24 blkid -h
25 sudo blkid -c /dev/null
26 sudo blkid -c /dev/null
27 df;free
28 top
29 which wine
30 df;free
31 df;free
32 sudo blkid -c /dev/null
33 macchanger-gtk
34 sudo macchanger-gtk
35 df;free
36 sudo mc
37 mc
38 df;free
39 df;free
40 df;free
41 df;free
………………….

Si queréis no estar repitiendo comandos hacéis un history y os saldrán los últimos que hayáis usado si os fijáis viene cada línea con un número y esto es lo interesante del asunto a no ser que seas detective y quieras saber que se ha usado en el sistema sea como sea lo mas práctico es si no se quiere repetir el tecleo y vas a usar algo que ya tienes es fijarte en el número del comando que quieras repetir así que pones primero ! y a continuación el número y verás como se repite y ejecuta el comando sin escribirlo. por ej. el 41 de esa lista. Aunque el mismo efecto harían el poner 1, 3, 4, 8, ….

ximo@Palas-SN10E100 ~ $ !41
df;free
S.ficheros Bloques de 1K Usado Dispon Uso% Montado en
/dev/sdb1 14426872 5506916 8187096 41% /
udev 1019424 4 1019420 1% /dev
tmpfs 410568 1140 409428 1% /run
none 5120 0 5120 0% /run/lock
none 1026420 244 1026176 1% /run/shm
/dev/sda2 40959996 29933376 11026620 74% /mnt/endeavour
/dev/sda3 109183996 92839920 16344076 86% /mnt/endeavourdata
total used free shared buffers cached
Mem: 2052840 1755944 296896 0 279388 970072
-/+ buffers/cache: 506484 1546356
Swap: 975868 244 975624

Viendo la man de shutdown

SHUTDOWN(8) Manual del Administrador de Sistemas SHUTDOWN(8)

NOMBRE
shutdown – cierra el sistema.

SINOPSIS
/sbin/shutdown [-t sec] [-rkhncfF] time [warning-message]

DESCRIPCIÓN
shutdown cierra el sistema de modo seguro. Todos los usuarios
conectados son notificados de que el sistema se está cerrando, y
login(1) es bloqueado. Es posible cerrar al sistema inmediatamente o
tras una pausa especificada. Todos los procesos son notificados de que
el sistema se está cerrando mediante una señal SIGTERM. Esto da a los
programas como vi(1) tiempo para guardar el archivo editado, correo y
news realizan cambios para poder salir limpiamente, etc. shutdown hace
su trabajo enviando una señal al proceso init, preguntándole para
cambiar de nivel. Runlevel 0 es utilizado para detener el sistema,
runlevel 6 es usado para reiniciar el sistema y runlevel 1 es usado
para poner el sistema en un estado donde las tareas administrativas
pueden ser ejecutadas; esto es por defecto si los flags -h o -r son
puestos en shutdown. Para ver que acciones son realizadas en parada o
rearranque vea las entradas apropiadas para estos niveles en el fichero
/etc/inittab.

OPCIONES
-t seg Indica a init esperar seg segundos entre el envío de las señales
de atención y eliminación, antes de cambiar a otro nivel de
ejecución.

-k No realiza ninguna caída; solo envía el mensaje de atención a
todo el mundo.

-r Reinicia después de cerrarlo.

-h Detiene el sistema después de cerrarlo.

-n [ANULADO] No llama a init(8) para hacer la caída, la hace por si
mismo. El uso de esta opción es desaconsejado, y sus resultados
no serán siempre los que esperas.

-f Se saltará fsck al reiniciar.

-F Fuerza a fsck al reiniciar.
-c Cancela una caída en ejecución. Con esta opción no es posible
darle el argumento time, pero puedes introducir un mensaje
explicativo en la línea de comandos que será enviado a todos los
usuarios.

time Cuando hacer la caída

warning-message
Mensaje enviado a todos los usuarios.

El argumento time puede tener diferentes formatos. Primero, puede ser
un tiempo absoluto en el formato hh:mm, donde hh son las horas (1 o 2
dígitos) y mm son los minutos (en 2 dígitos). Segundo, puede estar en
el formato +m, en el cual m es el número de minutos a esperar. La
palabra now es sinónimo de +0.

El flag -f provoca un `arranque rápido’. Solamente crea un archivo de
aviso /fastboot que puede ser probado por el sistema la próxima vez. El
archivo de arranque rc puede probar si el fichero existe, y decide no
ejecutar fsck(1) mientras se cierra el sistema de esta manera. Después
de esto, el proceso arranque debe borrar /fastboot.

El flag -F provoca un `obligado fsck’. Solamente crea un archivo de
aviso /forcefsck que puede ser probado por el sistema la próxima vez.
El archivo de arranque rc puede probar si el fichero existe, y decide
ejecutar fsck(1) con un flag especial de `obligación’ para la
comprobación de los ficheros de sistema desmontados. Después de esto,
el proceso de arranque debe borrar forcefsck.

El flag -n provoca un shutdown sin llamar a init, pero eliminando todos
los procesos autoejecutables. shutdown entonces desconectará todas las
partes, cuentas e intercambios y desmontara todos los archivos de
sistema.

CONTROL DE ACCESO
shutdown puede ser llamado desde init(8) cuando se pulsen las teclas
mágicas CTRL-ALT-DEL, creando una entrada apropiada en /etc/inittab.
Esto provoca que quien tenga acceso físico a la consola pueda cerrar el
sistema. Para prevenir esto, shutdown puede comprobar si algún usuario
autorizado esta conectado en alguna consola virtual. Sishutdown es
llamado desde init(8), comprobará si el archivo /etc/shutdown.allow
existe. Comparará los nombres en este fichero con la lista de gente
conectada en consolas virtuales (desde /var/run/utmp). Solo si uno de
estos usuarios autorizados o el root está conectado, procederá. Si no
es así imprimirá el mensaje
shutdown: no authorized users logged in

a la consola del sistema (física). El formato de /etc/shutdown.allow es
un nombre de usuario por línea. Se permiten líneas vacías y comentarios
(precedidos por #). Actualmente hay un límite de 32 usuarios en este
archivo.

ARCHIVOS
/fastboot
/etc/inittab
/etc/init.d/halt
/etc/init.d/reboot
/etc/shutdown.allow

ERRORES
En realidad no hay errores, pero la mayoría de usuarios olvidan dar el
argumento time y se quedan a cuadros con el mensaje de error que
shutdown genera. El argumento time es obligatorio; en el 90 por ciento
de los casos será la palabra now.

AUTOR
Miquel van Smoorenburg, miquels@cistron.nl

VÉASE TAMBIÉN
fsck(8), init(1), halt(8), reboot(8)

Linux 26 noviembre 1997 SHUTDOWN(8)

Esto vale por si se cuelga el asunto y tenéis una terminal a mano o entráis en una por ej. haciendo un ctrl+alt+Fn siendo n un número que no use las X’s así que ir probando vosotros, normalmente es F7– F9 las terms destinadas a las X’s depende de la distro el resto son terminales que están libres. En las distros actuales hay que ser sudoer y la clave o camando a usar sería algo como:

ximo@Palas-SN10E100 ~ $ sudo shutdown -h -now

¡¡¡ Vaya me lo acabo de apagar que no me da tiempo a acabar esto !!! :) Ximo

No hay comentarios: