awk命令

跟高手学习LINUX笔记-20

假如想象 提交于 2020-04-03 14:23:14
第20节:条件判断语句和if的使用 本节所讲内容: 20.1 read命令键盘读取变量的值 read命令最主要是读入输入的参数 重要参数 -p:后面跟提示内容 read -p "请输入您的姓名:" $name -t:后面跟个数字,超过此数字的秒数不输入则自动退出 read -t 5 -p "请输入您的姓名:" $name 5秒钟不输入则自动跳出 -s:不显示输入内容,常用于输入密码时 例1: [root@node-1 scripts]# cat test-read.sh #!/bin/bash read -p "Please input your name:" NAME read -p "Please input your age :" AGE cat << eof 你的基本信息如下: 姓名: $NAME 年龄:$AGE eof 20.2 流程控制语句if 流程控制语句if语法: if [ 条件判断 ] then 命令 elif 命令 else 命令 fi 在说明if之前先介绍if中比较的意义 2.1数值的比较 -eq:是否相等 -nq:是否不相等 -gt:是否大于 -lt:是否小于 -ge:是否大于等于 -le:是否小于等于 例2: [root@node-1 scripts]# cat test2.sh #!/bin/bash read -p "input num1 num2 :

Linux批量修改文件名

这一生的挚爱 提交于 2020-03-15 17:47:44
find -name "*parsed" |awk '{print $1}' |xargs -i{} mv {} {}.44 ---PS 我有下面样式的一大堆文件, 1 [280094177@qq.com@ops ~]$ ll ZIP* |awk '{print $0}' 2 -rw-rw-r-- 1 dongjunjie 547 0 8月 7 2017 ZIP_10.0.20.130_ng1***省略多行 我想给它改成 我想给他改成 ZIP_name_ip 这样格式的. 1 [dongjunjie@cmcm ~]$ ll ZIP* |awk '{print $9}' | awk -F '_' '{print "mv "$0" "$1"_"$3"_"$2}' 2 mv ZIP_10.0.20.120_ng1 ZIP_ng1_10.0.20.130***省略多行 把打印出来的命令执行,即可. /*--> */ /*--> */ 来源: https://www.cnblogs.com/xd502djj/archive/2013/01/23/2873455.html

shell简介

时光毁灭记忆、已成空白 提交于 2020-03-11 01:33:42
1.1 什么是shell 变量 命令大礼包 判断循环 #重复性的工作 节约时间 1.2 书写shell脚本 mkdir -p /server/scripts 尽量把脚本都放在这个目录下 #!/bin/bash 这个脚本默认使用的命令解析器是 /bin/bash shell脚本之变量 2.1 什么是变量 未知数=====变量 2.2 环境变量(全局变量) 大写 哪里都生效 都可以使用 LANG 手动创建一个环境变量 ##临时创建 [root@dzc ~]# cd /server/scripts/ [root@dzc scripts]# export OLDBOY=teacher [root@dzc scripts]# env |grep -i oldboy OLDBOY=teacher ###永久生效 echo 'export OLDBOY=teacher' >>/etc/profile ###生效 source /etc/profile 与用户环境变量有关的文件 目录 /etc/profile、/etc/bashrc、 /etc/profile.d/ 用户登录到系统会运行这个目录下的脚本 用户环境变量配置文件 ~/.bash_profile ~/.bashrc 1.1 普通变量 [root@dzc scripts]# a=100 [root@dzc scripts]# echo

ubuntu清理系统垃圾与备份

