Intro to Bash (Activity)

From Foss2Serve
Revision as of 12:46, 5 February 2017 by Clif.kussmaul (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Title Bash Activity
Overview Students issue commands and observer their results.
Prerequisite Knowledge None
Learning Objectives Use a bash terminal to...
  • Create files
  • Delete files
  • Move files
  • Rename files
  • Create directories
  • Delete directories
  • View the contents of a directory
  • Change directories
  • Explain the meaning of the special file `..`
  • Use `..` to navigate a filesystem
  • Get help

Background

Directions

Filesystem

Run each statement below in a bash terminal. Then answer the questions below (or as you go).

	ls
	touch f1
	ls
	mv f1 f2
	ls
	cp f2 f1
	ls
	rm f2
	ls
	mkdir d1
	mv f1 d1
	ls
	ls d1
	pwd
	cd d1
	pwd
	ls
	cd ..
	pwd
	ls
	rm d1	# fails
	rm -r d1

  1. What does `ls` display?
  2. What does `mv A B` do if `B` ___is not___ a directory?
  3. What does `mv A B` do if `B` is a directory?
  4. What does `cp A B` do if `B` ___is not___ a directory?
  5. What does `rm A` do if `A` is a file?
  6. What does `mkdir A` do?
  7. What does `pwd` display?
  8. What does `ls A` display if `A` is a directory?
  9. What does `cd A` do?
  10. What does `cd ..` do?
  11. What does `..` mean in `cd ..`?
  12. When do you use `rm -r A` instead of `rm A`?


Getting Help

Run each statement below in a bash terminal. Then answer the questions below (or as you go).

man man man # Press `space` to page down, `b` to go back, `q` to quit. man ls man cd # Unexpected result. help cd

  1. What does `man` do?
  2. What does `help` do?
  3. Use `man` to confirm answers in previous section.


Deliverables

Answer to questions.

Assessment

Comments

ACM Body of Knowledge
Area & Unit(s)
ACM Topic(s)
Level of Difficulty

Beginner

Estimated Completion Time

20-30 min

Environment / Materials

Bash shell

Author(s)

Stoney Jackson

Source
License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC license.png


Suggestions for the Open Source Project

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox