1.取磁盘利用率:cut -d命令
df|tr –s ‘ ’ ‘%’ |cut –d “%” –f5
正则表达式:df -h |grep “^/dev/sd” |grep -o “[[:digit:]]\+%”|grep -o “[[:digit:]]\+”
2. paste 合并两个文件同行号的列到一行
paste [OPTION]… [FILE]…
-d 分隔符:指定分隔符,默认用TAB
-s : 所有行合成一行显示
paste f1 f2 paste -s f1 f2
3.分析文本的工具
wc=word count 文本数据统计行数 字数 字节数
例:wc story.txt
常用选项:
-l 只计数行数
-w 只计数单词总数
-c 只计数字节总数
-m 只计数字符总数
-L 显示文件中最长行的长度
4.service iptables stop 关闭防火墙 后使用 chkconfig iptables off 禁止系统下次开机时开启防火墙
5. 文本排序sort
把整理过的文本显示在STDOUT,不改变原始文件sort [options] file(s)
常用选项:
-r 执行反方向(由上至下)整理
-R 随机排序
-n 执行按数字大小整理
-f 选项忽略(fold)字符串中的字符大小写
-u 选项(独特,unique)删除输出中的重复行
-t c 选项使用c做为字段界定符
-k X 选项按照使用c字符分隔的X列来整理能够使用多次
6.随机抽取1-100中的一个数
seq 100 |sort –R |head –n1
7.使用 grep查找f1文件中以r开头t结尾中间两个任意字符,后期又重复出现的字符串
grep “\(r..t\).* \1” f1
8.使用正则表达式截取IP地址
使用分组方式:ifconfig |grep –color -o “\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}
扩展正则表达式:ifconfig |grep –color -Eo “([0-9]{1,3}\.){3}[0-9]{1,3}”
sed方式:ifconfig |sed -n ‘2p’ |sed ‘s/^.*inet//’|sed ‘s/netmask.*//’
9.取/run/media/centos/packages 里rpm文件有几种类型
ls *.rpm |grep –Eo”\.\<[[:alnum:]_]=\>.rpm$ |cut-d. –f2 |sort |uniq –c
10.Vim 搜索非#开头的行添加#
%s/^[^#]/#&/
%s:全文搜索
11.sed打印非#开头的行
sed –n “/^[^#]/p” etc/fstab
删除#开头的行:sed “/^#/d” etc/fstab
sed执行搜索替换:
sed “s@/sbin/nologin@/bin/bash@ f1
sed默认不更改文件,sed-i可以更改文件
sed搜索替代功能修改网卡名称:
sed “s/quiet/& net.ifnames=0/” /etc/default/grub
sed ‘/GRUB_CMDLINE_LINUX/s/quiet/& net.ifname=0/’ /etc/default/grub
正则表达式:sed –r ‘/GRUB_CMDLINE_LINUX/s/(.*)”/\1 net.ifnames=0”/’ /etc/default/grub
12.sed命令添加别名:sed ‘/^# Source/ialias vi=vim’ .bashrc
打印最后一行:sed ‘N;D’file
13. awk基本用法:
awk [options] ‘program’ var=value file…
awk [options] -f programfile var=value file…
awk [options] ‘BEGIN{ action;… } pattern{ action;… } END{ action;… }’ file …
awk 程序通常由:BEGIN语句块、能够使用模式匹配的通用语句块、END语句块,共3部分组成
选项:
-F 指明输入时用到的字段分隔符
-v var=value: 自定义变量
awk里面命令默认使用空格作为分隔符且不计空格数量:
awk –F: 以:作为分隔符对etc/passwd进行分割字段
awk-v 定义变量 例:awk -v OFS=‘:’ ‘{print $1,$3,$7}’ /etc/passwd
如果有多个变量需要分别定义:awk -v FS=‘:’ -v OFS=‘:’
FS:输入字段分隔符,默认为空白字符
打印每行的行号并打印最后一个字段awk –F: ‘{print NR,$NF}’ /etc/passwd
print格式: print item1, item2, …
要点:• (1) 逗号分隔符
• (2) 输出的各item可以字符串,也可以是数值;当前记录的字段、变量或awk的表达式
• (3) 如省略item,相当于print $0
printf命令:格式化输出:printf “FORMAT”, item1, item2, …
print $1”:”$3 以:作为分隔符进行结果输出,字符串:必须用双引号标注,变量不需加
printf:
(1) 必须指定FORMAT
(2) 不会自动换行,需要显式给出换行控制符,\n
(3) FORMAT中需要分别为后面每个item指定格式符格式符:与item一一对应
%c: 显示字符的ASCII码
%d, %i: 显示十进制整数
%e, %E:显示科学计数法数值
%f:显示为浮点数
%g, %G:以科学计数法或浮点形式显示数值
%s:显示字符串
%u:无符号整数
%%: 显示%自身
yum安装参数:rpm -q autofs-systemctl start autofssystemctl enable autofscd –cd /misc/cd /etc/yum.repos.d-mkdir bak—mv *.repo bak–vim base.repo-修改参数
[base]
baseurl=file:///misc/cd
gpgcheck=0—–yum install httpd-tools
SHELL: 创建shell脚本
第一步:使用文本编辑器来创建文本文件
第一行必须包括shell声明序列:#!
#!/bin/bash
添加注释: 注释以#开头
第二步:运行脚本
给予执行权限,在命令行上指定脚本的绝对或相对路
径直接运行解释器,将脚本作为解释器程序的参数运行
bash的数值测试:
-v VAR变量VAR是否设置
数值测试:
-gt 是否大于
-ge 是否大于等于
-eq 是否等于
-ne 是否不等于
-lt 是否小于
-le 是否小于等于
使用read命令来接受输入:
read -p 指定要显示的提示
-s 静默输入,一般用于密码
-n N 指定输入的字符长度N
-d ‘字符’ 输入结束符
-t N TIMEOUT为N秒
read 从标准输入中读取值,给每个单词分配一个变量, 所有剩余单词都被分配给最后一个变量
read -p “Enter a filename: “ FILE
for循环的特殊格式:for ((控制变量初始化;条件判断表达式;控制变量的修正表达式)) do
循环体
done
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92553