Difference between revisions of "I2rda Course Cheatsheet"

From wiki
Jump to: navigation, search
Line 1: Line 1:
 
= Command-line Navigation =
 
= Command-line Navigation =
 +
 
* <code>ctrl + a</code>: go to beginning of line
 
* <code>ctrl + a</code>: go to beginning of line
 
* <code>ctrl + e</code>: go to end of line
 
* <code>ctrl + e</code>: go to end of line
Line 13: Line 14:
 
= Pagers: <code>man</code>, <code>less</code> and <code>vim</code> keys =
 
= Pagers: <code>man</code>, <code>less</code> and <code>vim</code> keys =
  
* This is a continuous and very important activity
+
* <code>q</code>, to get out again.
* Linux has a large and comprehensive documentation system called <code>man</code>
+
* <code>gg</code>, for top of the page
* Linux manual pages are referred to as man pages.
+
* <code>G</code>, for bottom of page
* To open the man page for a particular command, you just need to type man followed by the name of the command you are interested in.
+
* <code>Ctrl+f</code>, to advance one page forward.
* To browse through a man page, use the up,down,pgup and pgn keys.
+
* <code>Ctrl+b</code>, to move one page back.
* To close (quit) the man page simply hit the q key on your keyboard.
+
* <code>/</code> to search, it allows you type in a search term at the bottom.
followed by the type of thing you are trying to do. An example of this is in exercise 1-3, part c).
+
* To up,down,pgup and pgn keys and arorw keys all work as expected.
 
 
==Exercise ==
 
 
 
* Look up the manual information for the ls command by typing the following in a terminal:
 
man echo
 
man mkdir
 
 
 
* What can you say about this command?
 
 
 
Now try:
 
man ls
 
 
 
* Did you think you knew this command already?
 
* What does the <code>-h</code> option do? What about the <code>-a</code> option? What would running <code>ls -lrt</code> do?
 
* Press the <code>q</code> key when you want to quit reading the man page.
 
* Try running <code>ls</code> using some of the options mentioned above.
 
 
 
* Look up some programs with man pages with the keywords "list directory"
 
man –k "list directory"
 
  
 
= Linux shortcut symbols =
 
= Linux shortcut symbols =
Line 61: Line 43:
 
* <code>!!:gs/then/now/<RET></code>: replace the ALL occurences of "then" in last command with "now"
 
* <code>!!:gs/then/now/<RET></code>: replace the ALL occurences of "then" in last command with "now"
 
* <code>!!:gs/then/now/:p<RET></code>: as above except do not execute.
 
* <code>!!:gs/then/now/:p<RET></code>: as above except do not execute.
 
== An important note on line endings – CR and LF ==
 
 
* Besides spaces in filename, there is another major pitfalls when transferring file over to Linux.
 
* In Linux, the end of line is called a new line, symbol with <code>\n</code>.
 
* Windows uses <code>CR</code> and <code>LF</code> .. called the <code>DOS</code> format.
 
* Old Macs used <code>LF</code>
 
* the tools <code>dos2unix</code> and <code>mac2unix</code> convert
 
 
= Text editing =
 
 
* There are very many text editors, but one of the most powerful and dependable is <code>vi</code>.
 
* It has a steep but tiny learning curve, which we hope to conquer in this section.
 
 
* "vi" is an old version and is available on all Unix/linux systems by default
 
* Vim is the modern version, it used <code>ncurses</code> to use the whole screen
 
* It's free and has graphical version call gvim and a Windows version too.
 
  
 
== Using vim ==
 
== Using vim ==

Revision as of 18:02, 7 May 2017

Command-line Navigation

  • ctrl + a: go to beginning of line
  • ctrl + e: go to end of line
  • ctrl + w: delete current word backwards, word behind if in space
  • ctrl + /: undo changes
  • ctrl + x, <BACKSPACE>: search backwards for a character, here?
  • ctrl + r, ?: search backwards for a character, here?
  • alt + b: move backwards word-wise.
  • alt + f: move backwards word-wise
  • alt + d: delete current word forwards, next word if in space
  • ctrl + k: delete to end of line

Pagers: man, less and vim keys

  • q, to get out again.
  • gg, for top of the page
  • G, for bottom of page
  • Ctrl+f, to advance one page forward.
  • Ctrl+b, to move one page back.
  • / to search, it allows you type in a search term at the bottom.
  • To up,down,pgup and pgn keys and arorw keys all work as expected.

Linux shortcut symbols

  • . the directory you are currently in, often used with mv, cp or ln -s to mean "in here please"
  • .. the directory one level above the one you are currently in, aka. the parent directory
- To change directory to the one above your are in: cd ..
  • To returns to the last directory you were working in before this one: cd –
  • On its own, cd bring you to your home directory
  • ~ shorthand for your home directory, where all your data is kept.
  • > directs output of one command into a file
  • | often called the pipe operator: directs output of one command into another command.

Keybindings for using the history file

  • :<RET>: save command in history, do not execute.
  • !$<RET>: the final argument of the last command
  • !!<RET>: the entire last command
  • !:1-$<RET>: everthing except the first word of the last command
  • !$<RET>: the final argument of the last command
  • ^then^now<RET>: replace the first occurence of then in last command with now
  • !!:gs/then/now/<RET>: replace the ALL occurences of "then" in last command with "now"
  • !!:gs/then/now/:p<RET>: as above except do not execute.

Using vim

  • type vim to get in, and :q! to get out without saving.
  • ZZ to save onto to current filename. ":sav fname" otherwise
  • It opens in "normal" mode which is similar to less, in that direct editing is not expected.
  • This is changed by pressing i. To get back to normal mode, press the ESC key.
  • In normal mode u undoes any changes
  • : while in normal mode allows command sto be entered
  • Visual: enabled by "v" or "V" (visual block), sub-box at the bottom open.
  • After v or V, movement keys ":%" will operate on whole document, ":’a,’b" operate between two marks, ":42,45" between two line numbers
  • search via "/", ":set hlsearch" to see all the hits

Getting by in only normal mode

  • movement keys, "w" jump via start of words; "e" jump via ends; "fc" jump to next c
  • "0" for start of line, "A" for end of line and into insert mode
  • "x" delete current character, "xp" switch positions of current and next character
  • "yyp" copy current line and paste it underneath
  • "dd" delete line, "2d" delete this and following two lines. "dgg" delete to start, "dG" delete to end
  • "dw" delete current word
  • Command: Activated by ":", sub-box at the bottom open, rich command language
  • Visual: Activated by "v" or "V" (visual block), sub-box at the bottom open, rich command language

Advanced but really useful commands

  • ":colorscheme desert" chang to the desert colour scheme, "morning" "delek" many others
  • :%s/snooze/sneeze/gc also works
  • :g/sneeze/d delete all lines without sneeze"
  • :v/sneeze/d delete all lines with sneeze"
  • ":42y[RET]p" paste line 42
  • "d214G" delete to line 214
  • "y214G" delete to line 214
  • :set list, all non-printing characters are also shown.
  • :set hlsearch, will highlight all search occurences.
  • :set nu, show line numbers.


GNU screen programs

Type:

screen

Then:

  • type exit to get out of your screen sessions
  • ctrl+l, n: cycle through screen windows
  • ctrl+l, :hardcopy RET: create a file with a copy of all inputs and outputs of your session.
  • ctrl+l,d: detach screen session
  • ctrl+l,K: abandon current session. It will be lost.
  • ctrl+l,ESC: enter scroll or copy mode. PgUp an PgDn will now work. Esc to get out.
  • type screen -r to recover a detached