.. _shell-fs-sample: File system shell example ######################### Overview ******** This example provides shell access to a LittleFS file system partition in flash. Requirements ************ A board with LittleFS file system support and UART console Building ******** Native Posix ============ Before starting a build, make sure that the i386 pkgconfig directory is in your search path and that a 32-bit version of libfuse is installed. For more background information on this requirement see :ref:`native_posix`. .. code-block:: console export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig .. zephyr-app-commands:: :zephyr-app: samples/subsys/shell/fs :board: native_posix :goals: build :compact: See :ref:`native_posix` on how to connect to the UART. Reel Board ========== .. zephyr-app-commands:: :zephyr-app: samples/subsys/shell/fs :board: reel_board :goals: build :compact: Particle Xenon ============== This target is customized to support the same SPI NOR partition table as the :ref:`littlefs-sample`. .. zephyr-app-commands:: :zephyr-app: samples/subsys/shell/fs :board: particle_xenon :goals: build :compact: Running ******* Once the board has booted, you will be presented with a shell prompt. All file system related commands are available as sub-commands of fs. Begin by mounting the LittleFS file system. .. code-block:: console fs mount littlefs /lfs Files System Shell Commands =========================== Mount ----- Mount a file system partition to a given mount point .. code-block:: console fs mount (littlefs|fat) Ls -- List all files and directories in a given path .. code-block:: console fs ls [path] Cd -- Change current working directory to given path .. code-block:: console fs cd [path] Pwd --- List current working directory .. code-block:: console fs pwd Write ----- Write hexadecimal numbers to a given file. Optionally a offset in the file can be given. .. code-block:: console fs write [-o ] ... Read ---- Read file and dump in hex and ASCII format .. code-block:: console fs read Trunc ----- Truncate a given file .. code-block:: console fs trunc Mkdir ----- Create a directory .. code-block:: console fs mkdir Rm -- Remove a file or directory .. code-block:: console fs rm Flash Host Access ================= For the Native POSIX board the flash partitions can be accessed from the host Linux system. By default the flash partitions are accessible through the directory *flash* relative to the directory where the build is started.