运维工程师必会的109个Linux命令.docx
《运维工程师必会的109个Linux命令.docx》由会员分享,可在线阅读,更多相关《运维工程师必会的109个Linux命令.docx(113页珍藏版)》请在冰豆网上搜索。
运维工程师必会的109个Linux命令
运维工程师必会的109个Linux命令
版本1.0
崔存新
更新于2009-12-26
1文件管理
1.1basename
1.1.1功能说明
从文件名中去掉路径和扩展名
例:
basenameinclude/stdio.h.h
Output"stdio".
1.1.2选项
--help显示此帮助信息并离开
--version显示版本信息并离开
1.2cat
1.2.1功能说明
把档案串连接后传到基本输出(屏幕或加>filename到另一个档案)
1.2.2语 法
cat[-AbeEnstTuv][--help][--version]filename
1.2.3参数
-n或--number由1开始对所有输出的行数编号
-b或--number-nonblank和-n相似,只不过对于空白行不编号
-s或--squeeze-blank当遇到有连续两行以上的空白行,就代换为一行的空白行
-v或--show-nonprinting
范例:
cat-ntextfile1>textfile2把textfile1的档案内容加上行号后输入textfile2这个档案里
cat-btextfile1textfile2>>textfile3把textfile1和textfile2的档案内容加上行号(空白行不加)之后将内容附加到textfile3里。
1.3cd
1.3.1功能说明
切换目录。
1.3.2语法
cd [目的目录]
1.3.3补充说明
cd指令可让用户在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录。
1.4chgrp
1.4.1功能说明
变更文件或目录的所属群组。
语法:
chgrp [-cfhRv][--help][--version][所属群组][文件或目录...]
或 chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]
1.4.2补充说明
在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。
您可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。
1.4.3参数
-c或--changes 效果类似"-v"参数,但仅回报更改的部分。
-f或--quiet或--silent 不显示错误信息。
-h或--no-dereference 只对符号连接的文件作修改,而不更动其他任何相关文件。
-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或--verbose 显示指令执行过程。
--help 在线帮助。
--reference=<参考文件或目录> 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
--version 显示版本信息。
1.5chmod
1.5.1功能说明
变更文件或目录的权限。
语法:
chmod [-cfRv][--help][--version][<权限范围>+/-/=<权限设置...>][文件或目录...]
或 chmod [-cfRv][--help][--version][数字代号][文件或目录...]
或 chmod [-cfRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]
1.5.2补充说明
在UNIX系统家族里,文件或目录权限的控制分别以读取,写入,执行3种一般权限来区分,另有3种特殊权限可供运用,再搭配拥有者与所属群组管理权限范围。
您可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。
符号连接的权限无法变更,如果您对符号连接修改权限,其改变会作用在被连接的原始文件。
权限范围的表示法如下:
u:
User,即文件或目录的拥有者。
g:
Group,即文件或目录的所属群组。
o:
Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a:
All,即全部的用户,包含拥有者,所属群组以及其他用户。
有关权限代号的部分,列表于下:
r:
读取权限,数字代号为"4"。
w:
写入权限,数字代号为"2"。
x:
执行或切换权限,数字代号为"1"。
-:
不具任何权限,数字代号为"0"。
1.5.3参数
-c或--changes 效果类似"-v"参数,但仅回报更改的部分。
-f或--quiet或--silent 不显示错误信息。
-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或--verbose 显示指令执行过程。
--help 在线帮助。
--reference=<参考文件或目录> 把指定文件或目录的权限全部设成和参考文件或目录的权限相同
--version 显示版本信息。
<权限范围>+<权限设置> 开启权限范围的文件或目录的该项权限设置。
<权限范围>-<权限设置> 关闭权限范围的文件或目录的该项权限设置。
<权限范围>=<权限设置> 指定权限范围的文件或目录的该项权限设置。
1.6chown
1.6.1功能说明
变更文件或目录的拥有者或所属群组。
1.6.2语法
chown [-cfhRv][--dereference][--help][--version][拥有者.<所属群组>][文件或目录..]
或chown [-chfRv][--dereference][--help][--version][.所属群组][文件或目录... ...]
或chown [-cfhRv][--dereference][--help][--reference=<参考文件或目录>][--version][文件或目录...]
1.6.3补充说明
在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。
您可以使用chown指令去变更文件与目录的拥有者或所属群组,设置方式采用用户名称或用户识别码皆可,设置群组则用群组名称或群组识别码。
1.6.4参数
-c或--changes 效果类似"-v"参数,但仅回报更改的部分。
-f或--quite或--silent 不显示错误信息。
-h或--no-dereference 之对符号连接的文件作修改,而不更动其他任何相关文件。
-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或--version 显示指令执行过程。
--dereference 效果和"-h"参数相同。
--help 在线帮助。
--reference=<参考文件或目录> 把指定文件或目录的拥有者与所属群组全部设成和参考文件或目 录的拥有者与所属群组相同。
--version 显示版本信息。
1.7comm
1.7.1功能说明
比较两个已排过序的文件。
1.7.2语法
comm [-123][--help][--version][第1个文件][第2个文件]
1.7.3补充说明
这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成3行显示:
第1行仅是在第1个文件中出现过的列,第2行是仅在第2个文件中出现过的列,第3行则是在第1与第2个文件里都出现过的列。
若给予的文件名称为"-",则comm指令会从标准输入设备读取数据。
1.7.4参数
-1 不显示只在第1个文件里出现过的列。
-2 不显示只在第2个文件里出现过的列。
-3 不显示只在第1和第2个文件里出现过的列。
--help 在线帮助。
--version 显示版本信息。
1.8cp
1.8.1功能说明
复制文件或目录。
1.8.2语法
cp [-abdfilpPrRsuvx][-S <备份字尾字符串>][-V <备份方式>][--help][--spares=<使用时机>][--version][源文件或目录][目标文件或目录] [目的目录]
1.8.3补充说明
cp指令用在复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。
若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息。
1.8.4参数
-a或--archive 此参数的效果和同时指定"-dpR"参数相同。
-b或--backup 删除,覆盖目标文件之前的备份,备份文件会在字尾加上一个备份字符串。
-d或--no-dereference 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录。
-f或--force 强行复制文件或目录,不论目标文件或目录是否已存在。
-i或--interactive 覆盖既有文件之前先询问用户。
-l或--link 对源文件建立硬连接,而非复制文件。
-p或--preserve 保留源文件或目录的属性。
-P或--parents 保留源文件或目录的路径。
-r 递归处理,将指定目录下的文件与子目录一并处理。
-R或--recursive 递归处理,将指定目录下的所有文件与子目录一并处理。
-s或--symbolic-link 对源文件建立符号连接,而非复制文件。
-S<备份字尾字符串>或--suffix=<备份字尾字符串> 用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的备份字尾字符串是符号"~"。
-u或--update 使用这项参数后只会在源文件的更改时间较目标文件更新时或是 名称相互对应的目标文件并不存在,才复制文件。
-v或--verbose 显示指令执行过程。
-V<备份方式>或--version-control=<备份方式> 用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这字符串不仅可用"-S"参数变更,当使用"-V"参数指定不同备份方式时,也会产生不同字尾的备份字串。
-x或--one-file-system 复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不予复制。
--help 在线帮助。
--sparse=<使用时机> 设置保存稀疏文件的时机。
--version 显示版本信息。
1.9cut
1.9.1功能说明
显示每行从开头算起num1到num2的文字。
1.9.2语法
cut-cnum1-num2filename
1.9.3举例
shell>>catexample
test2
thisistest1
shell>>cut-c0-6example ##print开头算起前6个字元
test2
thisi
1.10dd
1.10.1功能说明
读取,转换并输出数据。
1.10.2语法
dd [bs=<字节数>][cbs=<字节数>][conv=<关键字>][count=<区块数>][ibs=<字节数>][if=<文件>][obs=<字节数>][of=<文件>][seek=<区块数>][skip=<区块数>][--help][--version]
1.10.3补充说明
dd可从标准输入或文件读取数据,依指定的格式来转换数据,再输出到文件,设备或标准输出。
1.10.4参数
bs=<字节数> 将ibs( 输入)与obs(输出)设成指定的字节数。
cbs=<字节数> 转换时,每次只转换指定的字节数。
conv=<关键字> 指定文件转换的方式。
count=<区块数> 仅读取指定的区块数。
ibs=<字节数> 每次读取的字节数。
if=<文件> 从文件读取。
obs=<字节数> 每次输出的字节数。
of=<文件> 输出到文件。
seek=<区块数> 一开始输出时,跳过指定的区块数。
skip=<区块数> 一开始读取时,跳过指定的区块数。
--help 帮助。
--version 显示版本信息。
1.11diff
1.11.1功能说明
比较文件的差异。
1.11.2语法
diff [-abBcdefHilnNpPqrstTuvwy][-<行数>][-C <行数>][-D <巨集名称>][-I <字符或字符串>][-S <文件>][-W <宽度>][-x <文件或目录>][-X <文件>][--help][--left-column][--suppress-common-line][文件或目录1][文件或目录2]
1.11.3补充说明
diff以逐行的方式,比较文本文件的异同处。
所是指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。
1.11.4参数
-<行数> 指定要显示多少行的文本。
此参数必须与-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参数时,仅显示不同之处。
1.12dir
1.12.1功能说明
列出<文件>的信息(默认为目前的目录)。
1.12.2语法
dir[选项]...[文件]...
1.12.3参数
如果不指定-cftuSUX或--sort任何一个选项,则根据字母大小排序。
-a,--a--ll不隐藏任何以.字符开始的项目
-A,--almost-all列出除了.及..以外的任何项目
--author印出每个文件著作者
-b,--escape以八进制溢出序列表示不可打印的字符
--block-size=大小块以指定<大小>的字节为单位
-B,--ignore-backups不列出任何以~字符结束的项目
-c配合-lt:
根据ctime排序及显示ctime(文件
状态最后更改的时间)
配合-l:
显示ctime但根据名称排序
否则:
根据ctime排序
-C按列列举。
-f不进行排序,-aU选项生效,-lst选项失效
-F,--classify加上文件类型的指示符号(*/=@|其中一个)
-i,--inode印出每个文件的inode号
-I,--ignore=样式不印出任何符合shell万用字符<样式>的项目
-k即--block-size=1K
-l使用较长格式列出信息
-L,--dereference当显示符号链接的文件信息时,显示符号链接所指示
的对象而并非符号链接本身的信息
-m所有项目以逗号分隔,并填满整行行宽
-n,--numeric-uid-gid类似-l,但列出UID及GID号
-N,--literal印出未经处理的项目名称(例如不特别处理控制字符)
-o类似-l,但不列出有关组的信息
-p,--file-type加上文件类型的指示符号(/=@|其中一个)
-q,--hide-control-chars以?
字符代替无法打印的字符
--show-control-chars直接显示无法打印的字符(这是默认方式,除非调用
的程序名称是‘ls’而且是在终端机画面输出结果)
-Q,--quote-name将项目名称括上双引号
--quoting-style=方式使用指定的quoting<方式>显示项目的名称:
literal、locale、shell、shell-always、c、escape
-r,--reverse依相反次序排列
-R,--recursive同时列出所有子目录层
-s,--size以块大小为单位列出所有文件的大小
-S按文件大小排序。
-t按修改时间排序
-u配合-lt:
显示访问时间而且依访问时间排序
配合-l:
显示访问时间但根据名称排序
否则:
根据访问时间排序
-U不进行排序;依文件系统原有的次序列出项目
-v根据版本进行排序
-w,--width=COLS自行指定萤幕宽度而不使用目前的数值
-x逐行列出项目而不是逐栏列出
-X根据扩展名排序
-1每行只列出一个文件
--help显示此帮助信息并离开
--version显示版本信息并离开
1.13dos2unix
1.13.1功能说明
将一个DOS格式的文件转换为UNIX格式的文件。
主要差别在换行符。
语法:
dos2unix[-hkqV][-cconvmode][-ofile...][-ninfileoutfile...]
参数:
-h--help帮助
-k--keepdate保留文件输出日期
-q--quiet安静模式,屏蔽所有警告。
-V--version显示版本。
-c--convmode转换模式,可以是ASCII,7bit,ISO,Mac,默认为ASCII
-l--newline增加一行。
-o--oldfile写到原始文件中
file...转换为旧文件的模式
-n--newfile写入新文件
infile输入文件名
outfile输出文件名
1.14egrep
1.14.1功能说明
在文件内查找指定的字符串。
egrep执行效果如grep -E,使用的语法及参数可参照grep指令,与grep不同点在于解读字符串的方法,egrep是用extended regular expression语法来解读,而grep则用basic regular expression语法,extended regular expression比basic regular expression有更完整的表达规范。
1.15fgrep
1.15.1功能说明
查找文件里符合条件的字符串。
本指令相当于执行grep指令加上参数"-F",详见grep指令说明。
1.15.2语法
fgrep [范本样式][文件或目录...]
1.16file
1.16.1功能说明
辨识文件类型。
1.16.2语法
file [-beLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
1.16.3补充说明
通过file指令,我们得以辨识该文件的类型。
1.16.4参数
-b 列出辨识结果时,不显示文件名称。
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-f<名称文件> 指定名称文件,其内容有一个或多个文件名称呢感,让file依序辨识这些文件,格式为每列一个文件名称。
-L 直接显示符号连接所指向的文件的类别。
-m<魔法数字文件> 指定魔法数字文件。
-v 显示版本信息。
-z 尝试去解读压缩文件的内容。
1.17find
1.17.1功能说明
查找文件或目录。
1.17.2语法
find [目录...][-amin <分钟>][-anewer <参考文件或目录>][-atime <24小时数>][-cmin <分钟>]
[-cnewer <参考文