Skip to main content

signaloid-cli files rm

Delete a file or directory.

Note: This command is an alias for signaloid-cli files delete. Both command names work interchangeably.

Synopsis​

signaloid-cli files rm --path <path> [options]
signaloid-cli files delete --path <path> [options]

Description​

Delete a file or directory from Signaloid cloud storage. For directories, use the --directory flag. To delete non-empty directories, use both --directory and --recursive flags.

You need to combine the usage of --recursive with --directory. Passing --recursive on its own does not delete anything. The command reports the usage error and exits with code 2.

Options​

OptionDescriptionDefault
--path <path>Path to delete (required)-
--recursiveRecursively delete directoryfalse
--directoryPath is a directoryfalse

Examples​

Delete a File​

signaloid-cli files rm --path datasets/old-data.csv

Delete Empty Directory​

signaloid-cli files rm --path datasets/temp --directory

Delete Directory Recursively​

signaloid-cli files rm \
--path datasets/old-experiments \
--directory \
--recursive

Delete Old Files (Older than 30 Days)​

#!/bin/bash
# last_modified is a Unix timestamp in milliseconds
CUTOFF=$(( $(date -d "30 days ago" +%s) * 1000 ))

signaloid-cli files ls --path datasets/ | \
jq -r --argjson cutoff "$CUTOFF" \
'.Files[] | select((.path | endswith("/") | not) and .last_modified < $cutoff) | .path' | \
while read FILE_PATH; do
echo "Deleting old file: $FILE_PATH"
signaloid-cli files rm --path "$FILE_PATH"
done

Notes​

  • Deletion is permanent and cannot be undone
  • Use --directory flag when deleting directories
  • Use --recursive together with --directory to delete non-empty directories
  • Files are deleted immediately without confirmation by default
  • Consider implementing confirmation prompts for destructive operations

Troubleshooting​

Directory Not Empty​

Problem: Cannot delete directory.

Error: Directory not empty error when trying to delete without --recursive flag.

Solutions:

  1. Use --recursive together with --directory to delete contents:

    signaloid-cli files rm --path dir/ --directory --recursive
  2. Or manually delete files first:

    signaloid-cli files ls --path dir/ | \
    jq -r '.Files[] | select(.path | endswith("/") | not) | .path' | \
    while read FILE; do
    signaloid-cli files rm --path "$FILE"
    done
    signaloid-cli files rm --path dir/ --directory

"File not found" Error​

Problem: Cannot find file or directory to delete.

Solutions:

  1. Verify the path exists:
    signaloid-cli files ls --path datasets/
  2. Check for typos in the path
  3. Ensure proper path format (no leading slash)

Permission Denied​

Problem: Insufficient permissions to delete file.

Solutions:

  1. Verify authentication status:
    signaloid-cli auth whoami
  2. Check if you own the file
  3. Re-authenticate if session expired

See Also​