快乐学习
前程无忧、中华英才非你莫属!

Linux操作精品发布第二篇

一、关机和重启、用户操作
1、poweroff
关闭Linux系统,关闭记录会被 写入/var/log/wtmp。 poweroff命令用来关闭计算机操作系统并且切断系统电源
2、shutdown +5 "System will shutdown after 5 minutes"
可有关闭所有程序,并依用户的需要,进行重新开机或关机的动作。
指定5分钟后关机,同时送出警告信息给登入用户。
3、shutdown -h now
立即关机
4、shutdown  -r  now “system will be reboot now”
系统立马将会重启,并发出警告信息
5、shutdown -r  01:38
定时在1点38分的时候重新启动计算机
6、halt -p
halt命令用来关闭正在运行的Linux操作系统。-p 是关闭系统后切段电源。
7、halt -d
关闭系统之后,不留记录。
8、reboot  -w
重启命令,加-w选项是只写记录,模拟重启。
9、useradd  zhangsan
创建用户zhangsan
10、useradd -u  510 moon
创建用户moon,并设置该用户UID为510
11、useradd -d  /home/www  newuser
创建newuser用户,并设置该用户主目录为 www、
12、useradd -g root pp
创建用户pp  并指定组群是root。
13、useadd  -s  /bin/ksh  abc
创建用户abc,并设置该用户的Shell 类型为KSH
14、usermod -d /home/kkk  zhangsan
       mkdir  /home/kkk
修改zhangsan 的主目录为kkk. 并手动创建kkk目录.必须使用mkdir创建kkk,要不然不生效。
15、username -d   /home/vivo  -m  zhangsan
这个比14好很多,指定m选项,可以自动创建vivo目录。
16、usermod -l  ztloo  wangwu
把wangwu 的登录名为ztloo
17、usermod -c 张三 zhagnsan
修改用户zhangsan的用户名全程为张三
18、usermod -f  20  zhangsan
修改zhangsan 的用户密码在20天就禁用此账户
19、usermod -g root zhangsan
修改zhangsan所属的主要组群为root
20、usermod -L  zhangsan
锁住zhangsan的用户,让登陆密码无效
21、usermod -U  zhangsan
解锁zhangsan用户,让登陆密码有效。
22、usermod -e  12/12/2018 zhangsan
让zhangsan这个账户过期日期是2018年12月12日。
23、usermod -s  /bin/ksh  zhangsan
修改zhangsan的shell类型。
24、userdel  lisi
删除用户李四
25、usedel -r moon
删除用户moon  并且一起删除此用户的主目录。
26、groupadd china
创建组群 china
27、groupadd  -g 800 ou
创建组群ou 并设置GID为800
28、groupadd -r chinese
创建系统组群 chinese。
29、groupdel    riben
删除群组 riben
30、passwd it
设置用户it的密码
31、passwd
设置当前用户的密码。
32、gpasswd -a it kk
把用户it添加到kk组群中。
33、gpasswd -d it kk
从kk组群中删除用户it。
poweroff 选项
-- halt停止机器
-p --poweroff关闭机器
-- reboot重启机器
-f --force强制立即停止/关闭电源/重启
-w --wtmp-only不要暂停/关闭/重启,只需写入wtmp记录
-d --no-wtmp不写wtmp记录
--no-wall在暂停/关机/重启之前不要发送留言信息

 
二、文本编辑器
centos 7 默认是vi,如果没有安装需要 yum -y install vim
1、vi  /root/install.log
 编辑install.log文件
2、vi +2  /root/install.log
 从第二行开始编辑此文件
VI选项
  用法: vim [参数] [文件 ..]       编辑指定的文件
  或: vim [参数] -               从标准输入(stdin)读取文本
  或: vim [参数] -t tag          编辑 tag 定义处的文件
  或: vim [参数] -q [errorfile]  编辑第一个出错处的文件
   --                   在这以后只有文件名
   -v                   Vi 模式 (同 "vi")
   -e                   Ex 模式 (同 "ex")
   -E                   Improved Ex mode
   -s                   安静(批处理)模式 (只能与 "ex" 一起使用)
   -d                   Diff 模式 (同 "vimdiff")
   -y                   容易模式 (同 "evim",无模式)
   -R                   只读模式 (同 "view")
   -Z                   限制模式 (同 "rvim")
   -m                   不可修改(写入文件)
   -M                   文本不可修改
   -b                   二进制模式
   -l                   Lisp 模式
   -C                   兼容传统的 Vi: 'compatible'
   -N                   不完全兼容传统的 Vi: 'nocompatible'
   -V[N][fname]         Be verbose [level N] [log messages to fname]
   -D                   调试模式
   -n                   不使用交换文件,只使用内存
   -r                   列出交换文件并退出
   -r (跟文件名)                恢复崩溃的会话
   -L                   同 -r
   -A                   以 Arabic 模式启动
   -H                   以 Hebrew 模式启动
   -F                   以 Farsi 模式启动
   -T <terminal>        设定终端类型为 <terminal>
   -u <vimrc>           使用 <vimrc> 替代任何 .vimrc
   --noplugin           不加载 plugin 脚本
   -P[N]                打开 N 个标签页 (默认值: 每个文件一个)
   -o[N]                打开 N 个窗口 (默认值: 每个文件一个)
   -O[N]                同 -o 但垂直分割
   +                    启动后跳到文件末尾
   +<lnum>              启动后跳到第 <lnum> 行
   --cmd <command>      加载任何 vimrc 文件前执行 <command>
   -c <command>         加载第一个文件后执行 <command>
   -S <session>         加载第一个文件后执行文件 <session>
   -s <scriptin>        从文件 <scriptin> 读入正常模式的命令
   -w <scriptout>       将所有输入的命令追加到文件 <scriptout>
   -W <scriptout>       将所有输入的命令写入到文件 <scriptout>
   -x                   编辑加密的文件
   --startuptime <file> Write startup timing messages to <file>
   -i <viminfo>         使用 <viminfo> 取代 .viminfo
   -h  或  --help       打印帮助(本信息)并退出
   --version            打印版本信息并退出
VI命令行模式操作
Ctrl+u:向文件首翻半屏;
Ctrl+d:向文件尾翻半屏;
Ctrl+f:向文件尾翻一屏;
Ctrl+b:向文件首翻一屏;
Esc:从编辑模式切换到命令模式;
ZZ:命令模式下保存当前文件所做的修改后退出vi;
:行号:光标跳转到指定行的行首;
:$:光标跳转到最后一行的行首;
x或X:删除一个字符,x删除光标后的,而X删除光标前的;
D:删除从当前光标到光标所在行尾的全部字符;
dd:删除光标行正行内容;
ndd:删除当前行及其后n-1行;
nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;
p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
/字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作;
a:在当前字符后添加文本;
A:在行末添加文本;
i:在当前字符前插入文本;
I:在行首插入文本;
o:在当前行后面插入一空行;
O:在当前行前面插入一空行;
:wq:在命令模式下,执行存盘退出操作;
:w:在命令模式下,执行存盘操作;
:w!:在命令模式下,执行强制存盘操作;
:q:在命令模式下,执行退出vi操作;
:q!:在命令模式下,执行强制退出vi操作;
:e文件名:在命令模式下,打开并编辑指定名称的文件;
:n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
:f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
:set number:在命令模式下,用于在最左端显示行号;
:set nonumber:在命令模式下,用于在最左端不显示行号;

