===== Comandos en Linux ===== {{tag>comandos 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 === Comandos de Paquete en Debian y derivados === * instala un paquete determinado apt-get install * elimina un paqueteapt-get remove 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 * descarga la lista de paquetes para actualizar el sistemaapt-get update * descarga los paquetes marcados para actualizarapt-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 determinadodpkg –l | grep * instalar un paquete dpkg --install nombredelpaquete.deb * muestra todo el contenido de un paquete que ya esté instalado.dpkg -L 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 lo quita pero no borra ni el usuario ni al grupo sudo deluser 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ón^Comando^ |Crear un grupo|**groupadd nombre grupo**| |Borrar un grupo|**groupdel nombre grupo**| |añadir un usuario a un grupo|**usermod -a -G grupo usuario**| |listado grupos|**cat /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 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 > 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 >> 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 $PATH|Muestra el path actual.| |emacs filename|Edita 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.| |grep|Busca una cadena en un fichero. | |cat fichero.txt | grep textoabuscar| |joe filename|Editor 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/xmame|Crea un enlace blando al directorio roms del cdrom como si fuera /usr/games/lib/xmame (xmame no debe existir)| |mke2fs /dev/hda2|Formatea la segunda partición del primer disco duro en formato Linux (ext2).| |more filename|Muestra el fichero por pantalla | |mount /dev/hda1 /mnt/c -t vfat|Monta una partición fat32| |pico filename|Editor muy sencillo de texto que ocupa poca memoria.| |rm -rf directory|Borra el directorio con todo lo que tenga dentro sin preguntar.| |sed|Cambia una cadena por otra en un fichero (se suele usar en redirecciones.| |sed 's/stringA/StringB/' filename > newfilename|Cambia la primera ocurrencia de cadena en el fichero por otra cadena y lo mete en nuevofichero.| |sed 's/stringA/stringB/g' filename > newfilename|Cambia todas las ocurrencias de cadena en el fichero por otra cadena y lo mete en nuevofichero.| |tail -f filename|Muestra las últimas lineas del fichero (ideal para ver en tiempo real modificaciones en ficheros log).| |tar -zcvf filename.tar.gz directory|Comprime en un tarball el directorio y todos los subdirectorios en filename.tar.gz| |tar -zxvf filename.tar.gz|Desempaquetar un archivo .tar.gz| |wc filename|Cuenta las lineas, palabras, bytes del fichero.| |whereis filename|Busca un archivo y te dice donde está usando la base de datos interna, que debe estar actualizada. updatedb la actualiza.| |zip -r targetfilename directory|Comprime en ficherodestino.zip el directorio y todas sus carpetas.| |zip -r zipfilenameyouwant.zip desiredirectoryname|Comprime usando zip el directorio desiredirectoryname y todos los subdirectorios.| |convert -resize 640x480 original.jpg modified.jpg|Convierte la imagen a 640x480| |mplayer videoyouwant.avi -vo aa|Reproduce el video en arte ascii.| |/etc/network/interfaces|Edita este fichero para cambiar la IP en Debian| |ifconfig|Te dice tu dirección IP aunque sirve tambien para configurar la tarjeta de red.| |ncftp|Un cliente de ftp mejorado para la consola| |netstat -lnp --ip|Si 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://filename|Baja el archivo o lo continua bajando usando el modo pasivo del FTP.| |wget -c http://filename|Baja el archivo solicitado o lo continua si se ha cortado la conexión.| |wget -rl 4 http://domainname|Baja 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/hda|Activa el bit using_dma poniendolo a 1 para activar el acceso Ultra-DMA al disco duro.| |/sbin/hdparm -tT /dev/hda|Hace un test en la lectura del dispositivo.| |/sbin/hdparm /dev/hda|Muestra los parametros de configuracion del disco duro.| |bash|Extension del sh.| |bc|Es una calculadora en modo texto.| |chs|C shell.| |dpkg -i package.deb|Instala 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.| |ksh|Korn shell, combina sh y csh.| |last|Lista el historial de accessos al sistema (lee /var/log/wtmp).| |trace elfexecutable|para 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.| |pdksh|Extensió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= 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 ==== 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 ===== * http://www.linuxcentro.net/linux/staticpages/index.php?page=UsuariosGruposLinux * http://rm-rf.es/categoria/comandos-unix/ * Bulma selección de trucos y ayudas de Linux para Novatos * http://www.sorgonet.com/linux/commands/ * http://www.debianuniverse.com/index.php * http://yoseman.blogspot.com/2006/10/establecer-prioridades-entre.html * http://www.thegeekstuff.com/2010/10/dmesg-command-examples/ ===== 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 {{tag>comandos linux paquetes rpm apt}}