linux运维命令3
1、grep
逐行搜索所指定的文件或标准输入,并显示匹配模式的每一行。
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式]
[文件或目录...]
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!
2、diff
显示两文件的不同之处
diff filename1 filename2
· -a或--text diff预设只会逐行比较文本文件。
· -b或--ignore-space-change 不检查空格字符的不同。
- -B或--ignore-blank-lines 不检查空白行。
- -c 显示全部内文,并标出不同之处。
- -C<行数>或--context<行数> 与执行"-c-<行数>"指令相同。
- -d或--minimal 使用不同的演算法,以较小的单位来做比较。
- -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参数时,仅显示不同之处。
3、cmp
显示比较两文件不同处的信息
cmp [-clsv][-i <字符数目>][--help][第一个文件][第二个文件]
- -c或--print-chars 除了标明差异处的十进制字码之外,一并显示该字符所对应字符。
- -i<字符数目>或--ignore-initial=<字符数目> 指定一个数目。
- -l或--verbose 标示出所有不一样的地方。
- -s或--quiet或--silent 不显示错误信息。
- -v或--version 显示版本信息。
- --help 在线帮助。
4、comm
选择或拒绝比较两文件出现的共同行
comm [-123][--help][--version][第1个文件][第2个文件]
- -1 不显示只在第1个文件里出现过的列。
- -2 不显示只在第2个文件里出现过的列。
- -3 不显示只在第1和第2个文件里出现过的列。
- --help 在线帮助。
- --version 显示版本信息。
5、file
按文件内容来推测文件类型,如 text,ascii,C, executable,core。
file filename
6、dd
拷贝文件
dd if=inputfile of=outputfile ibs=1024 obs=1024
7、wc
统计文件中的文件行数、字数和字符数。(word characters)
wc [option] filename
-l 统计文件的行数
-w 统计文件的字数
-c 统计文件的字节数
-m 统计文件的字符数。
-L 打印最长行的长度
8、w
显示当前正在使用系统的用户名、注册时间和当前执行的命令。
-h 不显示起始行
-s 按短格式显示
-l 按长格式显示(缺省设置)
9、who
显示当前正在系统中的所有用户名字,使用终端设备号,注册时间
10、whoami
显示出当前终端上使用的用户
11、whereis
确定一个命令的二进制行码、源码及联机手册所在的位置
whereis command
12、which
查找非标准命令,即使用别名或系统中标准命令集之外的命令
which command
13、time
计算程序或命令在执行其间所用的时间。计算出的时间为:real 是命令在系统驻留的总时间,user 是命令消耗 CPU的时间,sys 是命令 I/O 所开销的时间。
time command
14、id
显示用户标识及用户所属的所有组。
id user
-a 显示用户名、用户标识及用户所属的所有组
15、hostid
显示主机的唯一标识,是被用来限时软件的使用权限,不可改变。
Linux下用hostid命令查找到的值是取hostname对应的ip地址。然后把ip地址转换成hex,然后将位置2与1,4与3位置颠倒后的结果
16、alias
用户可以将常用的命令用自己习惯的名称来重新命名。
alias newname name
17、at/batch
在制定的时间执行命令或命令文件。
at [-V] [-q x] [-f file] [-mldbv] time
-V : 印出版本编号
-q : 使用指定的伫列(Queue)来储存,at 的资料是存放在所谓的 queue 中,使用者可以同时使用多个 queue,而 queue 的编号为 a, b, c... z 以及 A, B, ... Z 共 52 个
-m : 即使程序/指令执行完成后没有输出结果, 也要寄封信给使用者
-f file : 读入预先写好的命令档。使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入网络应用
-l : 列出所有的指定 (使用者也可以直接使用 atq 而不用
at -l)
-d : 删除指定 (使用者也可以直接使用 atrm 而不用 at -d)
-v : 列出所有已经完成但尚未删除的指定
时间:
Minute at now
+ 5 minutes 任务在5分钟后运行
Hour at now + 1 hour 任务在1小时后运行
Days at now + 3 days 任务在3天后运行
Weeks at now + 2 weeks 任务在两周后运行
Fixed at midnight 任务在午夜运行
Fixed at 10:30pm 任务在晚上10点30分
Fixed at 23:59 12/31/2018 任务在2018年12月31号23点59分
18、tee
将执行结果输出到标准输出的同时复制至文件
command | tee filename1 filename2 ……
-a 默认第二次输出到文件覆盖前一次输出,这个选项将输出到文件改为追加
-i 忽略中断
19、nice
以低的优先级运行程序或命令
nice [-n] command
-n 为优先级 0-20 从高到低
20、jobs
查看后台运行的进程
jobs
-l 长列表显示作业状态,包括所有者、作业号、终端和状态
21、fg
将指定作业号的作业转入前台运行
fg jobnumber
22、bg或&或ctrl+Z
将指定作业号的作业或命令推到后台运行。
bg jobnumber