This project is a simple NFS (Network file system) server&client, that allows for basic operations of sharing files and directories. It is based upon SunRPC for remote method calls, although writtin C++ instead of pure C.
Server is run with one parameter that is the path to a directory that should be served. If no parameter is given, a default of current working directory is applied.
Client is run with 1 parameter, i.e. the address of the running NFS server. After starting client, a command prompt appears (>
), that allows for execution of sharing operations. Allowed operations are:
//list files of remote directory
> ls
//list files of current local working directory
> lls
// create an empty file on the server
> create <filename>
// create an empty directory on the server
> mkdir <dirname>
// delete a file or directory on the server
> delete <filename/dirname>
//send a file or directory to the server
> send <filename/dirname>
// get a file or directory from the server
> get <filename/dirname>
// exit client program
> exit
> quit
All source code is located under src/ directories. *.x file contains interface definition as used by rpcgen. Thus, files inside src/ directory represent the same structure as the one generated by rpcgen.
To build the project simply run:
$ make
This project is released under MIT License.