|
| 1 | +# About remotefs ☁️ |
| 2 | + |
| 3 | +remotefs is a library that provides a file system structure to work with all the most popular file transfer protocols. |
| 4 | +This is achieved through a trait called `RemoteFs` which exposes methods to operate on the remote file system. |
| 5 | +Currently the library exposes a client for **Sftp**, **Scp**, **Ftp**, **WebDav**, **Kube** and **Aws-s3** as external libraries. |
| 6 | + |
| 7 | +## Remote file system 💾 |
| 8 | + |
| 9 | +As mentioned earlier, this library exposes a trait called `RemoteFs`. |
| 10 | +This trait exposes several methods to operate on a remote file system via the chosen client. |
| 11 | + |
| 12 | +Let's briefly go over which methods are available: |
| 13 | + |
| 14 | +- **connect**: connect to the remote host. |
| 15 | +- **disconnect**: disconnect from the remote host. |
| 16 | +- **is_connected**: returns whether the client is connected to the remote host. |
| 17 | +- **append_file**: append specified buffer to the specified file. |
| 18 | +- **append**: open a file for append and returns a stream to write to it. |
| 19 | +- **change_dir**: change the working directory to provided path. |
| 20 | +- **copy**: copy a file from the specified source path to the specified destination. |
| 21 | +- **create_dir**: create a directory with the specified file mode at the specified path. |
| 22 | +- **create_file**: create a file at a specified path with the specified content. |
| 23 | +- **create**: create a file and returns a stream to write to it. |
| 24 | +- **exec**: executes a shell command. |
| 25 | +- **exists**: checks whether file at specified path exists. |
| 26 | +- **list_dir**: get entries at the provided path. |
| 27 | +- **mov**: move a file from the specified source path to the specified destination. |
| 28 | +- **open_file**: open a file for reading and fill the specified buffer with the file content. |
| 29 | +- **open**: open a file and returns a stream to read it. |
| 30 | +- **pwd**: get working directory. |
| 31 | +- **remove_dir_all**: remove file/directory and all of its content. |
| 32 | +- **remove_dir**: remove directory at the specified path. It fails if it is not an empty directory. |
| 33 | +- **remove_file**: remove file at the specified path. It fails if it is not a file. |
| 34 | +- **setstat**: set file metadata for file at the specified path. |
| 35 | +- **stat**: get file information of file at the specified path. |
| 36 | +- **symlink**: create a symlink at the specified path, pointing to the specified file. |
0 commit comments