正文
linux命令行并行 linuxshell并行执行
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
Linux Parallel 简单用法
parallel是一个Linux命令行并行工具(mac也可以用)
这里只说一种简单的用法,基本上能满足日常工作需求,
假设当前目录有三个 *.txt 文件,我们使用gzip对着三个文件进行压缩
1.顺序执行语句:
2.parallel并行版本
3.读取命令版本
Linux diff 命令 比较两个文件不看空格, 并行打印 的命令
的确会有这个问题,但尝试linux命令行并行了好一阵后发现,实际上也不是问题。
要解决此问题,加个选项--suppress-common-lines即可。
diff -wy --suppress-common-lines a.txt b.txt
或者:
sdiff -W --suppress-common-lines a.txt b.txt
为什么说不是问题呢linux命令行并行?看看下图这个例子(a.txt中包含TAB和空格,b.txt里包含空格)。
得出的结论就是:
加了-y选项后,无论行内容是否相同都会打印。但注意看一下,行内容不相同的情况,两端打印时中间会有一个竖线分隔。
加了-w选项后,比较结果其实是完全相同的,不存在有竖线分隔的两端打印,从diff命令返回值(通过$?取得)也可以看出。
所以,想到用--suppress-common-lines选项抑制相同行的输出。
linux怎么用一步命令实现多个脚本并行执行?
(run1.sh ) ; (run2.sh ) ; (run3.sh)
如果还有继续加
Linux下的并行神器——parallel
GNU Parallel的输入源支持文件、命令行和标准输入(stdin或pipe)。
当然,若不想像上面那样进行组合,可使用 --xapply 参数从每一个源获取一个参数(或文件一行),这个参数有些类似R中的函数,具有广播作用——如果其中一个输入源的长度比较短,它的值会被重复。
GNU Parallel可以通过 --arg-sep 和 --arg-file-sep 指定分隔符替代 ::: 或 ::::,当这两个符号被其它命令占用的时候会特别有用。
GNU Parallel默认把一行做为一个参数:使用 \n 做为参数定界符。可以使用 -d 改变:
GNU Parallel支持通过 -E 参数指定一个值做为结束标志:
GNU Parallel使用 --no-run-if-empty 来跳过空行:
如果parallel之后没有给定命令,那么这些参数会被当做命令:
此外,命令还可以是一个脚本文件,一个二进制可执行文件或一个bash的函数(须用 export -f 导出函数)
GNU Parallel支持多种替换字符串,默认使用 {},使用 -I 改变替换字符串符号 {}。其最常见的字符串替换包括以下几种: {.} ,去掉扩展名; {/} ,去掉路径,只保留文件名; {//} ,只保留路径; {/.} ,同时去掉路径和扩展名; {#} ,输出任务编号。同时对于每一个字符串替换都可以自己指定符号: -I 对应 {} ; --extensionreplace 替换 {.} ; --basenamereplace 替换 {/} ; --dirnamereplace 替换 {//} ; --basenameextensionreplace 替换 {/.} ; --seqreplace 替换 {#} 。
同时,如果有多个输入源时,可以通过 {编号} 指定某一个输入源的参数:
使用 --header 把每一行输入中的第一个值做为参数名。
使用 --colsep 把文件中的行切分为列,做为输入参数。
--xargs 会在一行中输入尽可能多的参数(与参数字符串长度有关),通过 -s 可指定一行中参数的上限。
为了获得更好的并发性,GNU Parallel会在文件读取结束后再分发参数。
GNU Parallel 在读取完最后一个参数之后,才开始第二个任务,此时会把所有的参数平均分配到4个任务(如果指定了4个任务)。
第一个任务与上面使用 --xargs 的例子一样,但是第二个任务会被平均的分成4个任务,最终一共5个任务。(奇怪的是我的结果与官网教程的结果不一样)
替换字符串可以是输出字符的一部分,使用 -m 参数表示每个job不重复输出“背景”(context), -X 则与 -m 相反,会重复输出“背景文本”,具体通过下面几个例子进行理解:
使用 -N 限制每行参数的个数,其中 -N0 表示一次只读取一个参数,且不输入这个参数(作为计数器来使用)。
如果命令行中包含特殊字符,就需要使用引号保护起来。
perl脚本 'print "@ARGV\n"' 与linux的 echo 的功能一样。
使用GNU Parallel运行这条命令的时候,perl命令需要用引号包起来,也可以使用 -q 保护perl命令:
使用 --trim 去除参数两头的空格:
使用 --tag 以参数做为输出前缀,使用 --tagstring 修改输出前缀:
--dryrun 作用类似于echo:
--verbose 则在运行之前先打印命令:
一般来说,GNU Parallel 会延迟输出,直到一组命令执行完成。使用 --ungroup ,可立刻打印输出已完成部分。
使用 --ungroup 会很快,但会导致输出错乱,一个任务的行输出可能会被另一个任务的输出截断。像上例所示,第二行输出混合了两个任务: '4-middle' '2-start'。使用 --linebuffer 避免这个问题(稍慢一点):
强制使输出与参数保持顺序 --keep-order/-k :
GNU Parallel可以把每一个任务的输出保存到文件中,临时文件默认保存在 /tmp 中,可以使用 --tmpdir改变(或者修改 $TMPDIR):
输出文件可以有结构的保存 --results ,输出文件不仅包含标准输出(stdout)也会包含标准错误输出(stderr):
在使用多个变量的时候会显示很有用:
使用 --jobs/-j 指定并行任务数。
通过使用 --interactive 在一个任务执行之前让用户决定是否执行。
当job有大量的IO操作时,为避免 “惊群效应” ,可使用 --delay 参数指定各个job开始的时间间隔。
若已知任务超过一定时间未反应则为失败则可以通过 --timeout 指定等待时间避免无谓的等待。GNU parallel能计算所有任务运行时间的中位数,因此可以指定时间为中位数的倍数关系。
GNU parallel有多种方式可用来动态的显示任务进度信息,如:
使用 --joblog 参数能够生成各个任务的日志文件:
通过 --resume-failed 参数可以重新运行失败的任务; --retry-failed 的作用与 --resume-failed 类似,只是 --resume-failed 从命令行读取失败任务,而 --retry-failed 则是从日志文件中读取失败任务:
GNU parallel支持在某一情况下(如第一个失败或成功时,或者20%任务失败时)终止任务,终止任务又有两种类型,其一为立即终止(通过 --halt now 指定),杀死所有正在运行的任务并停止生成新的任务,其二为稍后终止(通过 --halt soon 指定),停止生成新任务并等待正在运行任务完成。
GNU parallel还支持在任务失败后重试运行 --retries :
关于终止信号的高级用法参考 官方入门文档 。
GNU parallel能够在开始一个新的任务前检查系统的负载情况防止过载(通过 --load 可指定负载),同时还能检查系统是否使用了交换空间(swap)(通过 --noswap 限制使用swap)。
同时,对于某些占用内存较多的程序,parallel会检查内存只有内存满足时才启动任务(通过 --memfree 指定需要内存大小),而且在启动任务后内存不够50%时会杀掉最新开始的任务,直到这个任务完成再重新开始那些杀死的任务。
还可以通过 --nice 来指定任务的优先级。
可使用 -S host 来进行远程登陆:
parallel -S username@$SERVER1 echo running on ::: username@$SERVER1
GNU parallel 文件传输使用的是rsync。
更多远程操作参见入门文档。
--pipe 参数使得我们可以将输入(stdin)分为多块(block),然后分配给多个任务多个cpu以达到负载均衡,最后的结果顺序与原始顺序一致。使用 --block 参数可以指定每块的大小,默认为1M。
如果不关心结果顺序,只想要快速的得到结果,可使用 --round-robin 参数。没有这个参数时每块文件都会启动一个命令,使用这个参数后会将这些文件块分配给job数任务(通过 --jobs 进行指定)。若想分配更为均匀还可同时指定 --block 参数。
参考:
官方文档
GNU Parallel指南
Autodock vina 和MGL tools linux版本操作(命令行操作)
蛋白质Edit——加polar H,加Kollman电荷后,Grid——Macromolecule——choose,自动保存pro1.pdbqt
配体 Ligand——Input——QuickSetup,自动保存.out.pdbqt
receptor = clusters_0001_model1.pdbqt
ligand = hypericin.out.pdbqt
center_x = 2.148 (第一个文件可以由Docking——output——Vina生成)
center_y = 3.704
center_z = -2.81
size_x = 74.55 (大于30*30*30,要增加exhaustiveness)
size_y = 74.55
size_z = 74.55
out = cluster1_hypericin_out.pdbqt
log = cluster1_hypericin_out.log
exhaustiveness=24(可以多少个CPU设置多少个,并行计算,exhaustiveness控制一个docking过程重复计算多少次,越高花时间越长,但也不要设置特别大,也没有意义,要在效率和准确度找一个平衡点)
num_modes=30 (不一定输出30个,可能只找到30构象,也有可能被energy_range限制 )
energy_range=6 (kcal/mol)
(柔性残基信息:flex=side_chains.pdbqt)
vina --config config1.txt
用pymol打开cluster1_hypericin_out.pdbqt看结果
以下为详细设置和操作:
1. 首先用MGLtools准备蛋白和小分子linux命令行并行的坐标文件(pdbqt)
蛋白质: 加氢(Add all hydrogens or just non-polar hydrogens. Merge non-polar hydrogens and their charges with their parent carbon atom)、计算电荷(Assign partial atomic charges to the ligand and the macromolecule (Gasteiger or Kollman United Atom charges))、添加原子类型、柔性残基信息
1. Edit——加polar H,merge nonpolar(自动)后 ,pdbqt中的原子数会改变,加H的时候,可能会重新编号
2.Edit——加Kollman United Atom charges电荷(只能加这个,还可以计算Gasteiger 电荷,其值更负),加电荷后,pdbqt中的电荷会改变
配体分子: 加氢、计算电荷、确定root(扭矩中心),选择可旋转的键 (Set up rotatable bonds in the ligand using a graphical version of AutoTors)。linux命令行并行我直接使用的quick setup。
Tips: H的位置是任意的,仅取决于输入文件;电荷AutoDock Vina ignores the user-supplied partial charges. It has its own way of dealing with the electrostatic interactions through the hydrophobic and the hydrogen bonding terms.
保存pdbqt文件:pro1.pdbqt,pro2.pdbqt,pro3.pdbqt,lig1.pdbqt,lig2.pdbqt,lig3.pdbqt
2. 写参数文件 config.txt
eg. config.txt
receptor = clusters_0001_model1.pdbqt
ligand = hypericin.out.pdbqt
center_x = 2.148
center_y = 3.704
center_z = -2.81
size_x = 74.55 (大于30*30*30,要增加exhaustiveness)
size_y = 74.55
size_z = 74.55
out = cluster1_hypericin_out.pdbqt
log = cluster1_hypericin_out.log
exhaustiveness=15
num_modes=30 (不一定输出30个,可能只找到30构象,也有可能被energy_range限制 )
energy_range=6
Details:
Input:
--receptor arg rigid part of the receptor (PDBQT)
--flex arg flexible side chains, if any (PDBQT)
--ligand arg ligand (PDBQT)
Search space (required): 搜索空间有效地限制linux命令行并行了包括柔性侧链在内的可移动原子的位置。
( How big should the search space be?
As small as possible, but not smaller. The smaller the search space, the easier it is for the docking algorithm to explore it. On the other hand, it will not explore ligand and flexible side chain atom positions outside the search space. You should probably avoid search spaces bigger than 30 x 30 x 30 Angstrom, unless you also increase "--exhaustiveness" .)
--center_x arg X coordinate of the center
--center_y arg Y coordinate of the center
--center_z arg Z coordinate of the center
--size_x arg size in the X dimension (Angstroms)
--size_y arg size in the Y dimension (Angstroms)
--size_z arg size in the Z dimension (Angstroms)
Output (optional):
--out arg output models (PDBQT), the default is chosen based on
the ligand file name
--log arg optionally, write log file
Misc (optional):
--cpu arg the number of CPUs to use (the default is to try to detect the number of CPUs or, failing that, use 1)
--seed arg explicit random seed
--exhaustiveness arg (=8) exhaustiveness of the global search (roughly proportional to time): 1+ //使用默认的(或任何给定的)穷尽性设置,用于搜索的时间已经根据原子的数量、flexibility等自发变化。通常情况下,花费额外的时间搜索来降低找不到评分函数的全局最小值的概率是没有意义的,这个概率远远低于该最小值远离本机构象的概率。然而,如果你觉得在exhaustiveness和时间之间的自动平衡是不够的,你可以提高exhaustiveness的数值。这将线性地增加时间,并降低不找到最小值的概率。
--num_modes arg (=9) maximum number of binding modes to generate //改成30
--energy_range arg (=3) maximum energy difference between the best binding //改成 8
mode and the worst one displayed (kcal/mol)
Configuration file (optional):
--config arg the above options can be put here
Information (optional):
--help display usage summary
--help_advanced display usage summary with advanced options
--version display program version
Output:
1. Energy
The predicted binding affinity is in kcal/mol.
2. RMSD
RMSD values are calculated relative to the best mode and use only movable heavy atoms. Two variants of RMSD metrics are provided, rmsd/lb (RMSD lower bound) and rmsd/ub (RMSD upper bound), differing in how the atoms are matched in the distance calculation:
rmsd/ub matches each atom in one conformation with itself in the other conformation, ignoring any symmetry
rmsd' matches each atom in one conformation with the closest atom of the same element type in the other conformation (rmsd' can not be used directly, because it is not symmetric)
rmsd/lb is defined as follows: rmsd/lb(c1, c2) = max(rmsd'(c1, c2), rmsd'(c2, c1))
3. Hydrogen positions
Vina uses a united-atom scoring function. As in AutoDock, polar hydrogens are needed in the input structures to correctly type heavy atoms as hydrogen bond donors. However, in Vina, the degrees of freedom that only move hydrogens, such as the hydroxyl group torsions, are degenerate. Therefore, in the output, some hydrogen atoms can be expected to be positioned randomly (but consistent with the covalent structure). For a united-atom treatment, this is essentially a cosmetic issue.
4. Separate models 用vina_split分割成多个pdbqt
All predicted binding modes, including the positions of the flexible side chains are placed into one multimodel PDBQT file specified by the "out" parameter or chosen by default, based on the ligand file name. If needed, this file can be split into individual models using a separate program called "vina_split" , included in the distribution.
注意:vina_split 的Windows版本要用cmd来实现,找到vina_split所在的目录,运行vina_split --input **.pdbqt
1. Why am I seeing a warning about the search space volume being over 27000 Angstrom^3?
This is probably because you intended to specify the search space sizes in "grid points" (0.375 Angstrom), as in AutoDock 4. The AutoDock Vina search space sizes are given in Angstroms instead. If you really intended to use an unusually large search space, you can ignore this warning, but note that the search algorithm's job may be harder. You may need to increase the value of the exhaustiveness to make up for it. This will lead to longer run time.
2. The bound conformation looks reasonable, except for the hydrogens. Why?
AutoDock Vina actually uses a united-atom scoring function, i.e. one that involves only the heavy atoms. Therefore, the positions of the hydrogens in the output are arbitrary. The hydrogens in the input file are used to decide which atoms can be hydrogen bond donors or acceptors though, so the correct protonation of the input structures is still important.
3. What does "exhaustiveness" really control, under the hood? (exhaustiveness为the number of runs,并行,可以设为cpu数,可以充分利用)
In the current implementation, the docking calculation consists of a number of independent runs, starting from random conformations. Each of these runs consists of a number of sequential steps. Each step involves a random perturbation of the conformation followed by a local optimization (using the Broyden-Fletcher-Goldfarb-Shanno algorithm ) and a selection in which the step is either accepted or not. Each local optimization involves many evaluations of the scoring function as well as its derivatives in the position-orientation-torsions coordinates. The number of evaluations in a local optimization is guided by convergence and other criteria. The number of steps in a run is determined heuristically, depending on the size and flexibility of the ligand and the flexible side chains. However, the number of runs is set by the exhaustiveness parameter. Since the individual runs are executed in parallel, where appropriate, exhaustiveness also limits the parallelism. Unlike in AutoDock 4, in AutoDock Vina, each run can produce several results: promising intermediate results are remembered. These are merged, refined, clustered and sorted automatically to produce the final result.
4. Why do I not get the correct bound conformation?
It can be any of a number of things:
If you are coming from AutoDock 4, a very common mistake is to specify the search space in "points" (0.375 Angstrom), instead of Angstroms.
Your ligand or receptor might not have been correctly protonated. (初始结构没有优化好)
Bad luck (the search algorithm could have found the correct conformation with good probability, but was simply unlucky). Try again with a different seed.
The minimum of the scoring function correponds to the correct conformation, but the search algorithm has trouble finding it. In this case, higher exhaustiveness or smaller search space should help. (搜索算法没有找到最优结构,可以增大exhaustiveness或减小search space)
The minimum of the scoring function simply is not where the correct conformation is. Trying over and over again will not help, but may occasionally give the right answer if two wrongs (inexact search and scoring) make a right. Docking is an approximate approach.
Related to the above, the culprit may also be the quality of the X-ray or NMR receptor structure.
If you are not doing redocking, i.e. using the correct induced fit shape of the receptor, perhaps the induced fit effects are large enough to affect the outcome of the docking experiment.(换受体结构)
The rings can only be rigid during docking. Perhaps they have the wrong conformation, affecting the outcome.
You are using a 2D (flat) ligand as input.
The actual bound conformation of the ligand may occasionally be different from what the X-ray or NMR structure shows.
Other problems
5. How can I tweak the scoring function?
You can change the weights easily, by specifying them in the configuration file, or in the command line. For example
vina --weight_hydrogen -1.2 ...
doubles the strenth of all hydrogen bonds.
我如何调整评分功能?
通过在配置文件或命令行中指定权重,可以轻松地更改权重。例如
vina—weight_hydrogen -1.2…
所有氢键强度的两倍。
Functionality that would allow the users to create new atom and pseudo-atom types, and specify their own interaction functions is planned for the future.
This should make it easier to adapt the scoring function to specific targets, model covalent docking and macro-cycle flexibility, experiment with new scoring functions, and, using pseudo-atoms, create directional interaction models.
6. Why don't I get as many binding modes as I specify with "--num_modes"?
This option specifies the maximum number of binding modes to output. The docking algorithm may find fewer "interesting" binding modes internally. The number of binding modes in the output is also limited by the "energy_range", which you may want to increase.
7. Why don't the results change when I change the partial charges?
AutoDock Vina ignores the user-supplied partial charges. It has its own way of dealing with the electrostatic interactions through the hydrophobic and the hydrogen bonding terms. See the original publication [*] for details of the scoring function.
8. How do I use flexible side chains?
You split the receptor into two parts: rigid and flexible, with the latter represented somewhat similarly to how the ligand is represented. See the section "Flexible Receptor PDBQT Files" of the AutoDock4.2 User Guide (page 14) for how to do this in AutoDock Tools. Then, you can issue this command: vina --config conf --receptor rigid.pdbqt --flex side_chains.pdbqt --ligand ligand.pdbqt . Also see this write-up on this subject.
Linux 命令大全
Linux运维人员必会的120个命令
来自《跟老男孩学Linux运维linux命令行并行:核心系统命令实战》一书
前言
第1章 Linux命令行简介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令帮助 / 4
1.3Linux shutdown reboot halt / 9
关机:
shutdown -h now
halt
init 0
第2章 文件和目录操作命令 / 13
2.1pwd:显示当前所在的位置 / 13
2.2cd:切换目录 / 16
2.3tree:以树形结构显示目录下的内容 / 18
2.4mkdir:创建目录 / 22
2.5touch:创建空文件或改变文件的时间戳属性 / 27
2.6ls:显示目录下的内容及相关属性信息 / 30
2.7cp:复制文件或目录 / 39
2.8mv:移动或重命名文件 / 42
2.9rm:删除文件或目录 / 45
2.10rmdir:删除空目录 / 48
2.11ln:硬链接与软链接 / 49
2.12readlink:查看符号链接文件的内容 / 54
2.13find:查找目录下的文件 / 55
2.14xargs:将标准输入转换成命令行参数 / 68
2.15rename:重命名文件 / 71
2.16basename:显示文件名或目录名 / 72
2.17dirname:显示文件或目录路径 / 72
2.18chattr:改变文件的扩展属性 / 73
2.19lsattr:查看文件扩展属性 / 75
2.20file:显示文件的类型 / 76
2.21md5sum:计算和校验文件的MD5值 / 77
2.22chown:改变文件或目录的用户和用户组 / 80
2.23chmod:改变文件或目录权限 / 81
2.24chgrp:更改文件用户组 / 85
2.25umask:显示或设置权限掩码 / 86
2.26老男孩从新手成为技术大牛的心法 / 90
第3章 文件过滤及内容编辑处理命令 / 91
3.1cat:合并文件或查看文件内容 / 91
3.2tac:反向显示文件内容 / 103
3.3more:分页显示文件内容 / 104
3.4less:分页显示文件内容 / 107
3.5head:显示文件内容头部 / 109
3.6tail:显示文件内容尾部 / 111
3.7tailf:跟踪日志文件 / 114
3.8cut:从文本中提取一段文字并输出 / 115
3.9split:分割文件 / 117
3.10paste:合并文件 / 118
3.11sort:文本排序 / 123
3.12join:按两个文件的相同字段合并 / 127
3.13uniq:去除重复行 / 129
3.14wc:统计文件的行数、单词数或字节数 / 131
3.15iconv:转换文件的编码格式 / 133
3.16dos2unix:将DOS格式文件转换成UNIX格式 / 134
3.17diff:比较两个文件的不同 / 135
3.18vimdiff:可视化比较工具 / 138
3.19rev:反向输出文件内容 / 139
3.20tr:替换或删除字符 / 140
3.21od:按不同进制显示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:纯文本编辑器 / 147
3.24老男孩逆袭思想:做Linux运维的多个好处 / 152
第4章 文本处理三剑客 / 153
4.1grep:文本过滤工具 / 153
4.2sed:字符流编辑器 / 159
4.3awk基础入门 / 165
第5章 Linux信息显示与搜索文件命令 / 176
5.1uname:显示系统信息 / 176
5.2hostname:显示或设置系统的主机名 / 178
5.3dmesg:系统启动异常诊断 / 179
5.4stat:显示文件或文件系统状态 / 181
5.5du:统计磁盘空间使用情况 / 183
5.6date:显示与设置系统时间 / 186
5.7echo:显示一行文本 / 190
5.8watch:监视命令执行情况 / 193
5.9which:显示命令的全路径 / 195
5.10whereis:显示命令及其相关文件全路径 / 196
5.11locate:快速定位文件路径 / 197
5.12updatedb:更新mlocate数据库 / 199
5.13老男孩逆袭思想:新手在工作中如何问问题不会被鄙视 / 200
第6章 文件备份与压缩命令 / 201
6.1tar:打包备份 / 201
6.2gzip:压缩或解压文件 / 208
6.3zip:打包和压缩文件 / 211
6.4unzip:解压zip文件 / 212
6.5scp:远程文件复制 / 214
6.6rsync:文件同步工具 / 216
6.7老男孩逆袭思想:新手如何高效地提问 / 220
第7章 Linux用户管理及用户信息查询命令 / 222
7.1 useradd:创建用户 / 222
7.2usermod:修改用户信息 / 227
7.3userdel:删除用户 / 229
7.4groupadd:创建新的用户组 / 230
7.5groupdel:删除用户组 / 231
7.6passwd:修改用户密码 / 232
7.7chage:修改用户密码有效期 / 237
7.8chpasswd:批量更新用户密码 / 238
7.9su:切换用户 / 240
7.10visudo:编辑sudoers文件 / 242
7.11sudo:以另一个用户身份执行命令 / 244
7.12id:显示用户与用户组的信息 / 248
7.13w:显示已登录用户信息 / 249
7.14who:显示已登录用户信息 / 250
7.15users:显示已登录用户 / 252
7.16whoami:显示当前登录的用户名 / 253
7.17last:显示用户登录列表 / 253
7.18lastb:显示用户登录失败的记录 / 254
7.19lastlog:显示所有用户的最近登录记录 / 255
第8章 Linux磁盘与文件系统管理命令 / 257
8.1fdisk:磁盘分区工具 / 257
8.2partprobe:更新内核的硬盘分区表信息 / 265
8.3tune2fs:调整ext2/ext3/ext4文件系统参数 / 266
8.4parted:磁盘分区工具 / 268
8.5mkfs:创建Linux文件系统 / 272
8.6dumpe2fs:导出ext2/ext3/ext4文件系统信息 / 274
8.7resize2fs:调整ext2/ext3/ext4文件系统大小 / 275
8.8fsck:检查并修复Linux文件系统 / 278
8.9dd:转换或复制文件 / 281
8.10mount:挂载文件系统 / 284
8.11umount:卸载文件系统 / 288
8.12df:报告文件系统磁盘空间的使用情况 / 289
8.13mkswap:创建交换分区 / 293
8.14swapon:激活交换分区 / 294
8.15swapoff:关闭交换分区 / 295
8.16sync:刷新文件系统缓冲区 / 296
第9章 Linux进程管理命令 / 298
9.1ps:查看进程 / 298
9.2pstree:显示进程状态树 / 305
9.3pgrep:查找匹配条件的进程 / 306
9.4kill:终止进程 / 307
9.5killall:通过进程名终止进程 / 310
9.6pkill:通过进程名终止进程 / 311
9.7top:实时显示系统中各个进程的资源占用状况 / 313
9.8nice:调整程序运行时的优先级 / 320
9.9renice:调整运行中的进程的优先级 / 323
9.10nohup:用户退出系统进程继续工作 / 324
9.11strace:跟踪进程的系统调用 / 325
9.12ltrace:跟踪进程调用库函数 / 332
9.13runlevel:输出当前运行级别 / 334
9.14init:初始化Linux进程 / 335
9.15service:管理系统服务 / 335
第10章 Linux网络管理命令 / 338
10.1ifconfig:配置或显示网络接口信息 / 338
10.2ifup:激活网络接口 / 343
ifup eth0
10.3ifdown:禁用网络接口 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整个网络linux命令行并行,所有网卡。
10.4route:显示或管理路由表 / 344
10.5arp:管理系统的arp缓存 / 350
10.6ip:网络配置工具 / 351
10.7netstat:查看网络状态 / 358
10.8ss:查看网络状态 / 362
10.9ping:测试主机之间网络的连通性 / 363
10.10traceroute:追踪数据传输路由状况 / 366
10.11arping:发送arp请求 / 367
10.12telnet:远程登录主机 / 369
10.13nc:多功能网络工具 / 370
10.14ssh:安全地远程登录主机 / 373
10.15wget:命令行下载工具 / 376
10.16mailq:显示邮件传输队列 / 379
10.17mail:发送和接收邮件 / 381
10.18nslookup:域名查询工具 / 386
10.19dig:域名查询工具 / 389
10.20host:域名查询工具 / 393
10.21nmap:网络探测工具和安全/端口扫描器 / 394
10.22tcpdump:监听网络流量 / 398
第11章 Linux系统管理命令 / 407
11.1lsof:查看进程打开的文件 / 407
11.2uptime:显示系统的运行时间及负载 / 411
11.3free:查看系统内存信息 / 411
11.4iftop:动态显示网络接口流量信息 / 413
11.5vmstat:虚拟内存统计 / 415
11.6mpstat:CPU信息统计 / 419
11.7iostat:I/O信息统计 / 420
11.8iotop:动态显示磁盘I/O统计信息 / 423
11.9sar:收集系统信息 / 425
11.10chkconfig:管理开机服务 / 430
11.11ntsysv:管理开机服务 / 433
11.12 setup:系统管理工具 / 434
11.13ethtool:查询网卡参数 / 436
11.14mii-tool:管理网络接口的状态 / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自动化RPM包管理工具 / 446
top命令
第12章 Linux系统常用内置命令 / 450
12.1Linux内置命令概述 / 450
12.2Linux内置命令简介 / 450
12.3Linux常用内置命令实例 / 452
关于linux命令行并行和linuxshell并行执行的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。