srdusr
aboutsummaryrefslogtreecommitdiffstats
path: root/linux/linux-commands.md
blob: 3ae52355b94cab44366345eb6150e2209f52a678 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#### Job Control  
* List jobs, job_id is the numerical value of the job  
  `$ jobs`  
* suspend job into background, similar to pause so that one can can do something else  
`<Ctrl-Z>`  
* Can resume it's running in the background by:  
  `$ bg <job_id>`  
* Bring it back to foreground by inserting:  
  `$ fg`  
* Or in case of multiple jobs:  
  `$ fg %<job_id>`  
* To suspend the process running in the background, use:  
  `$ kill -STOP %job_id`  
- - -

#### Copying/Moving/Renaming Files/Directories  
- Shorter syntax to copy/move from/to current file path (current working directory) `$(pwd)`  
NOTE: `.` can also be used but is limited  
  `$ cp -r $(pwd)/path-to/file ~/new/path/`  
  `$ mv -r ~/another/directory/file .`  
- - -

#### Copying/Pasting Text  
- Copy text/output of a command into a file (useful if in putty/non graphical terminal emulator)  
  `$ <command> 2>&1 | tee -a output.txt`  
  or  
  `$ echo "text" 2>&1 | tee -a output.txt` # print text without executing a command  
- - -

#### Recall the Previous Command  
- Use `!!` to express the last command  
  For example if a command needs root permissions:  
  ```bash
  $ touch /opt/file.txt  
  touch: cannot touch '/opt/file.txt': Permission denied  
  $ sudo !!  
  sudo touch /opt/file.txt  
  [sudo] password for user:  
  $ ls -l /opt/myFile.txt  
  -rw-r--r-- 1 root root 0 Dec  21 16:20 /opt/file.txt  
  ```

    `!!:n` where n is the 0-based position of the argument you want.
The ! prefix is used to access previous commands.

- Other useful commands:

    `!$` - last argument from previous command  
    `!^` - first argument (after the program/built-in/script) from previous command  
    `!*` - all arguments from previous command  
    `!!` - previous command (often pronounced "bang bang")  
    `!n` - command number n from history  
    `!pattern` - most recent command matching pattern  
    `!!:s/find/replace` - last command, substitute find with replace  
- - -

#### Getting information about a window  
  - To get id, size, position, state, class, etc...  
  `$ xwininfo`  
  or  
  `$ xdotool getwindowfocus getwindowgeometry` # just get size/position  
- - -