diff --git a/labs/xv6.html b/labs/xv6.html index 1749ca6..a5df08d 100644 --- a/labs/xv6.html +++ b/labs/xv6.html @@ -144,18 +144,29 @@ initial file system. You just ran one of them: ls.

find

Write a simple version of the UNIX find program: find all the files - in a directory tree that contain a user-specified string. + in a directory tree whose name matches a string. For example if the + file system contains a file a/b, then running find as + follows should produce: +

+    $ find . b
+    ./a/b
+    $
+  

Some hints:

+
  • Use recursion to run find in sub-directories. +
  • Don't recurse into "." and "..". + -

    Optional: modify shell

    +

    Optional: modify the shell

    Modify the shell to support lists of commands, separated by ";" -

    Modify the shell to support sub-shells by implementing "(" and ")" +

    Modify the shell to support sub-shells by implementing "(" and ")" + +

    Modify the shell to allow users to edit the command line