三、增强版目录和文件、系统进程、网络、监控操作
1、tmpwatch -afv 3 /tmp
安装 yum install tmpwatch -y
删除/tmp 文件夹3天内没有被访问的文件
2、file /boot/*
查看boot目录下所有文件的文件类型
3、file -L /var/mail
显示符号链接的文件类型
4、file -b install.log
不显示文件名称
5、du -sh /root
已MB为单位显示root目录磁盘占用量
6、tac /root/pu
从最后一行开始显示pu文件内容,是cat显示的倒排序
7、tac -s R /root/pu
使用选项s,指定R为分隔符,显示pu文件。
8、rev /root/pu
把一行字符的顺序颠倒过来显示文件内容
9、fold -w 5 hello2
指定hello2文件的宽度为5
10、sed -n -e 9991,10010p /usr/share/dict/words | fmt -w 30
对字典的9991,10010行之间的内容,进行宽度为30进行格式化输出,
11、expand  /root/install.log
将/root/install.log文件中的制表符转换为空格
12、 pr -2 -h "My report" file.txt
用户还可以使用pr命令将文本分列打印
13、uniq -d file3
只输出file3文件中重复的行
14、uniq -u  file3
输出不重复的行
15、uniq -c  file3
显示file3文件中每行连续出现的次数。
16、diff file1 file2 -y -W 50
以并排格式输出比较File 和File2的文件不同之处
17、diff  dir1 dir2
比较dir1 和dir2 目录的不同。
18、join  /root/a1  /root/a2
针对a1 和a2 每行具有相同内容的输入行,整合为一行写到标准输出。
19、diff3 /root/a /root/b /root/c
 按行比较a,b,c三个文件。
20、cmp  /root/a /root/b
按字节比较两个文件,如果文件相同,则不显示消息。如果文件不同,则显示第一个不同的位置
21、colrm 3 < hello2
colrm [起始列] [结束列]  ,从文件中删除第三列到他之后的字符删除,然后输出。
22、paste /root/ab  /root/ac
合并ab,和ac的每一行,例如ab 里面的第一行为 a , ac文件里面是 b. 合成一行: a   b
23、paste  -d @ /root/ab  /root/ac
在上述合并的基础上,把合并的一行,把中间的制表符换成@:  a@b
24、csplit hello2  60
对hello2 拆分成两个文件xx00、xx01  xx00里面是前60行,xx01里面是剩下的行数
25、csplit  /root/install.log  10 100  1000
将install.log 文件拆分成三个文件,第一个文件包含1到9行数据,第二个文件10到99行,第三个文件100到999行数据
26、unexpand  /root/install.log
将此log文件的空格字符转换成制表符。
27、unexpand -t  4  /root/install.log
已制表符宽度为4,将此log文件中的空格字符转换成制表符。
28、diff -ruN /root/a1 /root/a2 > /root/a.diff
       patch -pl < /root/a.diff
yum -y install patch
比较a1 和 a2 文件夹的不同,生成差异文件/root/a.diff.利用diff文件,就以a1文件的内容更新a2文件。
29、whereis mysql
查找包含mysql的所有路径
30、which  mysql
查找包含mysql可以执行的命令。
31、look  ztloo
显示已ztloo开头的文件中的所有行
32、cal
显示本月的月历
33、cal -3
显示系统前一个月,当前月和下一个月的日历。
34、cal 2001
显示公元2001 年
35、cal 9 2008
显示公元2008年九月的日历
36、date 0202191428
设置计算机时间为2028年02月02日
37、 date -s 09:16:00
设置计算机时间为上午9点十六分
38、date -s  240414
设置计算机日期为2024年4月14日
39、 hwclock -s
以硬件时间(bios时间)更新系统时间,
40、hwclock -w
以系统时间更新硬件时间。
41、clock
查看硬件时钟
42、clockdiff 192.168.1.2
测试与主机192.168.1.2 之间的时间差
43、rdate   192.168.1.2
yum install rdate
通过主机 192.168.1.2 获取时间。
44、tar cvf testA.tar /usr/local/testA
把 testA目录压缩成testA.tar 到当前目录。如也可以指定到压缩到
其他目
45、tar cvf /usr/testA.tar /usr/local/testA
把 testA目录压缩成testA.tar 到usr 目录下。
46、tar tvf  /usr/testA.tar
查看压缩文件里testA.tar的内容
47、tar xvf  /usr/testA.tar
解压testA.tar
48、tar rvf /usr/testA.tar /usr/local/tr.txt
把tr.txt 加入到testA.tar的压缩包中。
49、tar uvf /usr/testA.tar /usr/local/tr.txt
更新tr.txt 到testA.tar的压缩包中
50、tar zxvf /usr/testA.tar.gz -C /root/www
将压缩文件解压缩到root的www目录下。
51、tar zcvf /usr/testA.tar.gz  /usr/local/testA
把 testA目录压缩成testA.tar.gz 到usr 目录下。
52、tar ztvf /usr/testA.tar.gz
查看压缩文件里testA.tar.gz的内容
53、ps -e
显示所有进程
54、ps -aux
显示不带控制台终端的进程,并显示用户名和 进程的起始时间
55、ps -ef | grep crond
查看crond进程是否在运行
56、ps
显示当前系统进程
57、ps -u
在显示进程的时候显示用户名和进程的起始时间
58、ps -u root
显示root用户的进程
59、ps -t tty1
显示tty1 终端下的进程
60、ps -p 1779
显示进程号为1779的进程  ,进程号(pid)
61、top
动态显示进程信息
62、top -p 1779
只显示进程号为1779的进程
63、top -u root
只显示root用户的进程
64、pgrep crond
查看crond进程的pid(进程号)。
65、pgrep -lu postfix
查看postfix用户的进程号和进程名。
66、pidof sshd
显示sshd的进程号。
67、pstree -p
查看进程数,并显示出进程号。
68、kill  -3 649
通过pidof crond 获取进程号649,然后kill -3 让这个进程正常退出
69、kill -9 649
强制杀死crond这个进程。
70、killall crond
杀死crond这个进程。
71、killall -9  crond
强制杀死crond 这个进程。
72、killall -u  zhangsan
仅杀死用户zhangsan的进程。
73、pkill -u  gdm
杀死gdm用户的进程。
74、timeout 5s  find /  -name a
在5秒后仍在运行这个进程,则杀死该进程。
75、wait 649
等待指定的进程 649
76、fuser /etc/passwd
显示使用passwd文件的本地进程号
77、fuser  -u /etc/passwd
显示使用passwd文件的本地进程号和当前用户名
78、nice -n  1 find / -name a*&
将find / -name a*& 命令以优先级1运行。优先级 -20 ~19 数值越小优先级越高。默认是0
79、renice -n 5 -p 7436
将PID为7436进程的优先级设在为5.
80、renice  5 -u  postfix
更改postfix 用户所有进程的优先级为5.
81、losf -i:3306
显示端口号3306的进程
82、losf -a -u  root -i
查找用户root的所有网络连接
83、losf -c httpd
查找以httpd开头的进程打开的所有文件
84、losf -d  2
列出所有以描述符2打开的文件
85、lsof -i tcp
列出所有TCP连。
86、lsof -g 0
列出所有对应组群GID为0的进程
87、lsof -p 1
列出所有由PID为1对应的进程打开的文件,
88、lsof -u root
列出用户root打开的所有文件
89、lsof testA.txt
列出打开这个文件的进程。
90、lsof +D /usr/lib
递归查找lib目录中所有打开的文件。
91、lsof  -r 1
循坏列出文件,每秒钟重复显示一次。
92、crontab -e
编辑当前用户的定时任务
93、crontab -u zhangsan  -l
在root用户下列出普通用户张三的定时任务
94、crontab -l >/home/zhangsan/dbcron
备份任务计划
95、crontab -u zhangsan -r
在root用户下删除zhangsan 用户下的定时的任务
96、crontab -r
在普通用户下删除crontab
97、crontab /home/zhangsan/dbcron
登陆zhangsan 账户利用上面94的定时任务备份来恢复定时计划。
98、nproc
显示当前进程可用的CPU数目。
99、sar -A
性能监控:yum install sysstat
显示所有报告的总和
100、sar -u 2 5
对cpu使用情况,进行监控。每2分钟采样一次,连续采样5次。
101、sar -v 10 3
监控inode ,文件和其他内核表的状态,每10秒采集一次,连续采集3次
102、sar -r  10 3
监控内存使用情况,每10秒采集一次,共采集3次。
103、sar -b 10 3
监控io传输速率 ,每10秒采集一次,共采集3次。
104、iostat
显示CPU和磁盘利用率报告
105、iostat -d sda1
显示磁盘sda1的利用率
106、iostat -t
显示CPU和磁盘利用率报告 ,并列出每一个报告的显示的时间。
107、traceroute www.baidu.com
跟踪本地计算机到百度网站的路径
108、mii-tool  -v  ens33
显示ens33名字的网卡的详细信息
109、mii-tool  -F  100baseTx-HD  ens33
设置此网卡在100M半双工模式下。
110、mii-tool  -r  ens33
恢复网卡到自适应。
111、ifconfig ens33 192.168.1.107 netmask 255.255.255.0 up
配置网卡地址,同事激活该设备
112、ifconfig enss hw ether 00:0C:29:12:18:2E
更改硬件Mac地址。
113、netstat -i
显示网络接口状态信息
114、netstat -r
显示内核路由表信息
115、netstat -antu | grep 3306
显示端口号3306的链接情况
116、ping -s 128  192.168.1.106
每次发送ICMP数据包大小为128字节,测试与106的连通性
117、ping -c 4  192.168.1.106
发送4个ICMP数据包给106 ,测试连通性。
118、tcpdump  -w /root/dumpfile
将捕获的数据包写入dumpfile文件中。
119、ntpdate 192.168.0.2
通过NTP服务器 192.168.0.2,设置日期和时间,
tmpwatch
 u, --atime     根据文件的 atime (访问时间) 来决定删除文件。这是默认值。
                请注意, 周期性的 updatedb 文件系统扫描会保持 atime 最近的目录
-m, --mtime     据文件的 mtime (修改时间) 而不是 atime, 做出删除文件的决定。
-c, --ctime     根据文件的 ctime (inode 更改时间) 而不是 atime, 做出删除文件的决定;对于目录
                根据 mtime 进行决策。
-M, --dirmtime  根据目录的 mtime (修改时间) 来决定删除目录, 而不是 atime;完全忽略目录的 atime
-a, --all       删除所有文件类型, 而不仅仅是常规文件、符号链接和目录。
                在 tmpwatch 可以删除未使用的套接字的系统上, 仅根据文件时间做出决定, 忽略可能使用的套接字
-d, --nodirs    不要尝试删除目录, 即使是空的目录
-f, --force     即使 root 没有写访问权限 (类似于 rm-f), 也要删除根目录文件
-l, --nosymlinks 不要尝试删除符号链接
-q, --quiet     Report only fatal errors.只报告致命错误
-s, --fuser     尝试使用 (fuser) 命令来查看文件是否已打开, 然后再将其删除。 默认情况下未启用
                在某些情况下有帮助, 但不是全部。 依赖于安装在/sbin/init fuser
                不支持 hp-ux 或 Solaris.。
-t, --test      不是真的删除,只是做删除动作
-U, --exclude-user=user  不要删除用户拥有的文件, 可以是用户名或 ID
-v, --verbose
Print a verbose display. Two levels of verboseness are available -- use this option twice to get the most verbose output.
-x, --exclude=path
Skip path; if path is a directory, all files contained in it are skipped too.  If path does not exist, it must be an absolute path that contains no symbolic links.
-X, --exclude-pattern=pattern
Skip paths matching pattern; if a directory matches pattern, all files contained in it are skipped too.  pattern must match an absolute path that contains no symbolic links.
file
-b  列出辨识结果时,不显示文件名称。
-c  详细显示指令执行过程,便于排错或分析程序执行的情形。
-f<名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
-L  直接显示符号连接所指向的文件的类别。
-m<魔法数字文件>  指定魔法数字文件。
-v  显示版本信息。
-z  尝试去解读压缩文件的内容。
[文件或目录...] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。
du
-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-D或--dereference-args 显示指定符号连接的源文件大小。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-k或--kilobytes 以1024 bytes为单位。
-l或--count-links 重复计算硬件连接的文件。
-L<符号连接>或--dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
-m或--megabytes 以1MB为单位。
-s或--summarize 仅显示总计。
-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
--exclude=<目录或文件> 略过指定的目录或文件。
--max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
--help 显示帮助。
--version 显示版本信息。
fold
-b或--bytes以字节为单位计算列宽,而非采用行数编号为单位。
-s或--spaces以空格字符作为换列点。
-w <每列行数>或--width <每列行数>设置每列的最大行数。
--help在线帮助。
--version显示版本信息。
fmt
-c或--crown-margin 每段前两列缩排。
-p<列起始字符串>或-prefix=<列起始字符串> 仅合并含有指定字符串的列,通常运用在程序语言的注解方面。
-s或--split-only 只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列。
-t或--tagged-paragraph 每列前两列缩排,但第1列和第2列的缩排格式不同。
-u或--uniform-spacing 每个字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔。
-w<每列字符数>或--width=<每列字符数>或-<每列字符数> 设置每列的最大字符数。
--help 在线帮助。
--version 显示版本信息。
uniq
对于空头期权而言,长期期权的强制性论据也是强制性的。
  -c, - count前缀行数出现次数
  -d, - 重复只打印重复行,每组一个
  -D, - all-repeated [= METHOD]打印所有重复的行
                          组可以用空行分隔
                          METHOD = {无(默认值),前置,独立}
  -f, - skip-fields = N避免比较前N个字段
      --group [= METHOD]显示所有项目,用空行分隔组
                          METHOD = {分开的(默认),前置,追加,既}
  -i, - ignore-case在比较时忽略差异
  -s, - skip-chars = N避免比较前N个字符
  -u, - 唯一只打印唯一的行
  -z, - 零终止的结束行,0字节,而不是换行符
  -w, - check-chars = N对每行第N个字符以后的内容不作对照
      --help显示此帮助信息并退出
      --version显示版本信息并退出
 
diff
用法:diff [选项] ...文件
逐行比较FILES。
对于空头期权而言,长期期权的强制性论据也是强制性的。
       - normal输出正常diff(默认值)
  -q, - 仅在文件不同时报告
  -s, - report-identical-files报告两个文件相同时
  -c,-C NUM, - context [= NUM]输出复制上下文的NUM行(默认为3行)
  -u,-U NUM, - 统一[= NUM]输出NUM(默认3)行统一上下文
  -e, - 输出ed脚本
  -n, - rcs输出RCS格式diff
  -y, - 两列中的并排输出
  -W, - width = NUM输出最多NUM(默认130)打印列
      --left-column仅输出公共行的左列
      --suppress-common-lines不输出公共线
  -p, - show-c-function显示每个更改的C函数
  -F, - show-function-line = RE显示最近匹配RE的行
      --label LABEL使用LABEL而不是文件名
                                  (可以重复)
  -t, - expand-tabs将选项卡展开到输出中的空格
  -T, - 初始选项卡通过添加选项卡使选项卡对齐
      --tabsize = NUM标签会停止每个NUM(默认为8个)打印列
      --supress-blank-empty在空输出行之前禁止空格或制表符
  -l,-paginate通过'pr'传递输出以对其进行分页
  -r, - 递归递归比较找到的所有子目录
      --no-dereference不遵循符号链接
  -N, - new-file将缺席文件视为空
      --unidirectional-new-file将缺少的第一个文件视为空
      --ignore-file-name-case在比较文件名时忽略大小写
      --no-ignore-file-name-case考虑比较文件名时的情况
  -x, - exclude = PAT排除与PAT匹配的文件
  -X, - exclude-from = FILE排除与FILE中任何模式匹配的文件
  -S, - start-file = FILE在比较目录时以FILE开头
      --from-file = FILE1将FILE1与所有操作数进行比较;
                                    FILE1可以是目录
      --to-file = FILE2将所有操作数与FILE2进行比较;
                                    FILE2可以是目录
  -i, - ignore-case忽略文件内容中的大小写差异
  -E, - ignore-tab-expansion忽略由于选项卡扩展而导致的更改
  -Z, - ignore-trailing-space忽略行尾的空格
  -b, - ignore-space-change忽略空白量的变化
  -w, - ignore-all-space忽略所有空格
  -B, - ignore-blank-lines忽略行全部为空的变化
  -I,--ignore-matching-lines = RE忽略所有行匹配RE的变化
  -a, - text将所有文件视为文本
      --strip-trailing-cr strip trailing回车输入
  -D, - ifdef = NAME输出带有'#ifdef NAME'差异的合并文件
      --GTYPE-group-format = GFMT格式GTYPE输入组与GFMT
      --line-format = LFMT格式化所有带LFMT的输入行
      --LTYPE-line-format = LFMT格式LTYPE输入行与LFMT
    这些格式选项提供对输出的细粒度控制
      差异,泛化-D / - ifdef。
    LTYPE是“旧”,“新”或“未改变”。 GTYPE是LTYPE或'已更改'。
    GFMT(仅)可能包含:
      %<来自FILE1的行
      %>来自FILE2的行
      %= FILE1和FILE2共有的行
      %[ - ] [WIDTH] [。[PREC]] {doxX} LETTER的printf风格规范
        新组的字母如下,旧组的小写字母:
          F第一行号
          L最后一行号码
          N行数= L-F + 1
          E F-1
          M L + 1
      %(A = B?T:E)如果A等于B则接着是T else E.
    LFMT(仅)可能包含:
      %L行的内容
      %l行的内容,不包括任何尾随换行符
      %[ - ] [WIDTH] [。[PREC]] {doxX} n输入行号的printf样式规范
    GFMT和LFMT都可能包含:
      %%%
      %c'C'是单个字符C.
      %c' OOO'是八进制代码OOO的字符
      C字符C(其他字符代表自己)
  -d,--minimal尽量找到一小组更改
      --horizon-lines = NUM保留公共前缀和后缀的NUM行
      --speed-large-files假设大文件和许多分散的小变化
      --help显示此帮助并退出
  -v, - version输出版本信息并退出
patch
用法:补丁[OPTION] ... [ORIGFILE [PATCHFILE]]
输入选项:
  -p NUM --strip = NUM从文件名中删除NUM个前导组件。
  -F LINES --fuzz LINES将模糊因子设置为LINES以进行不精确匹配。
  -l --ignore-whitespace忽略补丁和输入之间的空白区域更改。
  -c --context将补丁解释为上下文差异。
  -e --ed将补丁解释为ed脚本。
  -n --normal将补丁解释为正常差异。
  -u --unified将补丁解释为统一的差异。
  -N --forward忽略看似颠倒或已经应用的补丁。
  -R --reverse假设补丁是使用交换的旧文件和新文件创建的。
  -i PATCHFILE --input = PATCHFILE从PATCHFILE而不是stdin读取补丁。
输出选项:
  -o FILE --output = FILE将修补后的文件输出到FILE。
  -r FILE --reject-file = FILE输出拒绝FILE
tar
用法: tar [选项...] [FILE]...
GNU ‘tar’
将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件。
示例
  tar -cf archive.tar foo bar  # 从文件 foo 和 bar 创建归档文件
archive.tar。
  tar -tvf archive.tar         # 详细列举归档文件 archive.tar
中的所有文件。
  tar -xf archive.tar          # 展开归档文件 archive.tar
中的所有文件。
主操作模式:
  -A, --catenate, --concatenate   追加 tar 文件至归档
  -c, --create               创建一个新归档
  -d, --diff, --compare      找出归档和文件系统的差异
      --delete               从归档(非磁带!)中删除
  -r, --append               追加文件至归档结尾
  -t, --list                 列出归档内容
      --test-label           测试归档卷标并退出
  -u, --update               仅追加比归档中副本更新的文件
  -x, --extract, --get       从归档中解出文件
操作修饰符:
      --check-device         当创建增量归档时检查设备号(默认)
  -g, --listed-incremental=FILE   处理新式的 GNU 格式的增量备份
  -G, --incremental          处理老式的 GNU 格式的增量备份
      --ignore-failed-read
                             当遇上不可读文件时不要以非零值退出
      --level=NUMBER         所创建的增量列表归档的输出级别
  -n, --seek                 归档可检索
      --no-check-device      当创建增量归档时不要检查设备号
      --no-seek              归档不可检索
      --occurrence[=NUMBER]  仅处理归档中每个文件的第 NUMBER
                             个事件;仅当与以下子命令 --delete,
                             --diff, --extract 或是 --list
                             中的一个联合使用时,此选项才有效。而且不管文件列表是以命令行形式给出或是通过
                             -T 选项指定的;NUMBER 值默认为 1
      --sparse-version=MAJOR[.MINOR]
                             设置所用的离散格式版本(隐含
                             --sparse)
  -S, --sparse               高效处理离散文件
重写控制:
  -k, --keep-old-files       don't replace existing files when extracting,
                             treat them as errors
      --keep-directory-symlink   preserve existing symlinks to directories when
                             extracting
      --keep-newer-files
                             不要替换比归档中副本更新的已存在的文件
      --no-overwrite-dir     保留已存在目录的元数据
      --overwrite            解压时重写存在的文件
      --overwrite-dir        解压时重写已存在目录的元数据(默认)
      --recursive-unlink     解压目录之前先清除目录层次
      --remove-files         在添加文件至归档后删除它们
      --skip-old-files       don't replace existing files when extracting,
                             silently skip over them
  -U, --unlink-first         在解压要重写的文件之前先删除它们
  -W, --verify               在写入以后尝试校验归档
选择输出流:
      --ignore-command-error 忽略子进程的退出代码
      --no-ignore-command-error
                             将子进程的非零退出代码认为发生错误
  -O, --to-stdout            解压文件至标准输出
      --to-command=COMMAND
                             将解压的文件通过管道传送至另一个程序
操作文件属性:
      --atime-preserve[=METHOD]
                             在输出的文件上保留访问时间,要么通过在读取(默认
                             METHOD=‘replace’)后还原时间,要不就不要在第一次(METHOD=‘system’)设置时间
      --delay-directory-restore
                             直到解压结束才设置修改时间和所解目录的权限
      --group=名称         强制将 NAME
                             作为所添加的文件的组所有者
      --mode=CHANGES         强制将所添加的文件(符号)更改为权限
                             CHANGES
      --mtime=DATE-OR-FILE   从 DATE-OR-FILE 中为添加的文件设置
                             mtime
  -m, --touch                不要解压文件的修改时间
      --no-delay-directory-restore
                             取消 --delay-directory-restore 选项的效果
      --no-same-owner
                             将文件解压为您所有(普通用户默认此项)
      --no-same-permissions
                             从归档中解压权限时使用用户的掩码位(默认为普通用户服务)
      --numeric-owner        总是以数字代表用户/组的名称
      --owner=名称         强制将 NAME
                             作为所添加的文件的所有者
  -p, --preserve-permissions, --same-permissions
                             解压文件权限信息(默认只为超级用户服务)
      --preserve             与 -p 和 -s 一样
      --same-owner
                             尝试解压时保持所有者关系一致(超级用户默认此项)
  -s, --preserve-order, --same-order
                             member arguments are listed in the same order as
                             the files in the archive
Handling of extended file attributes:
      --acls                 Enable the POSIX ACLs support
      --no-acls              Disable the POSIX ACLs support
      --no-selinux           Disable the SELinux context support
      --no-xattrs            Disable extended attributes support
      --selinux              Enable the SELinux context support
      --xattrs               Enable extended attributes support
      --xattrs-exclude=MASK  specify the exclude pattern for xattr keys
      --xattrs-include=MASK  specify the include pattern for xattr keys
设备选择和切换:
  -f, --file=ARCHIVE         使用归档文件或 ARCHIVE 设备
      --force-local
                             即使归档文件存在副本还是把它认为是本地归档
  -F, --info-script=名称, --new-volume-script=名称
                             在每卷磁带最后运行脚本(隐含 -M)
  -L, --tape-length=NUMBER   写入 NUMBER × 1024 字节后更换磁带
  -M, --multi-volume         创建/列出/解压多卷归档文件
      --rmt-command=COMMAND  使用指定的 rmt COMMAND 代替 rmt
      --rsh-command=COMMAND  使用远程 COMMAND 代替 rsh
      --volno-file=FILE      使用/更新 FILE 中的卷数
设备分块:
  -b, --blocking-factor=BLOCKS   每个记录 BLOCKS x 512 字节
  -B, --read-full-records    读取时重新分块(只对 4.2BSD 管道有效)
  -i, --ignore-zeros         忽略归档中的零字节块(即文件结尾)
      --record-size=NUMBER   每个记录的字节数 NUMBER,乘以 512
选择归档格式:
  -H, --format=FORMAT        创建指定格式的归档
FORMAT 是以下格式中的一种:
    gnu                      GNU tar 1.13.x 格式
    oldgnu                   GNU 格式 as per tar <= 1.12
    pax                      POSIX 1003.1-2001 (pax) 格式
    posix                    等同于 pax
    ustar                    POSIX 1003.1-1988 (ustar) 格式
    v7                       old V7 tar 格式
      --old-archive, --portability
                             等同于 --format=v7
      --pax-option=关键字[[:]=值][,关键字[[:]=值]]...
                             控制 pax 关键字
      --posix                等同于 --format=posix
  -V, --label=TEXT           创建带有卷名 TEXT
                             的归档;在列出/解压时,使用 TEXT
                             作为卷名的模式串
压缩选项:
  -a, --auto-compress        使用归档后缀名来决定压缩程序
  -I, --use-compress-program=PROG
                             通过 PROG 过滤(必须是能接受 -d
                             选项的程序)
  -j, --bzip2                通过 bzip2 过滤归档
  -J, --xz                   通过 xz 过滤归档
      --lzip                 通过 lzip 过滤归档
      --lzma                 通过 lzma 过滤归档
      --lzop
      --no-auto-compress     不使用归档后缀名来决定压缩程序
  -z, --gzip, --gunzip, --ungzip   通过 gzip 过滤归档
  -Z, --compress, --uncompress   通过 compress 过滤归档
本地文件选择:
      --add-file=FILE        添加指定的 FILE 至归档(如果名字以 -
                             开始会很有用的)
      --backup[=CONTROL]     在删除前备份,选择 CONTROL 版本
  -C, --directory=DIR        改变至目录 DIR
      --exclude=PATTERN      排除以 PATTERN 指定的文件
      --exclude-backups      排除备份和锁文件
      --exclude-caches       除标识文件本身外,排除包含
                             CACHEDIR.TAG 的目录中的内容
      --exclude-caches-all   排除包含 CACHEDIR.TAG 的目录
      --exclude-caches-under 排除包含 CACHEDIR.TAG 的目录中所有内容
      --exclude-tag=FILE     除 FILE 自身外,排除包含 FILE
                             的目录中的内容
      --exclude-tag-all=FILE 排除包含 FILE 的目录
      --exclude-tag-under=FILE   排除包含 FILE 的目录中的所有内容
      --exclude-vcs          排除版本控制系统目录
  -h, --dereference
                             跟踪符号链接;将它们所指向的文件归档并输出
      --hard-dereference
                             跟踪硬链接;将它们所指向的文件归档并输出
  -K, --starting-file=MEMBER-NAME
                             begin at member MEMBER-NAME when reading the
                             archive
      --newer-mtime=DATE     当只有数据改变时比较数据和时间
      --no-null              禁用上一次的效果 --null 选项
      --no-recursion         避免目录中的自动降级
      --no-unquote           不以 -T 读取的文件名作为引用结束
      --null                 -T 读取以空终止的名字,-C 禁用
  -N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE
                             只保存比 DATE-OR-FILE 更新的文件
      --one-file-system      创建归档时保存在本地文件系统中
  -P, --absolute-names       不要从文件名中清除引导符‘/’
      --recursion            目录递归(默认)
      --suffix=STRING        在删除前备份,除非被环境变量
                             SIMPLE_BACKUP_SUFFIX
                             覆盖,否则覆盖常用后缀(‘’)
  -T, --files-from=FILE      从 FILE
                             中获取文件名来解压或创建文件
      --unquote              以 -T
                             读取的文件名作为引用结束(默认)
  -X, --exclude-from=FILE    排除 FILE 中列出的模式串
文件名变换:
      --strip-components=NUMBER   解压时从文件名中清除 NUMBER
                             个引导部分
      --transform=EXPRESSION, --xform=EXPRESSION
                             使用 sed 代替 EXPRESSION
                             来进行文件名变换
文件名匹配选项(同时影响排除和包括模式串):
      --anchored             模式串匹配文件名头部
      --ignore-case          忽略大小写
      --no-anchored          模式串匹配任意‘/’后字符(默认对
                             exclusion 有效)
      --no-ignore-case       匹配大小写(默认)
      --no-wildcards         逐字匹配字符串
      --no-wildcards-match-slash   通配符不匹配‘/’
      --wildcards            use wildcards (default)
      --wildcards-match-slash
                             通配符匹配‘/’(默认对排除操作有效)
提示性输出:
      --checkpoint[=NUMBER]  每隔 NUMBER
                             个记录显示进度信息(默认为 10 个)
      --checkpoint-action=ACTION   在每个检查点上执行 ACTION
      --full-time            print file time to its full resolution
      --index-file=FILE      将详细输出发送至 FILE
  -l, --check-links
                             只要不是所有链接都被输出就打印信息
      --no-quote-chars=STRING   禁用来自 STRING 的字符引用
      --quote-chars=STRING   来自 STRING 的额外的引用字符
      --quoting-style=STYLE  设置名称引用风格;有效的 STYLE
                             值请参阅以下说明
  -R, --block-number         每个信息都显示归档内的块数
      --show-defaults        显示 tar 默认选项
      --show-omitted-dirs
                             列表或解压时,列出每个不匹配查找标准的目录
      --show-transformed-names, --show-stored-names
                             显示变换后的文件名或归档名
      --totals[=SIGNAL]      处理归档后打印出总字节数;当此
                             SIGNAL 被触发时带参数 -
                             打印总字节数;允许的信号为:
                             SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和
                             SIGUSR2;同时也接受不带 SIG
                             前缀的信号名称
      --utc                  以 UTC 格式打印文件修改时间
  -v, --verbose              详细地列出处理的文件
      --warning=KEYWORD      警告控制:
  -w, --interactive, --confirmation
                             每次操作都要求确认
兼容性选项:
  -o                         创建归档时,相当于
                             --old-archive;展开归档时,相当于
                             --no-same-owner
其它选项:
  -?, --help                 显示此帮助列表
      --restrict             禁用某些潜在的有危险的选项
      --usage                显示简短的用法说明
      --version              打印程序版本
长选项和相应短选项具有相同的强制参数或可选参数。
除非以 --suffix 或 SIMPLE_BACKUP_SUFFIX
设置备份后缀,否则备份后缀就是“~”。
可以用 --backup 或 VERSION_CONTROL 设置版本控制,可能的值为:
  none, off        从不做备份
  t, numbered     进行编号备份
  nil, existing
如果编号备份存在则进行编号备份,否则进行简单备份
  never, simple   总是使用简单备份
--quoting-style 选项的有效参数为:
  literal
  shell
  shell-always
  c
  c-maybe
  escape
  locale
  clocale
此 tar 默认为:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/etc/rmt
--rsh-command=/usr/bin/ssh
ps
参数:
ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
-A 列出所有的行程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
au(x) 输出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态:
D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
<: 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令
top
d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
s : 安全模式,将交谈式指令取消, 避免潜在的危机
i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程
n : 更新的次数,完成后将会退出 top
b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内
 
pgrep
用法:
pgrep [options] <pattern>
选项:
-d, - delimiter <string>指定输出分隔符
-l, - list-name列表PID和进程名称
-a, - list-full list PID和完整命令行
-v, - inverse否定匹配
-w, - lightweight列出所有TID
-c, - 匹配进程的计数
-f, - full使用完整的进程名称进行匹配
-g,--pgroup <PGID,...>匹配列出的进程组ID
-G, - group <GID,...>匹配实际组ID
-n, - 最近选择最近启动的
-o, - 最近选择最近最少开始
-P, - parent <PPID,...>仅匹配给定父级的子进程
-s, - session <SID,...>匹配会话ID
-t, - terminal <tty,...>通过控制终端匹配
-u, - eg <ID,...>匹配有效ID
-U, - uid <ID,...>按真实ID匹配
-x, - 完全匹配命令名称
-F, - pidfile <file>从文件中读取PID
如果未锁定PID文件,则-L, - logpidfile失败
--ns <PID>匹配属于它的进程
                           名称空间为<pid>
--nslist <ns,...>列出将考虑的命名空间
                           --ns选项。
                           可用的命名空间:ipc,mnt,net,pid,user,uts
-h, - help显示此帮助并退出
-V, - version输出版本信息并退出
pkill
用法:
pkill [options] <pattern>
选项:
  - <sig>, - 信号<sig>要发送的信号(数字或名称)
-e, - echo显示被杀的东西
-c, - 匹配进程的计数
-f, - full使用完整的进程名称进行匹配
-g,--pgroup <PGID,...>匹配列出的进程组ID
-G, - group <GID,...>匹配实际组ID
-n, - 最近选择最近启动的
-o, - 最近选择最近最少开始
-P, - parent <PPID,...>仅匹配给定父级的子进程
-s, - session <SID,...>匹配会话ID
-t, - terminal <tty,...>通过控制终端匹配
-u, - eg <ID,...>匹配有效ID
-U, - uid <ID,...>按真实ID匹配
-x, - 完全匹配命令名称
-F, - pidfile <file>从文件中读取PID
如果未锁定PID文件,则-L, - logpidfile失败
--ns <PID>匹配属于它的进程
                           名称空间为<pid>
--nslist <ns,...>列出将考虑的命名空间
                           --ns选项。
                           可用的命名空间:ipc,mnt,net,pid,user,uts
-h, - help显示此帮助并退出
-V, - version输出版本信息并退出
lsof
默认 : 没有选项,lsof列出活跃进程的所有打开文件
组合 : 可以将选项组合到一起,如-abc,但要当心哪些选项需要参数
-a : 结果进行“与”运算(而不是“或”)
-l : 在输出显示用户ID而不是用户名
-h : 获得帮助
-t : 仅获取进程ID
-U : 获取UNIX套接口地址
-F : 格式化输出结果,用于其它命令。可以通过多种方式格式化,如-F pcfn(用于进程id、命令名、文件描述符、文件名,并以空终止)
括号中的默认值;逗号分隔的集合项目;破折号范围。
   - ?| -h list help -a AND selections(OR)-b避免内核块
  -c c cmd c ^ c / c / [bix] + c w命令宽度(9)+ d s dir s文件
  -d由FD设置选择+ D D dir D树* SLOW?* + | -e s免除s *风险*
  -i选择IPv [46]文件-K list tasKs(threads)-l list UID number
  -n无主机名-N选择NFS文件-o list file offset
  -O无开销* RISKY * -P无端口名称-R list paRent PID
  -s list file size -t terse listing -T禁用TCP / TPI信息
  -U选择Unix socket -v list version info -V verbose search
  + | -w警告(+) - X跳过TCP和UDP *文件-Z Z上下文[Z]
   - 结束选项扫描
  + f | -f +文件系统或文件名+ | -f [gG] flaGs
  -F [f]选择字段; -F?求助
  + | -L [l] list(+)suppress( - )link counts <l(0 = all; default = 0)
                                        + m [m]使用|创建安装补充
  + | -M portMap注册( - )-o o o 0t偏移数字(8)
  -p s exclude(^)| select PIDs -S [t] t second stat timeout(15)
  -T qs TCP / TPI Q,St(s)info
  -g [s] exclude(^)|选择并打印进程组ID
  -i我选择IPv [46]地址:[46] [proto] [@ host | addr] [:svc_list | port_list]
  + | -r [t [m <fmt>]]每t秒重复一次(15); +直到没有文件, - 永远。
       t的可选后缀是m <fmt>; m必须将t与<fmt>和
      <fmt>是标记行的strftime(3)格式。
  -s p:s exclude(^)|按名称选择协议(p = TCP | UDP)状态。
  -u s exclude(^)| select login | UID set s
  -x [fl]交叉+ d | + D文件系统或符号链接
  名称在命名文件系统上选择命名文件或文件
lsof参数
COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等
TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称
其中FD 列中的文件描述符cwd 值表示应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改。txt 类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序。其次数值表示应用程序的文件描述符,这是打开该文件时返回的一个整数。如上的最后一行文件/dev/initctl,其文件描述符为 10。u 表示该文件被打开并处于读取/写入模式,而不是只读(R) 或只写 (w) 模式。同时还有大写 的W 表示该应用程序具有对整个文件的写锁。该文件描述符用于确保每次只能打开一个应用程序实例。初始打开每个应用程序时,都具有三个文件描述符,0、1、2, 分别表示标准输入、输出和错误流。所以大多数应用程序所打开的文件的 FD 都是从 3 开始。
Type : 文件和目录分别称为 REG 和 DIR(在 Solaris 中,称为 VREG 和 VDIR)。而CHR 和 BLK,分别表示字符和块设备; 或者 UNIX、FIFO 和 IPv4,分别表示 UNIX 域套接字、先进先出 (FIFO) 队列和网际协议 (IP) 套接字。
crontab
选项:
  -u <user>定义用户
  -e编辑用户的crontab
  -l list user's crontab
  -r删除用户的crontab
  -i在删除之前提示
  -n <host>在集群中设置主机以运行用户的crontabs
  -c获取集群中的主机以运行用户的crontabs
  -s selinux上下文
  -x <mask>启用调试
crontab案例
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
一、根据命令说出文字含义:
1)30 3,12 * /bin/sh  /scripts/oldboy.sh
本实例中,第一列为30,表示 30 分钟;第二列为3点及12点,此定时任务的意思是每天凌晨3点和总务12 点的半点时刻(即每天3:30 和12:30)执行/scripts/oldboy.sh 脚本
2)30 */6 * * * /bin/sh /scripts/oldboy.sh
本实例中,第一列为30,表示30 分钟,第二列为*/6代表每6个小时,此定时任务的意思是每隔6个小时的半点时刻(即每天6:30、12:30、18:30、24:30)执行/scripts/oldboy.sh 脚本
3)30 8-18/2 * * * /bin/sh /scripts/oldboy.sh
本实例中,第一列为30,表示30 分钟,第二列为8-18/2 代表上午8 点到下午18 点之间每隔2
小时,此定时任务的意思是每天上午8 点到下午18 点之间每隔2 个小时执行/scripts/oldboy.sh 脚本
4)30 21 * * * /application/apache/bin/apachectl graceful
表示每晚21:30 重启Apache
5)45 4 1,10,22 * * /application/apache/bin/apachectl graceful
表示每月1、10、22 日的凌晨4:45 分重启Apache
6)10 1 * * 6,0 /application/apache/bin/apachectl graceful
表示每周六、周日的凌晨1:10 分重启Apache
7)0,30 18-23 * * * /application/apache/bin/apachectl graceful
表示每天18:00 到23:00 之间每隔30 分钟重启Apache
8)* 23,00-07/1* * * /application/apache/bin/apachectl graceful
表示23 点到次日07 点之间每隔一小时每分钟都重启Apache
9)00 11 * 4 1-3 /application/apache/bin/apachectl graceful
表示4 月的每周一到周三的上午11 点整重启Apache
二、根据文字描述写出定时规则:
1)5 月5 日上午9:00 去老男孩培训上课。规则为:
#00 09 05 05 * 去老男孩培训上课
2)每周日上午9:30 区老男孩教育培训。规则为:
#30 09 * * 0 去老男孩教育培训
Crond服务是运行的程序,可以通过crontab在固定的间隔时间执行执行的系统指令或script脚本。时间间隔的单位可以是分钟、小时、日、月、周以及任意以上组合(日和周不要组合),适用于实现周期性的日志分析或数据备份等企业运维场景工作。
转载:http://blog.51cto.com/13543214/2105896  作者:来自51CTO博客作者mo默羽的原创作品
 
