linux高效shell命令总结
cat 9.c |awk 'NR==21{gsub(/t09/,"ruiy");printf $0}'
1,comm【2文件间行比较】
1 [root@localhost ruiy]#
2 用法:comm [选项]... 文件1 文件2
3 逐行比较已排序的文件文件1 和文件2。
4
5 如果不附带选项,程序会生成三列输出。第一列包含文件1 特有的行,第二列包含 文件2 特有的行,而第三列包含两个文件共有的行。
6
7 -1 不输出文件1 特有的行
8 -2 不输出文件2 特有的行
9 -3 不输出两个文件共有的行
10
11 --check-order 检查输入是否被正确排序,即使所有输入行均成对
12 --nocheck-order 不检查输入是否被正确排序
13 --output-delimiter=STR 依照STR 分列
14 --help 显示此帮助信息并退出
15 --version 显示版本信息并退出
16
17 注意,比较操作遵从"LC_CPLLATE"所定义的规则。
18
19 示例:
20 comm -12 文件1 文件2 只打印在文件1和文件2中都有的行
21 comm -3 文件1 文件2 打印在文件1中有,而文件2中没有的行。反之亦然。
2,sort【字符串排序】
29 [root@localhost ruiy]# 30 用法:sort [选项]... [文件]...
31 或:sort [选项]... --files0-from=F
32 串联排序所有指定文件并将结果写到标准输出。
33
34 长选项必须使用的参数对于短选项时也是必需使用的。
35 排序选项:
36
37 -b, --ignore-leading-blanks 忽略前导的空白区域
38 -d, --dictionary-order 只考虑空白区域和字母字符
39 -f, --ignore-case 忽略字母大小写
40 -g, --general-numeric-sort 按照常规数值排序
41 -i, --ignore-nonprinting 只排序可打印字符
42 -M, --month-sort 比较 (未知) < "一月" < ... < "十二月"
43 在LC_ALL=C 时为(unknown) < `JAN' < ... < `DEC'
44 -h, --human-numeric-sort 使用易读性数字(例如: 2K 1G)
45 -n, --numeric-sort 根据字符串数值比较
46 -R, --random-sort 根据随机hash 排序
47 --random-source=文件 从指定文件中获得随机字节
48 -r, --reverse 逆序输出排序结果
49 --sort=WORD 按照WORD 指定的格式排序:
50 一般数字-g,高可读性-h,月份-M,数字-n,
51 随机-R,版本-V
52 -V, --version-sort 在文本内进行自然版本排序
53
54 其他选项:
55
56 --batch-size=NMERGE 一次最多合并NMERGE 个输入;如果输入更多
57 则使用临时文件
58 -c, --check, --check=diagnose-first 检查输入是否已排序,若已有序则不进行操作
59 -C, --check=quiet, --check=silent 类似-c,但不报告第一个无序行
60 --compress-program=程序 使用指定程序压缩临时文件;使用该程序
61 的-d 参数解压缩文件
62 --files0-from=文件 从指定文件读取以NUL 终止的名称,如果该文件被
63 指定为"-"则从标准输入读文件名
64 -k, --key=位置1[,位置2] 在位置1 开始一个key,在位置2 终止(默认为行尾)
65 -m, --merge 合并已排序的文件,不再进行排序
66 -o, --output=文件 将结果写入到文件而非标准输出
67 -s, --stable 禁用last-resort 比较以稳定比较算法
68 -S, --buffer-size=大小 指定主内存缓存大小
69 -t, --field-separator=分隔符 使用指定的分隔符代替非空格到空格的转换
70 -T, --temporary-directory=目录 使用指定目录而非$TMPDIR 或/tmp 作为
71 临时目录,可用多个选项指定多个目录
72 -u, --unique 配合-c,严格校验排序;不配合-c,则只输出一次排序结果
73 -z, --zero-terminated 以0 字节而非新行作为行尾标志
3,cut【字符串中字符截取】
1 [root@localhost ruiy]#
2 用法:cut [选项]... [文件]...
3 从每个文件中输出指定部分到标准输出。
4
5 长选项必须使用的参数对于短选项时也是必需使用的。
6 -b, --bytes=列表 只选中指定的这些字节
7 -c, --characters=列表 只选中指定的这些字符
8 -d, --delimiter=分界符 使用指定分界符代替制表符作为区域分界
9 -f, --fields=LIST select only these fields; also print any line
10 that contains no delimiter character, unless
11 the -s option is specified
12 -n with -b: don't split multibyte characters
13 --complement 补全选中的字节、字符或域
14 -s, --only-delimited 不打印没有包含分界符的行
15 --output-delimiter=字符串 使用指定的字符串作为输出分界符,默认采用输入
16 的分界符
17 --help 显示此帮助信息并退出
18 --version 显示版本信息并退出
19
20 仅使用f -b, -c 或-f 中的一个。每一个列表都是专门为一个类别作出的,或者您可以用逗号隔
21 开要同时显示的不同类别。您的输入顺序将作为读取顺序,每个仅能输入一次。
22 每种参数格式表示范围如下:
23 N 从第1 个开始数的第N 个字节、字符或域
24 N- 从第N 个开始到所在行结束的所有字符、字节或域
25 N-M 从第N 个开始到第M 个之间(包括第M 个)的所有字符、字节或域
26 -M 从第1 个开始到第M 个之间(包括第M 个)的所有字符、字节或域
附个vnc配置.
现在知道的centos下的vnc是:tigervnc,由于是服务端所以我们只安装tigervnc-server即可:
yum install tigervnc-server
然后修改vnc配置文件:
cd /
vi /etc/sysconfig/vncservers
只需要两类内容就可以了,一个是定义用户,一个是定义用户登录情况:
VNCSERVERS="1:root 2:river"
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp"
VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp"
接下来分别使用命令行模式先后登录root和river用户,登录后设定vncserver密码,登录后的操作如下:
vncpasswd
Password输入密码
Verify再次输入密码
启动vnc服务:
/sbin/service vncserver start
设置防火墙:
iptables -I INPUT -p tcp --dport 5901:5902 -j ACCEPT
iptables -I INPUT -p udp --dport 5901:5902 -j ACCEPT
配置图形界面:
cd ~/.vnc
vi xstartup
修改文档中最后位置的twm为gnome-session或startkde即可,不要在这个后面再添加什么字符,否则后果自负。哈哈。
使用vnc viewer登录即可:
xxx.xxx.xxx.xx:1
看清冒号后面
windows.下测试可下载vnc view软件
如果不能登录,请重启vncserver【/sbin/service vncserver restart】