mirror of
https://github.com/xmengnet/the-art-of-command-line.git
synced 2024-12-25 01:56:30 +08:00
Merge remote-tracking branch 'jlevy/master'
This commit is contained in:
commit
c311039440
4 changed files with 7 additions and 5 deletions
|
@ -151,7 +151,7 @@
|
||||||
|
|
||||||
- Используйте `man ascii` для просмотра хорошей ASCII таблицы, с шестнадцатеричными и десятичными значениями. Для информации по основным кодировкам полезны: `man unicode`, `man utf-8` и `man latin1`.
|
- Используйте `man ascii` для просмотра хорошей ASCII таблицы, с шестнадцатеричными и десятичными значениями. Для информации по основным кодировкам полезны: `man unicode`, `man utf-8` и `man latin1`.
|
||||||
|
|
||||||
- Используйте `screen` или [`tmux`](https://tmux.github.io/) для того, чтобы иметь несколько экранов в одном терминале. Это особенно полезно, когда вы работаете с удаленным сервером по ssh, тогда вы можете подключаться/отключаться от сессий. `byobu` can enhance screen or tmux providing more information and easier management. Более минималистичный подход для этого – использование [`dtach`](https://github.com/bogner/dtach).
|
- Используйте `screen` или [`tmux`](https://tmux.github.io/) для того, чтобы иметь несколько экранов в одном терминале. Это особенно полезно, когда вы работаете с удаленным сервером по ssh, тогда вы можете подключаться/отключаться от сессий. `byobu` может улучшить использование `screen` или `tmux`, предоставляя больше информации и удобное управление. Более минималистичный подход для этого – использование [`dtach`](https://github.com/bogner/dtach).
|
||||||
|
|
||||||
- В SSH полезно знать как сделать port tunnel с ключами `-L` и `-D` (и иногда `-R`). Например для того, чтобы зайти на сайт с удаленного сервера.
|
- В SSH полезно знать как сделать port tunnel с ключами `-L` и `-D` (и иногда `-R`). Например для того, чтобы зайти на сайт с удаленного сервера.
|
||||||
|
|
||||||
|
@ -567,7 +567,7 @@ mkdir empty && rsync -r --delete empty/ some-dir && rmdir some-dir
|
||||||
|
|
||||||
## Дисклеймер
|
## Дисклеймер
|
||||||
|
|
||||||
За небольшим исключением, весь код написан так, чтобы другие его смогли прочитать. С большой силой приходит большая ответственность. Из того, что вы *способны* что-то сделать в Баше, вовсе не означает, что это нужно делать! ;)
|
За небольшим исключением, весь код написан так, чтобы другие смогли его прочитать. Чем больше сила, тем больше и ответственность. Тот факт, что вы *способны* что-то сделать в Баше, вовсе не означает, что это нужно делать! ;)
|
||||||
|
|
||||||
|
|
||||||
## Лицензия
|
## Лицензия
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
|
|
||||||
- 在 Bash 中,可以使用 **Tab** 自動補全參數,使用 **ctrl-r** 搜尋命令列歷史(在按下之後,鍵入便可以搜尋,重複按下**ctrl-r**會在更多匹配中迴圈,按下 **Enter** 會執行找到的命令,按下右方向鍵會將結果放入當前行中,使你可以進行編輯)。
|
- 在 Bash 中,可以使用 **Tab** 自動補全參數,使用 **ctrl-r** 搜尋命令列歷史(在按下之後,鍵入便可以搜尋,重複按下**ctrl-r**會在更多匹配中迴圈,按下 **Enter** 會執行找到的命令,按下右方向鍵會將結果放入當前行中,使你可以進行編輯)。
|
||||||
|
|
||||||
- 在 Bash 中,可以使用 **ctrl-w** 刪除你鍵入的最後一個單詞,使用 **ctrl-u** 刪除整行,使用 **alt-b** 和 **alt-f**以單詞為單位移動游標,使用 **ctrl-a** 將游標移至行首,使用 **ctrl-e** 將游標移至行尾,使用 **ctrl-k** 刪除游標至行尾的所有內容,使用 **ctrl-l** 清屏。鍵入`man readline` 檢視Bash 中的預設快捷鍵,內容很多。例如 **alt-.** 迴圈地移向前一個參數,以及 **alt-*** 展開通配符。
|
- 在 Bash 中,可以使用 **ctrl-w** 刪除你鍵入的最後一個單詞,使用 **ctrl-u** 刪除當前游標所在位置之前的內容,使用 **alt-b** 和 **alt-f**以單詞為單位移動游標,使用 **ctrl-a** 將游標移至行首,使用 **ctrl-e** 將游標移至行尾,使用 **ctrl-k** 刪除游標至行尾的所有內容,使用 **ctrl-l** 清屏。鍵入`man readline` 檢視 Bash 中的預設快捷鍵,內容很多。例如 **alt-.** 迴圈地移向前一個參數,以及 **alt-*** 展開通配符。
|
||||||
|
|
||||||
- 你喜歡的話,可以鍵入`set -o vi` 來使用vi 風格的快捷鍵,而`set -o emacs` 可以把它改回來。
|
- 你喜歡的話,可以鍵入`set -o vi` 來使用vi 風格的快捷鍵,而`set -o emacs` 可以把它改回來。
|
||||||
|
|
||||||
|
|
|
@ -78,7 +78,7 @@
|
||||||
|
|
||||||
- 在 Bash 中,可以使用 **Tab** 自动补全参数,使用 **ctrl-r** 搜索命令行历史(在按下之后,键入便可以搜索,重复按下 **ctrl-r** 会在更多匹配中循环,按下 **Enter** 会执行找到的命令,按下右方向键会将结果放入当前行中,使你可以进行编辑)。
|
- 在 Bash 中,可以使用 **Tab** 自动补全参数,使用 **ctrl-r** 搜索命令行历史(在按下之后,键入便可以搜索,重复按下 **ctrl-r** 会在更多匹配中循环,按下 **Enter** 会执行找到的命令,按下右方向键会将结果放入当前行中,使你可以进行编辑)。
|
||||||
|
|
||||||
- 在 Bash 中,可以使用 **ctrl-w** 删除你键入的最后一个单词,使用 **ctrl-u** 删除整行,使用 **alt-b** 和 **alt-f** 以单词为单位移动光标,使用 **ctrl-a** 将光标移至行首,使用 **ctrl-e** 将光标移至行尾,使用 **ctrl-k** 删除光标至行尾的所有内容,使用 **ctrl-l** 清屏。键入 `man readline` 查看 Bash 中的默认快捷键,内容很多。例如 **alt-.** 循环地移向前一个参数,以及 **alt-*** 展开通配符。
|
- 在 Bash 中,可以使用 **ctrl-w** 删除你键入的最后一个单词,使用 **ctrl-u** 删除当前光标所在位置之前的内容,使用 **alt-b** 和 **alt-f** 以单词为单位移动光标,使用 **ctrl-a** 将光标移至行首,使用 **ctrl-e** 将光标移至行尾,使用 **ctrl-k** 删除光标至行尾的所有内容,使用 **ctrl-l** 清屏。键入 `man readline` 查看 Bash 中的默认快捷键,内容很多。例如 **alt-.** 循环地移向前一个参数,以及 **alt-*** 展开通配符。
|
||||||
|
|
||||||
|
|
||||||
- 你喜欢的话,可以键入 `set -o vi` 来使用 vi 风格的快捷键,而 `set -o emacs` 可以把它改回来。
|
- 你喜欢的话,可以键入 `set -o vi` 来使用 vi 风格的快捷键,而 `set -o emacs` 可以把它改回来。
|
||||||
|
|
|
@ -80,7 +80,7 @@ Notes:
|
||||||
|
|
||||||
- In Bash, use **Tab** to complete arguments or list all available commands and **ctrl-r** to search through command history (after pressing, type to search, press **ctrl-r** repeatedly to cycle through more matches, press **Enter** to execute the found command, or hit the right arrow to put the result in the current line to allow editing).
|
- In Bash, use **Tab** to complete arguments or list all available commands and **ctrl-r** to search through command history (after pressing, type to search, press **ctrl-r** repeatedly to cycle through more matches, press **Enter** to execute the found command, or hit the right arrow to put the result in the current line to allow editing).
|
||||||
|
|
||||||
- In Bash, use **ctrl-w** to delete the last word, and **ctrl-u** to delete all the way back to the start of the line. Use **alt-b** and **alt-f** to move by word, **ctrl-a** to move cursor to beginning of line, **ctrl-e** to move cursor to end of line, **ctrl-k** to kill to the end of the line, **ctrl-l** to clear the screen. See `man readline` for all the default keybindings in Bash. There are a lot. For example **alt-.** cycles through previous arguments, and **alt-*** expands a glob.
|
- In Bash, use **ctrl-w** to delete the last word, and **ctrl-u** to delete the content from current cursor back to the start of the line. Use **alt-b** and **alt-f** to move by word, **ctrl-a** to move cursor to beginning of line, **ctrl-e** to move cursor to end of line, **ctrl-k** to kill to the end of the line, **ctrl-l** to clear the screen. See `man readline` for all the default keybindings in Bash. There are a lot. For example **alt-.** cycles through previous arguments, and **alt-*** expands a glob.
|
||||||
|
|
||||||
|
|
||||||
- Alternatively, if you love vi-style key-bindings, use `set -o vi` (and `set -o emacs` to put it back).
|
- Alternatively, if you love vi-style key-bindings, use `set -o vi` (and `set -o emacs` to put it back).
|
||||||
|
@ -293,6 +293,8 @@ mkdir empty && rsync -r --delete empty/ some-dir && rmdir some-dir
|
||||||
setfacl --restore=permissions.txt
|
setfacl --restore=permissions.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
|
- To create empty files quickly, use `truncate` (creates [sparse file](https://en.wikipedia.org/wiki/Sparse_file)), `fallocate` (ext4, xfs, btrfs and ocfs2 filesystems), `xfs_mkfile` (almost any filesystems, comes in xfsprogs package), `mkfile` (for Unix-like systems like Solaris, Mac OS).
|
||||||
|
|
||||||
## System debugging
|
## System debugging
|
||||||
|
|
||||||
- For web debugging, `curl` and `curl -I` are handy, or their `wget` equivalents, or the more modern [`httpie`](https://github.com/jkbrzt/httpie).
|
- For web debugging, `curl` and `curl -I` are handy, or their `wget` equivalents, or the more modern [`httpie`](https://github.com/jkbrzt/httpie).
|
||||||
|
|
Loading…
Reference in a new issue