From b949a1e885fbd1e7ad04436f0b24c07c7c9410f2 Mon Sep 17 00:00:00 2001 From: Chunyang Xu Date: Sat, 27 Jun 2015 22:40:54 +0800 Subject: [PATCH] zh: Tweak space between English and Chinese text (33%) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Finish the "日常使用" section. --- README-zh.md | 54 ++++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/README-zh.md b/README-zh.md index 629525c..296d6e3 100644 --- a/README-zh.md +++ b/README-zh.md @@ -64,63 +64,63 @@ ## 日常使用 -- 在Bash中,可以使用**Tab**自动补全参数,使用**ctrl-r**搜索命令行历史。 +- 在 Bash 中,可以使用 **Tab** 自动补全参数,使用 **ctrl-r** 搜索命令行历史。 -- 在Bash中,使用**ctrl-w**删除你键入的最后一个单词,使用**ctrl-u**删除整行,使用**alt-b**和**alt-f**按单词移动,使用**ctrl-k**从光标处删除到行尾,使用**ctrl-l**清屏。键入`man readline`查看Bash中的默认快捷键,内容很多。例如**alt-.** 循环地移向前一个参数,以及**alt-***展开通配符。 +- 在 Bash 中,使用 **ctrl-w** 删除你键入的最后一个单词,使用 **ctrl-u** 删除整行,使用 **alt-b** 和 **alt-f** 按单词移动,使用 **ctrl-k** 从光标处删除到行尾,使用 **ctrl-l** 清屏。键入 `man readline` 查看 Bash 中的默认快捷键,内容很多。例如 **alt-.** 循环地移向前一个参数,以及 **alt-*** 展开通配符。 -- 你喜欢的话,可以键入`set -o vi`来使用vi风格的快捷键。 +- 你喜欢的话,可以键入 `set -o vi` 来使用 vi 风格的快捷键。 -- 键入`history`查看命令行历史记录。其中有许多缩写,例如`!$` (最后键入的参数)和`!!`(最后键入的命令),尽管通常被 **ctrl-r**和**alt-.**取代。 +- 键入 `history` 查看命令行历史记录。其中有许多缩写,例如 `!$`(最后键入的参数)和 `!!`(最后键入的命令),尽管通常被 **ctrl-r** 和 **alt-.** 取代。 - 回到上一个工作路径: `cd -` -- 如果你输入命令的时候改变了主意,按下**alt-#**在行首添加`#`(将你输入的命令视为注释),并回车。这样做的话,之后你可以很方便的利用命令行历史回到你刚才输入到一半的命令。 +- 如果你输入命令的时候改变了主意,按下 **alt-#** 在行首添加 `#`(将你输入的命令视为注释),并回车。这样做的话,之后你可以很方便的利用命令行历史回到你刚才输入到一半的命令。 -- 使用`xargs` ( 或`parallel`)。他们非常给力。注意到你可以控制每行参数个数(`-L`)和最大并行数 (`-P`)。如果你不确定它们是否会按你想的那样工作,先使用`xargs echo`查看一下。此外,使用`-I{}`会很方便。例如: +- 使用 `xargs` ( 或 `parallel`)。他们非常给力。注意到你可以控制每行参数个数(`-L`)和最大并行数(`-P`)。如果你不确定它们是否会按你想的那样工作,先使用 `xargs echo` 查看一下。此外,使用 `-I{}` 会很方便。例如: ```bash find . -name '*.py' | xargs grep some_function cat hosts | xargs -I{} ssh root@{} hostname ``` -- `pstree -p`有助于展示进程树。 +- `pstree -p` 有助于展示进程树。 -- 使用`pgrep`和`pkill`根据名字查找进程或发送信号。 +- 使用 `pgrep` 和 `pkill` 根据名字查找进程或发送信号。 -- 了解你可以发往进程的信号的种类。比如,使用`kill -STOP [pid]`停止一个进程。使用`man 7 signal`查看详细列表。 +- 了解你可以发往进程的信号的种类。比如,使用 `kill -STOP [pid]` 停止一个进程。使用 `man 7 signal` 查看详细列表。 -- 使用`nohup`或`disown`使一个后台进程持续运行。 +- 使用 `nohup` 或 `disown` 使一个后台进程持续运行。 -- 使用`netstat -lntp`或`ss -plat`检查哪些进程在监听端口(默认是检查TCP端口; 使用参数`-u`检查UDP端口)。 +- 使用 `netstat -lntp` 或 `ss -plat` 检查哪些进程在监听端口(默认是检查 TCP 端口; 使用参数 `-u` 检查 UDP 端口)。 -- 有关打开套接字和文件,请参阅`lsof`。 +- 有关打开套接字和文件,请参阅 `lsof`。 -- 在Bash脚本中,使用`set -x`去调试输出,尽可能的使用严格模式,使用`set -e`令脚本在发生错误时退出而不是继续运行,使用`set -o pipefail`严谨地对待错误(尽管问题可能很微妙)。当牵扯到很多脚本时,使用`trap`。 +- 在 Bash 脚本中,使用 `set -x` 去调试输出,尽可能的使用严格模式,使用 `set -e` 令脚本在发生错误时退出而不是继续运行,使用 `set -o pipefail` 严谨地对待错误(尽管问题可能很微妙)。当牵扯到很多脚本时,使用 `trap`。 -- 在Bash脚本中,子shell(使用括号`(...)`)是一种便捷的方式去组织参数。一个常见的例子是临时地移动工作路径,代码如下: +- 在 Bash 脚本中,子 shell(使用括号`(...)`)是一种便捷的方式去组织参数。一个常见的例子是临时地移动工作路径,代码如下: ```bash # do something in current dir (cd /some/other/dir && other-command) # continue in original dir ``` -- 在Bash中,注意到其中有许多形式的扩展。检查变量是否存在: `${name:?error message}`。例如,当Bash脚本需要一个参数时,可以使用这样的代码`input_file=${1:?usage: $0 input_file}`。数学表达式: `i=$(( (i + 1) % 5 ))`。序列: `{1..10}`。 截断字符串: `${var%suffix}`和`${var#prefix}`。例如,假设`var=foo.pdf`,那么`echo ${var%.pdf}.txt`将输出`foo.txt`。 +- 在 Bash 中,注意到其中有许多形式的扩展。检查变量是否存在: `${name:?error message}`。例如,当 Bash 脚本需要一个参数时,可以使用这样的代码 `input_file=${1:?usage: $0 input_file}`。数学表达式: `i=$(( (i + 1) % 5 ))`。序列: `{1..10}`。 截断字符串: `${var%suffix}` 和 `${var#prefix}`。例如,假设 `var=foo.pdf`,那么 `echo ${var%.pdf}.txt` 将输出 `foo.txt`。 -- 通过使用`<(some command)`可以将输出视为文件。例如,对比本地文件`/etc/hosts`和一个远程文件: +- 通过使用 `<(some command)` 可以将输出视为文件。例如,对比本地文件 `/etc/hosts` 和一个远程文件: ```sh diff /etc/hosts <(ssh somehost cat /etc/hosts) ``` -- 了解Bash中的"here documents",例如`cat <logfile 2>&1`。通常,为了保证命令不会在标准输入里残留一个打开了的文件句柄导致你当前所在的终端无法操作,添加`logfile 2>&1`。通常,为了保证命令不会在标准输入里残留一个打开了的文件句柄导致你当前所在的终端无法操作,添加 `