How to List Files and Directories in Bash to Navigate the AI-For-Beginners Repository
Use the ls command with options like -l, -a, and -R to explore the microsoft/AI-For-Beginners repository structure and locate curriculum files, examples, and configuration files from the command line.
When working with the microsoft/AI-For-Beginners repository locally, you must know how to list files and directories in bash to navigate its multi-layered curriculum structure. This guide covers the essential ls commands and flags that reveal lesson directories, example scripts, and configuration files directly from the terminal.
Essential Bash Commands for Listing Files
The ls utility provides multiple options for viewing file contents and metadata. Below are the specific flags used to examine the AI-For-Beginners repository structure.
Basic Directory Listing with ls
Running ls without arguments displays names of files and directories in the current folder, sorted alphabetically. When executed from the repository root, this reveals the top-level structure including lessons/, examples/, binder/, translations/, and key files like README.md and environment.yml.
Viewing Detailed File Metadata
Add the -l flag to display permissions, owners, sizes, and timestamps in long format. Combine with -h to produce human-readable sizes (e.g., 1K, 2M instead of bytes).
ls -lh
Sample output from the repository root:
drwxr-xr-x 5 user staff 160 Sep 3 12:00 etc
drwxr-xr-x 12 user staff 384 Sep 3 12:00 lessons
-rw-r--r-- 1 user staff 823 Sep 3 12:00 README.md
-rw-r--r-- 1 user staff 1234 Sep 3 12:00 environment.yml
Recursive and Hidden File Discovery
Use -R to recursively list sub-directories, essential for exploring nested structures like etc/quiz-app/ and lessons/. Use -a to include hidden entries such as .gitignore and the .devcontainer/ directory.
ls -R etc/quiz-app/
ls -a
Navigating the AI-For-Beginners Repository Structure
These specific workflows target the repository's organization, helping you locate curriculum content and resources.
Listing Curriculum Directories
To inspect only the lesson folders without individual files, use the directory filter:
ls -d lessons/*/
This reveals folders such as lessons/0-course-setup/, lessons/1-Intro/, and lessons/4-ComputerVision/. Each directory contains a README.md outlining lesson objectives, such as the Computer Vision overview located at lessons/4-ComputerVision/README.md.
Locating Python Example Scripts
The examples/ directory contains runnable demonstrations. Filter for Python files specifically:
ls examples/*.py
Output includes 01-hello-ai-world.py, 02-simple-neural-network.py, and 03-image-classifier.ipynb. Documentation for these scripts resides in examples/README.md.
Exploring the Quiz Application
The Vue.js-based quiz application lives in etc/quiz-app/. View its complete structure recursively:
ls -R etc/quiz-app/
This displays package.json, source code under src/, and build scripts. The entry point is documented in etc/quiz-app/README.md.
Advanced File Filtering Techniques
Combine ls with other utilities to pinpoint specific resources within the repository.
Searching for Jupyter Notebooks
When searching for notebook files across the entire curriculum, pipe recursive output to grep:
ls -R | grep -i '\.ipynb$'
This surfaces files like lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb without manually browsing each folder.
Sorting by Size and Modification Time
Use ls -lS to sort by file size (largest first) or ls -lt to sort by modification time (newest first). These flags help identify recently updated lessons or large dataset files within the curriculum.
ls -lS lessons/4-ComputerVision/
ls -lt
Summary
- Execute
ls -lhto view human-readable file sizes and permissions forenvironment.ymlandREADME.md - Run
ls -d lessons/*/to list only curriculum directories without files - Use
ls -R etc/quiz-app/to explore the nested quiz application structure - Combine
ls -R | grep -i '\.ipynb$'to locate Jupyter notebooks across the repository - Apply
ls -ato reveal hidden configuration files like.gitignoreand.devcontainer/
Frequently Asked Questions
How do I list only directories in the AI-For-Beginners repository?
Use the command ls -d */ to display only directories, or ls -d lessons/*/ to specifically target the lesson folders. This filters out files and shows you the curriculum structure at a glance, revealing paths like lessons/0-course-setup/ and lessons/4-ComputerVision/.
How can I find all Jupyter notebooks in the repository using bash?
Run ls -R | grep -i '\.ipynb$' to recursively list all files and filter for notebook extensions. This reveals learning materials like lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb without manually browsing each folder.
What command shows hidden files like .gitignore in the repository?
Execute ls -a to include hidden entries starting with a dot. This reveals configuration files such as .gitignore and the .devcontainer/ directory that are necessary for setting up the development environment.
How do I check file sizes before cloning or downloading the repository?
Use ls -lh to display human-readable file sizes (e.g., 1K, 2M) alongside permissions. This helps you verify that files like environment.yml and dataset files in lessons/ are present and assess their storage requirements.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →