82 lines
3.9 KiB
Markdown
82 lines
3.9 KiB
Markdown
|
---
|
|||
|
title: 'Bash Shortcuts'
|
|||
|
published: true
|
|||
|
private: false
|
|||
|
date: '17:04 10-04-2018'
|
|||
|
creator: erreur32
|
|||
|
---
|
|||
|
|
|||
|
**Bash Shortcuts**
|
|||
|
|
|||
|
|
|||
|
Ctrl + a – go to the start of the command line
|
|||
|
Ctrl + e – go to the end of the command line
|
|||
|
Ctrl + k – delete from cursor to the end of the command line
|
|||
|
Ctrl + u – delete from cursor to the start of the command line
|
|||
|
Ctrl + w – delete from cursor to start of word (i.e. delete backwards one word)
|
|||
|
Ctrl + y – paste word or text that was cut using one of the deletion shortcuts (such as the one above) after the cursor
|
|||
|
Ctrl + xx – move between start of command line and current cursor position (and back again)
|
|||
|
Alt + b – move backward one word (or go to start of word the cursor is currently on)
|
|||
|
Alt + f – move forward one word (or go to end of word the cursor is currently on)
|
|||
|
Alt + d – delete to end of word starting at cursor (whole word if cursor is at the beginning of word)
|
|||
|
Alt + c – capitalize to end of word starting at cursor (whole word if cursor is at the beginning of word)
|
|||
|
Alt + u – make uppercase from cursor to end of word
|
|||
|
Alt + l – make lowercase from cursor to end of word
|
|||
|
Alt + t – swap current word with previous
|
|||
|
Ctrl + f – move forward one character
|
|||
|
Ctrl + b – move backward one character
|
|||
|
Ctrl + d – delete character under the cursor
|
|||
|
Ctrl + h – delete character before the cursor
|
|||
|
Ctrl + t – swap character under cursor with the previous one
|
|||
|
|
|||
|
Command Recall Shortcuts
|
|||
|
|
|||
|
Ctrl + r – search the history backwards
|
|||
|
Ctrl + g – escape from history searching mode
|
|||
|
Ctrl + p – previous command in history (i.e. walk back through the command history)
|
|||
|
Ctrl + n – next command in history (i.e. walk forward through the command history)
|
|||
|
Alt + . – use the last word of the previous command
|
|||
|
|
|||
|
Command Control Shortcuts
|
|||
|
|
|||
|
Ctrl + l – clear the screen
|
|||
|
Ctrl + s – stops the output to the screen (for long running verbose command)
|
|||
|
Ctrl + q – allow output to the screen (if previously stopped using command above)
|
|||
|
Ctrl + c – terminate the command
|
|||
|
Ctrl + z – suspend/stop the command
|
|||
|
|
|||
|
Bash Bang (!) Commands
|
|||
|
|
|||
|
Bash also has some handy features that use the ! (bang) to allow you to do some funky stuff with bash commands.
|
|||
|
|
|||
|
!! – run last command
|
|||
|
!blah – run the most recent command that starts with ‘blah’ (e.g. !ls)
|
|||
|
!blah:p – print out the command that !blah would run (also adds it as the latest command in the command history)
|
|||
|
!$ – the last word of the previous command (same as Alt + .)
|
|||
|
!$:p – print out the word that !$ would substitute
|
|||
|
!* – the previous command except for the last word (e.g. if you type ‘find some_file.txt /‘, then !* would give you ‘find some_file.txt‘)
|
|||
|
!*:p – print out what !* would substitute
|
|||
|
|
|||
|
There is one more handy thing you can do. This involves using the ^^ ‘command’. If you type a command and run it, you can re-run the same command but substitute a piece of text for another piece of text using ^^ e.g.:
|
|||
|
|
|||
|
```bash
|
|||
|
$ ls -al
|
|||
|
total 12
|
|||
|
drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:38 .
|
|||
|
drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:34 ..
|
|||
|
-rwxr-xr-x 1 Administrator None 1150 Jul 21 23:34 .bash_profile
|
|||
|
-rwxr-xr-x 1 Administrator None 3116 Jul 21 23:34 .bashrc
|
|||
|
drwxr-xr-x+ 4 Administrator None 0 Jul 21 23:39 .gem
|
|||
|
-rwxr-xr-x 1 Administrator None 1461 Jul 21 23:34 .inputrc
|
|||
|
$ ^-al^-lash
|
|||
|
ls -lash
|
|||
|
total 12K
|
|||
|
0 drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:38 .
|
|||
|
0 drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:34 ..
|
|||
|
4.0K -rwxr-xr-x 1 Administrator None 1.2K Jul 21 23:34 .bash_profile
|
|||
|
4.0K -rwxr-xr-x 1 Administrator None 3.1K Jul 21 23:34 .bashrc
|
|||
|
0 drwxr-xr-x+ 4 Administrator None 0 Jul 21 23:39 .gem
|
|||
|
4.0K -rwxr-xr-x 1 Administrator None 1.5K Jul 21 23:34 .inputrc
|
|||
|
```
|
|||
|
|
|||
|
Here, the command was the ^-al^-lash which replaced the –al with –lash in our previous ls command and re-ran the command again.
|