📔
intro-to-python
  • An Introduction to Programming in Python (for Business Students)
  • exercises
    • Data Flow Diagramming Exercise
    • Developer Collaboration Exercise
    • README
    • "Web App" Exercise
      • checkpoints
        • Checkpoint 5: Bootstrap Layout
        • Checkpoint 4: Submitting Data from Web Forms
        • Checkpoint 3: Rendering HTML Pages
        • Checkpoint 1: Routing
        • Checkpoint 2: Modular Organization
      • "Web App" Exercise - Further Exploration
    • hello-world
      • "Hello World (Local)" Exercise
      • "Hello World (Local w/ Version Control)" Exercise
      • "Hello World (Colab)" Exercise
    • "Interface Capabilities" Exercise
    • "Continuous Integration 1, 2, 3" Exercise
    • "Web Service" Exercise
      • "Web Service" Exercise - Further Exploration
    • "Testing 1, 2, 3" Exercise
    • "Command-line Computing" Exercise
      • "Command-line Computing" Exercise
      • Professor Rossetti's Mac Terminal Configuration
      • Command-line Computing Exercise
    • "Codebase Cleanup" Assignment
    • "List Comprehensions" Exercise
    • "Groceries" Exercise
      • Python Datatypes (a.k.a. "Groceries") Exercise
      • Python Datatypes (a.k.a. "Groceries") Exercise
    • "Rock, Paper, Scissors" Exercise
      • "Rock, Paper, Scissors" Exercise
    • README
    • "Monthly Sales Predictions" Exercise
    • Setting up your Local Development Environment
    • "Chart Gallery" Exercise
    • "Run the App" Exercise
    • "Web Requests" Exercise
    • "API Client" Exercise
    • "Custom Functions" Exercise
    • Process Diagramming Exercise
  • notes
    • python
      • packages
        • The bigquery Package
        • The PySimpleGUI Package
        • The dotenv Package
        • The matplotlib Package
        • The requests Package
        • The altair Package
        • The gspread Package
        • The PyMySQL Package
        • The psycopg2 Package
        • The selenium Package
        • The seaborn Package
        • The pytest Package
        • The SpeechRecognition Package
        • The flask Package
        • The pandas Package
        • The spotipy Package
        • The pipenv Package
        • The nltk Package
        • The sqlalchemy Package
        • The pymongo Package
        • The plotly Package
        • The BeautifulSoup Package
        • The sendgrid Package
        • The fpdf Package
        • The autopep8 Package
        • The tweepy Package
        • The twilio Package
        • The tkinter Package
      • Python Datatypes Overview
        • Numbers
        • Classes
        • Dates and Times
        • Strings
        • None
        • Dictionaries
        • Booleans
        • Lists
        • Class Inheritance
      • Control Flow
      • Python Modules
        • The webbrowser Module
        • The time Module
        • The csv Module
        • The sqlite3 Module
        • The itertools Module
        • The json Module
        • The math Module
        • The os Module
        • The statistics Module
        • The random Module
        • The pprint Module
        • The datetime Module
        • The collections Module
      • Printing and Logging
      • Comments
      • Syntax and Style
      • Functions
      • Variables
      • Errors
      • Docstrings
      • File Management
      • User Inputs
      • Debugging
    • clis
      • The git Utility
      • Heroku, and the heroku Utility
      • Anaconda
      • The chromedriver Utility
      • The brew Utility (Mac OS)
      • The pdftotext Utility
      • The python Utility
      • The pip Utility
    • Software
      • Software Licensing
      • Software Documentation
      • Software Ethics
      • Software Testing Overview
      • Application Programming Interfaces (APIs)
      • Software Version Control
      • Software Refactoring Overview
    • devtools
      • The VS Code Text Editor
      • Code Climate
      • Travis CI
      • GitHub Desktop Software
      • Git Bash
      • Google Colab
    • Information Systems
      • Computer Networks
      • Processes
      • Datastores
      • Information Security and Privacy
      • People
    • Technology Project Management
      • Project Management Tools and Techniques
      • The Systems Development Lifecycle (SDLC)
    • hardware
      • Servers
    • Environment Variables
  • projects
    • "Executive Dashboard" Project
      • testing
      • "Exec Dash" Further Exploration Challenges
    • The Self-Directed (a.k.a "Freestyle") Project
      • "Freestyle" Project - Demonstration
      • "Freestyle" Project - Implementation (TECH 2335 Version)
      • "Freestyle" Project - Implementation
      • "Freestyle" Project Proposal
      • plan
    • "Robo Advisor" Project
      • Robo Advisor Project - Automated Testing Challenges
      • "Robo Advisor" Further Exploration Challenges
    • "Shopping Cart" Project
      • "Shopping Cart" Project - Automated Testing Challenges
      • "Shopping Cart" Further Exploration Challenges
      • "Shopping Cart" Project Checkpoints
  • License
  • Exam Prep
  • units
    • Unit 4B: User Interfaces and Experiences (Bonus Material)
    • Unit 5b: Databases and Datastores
    • Module 1 Review
    • Unit 7b: Processing Data from the Internet (Bonus Material)
    • Unit 9: Software Products and Services
    • Unit 8: Software Maintenance and Quality Control
    • Unit 7: Processing Data from the Internet
    • Unit 6: Data Visualization
    • Unit 5: Processing CSV Data
    • Unit 4: User Interfaces and Experiences
    • Unit 3: Python Datatypes
    • Unit 12: Project Presentations
    • Unit 2: Python Language Overview
    • Unit 11: Project Implementation Sprint
    • Unit 1: The Python Development Environment
    • Unit 10: Software Planning, Analysis, and Design
    • Unit 0: Onboarding
    • Unit 5B: Advanced Data Analytics
  • Contributor's Guide