冷暖自知 提交于 2020-03-08 23:51:22
虽然linux下不会有windows下的那么多垃圾和磁盘碎片!但还是会留下一些用不着的临时文件或是多次升级后的N个旧的内核! 1,非常有用的清理命令: sudo apt-get autoclean sudo apt-get clean sudo apt-get autoremove 这三个命令主要清理 升级缓存以及无用包的 。 2, 清理opera firefox的缓存文件 : ls ~/.opera/cache4 ls ~/.mozilla/firefox/*.default/Cache 3, 清理Linux下孤立的包 : 图形界面下我们可以用:gtkorphan sudo apt-get install gtkorphan -y 终端命令下我们可以用:deborphan sudo apt-get install deborphan -y 4, 卸载:tracker 这个东西一般我只要安装ubuntu就会第一删掉tracker 他不仅会产生大量的cache文件而且还会影响开机速度。所以在新得利里面删掉就行。 5, 删除多余的内核 :一定不要删错哦,切记!! 打开终端敲命令:dpkg –get-selections|grep linux 有image的就是内核文件 删除老的内核文件: sudo apt-get remove 内核文件名 (例如:linux-image-2.6.27

转:Ubuntu基本命令整理

自古美人都是妖i 提交于 2020-03-08 20:40:15
原文:http://www.cnblogs.com/feisky/archive/2010/03/25/1694867.html sudo: 如何设定/改变/启用 root 使用者的密码:sudo passwd root 当你使用完毕后屏蔽 root 帐号 使用: sudo passwd -l root这个将锁住 root 帐号. 如何在终端机模式下切换到 root 身份: sudo -s -H 在线安装程序:sudo apt-get install g++ pt-get最常用参数: update —-与你的软件源(在/etc/apt/sources.list中列出)更新软件包列表,换源后需要 执行 upgrade —-根据update得到的源软件库与本地已经安装的对比,(如果需要升级就)全部升 级 install —-安装软件包(可以使用tab补全软件包的名字,比较方便) remove —-卸载软件包 purge —-卸载软件包,同时删除该软件的配置文件 source —-从源里下载软件包的源码到当前目录(执行此命令的目录)并解压(除非指定– download-only参数) 该地址由/etc/apt/sources.list中的 deb-src 行指定 check —-用来(自动)修复(已装)软件包之间的依赖关系 clean —-清除/var/cache/apt

linux运维、架构之路-正则表达式

南楼画角 提交于 2020-03-08 07:56:45
一、通配符的含义 符号 参数说明 其他说明 | 管道 把前一个命令结果通过管道传递给后面一个命令 ; 命令的分隔符 ll /oldboy/;cat oldboy.tx . 表示当前目录 * 匹配文本或字符串 ls *.txt,ls *.log / 根或路径的分隔符 && 命令分隔 表示并且,前一个执行成功才会执行后面的 $ 取变量的值 echo $PATH {} 配合echo 打印序列 echo {1..6} 通配符中以* 和{} 最为常用 1、举例说明 ①查找/oldboy下所有.txt文件 [root@oldboyedu37 oldboy]# find /oldboy -type f -name "*.txt" /oldboy/abc.txt /oldboy/oldboy.txt /oldboy/a.txt ②在/oldboy目录下批量创建10个以文件,例如:oldboy1-oldboy10.txt [root@oldboyedu37 oldboy]# touch oldboy{1..10}.txt [root@oldboyedu37 oldboy]# ls -lrt -rw-r--r-- 1 root root 0 Jun 5 17:58 oldboy9.txt -rw-r--r-- 1 root root 0 Jun 5 17:58 oldboy8.txt -rw-r--r

Linux 命令

三世轮回 提交于 2020-03-04 23:26:30
centos7中防火墙相关命令 查看状态: getenforce # 查看内核防火墙状态(disabled标识关闭) systemctl status firewalld # 查看防火墙状态 firewalld 的基本命令:   启动: systemctl start firewalld 查看状态: systemctl status firewalld 停止: systemctl disable firewalld 禁用: systemctl stop firewalld 在开机时启用一个服务:systemctl enable firewalld.service 在开机时禁用一个服务:systemctl disable firewalld.service 查看服务是否开机启动:systemctl is-enabled firewalld.service 查看已启动的服务列表:systemctl list-unit-files|grep enabled 查看启动失败的服务列表:systemctl --failed CentOS7关闭SELinux:    临时关闭: ##设置SELinux 成为permissive模式 ##setenforce 1 设置SELinux 成为enforcing模式 setenforce 0   永久关闭: vi /etc/selinux/config

让你的 Linux 命令骚起来

…衆ロ難τιáo~ 提交于 2020-02-27 03:38:13
@[toc] 本文将为读者提供许多不同 Linux 命令的简要概述。 将特别强调解释如何在执行数据科学任务的上下文中使用每个命令。 我们的目标是让读者相信这些命令中的每一个都非常有用,并且让他们了解每个命令在操作或分析数据时可以扮演什么角色。 管道符号 “ | ” 许多读者可能已经熟悉了“ | ”符号,但是如果不熟悉的话,值得提前指出: 下面几节中讨论的命令的所有输入和输出都可以使用“ | ”符号自动“管道”输入到彼此中! 这意味着每个命令完成的所有特殊任务都可以链接在一起,从而生成非常强大和简短的迷你程序,所有这些都直接在命令行上完成! grep 什么是 grep? “ grep”是一个可用于从文件中提取匹配文本的工具。 您可以指定许多不同的控件标志和选项,这些标志和选项允许您非常有选择性地确定希望从文件或流中提取哪些文本子集。 Grep 通常用作“面向行”的工具,这意味着在找到匹配的文本时,Grep 将打印该行上的所有文本,尽管您可以使用“-o”标志只打印匹配的行部分。 为什么 grep 是有用的? “ grep”很有用,因为它是在大量文件中搜索特定文本块的最快方法。 一些很好的用例有: 从巨大的 web 服务器日志中过滤访问特定的 web 页面; 为特定关键字的实例搜索代码库(这比使用 Eclipse Editor 的搜索要快得多,也更可靠) ; 在 Unix

zabbix添加mysql自定义监控项

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-20 16:58:29
$ vi /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf #UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/etc/zabbix mysql -N | awk '{print $$2}' UserParameter=mysql.status[*],/script/getmysqlinfo.sh $1 $2 $ cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf |grep -v ^#|grep -v ^$ UserParameter=mysql.status[*],/script/getmysqlinfo.sh $1 $2 UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[

正则表达式学习笔记

笑着哭i 提交于 2020-02-06 23:55:38
1. 引言 以前我们用 grep 在一个文件中找出包含某些字符串的行,比如在头文件中找出一个宏定义。其实 grep 还可以找出 符合某个模式(Pattern) 的一类字符串。例如找出所有符合 xxxxx@xxxx.xxx 模式的字符串(也就是email地址),要求x字符可以是字母、数字、下划线、小数点或减号,email地址的每一部分可以有一个或多个x字符,例如 abc.d@ef.com 、 1_2@987-6.54 ,当然符合这个模式的不全是合法的email地址,但至少可以做一次初步筛选,筛掉 a.b 、 c@d 等肯定不是email地址的字符串。再比如,找出所有符合 yyy.yyy.yyy.yyy 模式的字符串(也就是IP地址),要求y是0-9的数字,IP地址的每一部分可以有1-3个y字符。 如果要用 grep 查找一个模式,如何表示这个模式,这一类字符串,而不是一个特定的字符串呢?从这两个简单的例子可以看出,要表示一个模式至少应该包含以下信息: 字符类(Character Class) :如上例的x和y,它们在模式中表示一个字符,但是取值范围是一类字符中的任意一个。 数量限定符(Quantifier) : 邮件地址的每一部分可以有 一个或多个x字符,IP地址的每一部分可以有 1-3个y字符 各种字符类以及普通字符之间的位置关系:例如邮件地址分三部分,用普通字符 @ 和 . 隔开