diff --git a/command/7z.md b/command/7z.md index d466abe0e43..1d4d88c4d2c 100644 --- a/command/7z.md +++ b/command/7z.md @@ -42,7 +42,74 @@ apt-get install p7zip-full -y 7z l text.7z ``` -## 官网 +## help 信息翻译 + +```shell +使用方法: 7z <命令> [<开关>...] [...] + +<命令> + a : 添加文件到存档 + b : 基准测试 + d : 从存档中删除文件 + e:从档案中提取文件(不使用目录名)。 + h:计算文件的哈希值 + i : 显示支持的格式信息 + l : 列出档案的内容 + rn : 重命名档案中的文件 + t : 测试档案的完整性 + u : 更新档案中的文件 + x : 提取完整路径的文件 + +<开关> + --:停止开关解析 + @listfile : 设置包含文件名的列表文件的路径 + -ai[r[-|0]]{@listfile|!wildcard} : 包括归档文件 + -ax[r[-|0]]{@listfile|!wildcard} : 排除档案。 + -ao{a|s|t|u} : 设置覆写模式 + -an : 禁用档案名称字段 + -bb[0-3] : 设置输出日志级别 + -bd : 禁用进度指示器 + -bs{o|e|p}{0|1|2}:设置输出/错误/进度行的输出流 + -bt : 显示执行时间统计 + -i[r[-|0]]{@listfile|!通配符} : 包括文件名 + -m{Parameters} : 设置压缩方法 + -mmt[N] : 设置CPU线程的数量 + -mx[N] : 设置压缩级别: -mx1 (最快) ... -mx9 (超强) + -o{Directory} : 设置输出目录 + -p{Password} : 设置密码 + -r[-|0] : 重新搜索子目录 + -sa{a|e|s} : 设置存档名称模式 + -scc{UTF-8|WIN|DOS}:设置控制台输入/输出的字符集。 + -scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}}:设置列表文件的字符集。 + -scrc[CRC32|CRC64|SHA1|SHA256|*] :为x、e、h命令设置哈希函数。 + -sdel : 压缩后删除文件 + -seml[.] : 通过电子邮件发送档案 + -sfx[{name}] : 创建SFX档案 + -si[{name}] : 从stdin读取数据 + -slp : 设置大型页面模式 + -slt : 显示l(List)命令的技术信息 + -snh : 将硬链接存储为链接 + -snl : 将符号链接存储为链接 + -sni : 存储NT安全信息 + -sns[-] : 存储NTFS备用流 + -so : 向stdout写数据 + -spd : 禁用文件名的通配符匹配 + -spe : 消除提取命令中根文件夹的重复。 + -spf : 使用完全合格的文件路径 + -ssc[-] : 设置敏感的大小写模式 + -ssw : 压缩共享文件 + -stl : 从最近修改的文件设置存档时间戳 + -stm{HexMask} : 设置CPU线程亲和力掩码(十六进制数字)。 + -stx{Type} : 排除存档类型 + -t{Type} : 设置存档的类型 + -u[-][p#][q#][r#][x#][y#][z#] [!newArchiveName] : 更新选项 + -v{大小}[b|k|m|g] : 创建卷册 + -w[{path}] : 指定工作目录。空的路径意味着一个临时目录 + -x[r[-|0]]{@listfile|!wildcard} : 排除文件名。 + -y : 假设所有的查询都是肯定的 +``` -更多安装使用方法可以访问官网学习:https://www.7-zip.org/ +## 官网 +更多安装使用方法可以访问官网学习: +或者可以访问简体中文网站: diff --git a/command/ag.md b/command/ag.md index 0471b3e3d11..47e29043a2f 100644 --- a/command/ag.md +++ b/command/ag.md @@ -5,8 +5,12 @@ ack 的升级版,C语言编写,更快更人性化 ## 补充说明 -**ag命令** 它比ack快一个数量级。它会忽略 .gitignore 和 .hgignore 中的文件模式。如果源代码库中有您不想搜索的文件,只需将它们的模式添加到 .ignore 文件即可。命令名称比 ack 短 33%,并且所有键都在 home 行! -[Github-参考链接](https://github.com/ggreer/the_silver_searcher) +> 摘自 项目的 Readme.md + +- 它比ack快一个数量级。 +- 它忽略了你的 `.gitignore` 和 `.hgignore` 中的文件模式。 +- 如果你的源码库里有你不想搜索的文件,只要把它们的模式添加到一个.ignore文件里。(*cough* *.min.js*cough*) +- 这个命令的名字比ack短33%,而且所有的键都在主行上! ### 语法 @@ -18,79 +22,67 @@ ag [可选项] 匹配模式 [路径...] ### 选项 ```shell -Output Options: +输出选项: --ackmate 以 AckMate-parseable 的格式显示结果 -A --after [LINES] 显示匹配行之后的行(默认2行) -B --before [LINES] 显示匹配行之前的行(默认2行) --[no]break 不同文件中匹配到的内容新建一行显示(默认开启) - -c --count 只显示每个文件中匹配到的数量 - (This often differs from the number of matching lines) - --[no]color Print color codes in results (Enabled by default) - --color-line-number Color codes for line numbers (Default: 1;33) - --color-match Color codes for result match numbers (Default: 30;43) - --color-path Color codes for path names (Default: 1;32) - --column Print column numbers in results - --[no]filename Print file names (Enabled unless searching a single file) + -c --count 只显示每个文件中匹配到的数量 (通常与匹配行数不同) + --[no]color 在结果中打印颜色代码(默认启用) + --color-line-number 行号的颜色代码(默认值为:1;33)。 + --color-match 匹配结果的颜色代码(默认值为:30;43)。 + --color-path 路径名称的颜色代码(默认值为:1;32) + --column 打印结果中的列号 + --[no]filename 打印文件名(除非搜索单个文件,否则启用)。 -H --[no]heading 在每个文件匹配前输出文件名(默认开启) -C --context [LINES] 显示匹配行上下两行(默认2行) - --[no]group Same as --[no]break --[no]heading - -g --filename-pattern PATTERN - Print filenames matching PATTERN + --[no]group 和这些一样: --[no]break --[no]heading + -g --filename-pattern PATTERN 打印匹配PATTERN的文件名 -l --files-with-matches 显示包含匹配的文件名(不显示匹配的行) -L --files-without-matches 只显示不包含匹配项的文件名 - --print-all-files Print headings for all files searched, even those that - don\'t contain matches - --[no]numbers Print line numbers. Default is to omit line numbers - when searching streams + --print-all-files 打印所有搜索到的文件的标题,甚至那些不包含匹配的文件。 + --[no]numbers 打印行号。默认情况是在搜索流时省略行号。 -o --only-matching 只输出每行匹配的部分 - --print-long-lines Print matches on very long lines (Default: >2k characters) - --passthrough When searching a stream, print all lines even if they - don\'t match - --silent Suppress all log messages, including errors - --stats Print stats (files scanned, time taken, etc.) - --stats-only Print stats and nothing else. - (Same as --count when searching a single file) - --vimgrep Print results like vim\'s :vimgrep /pattern/g would - (it reports every match on the line) - -0 --null --print0 Separate filenames with null (for 'xargs -0') + --print-long-lines 在很长的行上打印匹配信息(默认:>2k字符)。 + --passthrough 当搜索一个流时,打印所有的行,即使它们不匹配。 + --silent 抑制所有的日志信息,包括错误 + --stats 打印统计(扫描的文件、花费的时间等)。 + --stats-only 打印统计信息,不打印其他信息(与搜索单个文件时的--计数相同)。 + --vimgrep 像vim的:vimgrep /pattern/g那样打印结果(它报告每一行的匹配结果) + -0 --null --print0 用null分隔文件名(用于'xargs -0')。 -Search Options: +搜索选项: -a --all-types 搜索所有文件(包括隐藏文件) - -D --debug Ridiculous debugging (probably not useful) + -D --debug 可笑的调试(可能没有用) --depth NUM 目录搜索最大深度(默认25) -f --follow 跟随链接进行搜索 - -F --fixed-strings Alias for --literal for compatibility with grep + -F --fixed-strings 为了与grep兼容,--literal的别名。 -G --file-search-regex 根据正则匹配搜索指定类型的文件 - --hidden Search hidden files (obeys .*ignore files) - -i --ignore-case Match case insensitively - --ignore PATTERN Ignore files/directories matching PATTERN - (literal file/directory names also allowed) - --ignore-dir NAME Alias for --ignore for compatibility with ack. - -m --max-count NUM 在一个文件中最大匹配的数量(默认: 10,000) + --hidden 搜索隐藏文件 (但遵从 .*ignore 文件) + -i --ignore-case 不区分大小写匹配 + --ignore PATTERN 忽略匹配 PATTERN 的文件/目录(也允许使用文字文件/目录名称) + --ignore-dir NAME 为了与ack兼容,--ignore的别名 + -m --max-count NUM 在一个文件中最大匹配的数量(默认: 10,000) --one-device 不跟随其他设备的链接搜索 - -p --path-to-ignore STRING - Use .ignore file at STRING - -Q --literal Don\'t parse PATTERN as a regular expression - -s --case-sensitive Match case sensitively - -S --smart-case Match case insensitively unless PATTERN contains - uppercase characters (Enabled by default) + -p --path-to-ignore STRING 在STRING使用.ignore文件 + -Q --literal 不要将PATTERN解析为正则表达式 + -s --case-sensitive 敏感地匹配案例 + -S --smart-case 不区分大小写匹配,除非 PATTERN 包含大写字符 --search-binary 搜索二进制文件 -t --all-text 搜索所有文本文件(不包括隐藏文件) - -u --unrestricted 搜索所有文件 (忽略 .ignore, .gitignore, etc.; - 搜索二进制和隐藏文件) - -U --skip-vcs-ignores Ignore VCS ignore files - (.gitignore, .hgignore; still obey .ignore) + -u --unrestricted 搜索所有文件 (忽略 .ignore, .gitignore, 比如:搜索二进制和隐藏文件) + -U --skip-vcs-ignores 忽略VCS的忽略文件(指的是 .gitignore,.hgignore;仍然遵从.ignore)。 -v --invert-match 反向匹配 -w --word-regexp 只匹配整个单词 - -W --width NUM Truncate match lines after NUM characters + -W --width NUM 在NUM字符后截断匹配行 -z --search-zip 搜索压缩文件中的内容 -File Types: -The search can be restricted to certain types of files. Example: - ag --html needle 结果输出到指定类型文件 - - Searches for 'needle' in files with suffix .htm, .html, .shtml or .xhtml. +文件类型: +搜索可以限制在某些类型的文件中,例如: + ag --html needle 结果输出到指定类型文件 + - 在后缀为 .htm、.html、.shtml 或 .xhtml 的文件中搜索“needle” -For a list of supported file types run: +有关支持的文件类型的列表,可以运行: ag --list-file-types 列出支持的文件类型 ``` diff --git a/command/alias.md b/command/alias.md index 77e5f2b173c..55e3337de27 100644 --- a/command/alias.md +++ b/command/alias.md @@ -12,10 +12,7 @@ alias [-p] [name[=value] ...] ## 主要用途 - 简化较长的命令。 -- 定义一个或多个别名。 -- 修改一个或多个已定义别名的值。 -- 显示一个或多个已定义别名。 -- 显示全部已定义的别名。 +- 定义、修改或者显示一个或多个别名。 ## 选项 @@ -117,7 +114,5 @@ A:运行cd依然会切换目录,运行ls依然会列出文件夹的内容; ### 其他参考链接 -[Linux命令详解:\[8\]alias创建自己的命令](https://jingyan.baidu.com/article/ac6a9a5e6738422b653eac01.html) - - - +- [alias(1p) - Linux manual page](https://man7.org/linux/man-pages/man1/alias.1p.html) +- [Linux命令详解:\[8\]alias创建自己的命令](https://jingyan.baidu.com/article/ac6a9a5e6738422b653eac01.html) diff --git a/command/apropos.md b/command/apropos.md index 9ba1c7166cf..9fb8d3c4f65 100644 --- a/command/apropos.md +++ b/command/apropos.md @@ -5,7 +5,7 @@ apropos ## 补充说明 -**apropos命令** 在一些特定的包含系统命令的简短描述的数据库文件里查找关键字,然后把结果送到标准输出。  +**apropos命令** 在一些特定的包含系统命令的简短描述的数据库文件里查找关键字,然后把结果送到标准输出。 如果你不知道完成某个特定任务所需要命令的名称,可以使用一个关键字通过Linux apropos实用程序来搜索它。该实用程序可以搜索关键字并且显示所有包含匹配项的man页面的简短描述。另外,使用man实用程序和-k(关键字)选项,可以得到和用Linux apropos实用程序相同的结果(实际上是相同的命令)。 @@ -27,8 +27,8 @@ apropos [-dalhvV] -e|-[w|-r] [-s section] [-m system[,...]] [-M path] [-L locale -l, --long:不根据终端宽度缩减输出。 -s section, --section section:只查找指定的手册section。 -m system[,...], --systems=system[,...]:用于查找其它操作系统的手册页。 --M path, --manpath=path:指定从其它以冒号分隔的手册页层次查找。默认使用$MANPATH环境变量。这个选项覆盖$MANPATH的内容。 --L locale, --locale=locale:apropos调用C函数setlocale来得到当前本地化信息,包括$LC_MESSAGE和$LANG。使用该选项提供一个locale字符串来临时更改本地化信息。 +-M path, --manpath=path:指定从其它以冒号分隔的手册页层次查找。默认使用 $MANPATH 环境变量。这个选项覆盖 $MANPATH 的内容。 +-L locale, --locale=locale:apropos调用C函数setlocale来得到当前本地化信息,包括 $LC_MESSAGE 和 $LANG 。使用该选项提供一个locale字符串来临时更改本地化信息。 -C file, --config-file=file:使用这个用户配置文件而不是默认的~/.manpath。 -h, --help:打印帮助信息并退出。 -V, --version:打印版本信息并退出。 @@ -69,5 +69,3 @@ whoami (1) - print effective userid ```shell apropos -a emacs vi ``` - - diff --git a/command/ar.md b/command/ar.md index 6e5fb55f252..6b15af34b83 100644 --- a/command/ar.md +++ b/command/ar.md @@ -10,108 +10,54 @@ ar ### 语法 ```shell -ar [-]{dmpqrtx}[abcfilNoPsSuvV] [membername] [count] archive files... -Usage: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV] [--plugin ] [member-name] [count] archive-file file... - ar -M [] [member-name] [count] archive-file file... + ar -M [ 以下内容来自 GNU ar (GNU Binutils) 2.40 版本指令 ```shell ---plugin

- load the specified plugin +命令: + d - 从归档文件中删除文件 + m[ab] - 在归档文件中移动文件 + p - 打印在归档文件中找到的文件 + q[f] - 将文件快速追加到归档文件中 + r[ab][f][u] - 替换归档文件中已有的文件或加入新文件 + s - 作为 ranlib 工作 + t[O][v] - display contents of the archive + x[o] - 从归档文件中分解文件 +特定命令修饰符: + [a] - 将文件置于 [成员名] 之后 + [b] - 将文件置于 [成员名] 之前 (于 [i] 相同) + [D] - 将 0 用于时间戳和 uid/gid(默认) + [D] - 使用实际时间戳和 uid/gid + [N] - 使用名称的实例 [数量] + [f] - 截去插入的文件名称 + [P] - 在匹配时使用完整的路径名 + [o] - 保留原来的日期 + [O] - display offsets of files in the archive + [u] - 只替换比当前归档内容更新的文件 +通用修饰符: + [c] - 不在必须创建库的时候给出警告 + [s] - 创建归档索引 (cf. ranlib) + [l ] - specify the dependencies of this library + [S] - 不要创建符号表 + [T] - deprecated, use --thin instead + [v] - 输出较多信息 + [V] - 显示版本号 + @ - 从 读取选项 + --target=BFDNAME - 指定目标对象格式为 BFDNAME + --output=DIRNAME - specify the output directory for extraction operations + --record-libdeps= - specify the dependencies of this library + --thin - make a thin archive +可选项: + --plugin

- 加载指定的插件程序 +仿真选项: + 没有仿真特有的选项 ``` -ar:支持的目标: elf64-x86-64 elf32-i386 elf32-x86-64 a.out-i386-linux pei-i386 pei-x86-64 elf64-l1om elf64-k1om elf64-little elf64-big elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex - ### 实例 打包文件 diff --git a/command/date.md b/command/date.md index e6b65ab671c..7d0dae3945b 100644 --- a/command/date.md +++ b/command/date.md @@ -90,11 +90,9 @@ _ (下划线) 使用空格填充相应的字段。 -d, --date=STRING 解析字符串并按照指定格式输出,字符串不能是'now'。 --debug 注释已解析的日期,并将有疑问的用法发送到标准错误。 -f, --file=DATEFILE 类似于--date; 一次从DATEFILE处理一行。 --I[FMT], --iso-8601[=FMT] 按照ISO 8601格式输出,FMT可以为'date'(默认),'hours','minutes','seconds','ns'。 - 例如:2006-08-14T02:34:56-06:00 +-I[FMT], --iso-8601[=FMT] 按照ISO 8601格式输出,FMT可以为'date'(默认),'hours','minutes','seconds','ns'。例如:2006-08-14T02:34:56-06:00 -R, --rfc-email 按照RFC 5322格式输出,例如: Mon, 14 Aug 2006 02:34:56 -0600 ---rfc-3339=FMT 按照RFC 3339格式输出,FMT可以为'date', 'seconds','ns'中的一个, - 例如:2006-08-14 02:34:56-06:00 +--rfc-3339=FMT 按照RFC 3339格式输出,FMT可以为'date', 'seconds','ns'中的一个,例如:2006-08-14 02:34:56-06:00 -r, --reference=FILE 显示文件的上次修改时间。 -s, --set=STRING 根据字符串设置系统时间。 -u, --utc, --universal 显示或设置世界协调时(UTC)。 diff --git a/command/diff.md b/command/diff.md index 56fcfbbda24..e3f177a1a72 100644 --- a/command/diff.md +++ b/command/diff.md @@ -17,31 +17,31 @@ diff(选项)(参数) ```shell -<行数>:指定要显示多少行的文本。此参数必须与-c或-u参数一并使用; --a或——text:diff预设只会逐行比较文本文件; +-a或--text:diff预设只会逐行比较文本文件; -b或--ignore-space-change:不检查空格字符的不同; -B或--ignore-blank-lines:不检查空白行; -c:显示全部内容,并标出不同之处; -C<行数>或--context<行数>:与执行“-c-<行数>”指令相同; --d或——minimal:使用不同的演算法,以小的单位来做比较; +-d或--minimal:使用不同的演算法,以小的单位来做比较; -D<巨集名称>或ifdef<巨集名称>:此参数的输出格式可用于前置处理器巨集; --e或——ed:此参数的输出格式可用于ed的script文件; +-e或--ed:此参数的输出格式可用于ed的script文件; -f或-forward-ed:输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处; -H或--speed-large-files:比较大文件时,可加快速度; -l<字符或字符串>或--ignore-matching-lines<字符或字符串>:若两个文件在某几行有所不同,而之际航同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异; -i或--ignore-case:不检查大小写的不同; --l或——paginate:将结果交由pr程序来分页; --n或——rcs:将比较结果以RCS的格式来显示; +-l或--paginate:将结果交由pr程序来分页; +-n或--rcs:将比较结果以RCS的格式来显示; -N或--new-file:在比较目录时,若文件A仅出现在某个目录中,预设会显示:Only in目录,文件A 若使用-N参数,则diff会将文件A 与一个空白的文件比较; -p:若比较的文件为C语言的程序码文件时,显示差异所在的函数名称; -P或--unidirectional-new-file:与-N类似,但只有当第二个目录包含了第一个目录所没有的文件时,才会将这个文件与空白的文件做比较; -q或--brief:仅显示有无差异,不显示详细的信息; --r或——recursive:比较子目录中的文件; +-r或--recursive:比较子目录中的文件; -s或--report-identical-files:若没有发现任何差异,仍然显示信息; -S<文件>或--starting-file<文件>:在比较目录时,从指定的文件开始比较; -t或--expand-tabs:在输出时,将tab字符展开; -T或--initial-tab:在每行前面加上tab字符以便对齐; -u,-U<列数>或--unified=<列数>:以合并的方式来显示文件内容的不同; --v或——version:显示版本信息; +-v或--version:显示版本信息; -w或--ignore-all-space:忽略全部的空格字符; -W<宽度>或--width<宽度>:在使用-y参数时,指定栏宽; -x<文件名或目录>或--exclude<文件名或目录>:不比较选项中所指定的文件或目录; @@ -54,8 +54,8 @@ diff(选项)(参数) ### 参数 -* 文件1:指定要比较的第一个文件; -* 文件2:指定要比较的第二个文件。 +* 文件1:指定要比较的第一个文件; +* 文件2:指定要比较的第二个文件。 ### 实例 @@ -71,7 +71,7 @@ diff a.txt b.txt diff -c a.txt b.txt ``` -``` +```shell   *** a1.txt 2012-08-29 16:45:41.000000000 +0800   --- a2.txt 2012-08-29 16:45:51.000000000 +0800   *************** @@ -99,7 +99,7 @@ diff -c a.txt b.txt diff -u a.txt b.txt ``` -``` +```shell   --- a.txt 2012-08-29 16:45:41.000000000 +0800   +++ b.txt 2012-08-29 16:45:51.000000000 +0800   @@ -1,7 +1,7 @@ diff --git a/command/exit.md b/command/exit.md index 5ba8a4ef490..7c48de8b314 100644 --- a/command/exit.md +++ b/command/exit.md @@ -72,6 +72,6 @@ fi ### 注意 -1. 该命令是bash内建命令,相关的帮助信息请查看`help`命令。 +1. 该命令是bash内建命令,相关的帮助信息请查看`help`命令。 diff --git a/command/fdisk.md b/command/fdisk.md index 3bce73b1f29..ca678e90394 100644 --- a/command/fdisk.md +++ b/command/fdisk.md @@ -10,20 +10,37 @@ fdisk ### 语法 ```shell -fdisk(选项)(参数) +fdisk [选项] <磁盘> 更改分区表 +fdisk [选项] -l [<磁盘>...] 列出分区表 ``` ### 选项 ```shell - -b <大小> 扇区大小(512、1024、2048或4096) - -c[=<模式>] 兼容模式:“dos”或“nondos”(默认) - -h 打印此帮助文本 - -u[=<单位>] 显示单位:“cylinders”(柱面)或“sectors”(扇区,默认) - -v 打印程序版本 - -C <数字> 指定柱面数 - -H <数字> 指定磁头数 - -S <数字> 指定每个磁道的扇区数 + +选项: + -b, --sectors-size <大小> 显示扇区计数和大小 + -B, --protect-boot 创建新标签时不要擦除 bootbits + -c, --compatibility[=<模式>] 模式,为“dos”或“nondos”(默认) + -L, --color[=<时机>] 彩色输出(auto, always 或 never)默认启用颜色 + -l, --list 显示分区并退出 + -x, --list-details 类似 --list 但提供更多细节 + -n, --noauto-pt 不要在空设备上创建默认分区表 + -o, --output <列表> 输出列 + -t, --type <类型> 只识别指定的分区表类型 + -u, --units[=<单位>] 显示单位,“cylinders”柱面或“sectors”扇区(默认) + -s, --getsz 以 512-字节扇区显示设备大小[已废弃] + -b, --bytes 以字节为单位而非易读的格式来打印 SIZE + --lock[=<模式>] 使用独占设备锁(yes、no 或 nonblock) + -w, --wipe <模式> 擦除签名(auto, always 或 never) + -W, --wipe-partitions <模式> 擦除新分区的签名(auto, always 或 never) + + -C, --cylinders <数字> 指定柱面数 + -H, --heads <数字> 指定磁头数 + -S, --sectors <数字> 指定每条磁道的扇区数 + + -h, --help 显示此帮助 + -V, --version 显示版本 ``` ### 参数 diff --git a/command/fgrep.md b/command/fgrep.md index 5bbb737d87e..fa64eaf0316 100644 --- a/command/fgrep.md +++ b/command/fgrep.md @@ -9,13 +9,13 @@ fgrep fgrep 命令于 grep 和 egrep 命令不同,因为它搜索字符串而不是搜索匹配表达式的模式。fgrep 命令使用快速的压缩算法。`$, *, [, |, (, )`和`\`等字符串被 fgrep 命令按字面意思解释。这些字符并不解释为正则表达式,但它们在 grep 和 egrep 命令中解释为正则表达式。因为这些字符对于 shell 有特定的含义,完整的字符串应该加上单引号`‘ ... ’`。. 如果没有指定文件, fgrep 命令假定标准输入。一般,找到的每行都复制到标准输出中去。如果不止一个输入文件,则在找到的每行前打印文件名。 -1. fgrep 命令和带 -F 标志的 grep命令是一样的但出错和用法消息不同-s 标志功能也不同。 -2. 每行限制在 2048 个字节。 -3. 段落(-p 标志下)目前限制在5000个字符的长度。 -4. 不要在特定的文件中运行 grep 命令,因为会产生不可预料的结果。 -5. 输入行不能包含空字符。 -6. 输入文件应该以换行字符结尾。 -7. 虽然可以同时指定很多标志,但某些标志会覆盖其余的标志。例如,如果同时指定 -l 和 -n ,只有文件名写入到标准输出中去。 +1. fgrep 命令和带 -F 标志的 grep命令是一样的但出错和用法消息不同-s 标志功能也不同。 +2. 每行限制在 2048 个字节。 +3. 段落(-p 标志下)目前限制在5000个字符的长度。 +4. 不要在特定的文件中运行 grep 命令,因为会产生不可预料的结果。 +5. 输入行不能包含空字符。 +6. 输入文件应该以换行字符结尾。 +7. 虽然可以同时指定很多标志,但某些标志会覆盖其余的标志。例如,如果同时指定 -l 和 -n ,只有文件名写入到标准输出中去。 ### 语法 diff --git a/command/git.md b/command/git.md index 69d52a5db3e..9b811a9db58 100644 --- a/command/git.md +++ b/command/git.md @@ -27,17 +27,13 @@ Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitH [Git常用命令清单](https://github.com/jaywcjlove/handbook/blob/master/other/Git%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E6%B8%85%E5%8D%95.md) -### 语法 +### 语法 ```shell -git [--version] [--help] [-C ] [-c name=value] - [--exec-path[=]] [--html-path] [--man-path] [--info-path] - [-p | --paginate | --no-pager] [--no-replace-objects] [--bare] - [--git-dir=] [--work-tree=] [--namespace=] - [] +git [--version] [--help] [-C ] [-c name=value] [--exec-path[=]] [--html-path] [--man-path] [--info-path] [-p | --paginate | --no-pager] [--no-replace-objects] [--bare] [--git-dir=] [--work-tree=] [--namespace=] [] ``` -### 选项 +### 选项 ```shell add 将文件内容添加到索引 @@ -97,20 +93,20 @@ git push -f origin master # 强制推送文件,缩写 -f(全写--force) clone -`git clone git://github.com/JSLite/JSLite.js.git ` +`git clone git://github.com/JSLite/JSLite.js.git` `git clone git://github.com/JSLite/JSLite.js.git mypro` #克隆到自定义文件夹 `git clone [user@]example.com:path/to/repo.git/` #SSH协议还有另一种写法。 git clone支持多种协议,除了HTTP(s)以外,还支持SSH、Git、本地文件协议等,下面是一些例子。`git clone <版本库的网址> <本地目录名>` ```shell -$ git clone http[s]://example.com/path/to/repo.git/ -$ git clone ssh://example.com/path/to/repo.git/ -$ git clone git://example.com/path/to/repo.git/ -$ git clone /opt/git/project.git -$ git clone file:///opt/git/project.git -$ git clone ftp[s]://example.com/path/to/repo.git/ -$ git clone rsync://example.com/path/to/repo.git/ +git clone http[s]://example.com/path/to/repo.git/ +git clone ssh://example.com/path/to/repo.git/ +git clone git://example.com/path/to/repo.git/ +git clone /opt/git/project.git +git clone file:///opt/git/project.git +git clone ftp[s]://example.com/path/to/repo.git/ +git clone rsync://example.com/path/to/repo.git/ ``` ## 配置 @@ -128,7 +124,7 @@ git config --list # 查看配置的信息 ### 配置自动换行 -自动转换坑太大,提交到git是自动将换行符转换为lf +自动转换坑太大,提交到git是自动将换行符转换为lf ```shell git config --global core.autocrlf input @@ -155,8 +151,8 @@ ssh -T git@github.com # 测试是否成功 **2.密钥复制到托管平台上** -`vim ~/.ssh/jslite_rsa.pub` -打开公钥文件 `jslite_rsa.pub` ,并把内容复制至代码托管平台上 +`vim ~/.ssh/jslite_rsa.pub` +打开公钥文件 `jslite_rsa.pub` ,并把内容复制至代码托管平台上 **3.修改config文件** @@ -214,8 +210,8 @@ ssh-add -d ~/.ssh/jslite_rsa # 删除指定的key ### 免密码登录远程服务器 ```shell -$ ssh-keygen -t rsa -P '' -f ~/.ssh/aliyunserver.key -$ ssh-copy-id -i ~/.ssh/aliyunserver.key.pub root@192.168.182.112 # 这里需要输入密码一次 +ssh-keygen -t rsa -P '' -f ~/.ssh/aliyunserver.key +ssh-copy-id -i ~/.ssh/aliyunserver.key.pub root@192.168.182.112 # 这里需要输入密码一次 ``` 编辑 `~/.ssh/config` @@ -240,19 +236,19 @@ git clone https://github.com/username/rep.git ```shell [core] - repositoryformatversion = 0 - filemode = true - bare = false - logallrefupdates = true - ignorecase = true - precomposeunicode = true + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = true [remote "origin"] -- url = https://github.com/username/rep.git -+ url = https://用户名:密码@github.com/username/rep.git - fetch = +refs/heads/*:refs/remotes/origin/* +- url = https://github.com/username/rep.git ++ url = https://用户名:密码@github.com/username/rep.git + fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] - remote = origin - merge = refs/heads/master + remote = origin + merge = refs/heads/master ``` ### 文件推向3个git库 @@ -310,8 +306,7 @@ $ git fetch -p **5.更改pull** -只需要更改config文件里,那三个url的顺序即可,fetch-url会直接对应排行第一的那个utl连接。 - +只需要更改config文件里,那三个url的顺序即可,fetch-url会直接对应排行第一的那个utl连接。 ### 修改远程仓库地址 @@ -375,7 +370,6 @@ git revert HEAD~1 # 撤销一条记录 会弹出 commit 编辑 git push # 提交回滚 ``` - ### 回退到某一个版本 ```shell @@ -469,8 +463,6 @@ git rebase --continue git push -f origin master ``` - - ### 添加忽略文件 ```shell @@ -540,7 +532,6 @@ git merge upstream/master # create mode 100644 README.md ``` - ### 批量修改历史commit中的名字和邮箱 **1.克隆仓库** @@ -608,7 +599,6 @@ git pull --allow-unrelated-histories git pull origin master --allow-unrelated-histories ``` - ### 查看某个文件历史 ```shell @@ -674,20 +664,20 @@ git push -f origin master # 强制推送文件,缩写 -f(全写--force) ## clone -`git clone git://github.com/JSLite/JSLite.js.git ` +`git clone git://github.com/JSLite/JSLite.js.git` `git clone git://github.com/JSLite/JSLite.js.git mypro` #克隆到自定义文件夹 `git clone [user@]example.com:path/to/repo.git/` #SSH协议还有另一种写法。 git clone支持多种协议,除了HTTP(s)以外,还支持SSH、Git、本地文件协议等,下面是一些例子。`git clone <版本库的网址> <本地目录名>` ```shell -$ git clone http[s]://example.com/path/to/repo.git/ -$ git clone ssh://example.com/path/to/repo.git/ -$ git clone git://example.com/path/to/repo.git/ -$ git clone /opt/git/project.git -$ git clone file:///opt/git/project.git -$ git clone ftp[s]://example.com/path/to/repo.git/ -$ git clone rsync://example.com/path/to/repo.git/ +git clone http[s]://example.com/path/to/repo.git/ +git clone ssh://example.com/path/to/repo.git/ +git clone git://example.com/path/to/repo.git/ +git clone /opt/git/project.git +git clone file:///opt/git/project.git +git clone ftp[s]://example.com/path/to/repo.git/ +git clone rsync://example.com/path/to/repo.git/ ``` ## 本地 @@ -1032,7 +1022,6 @@ git help * # 获取命令的帮助信息 git status # 获取当前的状态,非常有用,因为git会提示接下来的能做的操作 ``` - ## 报错问题解决 **1. `git fatal: protocol error: bad line length character: No s`** @@ -1082,7 +1071,7 @@ git config --global core.quotepath false - [图解Git](http://marklodato.github.io/visual-git-guide/index-zh-cn.html) - [git-简明指南](http://rogerdudler.github.io/git-guide/index.zh.html) - [learnGitBranching 在线学习工具](http://pcottle.github.io/learnGitBranching/) -- [初级教程](http://rogerdudler.github.io/git-guide/index.zh.html) +- [初级教程](http://rogerdudler.github.io/git-guide/index.zh.html) - [廖雪峰的Git教程](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000) - [蒋鑫老师将带你入github的大门](http://www.worldhello.net/gotgithub/) - [git详解](http://www.open-open.com/lib/view/open1328069609436.html) @@ -1092,5 +1081,3 @@ git config --global core.quotepath false - [Git 本地仓库和裸仓库](https://gold.xitu.io/post/5842f9b861ff4b005889ade6) - [沉浸式学 Git](http://www.kancloud.cn/kancloud/igit/46710) - [Git进阶用法,主要是rebase高级用法](http://way.oschina.io/2016/12/15/notes/GitAdvance/?utm_source=gank.io&utm_medium=email) - - diff --git a/command/groupmems.md b/command/groupmems.md index 49853af1e95..16acdb99820 100644 --- a/command/groupmems.md +++ b/command/groupmems.md @@ -9,13 +9,13 @@ groupmems 只有作为管理员的超级用户可以使用 `groupmems` 来更改其他组的成员资格。 -### 语法 +### 语法 ```shell groupmems -a user_name | -d 用户名 | [-g 用户组名] | -l | -p ``` -### 选项 +### 选项 ```bash -a, --add user_name # 将用户添加到组成员列表。如果 /etc/gshadow 文件存在,并且该组在 /etc/gshadow 文件中没有条目,则将创建一个新条目。 @@ -54,58 +54,58 @@ MAX_MEMBERS_PER_GROUP (number) groupmems 可执行文件应该在模式 2770 中作为用户 root 和组组。 系统管理员可以将用户添加到组中,以允许或禁止他们使用 groupmems 实用程序来管理他们自己的组成员列表。 ```shell -$ groupadd -r groups -$ chmod 2770 groupmems +groupadd -r groups +chmod 2770 groupmems -$ chown root.groups groupmems -$ groupmems -g groups -a gk4 +chown root.groups groupmems +groupmems -g groups -a gk4 ``` 让我们创建一个新用户和一个新组并验证结果: ```shell -$ useradd student -$ passwd student -$ groupadd staff +useradd student +passwd student +groupadd staff ``` 使用户 student 成为组人员的成员: ```shell -$ groupmems -g staff -a student -$ groupmems -g staff -l +groupmems -g staff -a student +groupmems -g staff -l ``` 将用户添加到组: ```shell -$ groupmems -a mike -g SUPPORT -$ groupmems --add mike -g SUPPORT +groupmems -a mike -g SUPPORT +groupmems --add mike -g SUPPORT ``` 从组中删除/移除用户: ```shell -$ groupmems -d mike SUPPORT -g SUPPORT -$ groupmems --delete mike SUPPORT -g SUPPORT +groupmems -d mike SUPPORT -g SUPPORT +groupmems --delete mike SUPPORT -g SUPPORT ``` 更改组名称: ```shell -$ groupmems -g SUPPORT +groupmems -g SUPPORT ``` 从组中删除用户: ```shell -$ groupmems -p -g SUPPORT -$ groupmems --purge -g SUPPORT +groupmems -p -g SUPPORT +groupmems --purge -g SUPPORT ``` 要列出组的成员: ```shell -$ groupmems -l -g SUPPORT -$ groupmems --list -g SUPPORT -``` \ No newline at end of file +groupmems -l -g SUPPORT +groupmems --list -g SUPPORT +``` diff --git a/command/grub.md b/command/grub.md index 7d2bbf52277..9de9c456598 100644 --- a/command/grub.md +++ b/command/grub.md @@ -69,3 +69,6 @@ boot 这里的关键问题是如何确定系统的几个分区:`/boot` `/` `/sbin` +### 参考资料 + +- 自由软件基金会 - grub 文档 diff --git a/command/grub2-mkconfig.md b/command/grub2-mkconfig.md index 97d53f2acb5..80c9dd3c2f9 100644 --- a/command/grub2-mkconfig.md +++ b/command/grub2-mkconfig.md @@ -6,14 +6,14 @@ grub2-mkconfig ## 语法 ```shell -Usage: grub2-mkconfig [OPTION] -Generate a grub config file +用法: grub2-mkconfig [OPTION] +生成 grub 配置文件 - -o, --output=FILE output generated config to FILE [default=stdout] - -h, --help print this message and exit - -v, --version print the version information and exit + -o, --output=FILE 将生成的配置输出到 FILE 文件 [default=stdout] + -h, --help 打印这个文件并退出 + -v, --version 打印版本信息并退出 -Report bugs to . +报告 Bug 通过 . ``` diff --git a/command/pacman.md b/command/pacman.md new file mode 100644 index 00000000000..9330c6c1d0e --- /dev/null +++ b/command/pacman.md @@ -0,0 +1,50 @@ +pacman +=== + +Arch Linux 系统极其衍生系统中默认使用的包管理器 + +## 安装 + +在安装 Arch Linux 时,会需要安装 base 包组,其中包括 pacman 包,具体 Arch Linux 安装流程请参见 [Arch Wiki(CN)](https://wiki.archlinuxcn.org/wiki/%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97) + +## 实例 + +### 安装软件包 + +```bash +pacman -S p7zip +``` + +也可以安装一个软件包组 + +```bash +pacman -S gnome +``` + +### 列出所有软件包 + +```bash +pacman -Q +``` + +### 删除某个软件包 + +```bash +pacman -R p7zip +``` + +或者是同时删除他的依赖 + +```bash +pacman -Rsc p7zip +``` + +### 开始滚动更新 + +```bash +pacman -Syyu +``` + +## 参考资料 + +- Archlinux 中文维基