# List all containers (running and stopped)
docker ps -a# List only running containers
docker ps
# Stop all running containers
docker stop $(docker ps -q)# Remove all stopped containers
docker rm$(docker ps -aq)# Remove all containers (running and stopped)
docker rm-f$(docker ps -aq)# Stop and remove a specific container
docker rm-f <container_name_or_id>
# Remove all unused containers, networks, images
docker system prune
# Remove everything including volumes
docker system prune -a--volumes
Image Management
# List all images
docker images
# Remove all unused images
docker image prune -a# Remove specific image
docker rmi <image_name_or_id>
# Remove all images
docker rmi $(docker images -q)# Build image from Dockerfile
docker build -t <tag_name> .# Pull image from registry
docker pull <image_name>
Running Containers
# Run container interactively
docker run -it <image_name> /bin/bash
# Run container in background
docker run -d <image_name>
# Run with port mapping
docker run -p <host_port>:<container_port> <image_name>
# Run with volume mount
docker run -v <host_path>:<container_path> <image_name>
# Update board package index
arduino-cli core update-index
# Install board package (e.g., ESP32)
arduino-cli core install esp32:esp32
# List installed boards
arduino-cli core list
# List available boards
arduino-cli board listall
# Search for boards
arduino-cli core search <board_name>
Library Management
# Update library index
arduino-cli lib update-index
# Install library
arduino-cli lib install"<library_name>"# List installed libraries
arduino-cli lib list
# Search for libraries
arduino-cli lib search <library_name>
# Uninstall library
arduino-cli lib uninstall "<library_name>"
Compilation and Upload
# Compile sketch
arduino-cli compile --fqbn <board_fqbn> <sketch_path>
# Upload to board
arduino-cli upload -p <port> --fqbn <board_fqbn> <sketch_path>
# Compile and upload in one command
arduino-cli compile --upload-p <port> --fqbn <board_fqbn> <sketch_path>
# Set upload speed (in sketch or command)
arduino-cli upload -p <port> --fqbn <board_fqbn> <sketch_path> --upload-field upload.speed=921600
Board Detection and Port Management
# List connected boards
arduino-cli board list
# Get board info
arduino-cli board details --fqbn <board_fqbn>
# Common FQBNs:# Arduino Uno: arduino:avr:uno# ESP32: esp32:esp32:esp32# ESP8266: esp8266:esp8266:nodemcuv2
Serial Monitor with picocom
# Connect to serial port
picocom -b 115200 /dev/ttyUSB0
# Connect with different baud rates
picocom -b 9600 /dev/ttyUSB0
picocom -b 57600 /dev/ttyUSB0
picocom -b 921600 /dev/ttyUSB0
# Exit picocom: Ctrl+A then Ctrl+X# List available serial portsls /dev/tty*# or
dmesg | grep tty
Arduino IDE Configuration Files
# Preferences location (Linux)
~/.arduino15/
# Sketches default location
~/Arduino/
# Set upload speed in boards.txt or via IDE:# Tools -> Upload Speed -> Select desired speed
Top comments (0)