UNIX Reference

This reference list supports Session 6 on Unix file systems, command-line workflows, standard streams, redirection, pipes, permissions, executable scripts, and the connections between shell operations and Python’s standard-library interfaces.

Three posts cover this material, and they are meant to be read together:

Platform note: The GNU Coreutils documentation is the authoritative reference for common GNU/Linux command implementations. macOS and other Unix-like systems may provide BSD variants with some option differences. Students should use man command on their own system to consult the locally installed manual page.

1. Tutorials and instructional resources

The following resources are intended for learning, guided practice, and reinforcement. LinkedIn Learning and O’Reilly titles are especially appropriate for IFI8410 students because institutional access is available.

Open educational tutorials and practice resources

  • Software Carpentry. The Unix Shell. A respected, openly available, hands-on lesson series widely used in research and data-science education. It teaches navigation, files and directories, pipes and filters, loops, shell scripts, and finding things. This is particularly suitable for practice-oriented reinforcement.

  • MIT Missing Semester. The Shell. A rigorous, concise tutorial on shell fundamentals, including shell syntax, piping, redirection, searching, and programmatic use of the command line.

  • The Linux Foundation. Introduction to Linux. A reputable foundational Linux learning resource. Students should use the course catalog and their available access routes to identify the current offering and modules most relevant to command-line fundamentals.

  • Python Software Foundation. Python Tutorial. The official guided introduction to Python. For this session, students should focus on the sections most relevant to scripts, modules, file input/output, errors, and command-line execution.

  • W3Schools. Python File Handling. A short, beginner-friendly practice resource for opening, reading, writing, and closing files in Python. It should supplement—not replace—the official Python documentation.

  • W3Schools. Python os Module. A quick reference and interactive-style introduction to common os functionality. Students should cross-check important details with the official Python os documentation.

  • W3Schools. Python sys Module. A brief reference for selected sys facilities; use it alongside the official sys documentation for argv and standard streams.

LinkedIn Learning

  • LinkedIn Learning. Unix Essential Training. A structured introductory Unix course covering command-line basics, navigating files and directories, moving/renaming/copying/deleting files, permissions, and common Unix workflows.

  • LinkedIn Learning. Command Basics — Unix Essential Training. A focused lesson introducing Unix commands as small programs and directing learners to command documentation through manual pages.

  • LinkedIn Learning. Learning Linux Command Line. A practical course on Bash-based command-line work, including file-system navigation, text editing, permissions, grep, output redirection, and PATH. The associated public course-exercise repository confirms these topic areas.

  • LinkedIn Learning. Unix Learning Paths and Courses. A catalog page useful for finding additional Unix, shell, command-line data analysis, and related courses available through institutional access.

O’Reilly Learning


2. Official documentation and technical references

Unix shell and command-line commands

Python standard-library documentation

  • Python Software Foundation. os — Miscellaneous operating system interfaces. Official documentation for operating-system interfaces, including the current working directory, directory manipulation, environment variables, permissions, and process-related facilities.

  • Python Software Foundation. sys — System-specific parameters and functions. Official documentation for interpreter-level facilities, including sys.argv, sys.stdin, sys.stdout, and sys.stderr.

  • Python Software Foundation. pathlib — Object-oriented filesystem paths. Official documentation for Path objects, directory traversal, path construction, home/current directories, file inspection, and directory creation. It includes a comparison table between os/os.path operations and pathlib equivalents.

  • Python Software Foundation. shutil — High-level file operations. Official documentation for higher-level copying, moving, archiving, and deletion operations such as shutil.copy(), shutil.move(), and shutil.rmtree().

  • Python Software Foundation. argparse — Parser for command-line options, arguments and sub-commands. Official documentation for creating robust command-line interfaces in Python, including required positional filename arguments, options, usage messages, and help output.

  • Python Software Foundation. subprocess — Subprocess management. Official documentation for starting external commands from Python and connecting their standard input, output, and error streams.

  • Python Software Foundation. Python Standard Library. The central reference index for the modules bundled with Python, including file I/O and system interfaces.

Local documentation students should use

  • Manual pages: Run man command in a terminal, for example:

    man ls
    man chmod
    man grep
    man python
    

    Local manual pages document the actual command version installed on the system students are using.

  • Shell help for built-ins: cd is usually a shell built-in, so use:

    help cd       # Bash
    man zshbuiltins  # Commonly useful in zsh environments
    
  • Short option summary: Many commands provide usage information through:

    command --help
    

    For example, ls --help is common on GNU/Linux systems, although this convention is not universal across all Unix variants.