Comandos en Linux

Comandos de Paquetes

Gestión de Paquetes en Centos

paquetes instalados

 rpm -qa 
o también con
yum list installed

Para ver los ficheros que tiene instalado un determinado paquete

 rpm -ql <nombre_paquete_instalado> 

Comandos de Paquete en Debian y derivados

  • instala un paquete determinado
    apt-get install <nombrepaquete> 
  • elimina un paquete
    apt-get remove <nombrepaquete> 
Hay una opción para remover el paquete que elimina los ficheros de configuración, que normalmente resultan innecesarios una vez que hemos decidido no usar el paquete y sólo acaban por acumularse inútilmente
apt-get --purge remove nombredepaquete 
  • Búscar un paquete
    apt-cache search <nombrepaquete>
  • descarga la lista de paquetes para actualizar el sistema
    apt-get update 
  • descarga los paquetes marcados para actualizar
    apt-get dist-upgrade 
  • Poner en proxy en consola
    export http_proxy=http://10.140.136.2:3128
para dejarlo fijo ponerlo en /etc/profile

dpkg

  • Listar paquetes instalados
    dpkg –l
  • Buscar un paquete determinado
    dpkg –l | grep  <nombre_paquete>
  • instalar un paquete
    dpkg --install nombredelpaquete.deb
  • muestra todo el contenido de un paquete que ya esté instalado.
    dpkg -L <nombrepaquete>
También puede ocurrir que quieras saber si existe algún paquete con un contenido determinado, por ejemplo porque un programa de instalación requiera una librería, o porque quieres descubrir en que paquete venía el programa “prog”; en ese caso usas
dpkg -S prog

Comandos de Fecha Hora

Poner la fecha/hora en Centos

date mmddhhmiaaaa 

  • mm → mes
  • dd → día
  • hh → hora
  • mi → minutos
  • aaaa → año

Comandos de Usuario

Crear un usuario

useradd -g nombre-del-grupo -m -d /home/nombre-de-usuario/ -k /directorio-archivos-por-defecto/ -p password-encriptado -s /bin/sh nombre-de-usuario

Borrar usuario

userdel -r nombre_del_usuario

Cambiar la password

passwd usuario 

Añadir un usuario a varios grupos

usermod -a -G lista_de_grupos_separados_por_comas usuario

Cambiar el grupo por defecto

usermod -g grupo

Quitar de un grupo

sudo deluser <USUARIO> <GRUPO>
lo quita pero no borra ni el usuario ni al grupo
sudo deluser <USUARIO> 
lo quita de todos los grupos

lista de usuarios

cat /etc/passwd 
o
 getent passwd

Alias

Con los alias podemos definir unos macros para ejecutar comandos repetitivos o grandes. Por ejemplo vamos a definir un alias para editar el fichero hosts

alias s='vi /etc/hosts/
Ahora cada vez que pulsemos s y le demos a la tecla INTRO nos ejecutara el alias que hemos definido

Comandos de Grupo

DescripciónComando
Crear un grupogroupadd nombre grupo
Borrar un grupogroupdel nombre grupo
añadir un usuario a un grupousermod -a -G grupo usuario
listado gruposcat /etc/group o getent group

comandos de carpetas