Powered by GitBook
On this page
  • Command-line Application
  • Git Bash (Windows OS)
  • Terminal (Mac OS)
  • Instructions
  • Current User
  • Present Working Directory
  • Listing Files in a Directory
  • Navigating and Managing Directories
  • Managing Files
  • Further Exploration (Mac only)

Was this helpful?

  1. exercises
  2. "Command-line Computing" Exercise

"Command-line Computing" Exercise

Previous"Command-line Computing" ExerciseNextProfessor Rossetti's Mac Terminal Configuration

Last updated 4 years ago

Was this helpful?

Command-line Application

Open the Terminal application (Mac) or the Git Bash application (Windows).

Git Bash (Windows OS)

FYI: Windows users who are into maximum efficiency through keyboard shortcuts can get there quickly by pressing the "windows" button, then begin typing the word "git", then hit enter when you see "Git Bash" show up. 😺

Terminal (Mac OS)

FYI: Mac users who are into maximum efficiency through keyboard shortcuts can get there quickly by pressing the "command + space" buttons to start a spotlight search, then begin typing the word "terminal", then hit enter when you see "Terminal" show up. :smiley_cat:

Instructions

After typing each of the commands below, press "enter" to execute it.

Optionally clear previous terminal output at any time by pressing "command + k", or by typing clear and pressing "enter".

Current User

Display the current user's name:

whoami

Present Working Directory

Display the current/present working directory:

pwd

Listing Files in a Directory

List files in the current working directory:

ls
ls -al # for a different display

Navigating and Managing Directories

Change directories (specifying an absolute file path):

cd ~/Desktop

FYI: the tilde (~) represents your "home" filepath

FYI: you can use cd .. to move "up" one directory relative to the current working directory

Open a directory via the operating system's filesystem explorer:

# Mac Terminal:
open .

# Windows Git Bash:
explorer .

Make a new directory:

mkdir my_folder

Remove a directory:

rm my_folder # triggers an error
rm -rf my_folder # recursively (-r) forces (-f) removal

Managing Files

Setup a new directory in which to add some files, and navigate into that directory:

mkdir my_folder
cd my_folder

Create one or more files in the new directory you just created:

touch README.md
touch index.html
touch my_data.csv
touch my_message.txt

Remove a file:

rm index.html

Edit and save a file, using a command-line utility provided by your preferred text editor (like VS Code):

code my_message.txt # may first require installation of shell commands from the settings

Display file contents:

cat my_message.txt

Move a file:

mv ~/Desktop/my_folder/my_message.txt ~/Desktop

FYI: If you are into maximum efficiency, press "tab" to auto-complete file paths so you don't have to type the whole thing. :smiley_cat:

Copy a file:

cp ~/Desktop/my_message.txt ~/Desktop/my_folder

Copy contents of a file into the clipboard for pasting:

# Mac OS:
pbcopy < ~/Desktop/my_folder/my_message.txt

# Windows OS:
cat ~/Desktop/my_folder/my_message.txt | clip

# ... then just paste as you normally would after copying some text

Further Exploration (Mac only)

There are many other utilities to use from the command-line.

First, turn up the volume on your computer so everyone around you can hear, then make it speak:

say "Hello, I am your computer. Let's be friends." # or something else polite and appropriate

Optionally explore additional command-line interfaces, if you're curious.

Internet Computing

Trace the route traveled by a network request:

traceroute google.com
# ... stop after a few seconds if necessary by pressing: control + c

Time the duration of a network request:

ping google.com
# ... stop after a few seconds if necessary by pressing: control + c

Request the contents of a webpage:

curl google.com
curl http://www.google.com
curl https://raw.githubusercontent.com/prof-rossetti/intro-to-python/master/data/products.json

FYI: Mac users who are interested in customizing Terminal app color themes and keyboard shortcuts can reference the professor's . :smiley_cat:

NOTE: Mac users may need to first configure the code command by following these

Terminal app configuration notes
a screenshot of the terminal
VS Code shell command setup instructions
a screenshot of the terminal app showing up as a result of a spotlight search