Answers.Body: <p>For a book, I like <a href="https://nostarch.com/tlcl2" rel="nofollow noreferrer">The Linux Command Line</a>. There is a YouTube series, <a href="https://www.youtube.com/c/MissingSemester" rel="nofollow noreferrer">The Missing Semester</a>. You can pick and choose the lectures that you like.</p>
  <p>There are an abundance of cheatsheets online.</p>
  <p>Most importantly, you need to have the experience yourself. You've got to have the knowledge, and master it well enough to adapt it for your audience.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-12-22T15:07:54.840Z
Answers.LastActivityDate: 2021-12-22T15:07:54.840Z
Answers.UserDisplayName: sweenish
Answers.Body: <p>I have a video series on using UNIX on YouTube.  It is <a href="https://www.youtube.com/playlist?list=PLlr7Jt5dPiv4-oAMaY1Vs8skvzRjPDy62" rel="nofollow noreferrer">here</a>.  This is useful for Mac/Linux users or if your students log onto a server to program at the command line (they should have this experience).</p>
  <p>Also, if you are a windows user, you can enable your BASH subsystem.  You then have a UNIX shell on your windows box.</p>
  <p>Alumni tell me that command-line skill is still highly valued.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-11-20T14:46:44.843Z
Answers.LastActivityDate: 2021-11-20T14:46:44.843Z
Answers.UserDisplayName: ncmathsadist
Answers.Body: <p>Although the intended audience is graduate students, maybe the <a href="https://swcarpentry.github.io/shell-novice/" rel="nofollow noreferrer">Software Carpentry Unix Shell lesson</a> is useful?</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-10-25T07:02:42.193Z
Answers.Text: Thanks for a link. I find it is a bit like https://ubuntu.com/tutorials/command-line-for-beginners I listed in my question.
Answers.UserDisplayName: Qiulang 邱朗
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-10-25T06:33:26.713Z
Answers.LastActivityDate: 2021-10-25T06:33:26.713Z
Answers.UserDisplayName: Lex Nederbragt
Body: <p>Hi I am looking for the resource for teaching the command line, the file system for high school student. I find some students have little idea of what the file system, not to mention navigating the file system using <code>cd/pwd/ls</code></p>
  <p>The materials I have investigated include <a href="https://ubuntu.com/tutorials/command-line-for-beginners#1-overview" rel="nofollow noreferrer">&quot;The Linux command line for beginners&quot;</a> and <a href="https://www.learnenough.com/command-line-tutorial" rel="nofollow noreferrer">&quot;Learn Enough Command Line to Be Dangerous&quot;</a></p>
  <p>But I feel them are a bit complicated for high school students. I like &quot;The Linux command line for beginners&quot; but I often get sidetracked by spending time explaining linux (which is another big topic) when most kids use Windows.</p>
  <p>So any recommendation (book included) for teaching those stuff ? In a way my question is related to <a href="https://cseducators.stackexchange.com/questions/812/how-to-teach-the-value-of-the-command-line-in-high-school">How to teach the value of the command line in high school?</a></p>
  <p>--- update ---</p>
  <p>From the comments I got so far I am updating my question to make my objective more clearly. First I want to them to learn some command lines. Even most kids are using Windows, it is easy to find information like <em>Windows and Unix command line equivalents</em>, e.g. check <a href="https://www.geeksforgeeks.org/linux-vs-windows-commands/" rel="nofollow noreferrer">here</a> and <a href="https://www.lemoda.net/windows/windows2unix/windows2unix.html" rel="nofollow noreferrer">here</a></p>
  <p>With <a href="https://docs.microsoft.com/en-us/windows/wsl/" rel="nofollow noreferrer">WSL</a> I have assumed it won't be too hard to learn unix/linux commands on windows but I have not tried yet. So the hard question maybe is to let them know what benefit(s) of learning command lines.</p>
  <p>I think having some basic knowledge of the file system is also important. Learning CLI will be also inevitable to expose some concept of fs to them. So I put them together when I asked the question.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-10-09T13:11:06.997Z