sar命令
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、 系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。本文主要以CentOS 6.3 x64系统为例,介绍sar命令。
sar命令常用格式
sar [options] [-A] [-o file] t [n]
其中:
t为采样间隔,n为采样次数,默认值是1;
-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。
options 为命令行选项,sar命令常用选项如下:
-A:所有报告的总和
-u:输出CPU使用情况的统计信息
-v:输出inode、文件和其他内核表的统计信息
-d:输出每一个块设备的活动信息
-r:输出内存和交换空间的统计信息
-b:显示I/O和传送速率的统计信息
-a:文件读写情况
-c:输出进程统计信息,每秒创建的进程数
-R:输出内存页面的统计信息
-y:终端设备活动情况
-w:输出系统交换活动信息
1. CPU资源监控
例如,每10秒采样一次,连续采样3次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件test中,需键入如下命令:
sar -u -o test 10 3
屏幕显示如下:
17:06:16 CPU %user %nice %system %iowait %steal %idle
17:06:26 all 0.00 0.00 0.20 0.00 0.00 99.80
17:06:36 all 0.00 0.00 0.20 0.00 0.00 99.80
17:06:46 all 0.00 0.00 0.10 0.00 0.00 99.90
Average: all 0.00 0.00 0.17 0.00 0.00 99.83
输出项说明:
CPU:all 表示统计信息为所有 CPU 的平均值。
%user:显示在用户级别(application)运行使用 CPU 总时间的百分比。
%nice:显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。
%system:在核心级别(kernel)运行所使用 CPU 总时间的百分比。
%iowait:显示用于等待I/O操作占用 CPU 总时间的百分比。
%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。
%idle:显示 CPU 空闲时间占用 CPU 总时间的百分比。
1. 若 %iowait 的值过高,表示硬盘存在I/O瓶颈
2. 若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量
3. 若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU 。
如果要查看二进制文件test中的内容,需键入如下sar命令:
sar -u -f test
2. inode、文件和其他内核表监控
例如,每10秒采样一次,连续采样3次,观察核心表的状态,需键入如下命令:
sar -v 10 3
屏幕显示如下:
17:10:49 dentunusd file-nr inode-nr pty-nr
17:10:59 6301 5664 12037 4
17:11:09 6301 5664 12037 4
17:11:19 6301 5664 12037 4
Average: 6301 5664 12037 4
输出项说明:
dentunusd:目录高速缓存中未被使用的条目数量
file-nr:文件句柄(file handle)的使用数量
inode-nr:索引节点句柄(inode handle)的使用数量
pty-nr:使用的pty数量
3. 内存和交换空间监控
例如,每10秒采样一次,连续采样3次,监控内存分页:
sar -r 10 3
屏幕显示如下:
输出项说明:
kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.
kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.
%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比.
kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.
kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).
%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.
4. 内存分页监控
例如,每10秒采样一次,连续采样3次,监控内存分页:
sar -B 10 3
屏幕显示如下:
输出项说明:
pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)
pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)
fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)
majflt/s:每秒钟产生的主缺页数.
pgfree/s:每秒被放入空闲队列中的页个数
pgscank/s:每秒被kswapd扫描的页个数
pgscand/s:每秒直接被扫描的页个数
pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数
%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比
5. I/O和传送速率监控
例如,每10秒采样一次,连续采样3次,报告缓冲区的使用情况,需键入如下命令:
sar -b 10 3
屏幕显示如下:
18:51:05 tps rtps wtps bread/s bwrtn/s
18:51:15 0.00 0.00 0.00 0.00 0.00
18:51:25 1.92 0.00 1.92 0.00 22.65
18:51:35 0.00 0.00 0.00 0.00 0.00
Average: 0.64 0.00 0.64 0.00 7.59
输出项说明:
tps:每秒钟物理设备的 I/O 传输总量
rtps:每秒钟从物理设备读入的数据总量
wtps:每秒钟向物理设备写入的数据总量
bread/s:每秒钟从物理设备读入的数据量,单位为 块/s
bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s
6. 进程队列长度和平均负载状态监控
例如,每10秒采样一次,连续采样3次,监控进程队列长度和平均负载状态:
sar -q 10 3
屏幕显示如下:
19:25:50 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
19:26:00 0 259 0.00 0.00 0.00
19:26:10 0 259 0.00 0.00 0.00
19:26:20 0 259 0.00 0.00 0.00
Average: 0 259 0.00 0.00 0.00
输出项说明:
runq-sz:运行队列的长度(等待运行的进程数)
plist-sz:进程列表中进程(processes)和线程(threads)的数量
ldavg-1:最后1分钟的系统平均负载(System load average)
ldavg-5:过去5分钟的系统平均负载
ldavg-15:过去15分钟的系统平均负载
7. 系统交换活动信息监控
例如,每10秒采样一次,连续采样3次,监控系统交换活动信息:
sar -    W 10 3
屏幕显示如下:
19:39:50 pswpin/s pswpout/s
19:40:00 0.00 0.00
19:40:10 0.00 0.00
19:40:20 0.00 0.00
Average: 0.00 0.00
输出项说明:
pswpin/s:每秒系统换入的交换页面(swap page)数量
pswpout/s:每秒系统换出的交换页面(swap page)数量
8. 设备使用情况监控
例如,每10秒采样一次,连续采样3次,报告设备使用情况,需键入如下命令:
# sar -d 10 3 –p
屏幕显示如下:
17:45:54    DEV    tps    rd_sec/s    wr_sec/s    avgrq-sz    avgqu-sz    await    svctm    %util
17:46:04    scd0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
17:46:04    sda    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
17:46:04    vg_livedvd-lv_root    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
17:46:04    vg_livedvd-lv_swap    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
其中:
参数-p可以打印出sda,hdc等磁盘设备名称,如果不用参数-p,设备节点则有可能是dev8-0,dev22-0
tps:每秒从物理磁盘I/O的次数.多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的.
rd_sec/s:每秒读扇区的次数.
wr_sec/s:每秒写扇区的次数.
avgrq-sz:平均每次设备I/O操作的数据大小(扇区).
avgqu-sz:磁盘请求队列的平均长度.
await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒).
svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间.
%util:I/O请求占CPU的百分比,比率越大,说明越饱和.
1. avgqu-sz 的值较低时,设备的利用率较高。
2. 当%util的值接近 1% 时,表示设备带宽已经占满。
要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来
怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看
怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看
怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看
netstat
 
 
        -r, - 路由显示路由表
        -I, - interface = <Iface>显示<Iface>的接口表
        -i, - interfaces显示接口表
        -g, - groupss显示多播组成员资格
        -s, - 统计显示网络统计信息(如SNMP)
        -M, - masquerade显示伪装连接
        -v, - verbose是详细的
        -W, - wide不截断IP地址
        -n, - 数字不解析名称
        --numeric-hosts不解析主机名
        --numeric-ports不解析端口名称
        --numeric-users不解析用户名
        -N, - 符号解析硬件名称
        -e, - 扩展显示其他/更多信息
        -p,--programs显示套接字的PID /程序名称
        -o, - 用户显示计时器
        -c, - 连续不断上市
        -l, - 显示监听服务器套接字
        -a, - all显示所有套接字(默认值:已连接)
        -F, - fib display Forwarding Information Base(默认)
        -C, - cache显示路由缓存而不是FIB
        -Z, - context显示套接字的SELinux安全上下文
 
 
 
 
 
参考:Linux命令应用大词典    作者: 於越
打赏
赞(0) 打赏
未经允许不得转载:同乐学堂 » Linux操作精品发布第二篇

特别的技术,给特别的你!

联系QQ:1071235258QQ群:710045715

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

error: Sorry,暂时内容不可复制!