Basalt.UniversalFileSystem.Cli 0.1.55-preview

This is a prerelease version of Basalt.UniversalFileSystem.Cli.
dotnet tool install --global Basalt.UniversalFileSystem.Cli --version 0.1.55-preview
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Basalt.UniversalFileSystem.Cli --version 0.1.55-preview
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Basalt.UniversalFileSystem.Cli&version=0.1.55-preview&prerelease
                    
nuke :add-package Basalt.UniversalFileSystem.Cli --version 0.1.55-preview
                    

Basalt.UniversalFileSystem.Cli

This is a command‑line tool built on top of Basalt.UniversalFileSystem. It allows different file systems to be accessed in a unified way. It also serves as an example demonstrating how to build applications or services using Basalt.UniversalFileSystem.

How to install it

dotnet tool install --global Basalt.UniversalFileSystem.Cli --prerelease

Notes:

  • Use option --prerelease to install pre-release version. It doesn't have release versions yet.

Supported commands

  • List files, ufs ls
  • Show file content, ufs cat
  • Copy files, ufs cp
  • Move/rename file, ufs mv
  • Delete file, ufs rm
  • Create configuration template, ufs config init

Configurations

Configuration file path is value of environment variable UFS_CONFIG_PATH or by default ~/.ufs/config.yaml.

Configuration example

UniversalFileSystem-Cli:
  UniversalFileSystem:
    FileSystems:
        
      File:  # Local filesystem, can be any name as long as it's unique.
        UriRegexPattern: ^file:///.*$   # It's not necessary to be `file`. It can be any scheme too, as long as regex pattern matches.
        FileSystemFactoryClass: Basalt.UniversalFileSystem.File.FileFileSystemFactory     # Implementation factory of local filesystem.

      S3-a:
        UriRegexPattern: ^s3://bucket-a/.*$  # Only for `bucket-a`
        FileSystemFactoryClass: Basalt.UniversalFileSystem.AwsS3.AwsS3FileSystemFactory   # Implementation factory of AWS S3.
        Client:
          Credentials:
            Type: Basic
            AccessKey: abc
            SecretKey: xyz
          Options:
            Region: us-west-1

      S3:
        UriRegexPattern: ^s3://.*$    # For other buckets. The order is important.
        FileSystemFactoryClass: Basalt.UniversalFileSystem.AwsS3.AwsS3FileSystemFactory
        Client:
          Credentials:
            Type: Profile
            Profile: default
          Options:
            Region: us-west-1

      Oss:
        UriRegexPattern: ^oss://.*$
        FileSystemFactoryClass: Basalt.UniversalFileSystem.AliyunOss.AliyunOssFileSystemFactory
        Client:
          Endpoint: https://oss-cn-shanghai.aliyuncs.com
          Credentials:
            Type: ConfigJsonProfile
        Settings:
          CreateBucketIfNotExists: false

More information can be found from https://github.com/wen-yan/basalt-universalfilesystem.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.1.55-preview 133 1/26/2026
0.1.52-preview 93 1/26/2026
0.1.51-preview 103 1/26/2026
0.1.50-preview 97 1/19/2026
0.1.48-preview 104 1/4/2026
0.1.45-preview 100 12/31/2025