Comments.Text: IMHO you are asking two different questions. 1. How to use the command line. 2. How the file system works and how to navigate it. The first is hard, the second is easier.
Comments.UserDisplayName: Guy Coder
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-10-09T13:14:40.247Z
Comments.Text: If you just want them to know enough to be functional then a reference book might be better as it force them to read all of the nitty gritty details. Unless I am working with Bash scripts I really don't do more than use a few man(ual) pages. When I read or write Bash I try to avoid pulling my hair out. There is a big gap between the two needs.
Comments.UserDisplayName: Guy Coder
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-10-09T13:25:26.113Z
Comments.Text: For the CLI I just need them to "Learn Enough Command Line to Be Dangerous", for the file system I need them to have some basic idea more than "it is a folder". But I don't need them know how the fs works.
Comments.UserDisplayName: Qiulang 邱朗
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-10-09T16:06:21.297Z
Comments.Text: For special files/directories see https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
Comments.UserDisplayName: Rushi
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-10-09T16:53:00.277Z
Comments.Text: What exactly are your overall objectives? To learn how to use Unix/Linux' command line when they only know/use Windows is useless (in the day to day), so it will be very hard to get the point across. They'll learn by *using*, not by looking at presentations or reading books.
Comments.UserDisplayName: vonbrand
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-10-11T02:15:52.640Z
Comments.Text: Hi I updated my question based on your comments.
Comments.UserDisplayName: Qiulang 邱朗
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-10-11T09:30:27.180Z
Comments.Text: related: https://cseducators.stackexchange.com/questions/3535/introducing-file-systems-to-students-who-really-dont-understand/3544#3544
Comments.UserDisplayName: ctrl-alt-delor
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-10-12T01:48:29.803Z
Comments.Text: If you were teaching students to drive a car, would you expound on "benefits of learning gas pedal?" I think you could set a higher-level goal. E.g., Use command-line tools to compile, and link, and run a simple command-line program. As far as "resources" go, I don't think you'd need much more than a one-page "cheat sheet," and maybe another page of ideas to try at home. As for benefits: Those same compile and link commands can be _scripted._ If you use an IDE, or an automated build tool, they may actually _be_ scripted somewhere within its configuration files.
Comments.UserDisplayName: Solomon Slow
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-10-12T01:55:22.347Z
Comments.Text: Actually it was when I taught them to compile some c files that I found they had little idea of command line & fs.
Comments.UserDisplayName: Qiulang 邱朗
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-10-22T06:51:33.700Z
Comments.Text: A potential issue is students end up ignoring the theory and merely learning these commands by-rote without real-world context.   This risks being neither useful nor interesting to those students; potentially with them only memorising command names/parameters without knowing if/how/when to use them in a real situation.   Consider framing this in the context of some useful scenarios which they can relate to the real world and the rest of their learning.  (For example, tasking them to serve HTML files in subdirectories from nginx, and working towards that goal by learning the relevant commands)
Comments.UserDisplayName: Ben Cottrell
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-12-23T03:12:55.730Z
Comments.Text: A recent link https://www.theverge.com/platform/amp/22684730/students-file-folder-directory-structure-education-gen-z
Comments.UserDisplayName: Rushi
Tags: <secondary-education><command-line><file-system>
Title: Resource recommendation for teaching the command line, file system for high school student
ThreadText: # Resource recommendation for teaching the command line, file system for high school student
  
  (Asked by: username_0 on 2021-10-09)
  
  Hi I am looking for the resource for teaching the command line, the file system for high school student. I find some students have little idea of what the file system, not to mention navigating the file system using `cd/pwd/ls`
  
  The materials I have investigated include ["The Linux command line for beginners"](https://ubuntu.com/tutorials/command-line-for-beginners#1-overview) and ["Learn Enough Command Line to Be Dangerous"](https://www.learnenough.com/command-line-tutorial)
  
  But I feel them are a bit complicated for high school students. I like "The Linux command line for beginners" but I often get sidetracked by spending time explaining linux (which is another big topic) when most kids use Windows.
  
  So any recommendation (book included) for teaching those stuff ? In a way my question is related to [How to teach the value of the command line in high school?](https://cseducators.stackexchange.com/questions/812/how-to-teach-the-value-of-the-command-line-in-high-school)
  
  --- update ---
  
  From the comments I got so far I am updating my question to make my objective more clearly. First I want to them to learn some command lines. Even most kids are using Windows, it is easy to find information like *Windows and Unix command line equivalents*, e.g. check [here](https://www.geeksforgeeks.org/linux-vs-windows-commands/) and [here](https://www.lemoda.net/windows/windows2unix/windows2unix.html)
  
  With [WSL](https://docs.microsoft.com/en-us/windows/wsl/) I have assumed it won't be too hard to learn unix/linux commands on windows but I have not tried yet. So the hard question maybe is to let them know what benefit(s) of learning command lines.
  
  I think having some basic knowledge of the file system is also important. Learning CLI will be also inevitable to expose some concept of fs to them. So I put them together when I asked the question.
  
  **Tags:** secondary-education, command-line, file-system
  
  > **Comments:**
  > **username_1**: IMHO you are asking two different questions. 1. How to use the command line. 2. How the file system works and how to navigate it. The first is hard, the second is easier.  
  > **username_1**: If you just want them to know enough to be functional then a reference book might be better as it force them to read all of the nitty gritty details. Unless I am working with Bash scripts I really don't do more than use a few man(ual) pages. When I read or write Bash I try to avoid pulling my hair out. There is a big gap between the two needs.  
  > **username_0**: For the CLI I just need them to "Learn Enough Command Line to Be Dangerous", for the file system I need them to have some basic idea more than "it is a folder". But I don't need them know how the fs works.  
  > **username_2**: For special files/directories see https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard  
  > **username_3**: What exactly are your overall objectives? To learn how to use Unix/Linux' command line when they only know/use Windows is useless (in the day to day), so it will be very hard to get the point across. They'll learn by *using*, not by looking at presentations or reading books.  
  > **username_0**: Hi I updated my question based on your comments.  
  > **username_4**: related: https://cseducators.stackexchange.com/questions/3535/introducing-file-systems-to-students-who-really-dont-understand/3544#3544  
  > **username_5**: If you were teaching students to drive a car, would you expound on "benefits of learning gas pedal?" I think you could set a higher-level goal. E.g., Use command-line tools to compile, and link, and run a simple command-line program. As far as "resources" go, I don't think you'd need much more than a one-page "cheat sheet," and maybe another page of ideas to try at home. As for benefits: Those same compile and link commands can be _scripted._ If you use an IDE, or an automated build tool, they may actually _be_ scripted somewhere within its configuration files.  
  > **username_0**: Actually it was when I taught them to compile some c files that I found they had little idea of command line & fs.  
  > **username_6**: A potential issue is students end up ignoring the theory and merely learning these commands by-rote without real-world context.   This risks being neither useful nor interesting to those students; potentially with them only memorising command names/parameters without knowing if/how/when to use them in a real situation.   Consider framing this in the context of some useful scenarios which they can relate to the real world and the rest of their learning.  (For example, tasking them to serve HTML files in subdirectories from nginx, and working towards that goal by learning the relevant commands)  
  > **username_2**: A recent link https://www.theverge.com/platform/amp/22684730/students-file-folder-directory-structure-education-gen-z  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_7 on 2021-12-22. Score: 1
  
  For a book, I like [The Linux Command Line](https://nostarch.com/tlcl2). There is a YouTube series, [The Missing Semester](https://www.youtube.com/c/MissingSemester). You can pick and choose the lectures that you like.
  
  There are an abundance of cheatsheets online.
  
  Most importantly, you need to have the experience yourself. You've got to have the knowledge, and master it well enough to adapt it for your audience.
  
  
  ---
  
  ### Answer by username_8 on 2021-11-20. Score: 1
  
  I have a video series on using UNIX on YouTube. It is [here](https://www.youtube.com/playlist?list=PLlr7Jt5dPiv4-oAMaY1Vs8skvzRjPDy62). This is useful for Mac/Linux users or if your students log onto a server to program at the command line (they should have this experience).
  
  Also, if you are a windows user, you can enable your BASH subsystem. You then have a UNIX shell on your windows box.
  
  Alumni tell me that command-line skill is still highly valued.
  
  
  ---
  
  ### Answer by username_9 on 2021-10-25. Score: 0
  
  Although the intended audience is graduate students, maybe the [Software Carpentry Unix Shell lesson](https://swcarpentry.github.io/shell-novice/) is useful?
  
  > **Comments:**
  > **username_0**: Thanks for a link. I find it is a bit like https://ubuntu.com/tutorials/command-line-for-beginners I listed in my question.  
  
  ---
  
  