Descripción Comando
Muestra el espacio libre del disco.
df
Muestra el espacio libre del sistema de ficheros
df -T -h 
Muestra el total que ocupan los ficheros.
du -c files 
Muestra el espacio que ocupa el directorio.
du -sh carpeta 
Muestra el espacio total del directorio
du -ch | grep total
Ordena por tamaño Incluye archivos y directorios ocultos
du --max-depth=1 /home/ | sort -n -r
ordena por tamaño
du -s /home/* | sort -n -r

comandos de búsqueda

locate <nombre archivo>

si son archivos recientes hay que actualizar el la base de datos de indice con updatedb

Buscar ficheros según su tamaño

 sudo find / -type f -size +100M -print

Si queremos filtrar por varias condiciones usamos la opción prune

sudo find / -path /data1/ -prune -or -size +900M -print

monitorización del estado

Top

El comando top tiene varias hot keys

  • t → on/off información de resumen
  • A → ordena por consumo de recursos
  • f → entra en un modo interactivo de configuración
  • z →color on/off

Vmstat

Muestra un resumen acerca de los procesos, memoria, paginación, IO, system, cpu

w

muestra información de los usuarios actualmente conectados y sus procesos

uptime

hora, tiempo que lleva el equipo encendido, usuarios conectados, carga del sistema hace 1, 5 y 15 minutos

tiempo de arranque del sistema

systemd-analyze time

ps

ver los procesos en ejecución en el sistema

  • ps -Al →muestra información extra

free

Muestra la cantidad de memoria libre y usada

Si queremos ver en Linux información sobre el tipo de procesador, la cantidad de memoria etc

 cat /proc/cpuinfo 
 cat /proc/meminfo
cat /proc/zoneinfo
cat /proc/mounts

Editar y visualizar ficheros

cat

cat >  <fichero> 
mete lo que escribamos en consola en un fichero. Útil para copiar cadenas largas con el ratón. Para salir CTRL+d, mientras todo lo que se escriba se guarda en ese fichero.
cat >>  <fichero> 
añade lo que escribamos en consola en ese fichero

Comandos de disco

Mount

Montar un disco

mount /dev/hda1 /mnt/hda1 
(el directorio donde se va a montar tiene que estar creado)

mount –a 
monta lo que no este montado del fichero etc/fstab

Formatear

mkfs.ext3 /dev/hda1 formatea el disco con el sistema ext3

comandos linux

Comando Descripción
/usr/bin/gpasswd -a user group Asigna cierto usuario a ese grupo.
chmod mode file Cambia los permisos del fichero.
chown user:group file Cambia el propietario del fichero y el grupo al cual pertenece.
gpasswd -d user group Para quitar usuarios de un grupo. Lo mismo es editar /etc/group
groups username Muestra los grupos a los cuales pertenece el usuario
id username Muestra identificación del usuario i los grupos en los que está.
su Te conviertes en root hasta que escribas exit.
su - Pasas a ser root y ademas lee las variables de entorno de root
usermod -G group1,group2 user Asigna grupos a un usuario.

psaux se ven todos los procesos arrancados.

netstat –pant se ven los puertos y el nivel de escucha

fuser –v directorio_chroot. Si hay un root que apunta al directorio del chroot es que hay un chroot lanzado otra forma de saber si hay un chroot lanzado es ls /proc/self/ -l(estando dentro del chroot)

ifconfig eth0 down apaga la red

ifconfig eth0 up la arranca

sh –v te muestra el debug

Comando Descripción
Kill -9 PIDnumber Mata el proceso numberPID
Kill -STOP numberPID Para hasta nueva orden el proceso numberPID.
Kill -CONT NumberPID Continua el proceso numberPID parado anteriormente
killall processname Mata el proceso con ese nombre.
ps aux Lista de los programas que se estan ejecutando actualmente con su PID (Process IDentifier).
top Muestra los procesos en ejecución
xkill Mata en X-windows al proceso que señalemos con el raton. Es lo mismo que kill pero para entono gráfico. Hotkey: Ctrl+Alt+ESC
alias ls='ls –color=tty' Hace que al hacer ls se vea en color solo si la salida va a la consola (no si va a un fichero) se puede meter en ~/.bash_profile para que lo haga siempre.
dd if=/dev/fd0 of=diskimagename Crea una imagen del disco con el nombre imagendedisco.
dd if=diskimagename of=/dev/fd0 Graba el archivo imagen a un disco.
echo $PATHMuestra el path actual.
emacs filenameEdita el fichero Ctrl+X Ctrl+S (guarda), Ctrl+X Ctrl+C (sale).
find /directory -name 'filename'Busca a partir de directorio el fichero especificado.
for x in $(ls /directory) do echo $x done Para hacer un bucle en un script bash de los ficheros de un directorio.
grepBusca una cadena en un fichero.
cat fichero.txt grep textoabuscar
joe filenameEditor de texto.
less fichero Como more pero mejor, permite ir hacia arriba tambien y no carga el fichero de golpe.
ln -s /mnt/cdrom/Mame/roms /usr/games/lib/xmameCrea un enlace blando al directorio roms del cdrom como si fuera /usr/games/lib/xmame (xmame no debe existir)
mke2fs /dev/hda2Formatea la segunda partición del primer disco duro en formato Linux (ext2).
more filenameMuestra el fichero por pantalla
mount /dev/hda1 /mnt/c -t vfatMonta una partición fat32
pico filenameEditor muy sencillo de texto que ocupa poca memoria.
rm -rf directoryBorra el directorio con todo lo que tenga dentro sin preguntar.
sedCambia una cadena por otra en un fichero (se suele usar en redirecciones.
sed 's/stringA/StringB/' filename > newfilenameCambia la primera ocurrencia de cadena en el fichero por otra cadena y lo mete en nuevofichero.
sed 's/stringA/stringB/g' filename > newfilenameCambia todas las ocurrencias de cadena en el fichero por otra cadena y lo mete en nuevofichero.
tail -f filenameMuestra las últimas lineas del fichero (ideal para ver en tiempo real modificaciones en ficheros log).
tar -zcvf filename.tar.gz directoryComprime en un tarball el directorio y todos los subdirectorios en filename.tar.gz
tar -zxvf filename.tar.gzDesempaquetar un archivo .tar.gz
wc filenameCuenta las lineas, palabras, bytes del fichero.
whereis filenameBusca un archivo y te dice donde está usando la base de datos interna, que debe estar actualizada. updatedb la actualiza.
zip -r targetfilename directoryComprime en ficherodestino.zip el directorio y todas sus carpetas.
zip -r zipfilenameyouwant.zip desiredirectorynameComprime usando zip el directorio desiredirectoryname y todos los subdirectorios.
convert -resize 640×480 original.jpg modified.jpgConvierte la imagen a 640×480
mplayer videoyouwant.avi -vo aaReproduce el video en arte ascii.
/etc/network/interfacesEdita este fichero para cambiar la IP en Debian
ifconfigTe dice tu dirección IP aunque sirve tambien para configurar la tarjeta de red.
ncftpUn cliente de ftp mejorado para la consola
netstat -lnp –ipSi lo tecleas siendo root, mostrará los demonios que se estan ejecutando ahora.
scp root@192.168.0.201:/boot/vmlinux .Copia el fichero vmlinux remotamente desde el host 192.168.0.201 via ssh al diretorio actual
wget -c –passive-ftp ftp://filenameBaja el archivo o lo continua bajando usando el modo pasivo del FTP.
wget -c http://filenameBaja el archivo solicitado o lo continua si se ha cortado la conexión.
wget -rl 4 http://domainnameBaja toda la web y los ficheros que contenga hasta un nivel 4.
mpg123 -q /directory/*.mp3 &Toca en background desde la consola la musica en .mp3 del directorio.
/sbin/hdparm -d 1 /dev/hdaActiva el bit using_dma poniendolo a 1 para activar el acceso Ultra-DMA al disco duro.
/sbin/hdparm -tT /dev/hdaHace un test en la lectura del dispositivo.
/sbin/hdparm /dev/hdaMuestra los parametros de configuracion del disco duro.
bashExtension del sh.
bcEs una calculadora en modo texto.
chsC shell.
dpkg -i package.debInstala un paquete .deb (Debian).
if [ -x /path/to/dnetc ]; then echo “Starting Distributed.net Client…” /path/to/dnetc -quiet fi El fichero /etc/rc.d/rc.local es similar al autoexec.bat de ms-dos y por ejemplo podemos poner estas lineas. Si no se está ejecutando arranca dnetc.
kshKorn shell, combina sh y csh.
lastLista el historial de accessos al sistema (lee /var/log/wtmp).
trace elfexecutablepara ver un ejecutable elf (buena herramienta para hackear)
nohup scriptname &Ejecuta scriptname en segundo plano y sigue ejecutandose incluso si cierras la ventana del interprete de comandos.
pdkshExtensión de ksh.
rpm -e rpmname Desinstala el paquete rpm instalado previamente (el rpmname debe ser obtenido de rpm -qa y van sin el .rpm)
rpm -qpl package.rpm Para ver lo que hay en el paquete.
rpm -Uvh package.rpm Actualiza un paquete ya instalado o lo instala.
setterm -blank 0 Desactiva el salvapantallas negro ( que esta activado por defecto), puedes añadirlo en /etc/rc.local
sh Cambia al bash shell (estandar de Unix).
shutdown -h now Apaga el equipo. Es lo mismo que halt.
shutdown -r now Reinicia el equipo. Es lo mismo que reboot.
strace -s 200 executable Intercepta las llamadas al sistema que son recibidas por un proceso -s 200 es para cadenas de tamaño 200 (buena herramienta para hackear)
rpm -qi rpmname 1Consulta sobre la versión, descripción completa y más información del paquete.
at 7:00 cdplayd Programa el computador para hacer sonar el cd a las 7:00.
atq Lista las tareas automáticas programadas.
atrm 8 Elimina la tarea número 8.
date Muestra la fecha y hora del sistema.
date -s “04/25/05” +“%D” Cambia la fecha del sistema al 25 de Abril del 2005 .
date -s “15:00:00” +“%T” Cambia la hora del sistema a las 15:00.
Edit this file to memorize a job: etc/crontab Ej: 00 00 20 10 * echo 'Ha llegado el invierno' >/dev/null (esto ùltimo es para que no se envie por mail al root). Los siguientes directorios son para meter programas a ejecutar cada cierto tiempo (copiarlos dentro) /etc/cron.hourly/ /etc/cron.daily/
rdate -p ntp.nasa.gov Muestra la hora de ese servidor.
rdate -s ntp.nasa.gov Sincroniza nuestra hora con la del servidor.
time application Ejecuta el programa y al finalizar muestra el tiempo que ha estado en ejecución.
uptime Muestra el tiempo que lleva el ordenador en marcha.
setxkbmap Por si no funcionan las teclas con AltGr en modo X.
switchdesk desktoptype Cambia el escritorio por defecto al tipo que sea (gnome, kde, wmaker, etc…).
man da ayuda sobre los comandos
ls como el dir del DOS
cd para cambiar de directorio
cat para visualizar ficheros
cp origen destino copia ficheros
mv origen destino mueve ficheros
pwd indica el directorio donde te encuentras
rm fichero borra un fichero
mkdir directorio crea un directorio
history muestra el historial de comandos utilizados
passwd cambia la paswword
dmesg muestra los mensajes desde que arranca linux
tar xjfv archivo.bz2 para descomprimir ficheros bz2
tar xzfv archivo.bz descomprimir ficheros bz
tar -cjvf archdestino.bz2 archorigen: comprimir el fichero origen
less permite ver un fichero
su usuario para cambiar de usuario
ln -s ORIGEN DESTINO Crea enlaces simbólicos
startx Inicia el entorno X
twm Lanza las X sin aceleración en el modo framebuffer
find -name \archivo Busca el archivo
lsmod Lista los modulos cargados
mount Monta dispositivos
umount Desmonta dispositivos
kudzu Detecta y configura los dispositivos del equipo
lspci Listado de todo los instalado en el equipo
xkill Igual que el kill pero para las X
tail -f fichero Muestra las últimas líneas de un fichero

Rsync

rsync –av
la a es copia recursiva y la v muestra lo que esta haciendo

–exlude=<directorios a excluir> <directorios a copiar> <directorio destino>

rsync –delete 
borra los ficheros que ya no están en el original

Variables

Para preguntar por una variable de entorno

echo $nombre_variable
Para definir variables
export <nombre de variable>

Listado gráfico

ls -R | grep “:$” | sed -e 's/:$' -e 's/[^-][^\/]*\–/g' -e 's/^/ /' -e 's/-/|/'

Búsqueda en los mensajes del sistema

dmesg | grep cadenaabuscar  

Referencias

Solución Problemas

si un linux no arranca para instalarlo ejecutar el instalador con la opción nommconf

En las placas intel pulsar CTRL+I para el munu Raid