diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..a0ccf77 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,5 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Environment-dependent path to Maven home directory +/mavenHomeManager.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..25c2223 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/material_theme_project_new.xml b/.idea/material_theme_project_new.xml new file mode 100644 index 0000000..a011c41 --- /dev/null +++ b/.idea/material_theme_project_new.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..fe7c608 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,326 @@ + + + + + + + + + + + + Abstraction issuesJava + + + AccessibilityHTML + + + AnnotationsGroovy + + + Assignment issuesGroovy + + + Assignment issuesJava + + + Best practisesGradle + + + Bitwise operation issuesJava + + + Class metricsJava + + + Class structureJava + + + ClassNaming conventionsJava + + + Cloning issuesJava + + + Code maturityJava + + + Code metrics + + + Code migrationKotlin + + + Code style issuesJava + + + Compiler issuesJava + + + Concurrency annotation issuesJava + + + Control flow issuesGroovy + + + Control flow issuesJava + + + Data flowJava + + + Declaration redundancyGroovy + + + Declaration redundancyJava + + + Dependency issuesJava + + + EditorConfig + + + EmbeddedPerformanceJava + + + EncapsulationJava + + + Error handlingJava + + + General + + + Gradle + + + Gradle Declarative + + + Groovy + + + HTML + + + ImportsJava + + + Inheritance issuesJava + + + InitializationJava + + + Internationalization + + + InternationalizationJava + + + JSON and JSON5 + + + JUnit + + + JVM languages + + + Java + + + Java 10Java language level migration aidsJava + + + Java 11Java language level migration aidsJava + + + Java 14Java language level migration aidsJava + + + Java 15Java language level migration aidsJava + + + Java 16Java language level migration aidsJava + + + Java 21Java language level migration aidsJava + + + Java 23Java language level migration aidsJava + + + Java 5Java language level migration aidsJava + + + Java 7Java language level migration aidsJava + + + Java 8Java language level migration aidsJava + + + Java 9Java language level migration aidsJava + + + Java interop issuesKotlin + + + Java language level issuesJava + + + Java language level migration aidsJava + + + JavaBeans issuesJava + + + JavadocJava + + + Kotlin + + + Language injection + + + LoggingJVM languages + + + LoggingJava + + + Markdown + + + Maven + + + MemoryJava + + + Method metricsJava + + + MethodNaming conventionsJava + + + Modularization issuesJava + + + Naming conventionsGroovy + + + Naming conventionsJava + + + Naming conventionsKotlin + + + Nullability problemsProbable bugsJava + + + Numeric issuesJava + + + Other problemsKotlin + + + Packaging issuesJava + + + PerformanceJava + + + PortabilityJava + + + Potentially confusing code constructsGroovy + + + Probable bugsGradle + + + Probable bugsGroovy + + + Probable bugsJava + + + Probable bugsKotlin + + + Proofreading + + + Properties files + + + RELAX NG + + + Redundant constructsKotlin + + + Reflective accessJava + + + RegExp + + + Security + + + SecurityJava + + + Serialization issuesJava + + + Style issuesKotlin + + + StyleGroovy + + + Test frameworksJVM languages + + + TestNGJava + + + Threading issuesGroovy + + + Threading issuesJava + + + User defined + + + Validity issuesGroovy + + + Verbose or redundant code constructsJava + + + VisibilityJava + + + XML + + + toString() issuesJava + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/com/mycmd/Command.java b/src/main/java/com/mycmd/Command.java index 7bbc6cf..9cd8a42 100644 --- a/src/main/java/com/mycmd/Command.java +++ b/src/main/java/com/mycmd/Command.java @@ -23,4 +23,8 @@ public interface Command { * current date/time to standard output. See their implementations for formatting details. */ void execute(String[] args, ShellContext context); + + String description(); + + String usage(); } diff --git a/src/main/java/com/mycmd/ShellContext.java b/src/main/java/com/mycmd/ShellContext.java index ada37ee..f16ccbd 100644 --- a/src/main/java/com/mycmd/ShellContext.java +++ b/src/main/java/com/mycmd/ShellContext.java @@ -3,6 +3,8 @@ import java.io.File; import java.util.ArrayList; import java.util.List; +import java.nio.file.Path; +import java.nio.file.Paths; public class ShellContext { private File currentDir; @@ -34,4 +36,13 @@ public void addToHistory(String command) { } } } + public Path resolvePath(String path) { + Path inputPath = Paths.get(path); + + if (inputPath.isAbsolute()) { + return inputPath; + } + + return Paths.get(this.getCurrentDir().getAbsolutePath()).resolve(inputPath); + } } diff --git a/src/main/java/com/mycmd/commands/CdCommand.java b/src/main/java/com/mycmd/commands/CdCommand.java index 428e6a8..7db2772 100644 --- a/src/main/java/com/mycmd/commands/CdCommand.java +++ b/src/main/java/com/mycmd/commands/CdCommand.java @@ -53,4 +53,13 @@ public void execute(String[] args, ShellContext context) { System.out.println("The system cannot find the path specified."); } } + @Override + public String description() { + return "Changes the current working directory."; + } + + @Override + public String usage() { + return "Usage: cd "; + } } diff --git a/src/main/java/com/mycmd/commands/ClsCommand.java b/src/main/java/com/mycmd/commands/ClsCommand.java index 360cffc..3b6e39a 100644 --- a/src/main/java/com/mycmd/commands/ClsCommand.java +++ b/src/main/java/com/mycmd/commands/ClsCommand.java @@ -21,4 +21,13 @@ public void execute(String[] args, ShellContext context) { System.out.println(); } } + @Override + public String description() { + return "Clears the terminal screen."; + } + + @Override + public String usage() { + return "Usage: cls"; + } } diff --git a/src/main/java/com/mycmd/commands/ColorCommand.java b/src/main/java/com/mycmd/commands/ColorCommand.java index f8f4ca6..27a2df5 100644 --- a/src/main/java/com/mycmd/commands/ColorCommand.java +++ b/src/main/java/com/mycmd/commands/ColorCommand.java @@ -67,4 +67,13 @@ public void execute(String[] args, ShellContext context) { System.out.println("\033[0m"); } } + @Override + public String description() { + return "Sets the console foreground and background colors."; + } + + @Override + public String usage() { + return "Usage: color "; + } } diff --git a/src/main/java/com/mycmd/commands/CopyCommand.java b/src/main/java/com/mycmd/commands/CopyCommand.java index 2de7f80..cda4086 100644 --- a/src/main/java/com/mycmd/commands/CopyCommand.java +++ b/src/main/java/com/mycmd/commands/CopyCommand.java @@ -43,4 +43,13 @@ public void execute(String[] args, ShellContext context) { System.out.println("Error copying file: " + e.getMessage()); } } + @Override + public String description() { + return "Copia um ou mais ficheiros para outro local."; + } + + @Override + public String usage() { + return "Usage: copy "; + } } diff --git a/src/main/java/com/mycmd/commands/DateCommand.java b/src/main/java/com/mycmd/commands/DateCommand.java index f8bf53a..817ad50 100644 --- a/src/main/java/com/mycmd/commands/DateCommand.java +++ b/src/main/java/com/mycmd/commands/DateCommand.java @@ -22,4 +22,13 @@ public class DateCommand implements Command { public void execute(String[] args, ShellContext context) { System.out.println("The current date is: " + java.time.LocalDate.now()); } + @Override + public String description() { + return "Displays the current system date."; + } + + @Override + public String usage() { + return "Usage: date"; + } } diff --git a/src/main/java/com/mycmd/commands/DelCommand.java b/src/main/java/com/mycmd/commands/DelCommand.java index 7932108..c4cc8a5 100644 --- a/src/main/java/com/mycmd/commands/DelCommand.java +++ b/src/main/java/com/mycmd/commands/DelCommand.java @@ -35,4 +35,13 @@ public void execute(String[] args, ShellContext context) { } } } + @Override + public String description() { + return "Deletes one or more files."; + } + + @Override + public String usage() { + return "Usage: del "; + } } diff --git a/src/main/java/com/mycmd/commands/DirCommand.java b/src/main/java/com/mycmd/commands/DirCommand.java index c9fe2e4..000f387 100644 --- a/src/main/java/com/mycmd/commands/DirCommand.java +++ b/src/main/java/com/mycmd/commands/DirCommand.java @@ -31,4 +31,13 @@ public void execute(String[] args, ShellContext context) { System.out.println((f.isDirectory() ? " " : " ") + f.getName()); } } + @Override + public String description() { + return "Lists files and subdirectories in the current directory."; + } + + @Override + public String usage() { + return "Usage: dir [path]"; + } } diff --git a/src/main/java/com/mycmd/commands/EchoCommand.java b/src/main/java/com/mycmd/commands/EchoCommand.java index 784d97f..332a074 100644 --- a/src/main/java/com/mycmd/commands/EchoCommand.java +++ b/src/main/java/com/mycmd/commands/EchoCommand.java @@ -25,4 +25,13 @@ public void execute(String[] args, ShellContext context) { System.out.println(String.join(" ", args)); } } + @Override + public String description() { + return "Displays a message on the screen."; + } + + @Override + public String usage() { + return "Usage: echo "; + } } diff --git a/src/main/java/com/mycmd/commands/ExitCommand.java b/src/main/java/com/mycmd/commands/ExitCommand.java index 863d864..fb8177f 100644 --- a/src/main/java/com/mycmd/commands/ExitCommand.java +++ b/src/main/java/com/mycmd/commands/ExitCommand.java @@ -21,4 +21,13 @@ public void execute(String[] args, ShellContext context) { System.out.println("Exiting MyCMD..."); System.exit(0); } + @Override + public String description() { + return "Exits the MyCMD shell."; + } + + @Override + public String usage() { + return "Usage: exit"; + } } diff --git a/src/main/java/com/mycmd/commands/HistoryCommand.java b/src/main/java/com/mycmd/commands/HistoryCommand.java index 39e2503..71bd1f6 100644 --- a/src/main/java/com/mycmd/commands/HistoryCommand.java +++ b/src/main/java/com/mycmd/commands/HistoryCommand.java @@ -20,4 +20,13 @@ public void execute(String[] args, ShellContext context) { System.out.println((i + 1) + ". " + history.get(i)); } } + @Override + public String description() { + return "Displays the command execution history."; + } + + @Override + public String usage() { + return "Usage: history"; + } } diff --git a/src/main/java/com/mycmd/commands/HostnameCommand.java b/src/main/java/com/mycmd/commands/HostnameCommand.java index 934ac96..408f71a 100644 --- a/src/main/java/com/mycmd/commands/HostnameCommand.java +++ b/src/main/java/com/mycmd/commands/HostnameCommand.java @@ -31,4 +31,13 @@ public void execute(String[] args, ShellContext context) { } System.out.println(hostname); } + @Override + public String description() { + return "Displays the system's network hostname."; + } + + @Override + public String usage() { + return "Usage: hostname"; + } } diff --git a/src/main/java/com/mycmd/commands/LsCommand.java b/src/main/java/com/mycmd/commands/LsCommand.java index 81b4dc3..9111f24 100644 --- a/src/main/java/com/mycmd/commands/LsCommand.java +++ b/src/main/java/com/mycmd/commands/LsCommand.java @@ -1,4 +1,9 @@ -import java.nio.file.*; +package com.mycmd.commands; + +import java.nio.file.DirectoryStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.io.IOException; /** @@ -15,7 +20,7 @@ * DirectoryStream for efficient directory traversal and automatically closes * resources using try-with-resources. */ -public class ListFilesNIO { +class ListFilesNIO { public static void main(String[] args) throws IOException { Path dir = Paths.get("."); // Current directory diff --git a/src/main/java/com/mycmd/commands/MkdirCommand.java b/src/main/java/com/mycmd/commands/MkdirCommand.java index 736be2c..b29a2b5 100644 --- a/src/main/java/com/mycmd/commands/MkdirCommand.java +++ b/src/main/java/com/mycmd/commands/MkdirCommand.java @@ -32,4 +32,13 @@ public void execute(String[] args, ShellContext context) { System.out.println("Failed to create directory."); } } + @Override + public String description() { + return "Creates one or more new directories."; + } + + @Override + public String usage() { + return "Usage: mkdir "; + } } diff --git a/src/main/java/com/mycmd/commands/MoveCommand.java b/src/main/java/com/mycmd/commands/MoveCommand.java index 31ac589..a772624 100644 --- a/src/main/java/com/mycmd/commands/MoveCommand.java +++ b/src/main/java/com/mycmd/commands/MoveCommand.java @@ -2,10 +2,11 @@ import com.mycmd.Command; import com.mycmd.ShellContext; -import java.io.File; + import java.io.IOException; import java.nio.file.*; + /** * Moves or renames a file or directory from source to destination. * @@ -21,14 +22,16 @@ */ public class MoveCommand implements Command { @Override - public void execute(String[] args, ShellContext context) throws IOException { + // 1. "throws IOException" foi REMOVIDO daqui + public void execute(String[] args, ShellContext context) { if (args.length < 2) { System.out.println("Usage: move "); return; } - Path source = context.resolvePath(args[0]).toPath(); - Path destination = context.resolvePath(args[1]).toPath(); + // 2. As chamadas ".toPath()" foram REMOVIDAS daqui + Path source = context.resolvePath(args[0]); + Path destination = context.resolvePath(args[1]); if (!Files.exists(source)) { System.out.println("The system cannot find the file specified."); @@ -39,7 +42,17 @@ public void execute(String[] args, ShellContext context) throws IOException { Files.move(source, destination, StandardCopyOption.REPLACE_EXISTING); System.out.println("Moved: " + source.getFileName() + " -> " + destination); } catch (IOException e) { + // O erro já é tratado aqui, por isso não precisamos do "throws" System.out.println("Error moving file: " + e.getMessage()); } } -} + @Override + public String description() { + return "Moves or renames a file or directory."; + } + + @Override + public String usage() { + return "Usage: move "; + } +} \ No newline at end of file diff --git a/src/main/java/com/mycmd/commands/RmdirCommand.java b/src/main/java/com/mycmd/commands/RmdirCommand.java index 6580c2a..2b14d72 100644 --- a/src/main/java/com/mycmd/commands/RmdirCommand.java +++ b/src/main/java/com/mycmd/commands/RmdirCommand.java @@ -37,4 +37,13 @@ public void execute(String[] args, ShellContext context) { System.out.println("Failed to delete directory."); } } + @Override + public String description() { + return "Removes (deletes) an empty directory."; + } + + @Override + public String usage() { + return "Usage: rmdir "; + } } diff --git a/src/main/java/com/mycmd/commands/TimeCommand.java b/src/main/java/com/mycmd/commands/TimeCommand.java index 5105b4b..6aee58e 100644 --- a/src/main/java/com/mycmd/commands/TimeCommand.java +++ b/src/main/java/com/mycmd/commands/TimeCommand.java @@ -32,4 +32,13 @@ public void execute(String[] args, ShellContext context) { String formattedTime = now.format(formatter); System.out.println("The current time is: " + formattedTime); } + @Override + public String description() { + return "Displays the current system time."; + } + + @Override + public String usage() { + return "Usage: time"; + } } diff --git a/src/main/java/com/mycmd/commands/TitleCommand.java b/src/main/java/com/mycmd/commands/TitleCommand.java index 7b95e7e..463e002 100644 --- a/src/main/java/com/mycmd/commands/TitleCommand.java +++ b/src/main/java/com/mycmd/commands/TitleCommand.java @@ -26,5 +26,15 @@ public void execute(String[] args, ShellContext context) { System.out.println("Usage: title "); } } + @Override + public String description() { + return "Sets the title of the console window."; + } + + @Override + public String usage() { + + return "Usage: title "; + } } diff --git a/src/main/java/com/mycmd/commands/TouchCommand.java b/src/main/java/com/mycmd/commands/TouchCommand.java index 777a45f..658cf84 100644 --- a/src/main/java/com/mycmd/commands/TouchCommand.java +++ b/src/main/java/com/mycmd/commands/TouchCommand.java @@ -21,19 +21,33 @@ */ public class TouchCommand implements Command { @Override - public void execute(String[] args, ShellContext context) throws IOException { + public void execute(String[] args, ShellContext context) { if (args.length < 1) { // ✅ Check for at least 1 argument System.out.println("Usage: touch "); return; } - - File file = new File(context.getCurrentDir(), args[0]); // ✅ Use args[0] - if (file.createNewFile()) { - System.out.println("File created: " + args[0]); // ✅ Use args[0] - } else { - // Update timestamp - file.setLastModified(System.currentTimeMillis()); - System.out.println("File timestamp updated: " + args[0]); // ✅ Use args[0] + try { + File file = new File(context.getCurrentDir(), args[0]); // ✅ Use args[0] + if (file.createNewFile()) { + System.out.println("File created: " + args[0]); // ✅ Use args[0] + } else { + // Update timestamp + file.setLastModified(System.currentTimeMillis()); + System.out.println("File timestamp updated: " + args[0]); // ✅ Use args[0] + } + } catch (IOException e) { + System.out.println("Error: " + e.getMessage()); } } + + @Override + public String description() { + return "Creates a new empty file or updates an existing file's timestamp."; + } + + + @Override + public String usage() { + return "Usage: touch "; + } } \ No newline at end of file diff --git a/src/main/java/com/mycmd/commands/TreeCommand.java b/src/main/java/com/mycmd/commands/TreeCommand.java index 7d335a1..cb23451 100644 --- a/src/main/java/com/mycmd/commands/TreeCommand.java +++ b/src/main/java/com/mycmd/commands/TreeCommand.java @@ -51,4 +51,13 @@ private void printDirectory(File[] files, String prefix, boolean isLast) { } } } + @Override + public String description() { + return "Graphically displays the folder structure of a directory."; + } + + @Override + public String usage() { + return "Usage: tree [path]"; + } } diff --git a/src/main/java/com/mycmd/commands/TypeCommand.java b/src/main/java/com/mycmd/commands/TypeCommand.java index 326b35e..deb0616 100644 --- a/src/main/java/com/mycmd/commands/TypeCommand.java +++ b/src/main/java/com/mycmd/commands/TypeCommand.java @@ -40,4 +40,13 @@ public void execute(String[] args, ShellContext context) { System.out.println("Error reading file: " + e.getMessage()); } } + @Override + public String description() { + + return "Displays the contents of a text file."; + } + @Override + public String usage() { + return "Usage: type "; + } } diff --git a/src/main/java/com/mycmd/commands/VersionCommand.java b/src/main/java/com/mycmd/commands/VersionCommand.java index 9346846..266ea17 100644 --- a/src/main/java/com/mycmd/commands/VersionCommand.java +++ b/src/main/java/com/mycmd/commands/VersionCommand.java @@ -20,4 +20,15 @@ public class VersionCommand implements Command { public void execute(String[] args, ShellContext context) { System.out.println("MyCMD Java Shell v1.0"); } + @Override + public String description() { + + return "Copy one or more files to another location."; + } + + @Override + public String usage() { + + return "ver"; + } } diff --git a/src/main/java/com/mycmd/commands/WhoamiCommand.java b/src/main/java/com/mycmd/commands/WhoamiCommand.java index 5f39e1d..490bfd9 100644 --- a/src/main/java/com/mycmd/commands/WhoamiCommand.java +++ b/src/main/java/com/mycmd/commands/WhoamiCommand.java @@ -20,4 +20,13 @@ public class WhoamiCommand implements Command { public void execute(String[] args, ShellContext context) { System.out.println(System.getProperty("user.name")); } + @Override + public String description() { + return "Displays the name of the current user."; + } + + @Override + public String usage() { + return "Usage: whoami"; + } } diff --git a/target/classes/PingCommand.class b/target/classes/PingCommand.class new file mode 100644 index 0000000..918de1c Binary files /dev/null and b/target/classes/PingCommand.class differ diff --git a/target/classes/com/mycmd/App.class b/target/classes/com/mycmd/App.class new file mode 100644 index 0000000..986d9e5 Binary files /dev/null and b/target/classes/com/mycmd/App.class differ diff --git a/target/classes/com/mycmd/Command.class b/target/classes/com/mycmd/Command.class new file mode 100644 index 0000000..5408f3f Binary files /dev/null and b/target/classes/com/mycmd/Command.class differ diff --git a/target/classes/com/mycmd/ShellContext.class b/target/classes/com/mycmd/ShellContext.class new file mode 100644 index 0000000..193c534 Binary files /dev/null and b/target/classes/com/mycmd/ShellContext.class differ diff --git a/target/classes/com/mycmd/StringUtils.class b/target/classes/com/mycmd/StringUtils.class new file mode 100644 index 0000000..7d53d9d Binary files /dev/null and b/target/classes/com/mycmd/StringUtils.class differ diff --git a/target/classes/com/mycmd/commands/CdCommand.class b/target/classes/com/mycmd/commands/CdCommand.class new file mode 100644 index 0000000..935f840 Binary files /dev/null and b/target/classes/com/mycmd/commands/CdCommand.class differ diff --git a/target/classes/com/mycmd/commands/ClsCommand.class b/target/classes/com/mycmd/commands/ClsCommand.class new file mode 100644 index 0000000..9b6af54 Binary files /dev/null and b/target/classes/com/mycmd/commands/ClsCommand.class differ diff --git a/target/classes/com/mycmd/commands/ColorCommand.class b/target/classes/com/mycmd/commands/ColorCommand.class new file mode 100644 index 0000000..8ee6a8c Binary files /dev/null and b/target/classes/com/mycmd/commands/ColorCommand.class differ diff --git a/target/classes/com/mycmd/commands/CopyCommand.class b/target/classes/com/mycmd/commands/CopyCommand.class new file mode 100644 index 0000000..03cb468 Binary files /dev/null and b/target/classes/com/mycmd/commands/CopyCommand.class differ diff --git a/target/classes/com/mycmd/commands/DateCommand.class b/target/classes/com/mycmd/commands/DateCommand.class new file mode 100644 index 0000000..d4a9639 Binary files /dev/null and b/target/classes/com/mycmd/commands/DateCommand.class differ diff --git a/target/classes/com/mycmd/commands/DelCommand.class b/target/classes/com/mycmd/commands/DelCommand.class new file mode 100644 index 0000000..94b73d9 Binary files /dev/null and b/target/classes/com/mycmd/commands/DelCommand.class differ diff --git a/target/classes/com/mycmd/commands/DirCommand.class b/target/classes/com/mycmd/commands/DirCommand.class new file mode 100644 index 0000000..98f3807 Binary files /dev/null and b/target/classes/com/mycmd/commands/DirCommand.class differ diff --git a/target/classes/com/mycmd/commands/EchoCommand.class b/target/classes/com/mycmd/commands/EchoCommand.class new file mode 100644 index 0000000..316c87f Binary files /dev/null and b/target/classes/com/mycmd/commands/EchoCommand.class differ diff --git a/target/classes/com/mycmd/commands/ExitCommand.class b/target/classes/com/mycmd/commands/ExitCommand.class new file mode 100644 index 0000000..0b36c45 Binary files /dev/null and b/target/classes/com/mycmd/commands/ExitCommand.class differ diff --git a/target/classes/com/mycmd/commands/HelpCommand.class b/target/classes/com/mycmd/commands/HelpCommand.class new file mode 100644 index 0000000..7ab88af Binary files /dev/null and b/target/classes/com/mycmd/commands/HelpCommand.class differ diff --git a/target/classes/com/mycmd/commands/HistoryCommand.class b/target/classes/com/mycmd/commands/HistoryCommand.class new file mode 100644 index 0000000..dd490a3 Binary files /dev/null and b/target/classes/com/mycmd/commands/HistoryCommand.class differ diff --git a/target/classes/com/mycmd/commands/HostnameCommand.class b/target/classes/com/mycmd/commands/HostnameCommand.class new file mode 100644 index 0000000..2f95dfb Binary files /dev/null and b/target/classes/com/mycmd/commands/HostnameCommand.class differ diff --git a/target/classes/com/mycmd/commands/ListFilesNIO.class b/target/classes/com/mycmd/commands/ListFilesNIO.class new file mode 100644 index 0000000..4124c9a Binary files /dev/null and b/target/classes/com/mycmd/commands/ListFilesNIO.class differ diff --git a/target/classes/com/mycmd/commands/MkdirCommand.class b/target/classes/com/mycmd/commands/MkdirCommand.class new file mode 100644 index 0000000..3227c71 Binary files /dev/null and b/target/classes/com/mycmd/commands/MkdirCommand.class differ diff --git a/target/classes/com/mycmd/commands/MoveCommand.class b/target/classes/com/mycmd/commands/MoveCommand.class new file mode 100644 index 0000000..57554fb Binary files /dev/null and b/target/classes/com/mycmd/commands/MoveCommand.class differ diff --git a/target/classes/com/mycmd/commands/RmdirCommand.class b/target/classes/com/mycmd/commands/RmdirCommand.class new file mode 100644 index 0000000..e7d0854 Binary files /dev/null and b/target/classes/com/mycmd/commands/RmdirCommand.class differ diff --git a/target/classes/com/mycmd/commands/TimeCommand.class b/target/classes/com/mycmd/commands/TimeCommand.class new file mode 100644 index 0000000..2255034 Binary files /dev/null and b/target/classes/com/mycmd/commands/TimeCommand.class differ diff --git a/target/classes/com/mycmd/commands/TitleCommand.class b/target/classes/com/mycmd/commands/TitleCommand.class new file mode 100644 index 0000000..3fc006b Binary files /dev/null and b/target/classes/com/mycmd/commands/TitleCommand.class differ diff --git a/target/classes/com/mycmd/commands/TouchCommand.class b/target/classes/com/mycmd/commands/TouchCommand.class new file mode 100644 index 0000000..44dfbcc Binary files /dev/null and b/target/classes/com/mycmd/commands/TouchCommand.class differ diff --git a/target/classes/com/mycmd/commands/TreeCommand.class b/target/classes/com/mycmd/commands/TreeCommand.class new file mode 100644 index 0000000..b01f19c Binary files /dev/null and b/target/classes/com/mycmd/commands/TreeCommand.class differ diff --git a/target/classes/com/mycmd/commands/TypeCommand.class b/target/classes/com/mycmd/commands/TypeCommand.class new file mode 100644 index 0000000..1c53abe Binary files /dev/null and b/target/classes/com/mycmd/commands/TypeCommand.class differ diff --git a/target/classes/com/mycmd/commands/VersionCommand.class b/target/classes/com/mycmd/commands/VersionCommand.class new file mode 100644 index 0000000..3caf1e3 Binary files /dev/null and b/target/classes/com/mycmd/commands/VersionCommand.class differ diff --git a/target/classes/com/mycmd/commands/WhoamiCommand.class b/target/classes/com/mycmd/commands/WhoamiCommand.class new file mode 100644 index 0000000..fabdb2a Binary files /dev/null and b/target/classes/com/mycmd/commands/WhoamiCommand.class differ