Comandos
Veamos a continuación algunos comandos básicos para manejar la Raspberry en modo texto, a través de la terminal.
Entrar, salir, reiniciar, apagar
Iniciar sesión SSH:
ssh piuser@192.168.1.33 [en la red local]
ssh piuser@midominio.com [desde Internet]
Para salir/cerrar la sesión SSH podemos optar por:
exit
logout
Para reiniciar el sistema es posible usar cualquiera de estos dos comandos:
sudo reboot
sudo shutdown -r now
Para apagarlo tenemos otras dos opciones:
sudo poweroff
sudo shutdown -h now
Apagado planificado:
sudo shutdown -h hora:minuto & [pulsar <Intro> para recuperar el prompt]
Cancelar el apagado planificado:
sudo shutdown -c
Usuarios
Convertirse en root (administrador) de forma permanente:
sudo su [salimos con exit]
Añadir un usuario:
sudo adduser usuario
Cambiar de usuario:
su usuario
Eliminar un usuario:
sudo deluser usuario
Eliminar un usuario y su carpeta home:
sudo userdel -r usuario
Saber qué usuarios están conectados al sistema:
w
who
Cambiar contraseña:
passwd
Muestra a qué grupos pertenece el usuario:
groups
Directorios/carpetas
Crear un directorio o carpeta:
mkdir carpeta
Borrar un directorio o carpeta vacíos:
rmdir carpeta
Borrar un directorio o carpeta no vacíos:
rm –rf carpeta
Renombrar un directorio:
mv docs docus
Desplazarse a un directorio:
cd /carpeta
Copiar una carpeta recursivamente:
cp -r carpeta1 carpeta2
Comprimir el contenido de un directorio:
zip -r file.zip directorio
Descomprimirlo:
unzip file.zip
Ver contenido del ZIP:
zipinfo file.zip
Saber en qué directorio estamos:
pwd
Mostrar el contenido de una carpeta:
ls
Mostrar el contenido de una carpeta con información extendida:
ls -l
Mostrar el contenido de una carpeta incluyendo elementos ocultos:
ls -la
Mostrar el contenido de una carpeta indicando el "peso" de los archivos en KB/MB:
ls -lh
Limpiar la pantalla:
clear [o pulsar Ctrl+l]
Contar los ficheros que contiene una carpeta o directorio (incluidos los ocultos):
find -maxdepth 1 -type f | wc -l
Ir al directorio anterior:
cd ..
Ir al directorio home:
cd
Ir al directorio raíz:
cd /
Mostrar el árbol de directorios y ficheros:
tree [instalar previamente con sudo apt install tree]
Ficheros
Crear un fichero vacío:
touch fichero
Crear un fichero y/o editar su contenido:
nano fichero
Mostrar todo el contenido de un fichero:
cat fichero
Ver el contenido de un fichero poco a poco:
more fichero [pulsar <Barra espaciadora> para continuar]
Mostrar las primeras líneas de un fichero:
head fichero [muestra las 10 primeras líneas]
head -15 fichero [muestra las 15 primeras líneas]
Mostrar las últimas líneas de un fichero:
tail fichero [muestra las 10 últimas líneas]
tail -15 fichero [muestra las 15 últimas líneas]
Buscar palabras o expresiones en un fichero:
grep Terminator fichero
grep "Blade Runner" fichero
grep -w Alien fichero [busca sólo la palabra exacta]
grep -n Alien fichero [muestra también el nº de línea]
grep -i Alien fichero [no distingue entre mayúsculas y minúsculas]
grep -c Alien fichero [cuenta el nº de líneas en que aparece]
grep -r Marte /carpeta [busca recursivamente en subdirectorios]
grep -l "Star Wars" /carpeta [lista los ficheros que contienen la búsqueda]
Ver información detallada de un fichero:
stat fichero
Borrar un fichero:
rm fichero
Borrar ficheros recursivamente (por su extensión):
find -name "*.jpg" -type f -delete
Copiar un fichero en una carpeta:
cp fichero /carpeta
Mover un fichero a una carpeta:
mv fichero /carpeta
Renombrar un fichero:
mv cancion.mp3 musica.mp3
Cuenta líneas, palabras y caracteres:
wc fichero
Buscar un fichero por su nombre:
sudo find / -iname "fichero" [desde el directorio raíz]
sudo find . -iname "fichero" [desde el directorio actual]
Buscar ficheros por su extensión:
sudo find / -name \*.sh
sudo find . -name \*.sh
Saber el espacio ocupado por los ficheros de un directorio:
du -h /home/piuser
Volcar la salida de un comando en un fichero (usando >):
ls -l > fichero
Permisos
Cambiar los permisos de un fichero o carpeta:
sudo chmod 755 fichero | carpeta [755 = rwxr-xr-x]
Cambiar el dueño de un fichero o carpeta:
sudo chown piuser fichero | carpeta
Cambiar el grupo de un fichero o carpeta:
sudo chgrp piuser fichero | carpeta
Cambiar el usuario y el grupo de un fichero o carpeta:
sudo chown piuser:piuser fichero | carpeta
Cambiar los permisos, el dueño o el grupo de todas las carpetas y ficheros recursivamente:
sudo chmod -R 755 *
sudo chown -R piuser *
sudo chgrp -R piuser *
Cambiar permisos recursivamente solo a directorios:
sudo find /media/hdusb -type d -exec chmod -R 755 {} \;
Cambiar permisos recursivamente solo a ficheros:
sudo find /media/hdusb -type f -exec chmod -R 644 {} \;
Particiones
Ver particiones y dispositivos conectados al sistema:
sudo fdisk -l
Montar una partición o dispositivo en una carpeta:
sudo mount /dev/sda1 /media/hdusb
Desmontar una partición o dispositivo:
sudo umount /dev/sda1
Forzar el desmontaje de una partición o dispositivo:
sudo umount -l /dev/sda1
Histórico
Ver histórico de comandos utilizados:
history
Borrar histórico de comandos:
history -c
Editar histórico de comandos:
nano .bash_history [en el directorio /home de cada usuario]
Editar fichero con los alias:
nano .bashrc [en el directorio /home de cada usuario]
. . . . . .
. . . . . .
# some more ls aliases
alias ll='ls -l'
alias la='ls -la'
alias lh='ls -lah'
Sistema
Actualizar el sistema operativo:
sudo apt update
sudo apt upgrade
Información sobre el sistema:
neofetch [instalar previamente con sudo apt install neofetch]
Monitor del sistema:
top
Información extendida del sistema:
htop
btop [instalar previamente con sudo apt install btop]
Fecha y hora:
date
Tiempo en funcionamiento:
uptime -p
Nombre del equipo:
hostname
Tarjetas de red instaladas:
ip a
Tarjetas de red activas:
ifconfig
Espacio libre/ocupado por el sistema y por las unidades de almacenamiento:
df -h
Cantidad de memoria RAM y swap utilizadas:
free [se muestra en bytes]
free -m [se muestra en megas]
free -h [indica megas y gigas]
Nombre o Codename de la distribución:
lsb_release -c
Versión del kérnel:
uname -r
Arquitectura de la placa:
uname -m
sudo dpkg --print-architecture
Información de la CPU, modelo y revisión de la placa:
cat /proc/cpuinfo
Fecha y versión del firmware VideoCore:
vcgencmd version
Temperatura del SoC:
vcgencmd measure_temp
Conocer si la CPU hace thermal throttling (baja su frecuencia por alta temperatura):
vcgencmd get_throttled [debe devolver throttled=0x0 si no lo hace]
Procesos
Ver todos los procesos activos:
ps -A
Matar/eliminar un proceso por su nombre:
sudo pkill nombre_proceso
Matar/eliminar un proceso por su PID:
sudo kill -9 número_proceso
Detener un proceso en ejecución:
Ctrl+z
Ver los procesos detenidos o en 2º plano:
jobs
jobs -l [muestra también el PID]
Reanudar un proceso detenido:
fg [si sólo hay un proceso]
fg 2 [si hay varios, añadimos el número devuelto por jobs]
Utilidades
Descomprimir archivo .tar:
tar -xvf archivo.tar
Descomprimir archivo .tar.gz:
tar -xvfz archivo.tar.gz
Descomprimir archivo .tar.bz2:
tar -xvfj archivo.tar.bz2
Descomprimir cualquier tipo de archivo:
unar archivo.xxx [instalar previamente con sudo apt install unar]
Información de la base de datos Whois:
whois google.es [instalar previamente con sudo apt install whois]
Hacer ping a un host:
ping google.es
Conexiones de red activas:
sudo netstat -tup
Conexiones a Internet activas:
sudo netstat -natup
IPs de los dispositivos conectados a nuestra LAN:
sudo nast -m [instalar previamente con sudo apt install nast]
Información sobre las redes inalámbricas captadas:
iwlist scan [la interfaz wlan0 debe estar activada]
Páginas del manual de un comando:
man comando
Paquetes
Saber si un paquete está disponible:
apt list paquete
Saber si un paquete está instalado:
apt-cache policy paquete
Instalar un paquete desde los repositorios:
sudo apt install paquete
Desinstalarlo:
sudo apt remove paquete [sólo el paquete]
sudo apt purge paquete [el paquete + los ficheros de configuración]
Instalar un paquete.deb:
sudo dpkg -i paquete.deb
Desinstalarlo:
sudo dpkg -P paquete.deb
Instalar un paquete.deb y sus dependencias:
sudo apt install paquete.deb
Limpiar paquetes existentes en la caché:
sudo apt clean
Borrar paquetes antiguos de la caché, pero manteniendo los actualizados:
sudo apt autoclean
Eliminar paquetes autoinstalados que ya no son necesarios:
sudo apt autoremove
Solucionar errores de instalaciones .deb fallidas:
sudo dpkg --configure -a
Marcar un paquete como retenido (para evitar que se instale o actualice):
sudo apt-mark hold paquete
Desmarcarlo como retenido (ya puede instalarse o actualizarse):
sudo apt-mark unhold paquete
Instalar un programa desde los ficheros fuente:
./configure [al final, comprobar si indica que hay que instalar algún paquete]
make
sudo make install