uname
Imprime información del sistema#> uname -p Intel(R) Core(TM) Duo CPU T2450 @ 2.00GHz #> uname -r 2.6.22.9-laptop-1mdv #> uname -a Linux segolap 2.6.22.9-laptop-1mdv #1 SMP Thu Sep 27 04:17:10 CEST 2007 i686 Intel(R) Core(TM) Duo CPU T2450 @ 2.00GHz GNU/Linux
fdisk
Permite manipular/crear particiones en Linux, pero tiene una interesante opción de consulta, -l:#> fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0002ecbc
Device Boot Start End Blocks Id System
/dev/sda1 * 1 63 506016 83 Linux
/dev/sda2 64 10261 81915435 83 Linux
/dev/sda3 10262 18929 69625710 83 Linux
/dev/sda4 18930 19457 4241160 5 Extended
/dev/sda5 18930 19457 4241128+ 82 Linux swap / Solaris
Disk /dev/sdb: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000063b0
Device Boot Start End Blocks Id System
/dev/sdb1 1 4863 39062016 c W95 FAT32 (LBA)
free
¿Sientes tu sistema demasiado lento?, comienza checando confree
que despliega como se encuentra de saturada la memoria física RAM y la de la partición SWAP.
#> free -m
total used free shared buffers cached
Mem: 2018 989 1028 0 39 450
-/+ buffers/cache: 500 1517
Swap: 4141 0 4141
free -mt
para ver una línea más al final con la suma de las dos Mem + Swap.mount
Comando que se utiliza para montar dispositivos, algo complejo y con múltiples opciones. Pero para este tutorial, basta con que lo invoques sin opción alguna ni argumentos, para que nos revele la información de que tienes montado y en que lugar esta montado.#> mount
/dev/sda1 on /boot type ext3 (rw,noatime)
/dev/sda2 on / type ext3 (rw,noatime)
/dev/sda3 on /home type ext3 (rw,noatime)
none on /proc type proc (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb1 on /media/hd type vfat (rw,nosuid,nodev,sync,users,umask=0022,iocharset=utf8)
fdisk -l
.lsmod
Muestra el status de los módulos del kernel actualmente cargados en el sistema.[root@segolap ~]# lsmod
Module Size Used by
fat 45852 1 vfat
i915 22688 3
drm 72628 4 i915
vmnet 34564 16
parport_pc 32004 0
parport 31592 1 parport_pc
blkcipher 5860 1 ecb
snd_seq_midi_event 6912 1 snd_seq_oss
snd_seq 46800 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device 7276 3 snd_seq_dummy,snd_seq_oss,snd_seq
ieee80211 31752 1 ipw3945
ieee80211_crypt 5248 2 ieee80211_crypt_wep,ieee80211
mmc_core 23108 2 mmc_block,sdhci
agpgart 27656 3 drm,intel_agp
snd_pcm 69636 3 snd_pcm_oss,snd_hda_intel
libata 108688 2 ata_piix,ahci
scsi_mod 124972 6 usb_storage,sr_mod,sg,scsi_wait_scan,sd_mod,libata
... listado no completo
insmod
y con el que remueve módulos rmmod
.lspci
Lista los dispositivos PCI del sistema.#> lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
04:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express (rev 02)
05:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
06:00.0 FLASH memory: ENE Technology Inc ENE PCI Memory Stick Card Reader Controller
06:00.1 Generic system peripheral [0805]: ENE Technology Inc ENE PCI SmartMedia / xD Card Reader Controller
06:00.3 FLASH memory: ENE Technology Inc ENE PCI Secure Digital / MMC Card Reader Controller
05:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
El primer campo (05:00.0) es el slot PCI donde se ubica el dispositivo bus 05 dispositivo 00 función 0, después sigue la clase de dispositivo (Network controller), el fabricante (Intel Corporation), el nombre del dispositivo (PRO/Wireless 3945ABG Network Connection) y el número de revisión del mismo (rev 02).
Información bastante útil, ya que por ejemplo, en mi caso, este dispositivo no funcionó cuando recien instalé Linux, pero con esta info del sistema comencé a determinar el tipo de drivers que necesitaba para hacerla funcionar.
Puedes obtener aun más información de cada dispositivo PCI con la opción -v y aun más con
-vv
, asi que trata con lspci -vv
y observa cuanto puedes lograr saber de cada dispositivo.lsusb
Lista los dispositivos usb del sistema.#> lsusb
Bus 005 Device 004: ID 05e3:0702 Genesys Logic, Inc. USB 2.0 IDE Adapter
Bus 005 Device 003: ID 064e:a101 Suyin Corp.
Bus 005 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 004: ID 062a:0003 Creative Labs
Bus 002 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
#> lsusb -v
...
Bus 005 Device 003: ID 064e:a101 Suyin Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 Common Class
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x064e Suyin Corp.
idProduct 0xa101
bcdDevice 1.00
iManufacturer 2 SuYin
iProduct 1 Acer CrystalEye webcam
iSerial 3 CN0314-OV03-VA-R02.00.00
...
blkid
Block Id. Despliega los atributos del dispositivo de bloque.#> blkid
/dev/sda1: UUID="d22801c6-85ca-11dc-849e-afde43df714c" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda2: UUID="ae22f1dc-85ca-11dc-acbd-cb4aee4dedb7" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda3: UUID="d3990398-85ca-11dc-aab5-4d80db2607e2" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda5: TYPE="swap" UUID="f6bfa9b2-85ca-11dc-abd6-01935478454b"
/dev/sdb1: LABEL="SEGO" UUID="46CD-5C01" TYPE="vfat"
dmidecode y lshw
Ahora bien, que si de determinar el hardware del equipo se trata, nada como este comando. Que lo que hace es leer la información del BIOS directamente y te regresa un listado muy completo de todo el hardware encontrado en el equipo. DMI es por Desktop Management interface y lee la información del llamado SMBIOS (System Management BIOS).dmidecode
por defecto ofrece un listado bastante largo y completo, asi que si deseas uno más corto o resumido, úsalo con -q.Si no tienes instalado
dmidecode
prueba con lshw
que básicamente hace lo mismo.df
Reporta el uso de espacio en los discos duros.# df
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 77G 16G 58G 22% /
/dev/sda1 479M 21M 433M 5% /boot
/dev/sda3 66G 36G 30G 55% /home
/dev/sdb1 38G 24G 14G 64% /media/hd
df
tendrás que usar la opción -h (formato humano) para que puedas ver el mismo listado mostrado en Megas o Gigas.uptime
Muestra cuanto tiempo lleva prendido el sistema y otra información.#> uptime
19:59:45 up 2:18, 2 users, load average: 1.14, 1.13, 1.09
w
Muestra que usuarios están en el sistema y lo que están haciendo.# w
20:07:12 up 2:25, 2 users, load average: 1.18, 1.12, 1.09
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
root tty1 19:09 7:34 0.16s 0.16s -bash
sergio :0 17:43 ?xdm? 2:22m 0.06s /bin/sh /usr/bin/quanta
w
es lo mismo que regresa uptime
,
y después nos dice quienes son los dos usuarios en el sistema, en que
terminal están 'TTY', si fuera desde otro equipo mostraría la IP, la
hora en que se loguearon 'LOGIN@', y la última columna muestra lo que
están ejecutando en el momento en que se ejecutó w
.Como complemento de
uptime
y w
puedes usar lo siguiente:#> who -b system boot 2008-01-13 17:41
lsof
List open files. Muestra los archivos que un proceso ha abierto para poder ejecutarse.(ejecutamos 'man lsof' en una terminal)
#> man lsof
(desde otra terminal determinamos su PID)
#> ps -ed | grep man
root 9700 6514 0 21:11 pts/1 00:00:00 man lsof
(y ejecutamos lsof con la opción -p)
#> lsof -p 9700
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
man 9700 root cwd DIR 8,2 4096 5603329 /root
man 9700 root rtd DIR 8,2 4096 2 /
man 9700 root txt REG 8,2 43416 9529630 /usr/bin/man
man 9700 root mem REG 8,2 254076 9520457 /usr/share/locale/UTF-8/LC_CTYPE
man 9700 root mem REG 8,2 1298800 7277050 /lib/i686/libc-2.6.1.so
man 9700 root mem REG 8,2 52 9521060 /usr/share/locale/en_US.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES
man 9700 root mem REG 8,2 26052 9519467 /usr/lib/gconv/gconv-modules.cache
man 9700 root mem REG 8,2 565473 7274508 /lib/ld-2.6.1.so
man 9700 root 0u CHR 136,1 3 /dev/pts/1
man 9700 root 1u CHR 136,1 3 /dev/pts/1
man 9700 root 2u CHR 136,1 3 /dev/pts/1
man 9700 root 3r REG 8,2 4808 4523300 /etc/man.config
lsof
es altamente útil cuando se trata de determinar las dependencias que un programa requiere para ejecutarse.Si utilizas
lsof
sin argumentos te dará un larguísimo listado de todos los procesos que se estén ejecutando en ese momento.last y lastb
last
muestra un listado de los últimos usuarios logueados al sistema e información relevante, lastb
last bad, muestra los últimos intentos de logueo al sistema que
fracasaron, utilísimo para determinar posibles intentos de acceso
ilegítimo al sistemo (hackeo).#> last
root tty1 Sun Jan 13 19:59 still logged in
sergon :0 Sun Jan 13 17:43 still logged in
reboot system boot 2.6.22.9-laptop- Sun Jan 13 17:41 (04:19)
root tty1 Sun Jan 13 00:23 - crash (17:18)
sergon :0 Sat Jan 12 23:56 - 00:48 (00:52)
reboot system boot 2.6.22.9-laptop- Sat Jan 12 23:55 (22:05)
sergon :0 Sat Jan 12 19:35 - down (00:57)
reboot system boot 2.6.22.9-laptop- Sat Jan 12 19:34 (00:59)
sergon :0 Sat Jan 12 17:41 - down (01:16)
reboot system boot 2.6.22.9-laptop- Sat Jan 12 17:40 (01:17)
sergon :0 Sat Jan 12 08:15 - 12:41 (04:25)
reboot system boot 2.6.22.9-laptop- Sat Jan 12 08:15 (04:26)
sergon :0 Fri Jan 11 22:11 - crash (10:03)
reboot system boot 2.6.22.9-laptop- Fri Jan 11 21:49 (14:51)
sergon :0 Thu Jan 10 22:12 - 22:36 (00:23)
reboot system boot 2.6.22.9-laptop- Thu Jan 10 22:11 (00:24)
#> lastb
# lastb
pedro 192.168.0.10 Sun Jan 13 22:04 - 22:04 (00:00)
root tty2 Sun Jan 13 21:20 - 21:20 (00:00)
lastb
obtenemos los intentos de logueo que
fracasaron. Por ejemplo, en un sistema real en producción donde no
existiera el usuario 'pedro' resultaría obvio que alguien esta tratando
de obtener acceso remoto, adivinando usuario:contraseña. Deberías
preocuparte enormemente y tomar acción, si en el listado de last
observas un logueo de root u otro usuario que tu como administrador
sepas no debió entrar al sistema en esas fechas u horas, o peor aun que
se trata de tu ¡¡usuario!! y no habías ingresado previamente. Con
seguridad significa que ya te hackearon tu sistema o consiguieron tu
contraseña.dmesg
Parte del servidor de mensajes del sistema syslog,dmesg
es principalmente usado para mostrar los mensajes que se mostraron en
pantalla cuando se inicio (boot) el sistema. Se usa sobretodo para
realizar depuraciones al sistema de como se están cargando los diversos
módulos y componentes al arranque del sistema o ya en ejecución. Debido a
lo extenso del sistema, es conveniente redireccionar la salida a un
archivo:#> dmesg > mensajes
less
o cat
o en tu editor favorito puedes con calma analizar el archivo.ps
El comando por excelencia para mostrar información de procesos, en este artículo de LinuxTotal.com.mx se encuentra una amplia explicación de este comando y otros usados para la administración de procesos.Este artículo seguirá creciendo de vez en cuando con nueva información sobre comandos que regresan datos valiosos del sistema, asi que chécalo de tiempo en tiempo.
No hay comentarios.:
Publicar un comentario