The Linux Command Line

I’m seeing a few people in various norns threads struggling with the command line. Thought I’d throw up this resource for anyone who wants to learn the basics of moving around and making changes via command line. You should only need the first few chapters to be able to navigate your norns but further reading can only be helpful if you’re interested in this ecosystem.

It’s a free 500+ page book that has easy to follow examples.


It may not look very exciting, but honestly, it’s quite a bit of fun once the light bulbs start turning on.


Also, if you happen to be a Mac user, a lot of knowledge gained in this way translates fairly directly to the Terminal app!


Once you have an overall view on what the most common command-line utilities do, it’s easy to google the specifics. I’ve been using the Linux shell for more than 20 years, but I still google command-line options of the various commands all the time.

Also, Linux Journal has small command-line related features often, which make great quick reads:


Learning to navigate the filesystem and view text files first as a good starting point.

Also, reading the man pages is invaluable. I try to do that before googling if I know the command.

While Norns is running linux, a lot of these skills are really Unix skills (which Mac OS is a flavor of). Inspirational Unix video which includes a great command line talk with Brian Kernighan:


tldr is a great helper for all things command line. It provides simplified man pages with examples for the most common use cases.


indeed, Darwin is a BSD operating system

1 Like

This site offers some command line ‘recipes’, if you will.

1 Like

“C is a very nice high-level language.” Wow it really is turtles all the way down, huh. :joy:


And if you can’t remember the command, apropos is a good one to remember:

$ apropos beat slicing          
aubiocut (1)         - a command line tool to slice sound files at onset or beat timestamps
aubiotrack (1)       - a command line tool to extract musical beats from audio signals
debug_heartbeat (n)  - debug narrative - heartbeat
gnutls_heartbeat_allowed (3) - API function
gnutls_heartbeat_enable (3) - API function
gnutls_heartbeat_get_timeout (3) - API function
gnutls_heartbeat_ping (3) - API function
gnutls_heartbeat_pong (3) - API function
gnutls_heartbeat_set_timeouts (3) - API function
slicing: nothing appropriate.


I’ll second this resource as being excellent, it’s been one of the primary ways I’ve learned the command line

1 Like

a couple of tricks for bash to make life easier on the command line:

  • increase HISTSIZE and HISTFILESIZE env variables, to have a longer command history
  • use CTRL-R to search in the command history (even a partial substring works)
  • “cd” without a directory name, to go back to home
  • “cd -” to go to the previous folder

what do we know about audio on the command line?
been rockin’ sox to play .wav files, it works good

1 Like

Agreed, sox is so useful! I use it for lots of things but probably the most for basic stuff like rate conversion and conversion to other audio types. The cli interface is a little odd but becomes familiar. It can do tons of stuff, the man page is overwhelming! On the same token ffmpeg is a very full featured cli audio tool.

My favorite audio player is moc


The one thing that both sox and ffmpeg lack are quick-view graphical waveforms or spectrographs in the terminal. They can both generate spectrographs but I’ve always thought it would be really nice to have a one-command way to get a crude look at the shape of a handful of sounds without having to generate the image and view it in another program. I do a lot of rendering work on a remote (well, on the other side of the room) server via ssh so something that drew into the framebuffer would be really neat…


Damn I was just about to suggest this site :slight_smile:

primarily: doing quick/dirty conversions for work-in-progress files with ffmpeg.

ffmpeg is your friend, and I’ve amassed a slightly alarming amount of knowledge about it in the past few years. It’s not just for video, folks.


I was just chatting with Claude Heiland-Allen on mastodon about text mode waveform viewers last night… and he just wrote one: (!?!)

This looks so useful!


Whoa - that would be handy when working with sox on the command line.


! BUMP !

as a primarily self-taught person in computer things I’ve mean mostly steering clear of the command line in all but necessary cases but as I’m moving into crow stuff and writing some of my own " low-level " audio stuff in C it feels like a good time to get more comfortable with the command line & operating system guts. will be on mac for the immediate future, so more Terminal and UNIX tips appreciated.

I think I’m going to start with vimtutor, which I think @synthetivv pointed me to during one of the Maps streams

loooove this video. everything bell labs has been 100% my vibe recently. I also enjoy this video with older Brian Kernigan

I just bought his book, certainly outdated, but of course not in every way bc UNIX (& I love learning the history as a starting point)

this looks great ! man felt a little wordy in the time I spent with it, & I also don’t like that it’s called man

one tip I’ve discovered for macs is in the “mission control” view you can drag two terminal windows to the right to create a full screen spit terminal view, then you can use cmd+` to switch between terminal prompts. in preferences/keyboard you can also set a shortcut to switch between full-screen views which is suuuper handy in this case


My discovery of the day, thank you!

To go even further, check out tmux or GNU screen. They unlock all sorts of fancy multiplexing options. Bonus for running over SSH, where you can toggle between different shells without having to log in over and over again. You can even detach from you session and have everything persist.