shell-extras icon indicating copy to clipboard operation
shell-extras copied to clipboard

Potential lessons

Open ChristinaLK opened this issue 9 years ago • 16 comments

  • [x] transferring files, using scp and the like (already written by @bshambaugh )
  • [x] using ssh
  • [ ] navigating man pages (and possibly less shortcuts), see shell-novice PR https://github.com/swcarpentry/shell-novice/pull/75
  • [x] environment variables
  • [ ] using aliases
  • [ ] permissions
  • [x] job control (^Z, fg, jobs)

See also https://github.com/swcarpentry/bc/tree/gh-pages/intermediate/shell for starting material.

ChristinaLK avatar Mar 16 '15 03:03 ChristinaLK

On Sun, Mar 15, 2015 at 08:02:39PM -0700, Christina Koch wrote:

  • [ ] using ssh (does this already exist somewhere)?

https://github.com/swcarpentry/bc/blob/gh-pages/novice/extras/07-ssh.md

wking avatar Mar 16 '15 16:03 wking

Did the pull requests on shell variables and aliases from the previous repo get pulled into this? I'm happy to contribute more to this section!

froggleston avatar Mar 17 '15 12:03 froggleston

@froggleston, they haven't yet, but I want to make sure we've nailed down scope (per #3) before having people submit PRs. Once we've figured out where everything is going, I will definitely ping you for content! :)

ChristinaLK avatar Mar 18 '15 00:03 ChristinaLK

@ChristinaLK Sounds good to me! :)

froggleston avatar Mar 18 '15 11:03 froggleston

Based on #3 I think job control should go into shell-intermediate or maybe shell-hpc (or both? that's a discussion for those repos)

gdevenyi avatar Mar 18 '15 14:03 gdevenyi

Other potential lessons

  • [ ] diff
  • [ ] rsync (add to file transfer lesson?)
  • [ ] tar/gzip/bzip2
  • [ ] ps/top (maybe this belongs with jobs)
  • [ ] tree
  • [ ] dc/bc

gdevenyi avatar Mar 18 '15 14:03 gdevenyi

Where SSH is concerned, over in swcarpentry/boot-camps#22 I had some notes about SSH as well. Though it looks like the SSH lesson already linked to here already covers most of the same stuff. I'll look it over and see if there's anything else worth adding

embray avatar Mar 18 '15 17:03 embray

I think the basics of job control (^Z, bg, %1) can go into a short job control lesson in this repo, and we can defer everything else until this repo's contents have been filled in.

gvwilson avatar Mar 18 '15 19:03 gvwilson

We shouldn't try to be a full-blown Unix shell tutorial - anything that isn't directly relevant to everyday scientific practice should be left out. For example dc/bc are definitely out, as are things like tree and rsync - anyone who's far enough along to want those can be pointed at http://www.amazon.com/Unix-Linux-Visual-QuickStart-Guide/dp/0321997549/

gvwilson avatar Mar 18 '15 19:03 gvwilson

It's well worthwhile to cover job control (and other topics discussed here) to the extent that the audience becomes generally aware of these. Personally, I tend to include some discussion of ^D, ^C and ^Z when introducing shell basics, and to explain that while these all can appear to have the same result of making the foreground process "go away", they are fundamentally different. One of my reasons to go over this is that I keep finding users who develop a habit of pressing ^Z as a default means to get their shell prompt back -- I've seen fg show 50+ suspended processes in such cases. Making participants aware that processes can be suspended will hopefully slow down the spread of such habits, and thereby help people to develop good and efficient practices in their scientific computing.

jttkim avatar Mar 18 '15 20:03 jttkim

+1 to adding a couple of sentences on each of ^C, ^D, and ^Z to discussion.md in shell-novice.

gvwilson avatar Mar 18 '15 22:03 gvwilson

Do the check marks in my first post mean we have material for these things or that we want to include them?

Along those lines - is there agreement that the list on the top of the page is a good scope for lessons (as discussed in #3)? If so, I'll add a numbering scheme so people can start submitting PRs. :smiley:

ChristinaLK avatar Mar 19 '15 02:03 ChristinaLK

What about awk? I've seen people using it in scientific contexts, but maybe it's too complicated for novices.

iglpdc avatar Apr 04 '15 19:04 iglpdc

I'm -1 on introducing another programming language - at this point, anything I would have used 'awk' for in 1995 I'll do with Python. I feel the same way about anything with 'sed' other than straightforward text substitutions.

gvwilson avatar Apr 04 '15 19:04 gvwilson

On Sat, Apr 04, 2015 at 12:25:20PM -0700, Ivan Gonzalez wrote:

What about awk? I've seen people using it in scientific contexts, but maybe it's too complicated for novices.

For folks interested in awk outside of a SWC workshop, see [1,2].

wking avatar Apr 04 '15 19:04 wking

Leaving open for visibility, lesson development now in separate issues.

ChristinaLK avatar Apr 08 '15 04:04 ChristinaLK