linux主机常用管理命令
1.杀掉MYSQL SHELL
ps aux|grep mysql|grep -v grep|awk '{print $2}'|xargs kill -9
2.删除当前目录下0字节的文件
find -type f -size 0 -exec rm -rf {} \;
3.匹配当data里包含"donald",输出第4列
awk '/donald/ {print $4}' data
扩展1:
awk '/donald|chin/ {print $1, $2}' data
扩展2:
awk '/a[rl]/ {print $1, $2}' data
使用"n"而不是空格做为分隔符
awk 'FS="n" {print $1}' data
4.截取对应的列数
awk -F":" '{ print $1 $7 }' /etc/passwd
5.对域名进行添加www.的shell
awk '{print"www."$1}' yuming.txt >yuming2.txt
6.清理maillog日志
find . -name maillog | xargs echo " " >maillog
7.1.txt文件前面添加序号
awk '{print NR,$0}' 1.txt
8.1.txt匹配test开头的行后,将字段2和字段3相加后输出结果
awk '$1 ~/test/{count = $2 + $3;print count}' 1.txt
9.用grep命令在当前目录下的所有普通文件中搜索hostnames这个词
find . -name \* -type f -print |xargs grep "hostname"
注意,在上面的例子中, \用来取消find命令中的*在shell中的特殊含义
10.文件删除清理
find . -name "*.conf" -mtime +5 -ok rm { } \;
< rm ... ./conf/httpd.conf > ? n
按y键删除文件,按n键不删除
11.在/var/log下拷贝小于100K的文件到/tmp下,如果有失败的发送邮件到635273926@qq.com,用shell/perl/python来实现。
#!/bin/bash
SDIR=/var/log/
DDIR=/tmp/
TMPFILE=/tmp/test.txt
find $SDIR -size -100k -type f > $TMPFILE
while read F_NAME
do
cp -r $F_NAME $DDIR
if [ $? -eq 0 ]
then
echo "ok" > /dev/null 2>&1
else
echo "cp is failed " | mail -s "Note:cp is failed ! " 635273926@qq.com
fi
done < $TMPFILE
12. 根据下面的信息提取每个人的总分 输出到/home/total.txt
oldboy 15 98
kqzj 23 87
wodi 16 89
awk '{print $1,$2+$3}' infor >/home/tital.txt
13.在不影响MYSQL正常服务的情况下,如何导出MYSQL数据
mysqldump -all-databases >allbackupfile.sql 备份数据库
mysql -hhostname -uusername -ppassword databasename < backupfile.sql 还原数据库
mysqldump -hhostname -uusername -ppassword databasename |gzip > backupfile.sql.gz 压缩备份数据库
gunzip < bckupfile.sql.gz |mysql -uusername -ppassword databasename 还原压缩的文件包
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 >backupfile.sql 备份单个数据库表
mysqldump -hhostname -uusername -ppassword -databases databasename1 atabasename2 databasename3 >multibackupfile.sql 备份多个数据库
mysqldump -no-data -databases databasename1 databasename2 databasename3>structurbackupfile.sql 备份数据库结构
14.在一个文件夹下建立类似如下规律性的文件夹:
11 12 13 14 15 21 22 23 24 25 31 32 33 34 35 41 42 43 44 45 51 52 53 54 55
#!/bin/sh
for i in `echo {1..5}{1..5}`;do
mkdir -p ./$i
done
或
#!/bin/bash
#for i in `seq 11 55`;
for i in $(seq 11 55)
do
echo $i;
mkdir -p ./$i;
done
15.统计末年某月的天数
cal 09 2008 | xargs | awk '{print $NF}'
cal 09 2008 |sed -n '3,$p' |awk 'BEGIN{sum=0}{sum+=NF}END{print sum}'
16.统计文件大小的shell
ls -l $* | awk '
BEGIN { print "BYTES", "\t", "FILE" }
{ sum += $5
++filenum
print $5, "\t", $9
}
END { print "Total: ", sum, "bytes (" filenum " files)" }'
17.awk(基础)
====================================================
1.抽取域
awk -F: '{print $1}' /etc/passwd
2.保存输出
awk -F: '{print $1}' /etc/passwd | tee user 使用tee命令,在输出文件的同时,输出到屏幕
使用标准输出
awk -F: '{print $1}' /etc/passwd >user3
4.打印所有记录
awk -F: '{print $0}' /etc/passwd
5.打印单独记录
awk -F: '{print $1,$4}' /etc/passwd
6.打印报告头
awk -F: 'BEGIN {print "NAME\n"} {print $1}' /etc/passwd
7.打印结尾
awk -F: '{print $1} END {print "this is all users"}' /etc/passwd
条件操作符
1.匹配
awk -F: '{if($1~/root/) print }' /etc/passwd //{if($1~/root/) print}表示如果field1包含root,打印它
2.精确匹配
使用等号 ==
awk -F: '{if($3=="0") print }' /etc/passwd
3.不匹配
!~
awk -F: '{if($1!~/linuxtone/) print }' /etc/passwd
!=
精确不匹配
awk -F: '{if($1!="linuxtone") print }' /etc/passwd
4.小于
<
5.小于等于
<=
6.大于
>
.........
7.设置大小写
awk '/[Rr]oot/' /etc/passwd
8.任意字符
awk -F: '{if($1~/^...t/) print}' /etc/passwd //^...t表示第四个字幕是t
9.或关系匹配
awk -F: '{if ($1~/(squid|nagios)/) print}' /etc/passwd
10.行首
awk '/^root/' /etc/passwd // ^root(行首包含root)
11.AND &&
awk -F: '{if($1=="root" && $3=="0") print}' /etc/passwd
12.OR ||
内置变量:
ARCC 命令行参数个数
ARGV 命令行参数排列
ENVIRON 支持队列中系统环境变量的使用
FNR 浏览文件的记录数
FS 置顶分隔符,等价于-F
NF 浏览记录的域的个数
NR 已读的记录数
OFS 输出域分隔符
ORS 输出记录分隔符
RS 控制记录分隔符
打印有多少行记录
awk 'END {print NR}' /etc/passwd
设置输入域到变量名
awk -F: '{name=$1; path=$7; if(name~/root/) print name "\tpath is:" path}' /etc/passwd
域值比较操作
awk '{if($6<$7) print $0}' input-file
修改文本域只显示修改改记录
awk -F: '{if($1=="nagios") {$1="nagios server" ; print }}' /etc/passwd
文件长度相加
ls -l|awk '/^[^d]/ {print $9"\t" $5} {tot+=$5} END {print "total kb:"tot}'
内置的字符窜函数
gsub(r,s) 在整个$0中用s替代r
gsub(r,s,t) 在整个t中用s替代r
index(s,t) 返回s中字符串t的第一位置
length(s) 返回s长度
match(s,r) 测试s中是否包含匹配r的字符串
split(s,a,fs) 在fs上将s分成序列a
sub(s, ) 用$0中最左边也是最长的字符串替代
subtr(s,p) 返回字符串s中从p开始的后缀部分
substr(s,p,n) 返回字符串s中从p开始长度为n的后缀部分
1.gsub
awk 'gsub(/^root/,"netseek") {print}' /etc/passwd 将与root开头的root替换为netseek
awk 'gsub(/0/,2) {print}' /etc/fstab
awk '{print gsub(/0/,2) $0}' /etc/fstab
2.index
awk 'BEGIN {print index("root","o")}' 查询字符串root中o出现的第一位置
awk -F: '$1=="root" {print index($1,"o")" "$1}' /etc/passwd
awk -F: '{print index($1,"o") $1}' /etc/passwd
3.length
awk -F: '{print length($1)'} /etc/passwd
awk -F: '$1=="root" {print length($1)}' /etc/passwd
4.match (在ANCD中查找C的位置)
awk 'BEGIN {print match("ANCD",/C/)}'
5.split
返回字符串数组元素个数
awk 'BEGIN {print split("123#456#789", myarray, "#")}'
6.sub 只能替换指定域的第一个0
awk 'sub(/0/,2) {print }' /etc/fstab
7.substr
按照起始位置及长度返回字符串的一部分
awk 'BEGIN {print substr("www.linuxtone.org",5,9)}' //第5个字符开始,取9个字符。
awk 'BEGIN {print substr("www.linuxtone.org",5)}' //第5个位置开始,取后面的所有.
字符串屏蔽序列
\b 退格键
\f 走纸换页
\n 新行
\r 回车
\t tab
\c 任意其他特殊字符
\ddd 八进制
很简单的例子
awk -F: '{print $1,"\b"$2,"\t"$3}' /etc/passwd 输出函数printf(注意是printf不是print,两者效果不同的)
printf函数拥有几种不同的格式化输出功能
printf修饰符
- 左对齐
Width 域的步长0表示0步长
.prec 最大字符串长度,或小数点右边的位数
awk printf格式
%c ASCII字符
%d 整数
%e 浮点数,科学计数法
%f 浮点数
%g awk决定使用哪种浮点数转换,e或者f
%o 八进制数
%s 字符串
%x 十六进制数
1.字符串转换
echo "65" | awk '{printf"%c\n",$0}'
awk 'BEGIN {printf "%c\n",65}'
awk 'BEGIN {printf "%f\n",999}'
2.格式化输出
awk -F: '{printf "%-15s %s\n",$1,$3}' /etc/passwd
awk -F: 'BEGIN {printf"USER\t\tUID\n"} {printf "%-15s %s\n",$1,$3}' /etc/passwd
3.向一行awk命令传值
who | awk '{if ($1 == user) print $1 " you are connected to:" $2}' user=$LOGNAME
4.awk脚本文件 (在文件名字后面加后缀.awk方便区分)
#!/bin/awk -f
BEGIN{
FS=":"
print "User\t\tUID"
print"____________________________"
}
{printf "%-15s %s\n",$1,$3}
END{
print "END"
}
===============================================================================================================================================
18.从a.log文件中提取包含"WARNING"或"FATAL",同时不包含"IGNOR"的行,然后提取以":"分割的第 5个字段
grep -E 'WARNING|FATAL' a.log|grep -v ignor |awk -F ":" '{print $5}'
不断更新中。。。。。
转载于:https://blog.51cto.com/51tech/458255
相关文章:

【Qt】新安装的虚拟机,使用QtCreator第一次编译时报错:g++: Command not found
1、问题描述 新安装的虚拟机,使用QtCreator第一次编译时报错:g: Command not found (或着报,make执行失败之类的错误) 2、原因分析 新安装的虚拟机中,没有g。一般默认情况是,只安装了gcc 3…

爬一爬那些年你硬盘存过的“老师”
作者 | PayneLi 转载自Python全家桶(ID: python-0321) 人工智能的现状及今后发展趋势如何? https://edu.csdn.net/topic/ai30?utm_sourcecsdn_bw 最近在Github发现一个基于google浏览器的爬虫项目,此项目是由美国大神2018年开源…

python 打印调用栈
import tracebackdef BBQ():traceback.print_stack() 引入 traceback 包,在某个函数中执行 traceback.print_stack()。 转载于:https://www.cnblogs.com/yourstars/p/8448471.html
(转)修改ETM,用Ogre实现《天龙八部》地形与部分场景详解(附源码)
本文主要讲的是《天龙八部》游戏的地形和一部分场景的具体实现,使用C, Ogre1.6,我摸索了段时间,可能方法用的并不是最好的,但好歹实现了。文章可能讲得有点罗嗦,很多简单的东西都讲了。我是修改了ETM(Edita…

【Qt】错误GL/gl.h: No such file or directory的解决方法(以及cannot find -lGL解决方法)
1、问题描述 QtCreator第一次编译时,报错GL/gl.h: No such file or directory 错误信息如下: /home/Qt5.6.3/5.6.3/gcc_64/include/QtGui/qopengl.h:136: error: GL/gl.h: No such file or directory include <GL/gl.h> ^2、原因分析 说明系统里…

java并发之同步辅助类CyclicBarrier和CountDownLatch
CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会…

投稿近2000,NAACL 2019接收率仅为22.6%|附录取论文名单
整理 | 若名 出品 | AI科技大本营(ID:rgznai100) 人工智能的现状及今后发展趋势如何? https://edu.csdn.net/topic/ai30?utm_sourcecsdn_bw 最近真是学术界公布论文产出结果的火热时期,距离计算机视觉领域的顶级盛会 CVPR 2019…

Lucene.Net无障碍学习和使用:索引篇
项目中可能需要再次用到Lucene.Net,利用空闲时间写了个demo,主要涉及到索引的创建、删除、更新和一个简单查询。在本文示例中,Lucene.Net的版本是2.4.0,某些类和方法与最新版本或者较旧的版本有较多不同,希望您阅读顺利…

【ubuntu】vim中鼠标选中时变成 可视模式,不能复制的解决方法
1、问题描述 配置好vim后,打开一个文件,鼠标选中文本时,选中的内容变成可视模式。 可视模式,不能将选中内容复制到剪切板 2、解决方法 在用户根目录下,打开 .vimrc ~$ vi .vimrc 将set mousea 删除或注释掉 3、我的…

Ruby11 拾遗
Agenda LoopExpressionFile Read/WriteDebugProcess & ThreadLoop while a 10 while a > 0puts aa - 1 enduntil a 100until a 0puts aa - 1 endloop a 10loop dobreak if a < 0puts aa - 1 end循环控制 breaknextbreak for x in 1..10break if x 5puts x endne…

CVPR2019|微软、中科大开源基于深度高分辨表示学习的姿态估计算法
作者 | 周强(CV君) 来源 | 我爱计算机视觉(公众号id:aicvml) 如何挑战百万年薪的人工智能! https://edu.csdn.net/topic/ai30?utm_sourcecsdn_bw 昨天arXiv出现了好几篇被CVPR 2019接收的论文。 其中来自…

本地连接受限制或无法连接怎么办?
一个非常常见的问题,就是我们家用电脑安装宽带后,任务栏上的“本地连接”图标有一个的叹号。查看状态:“受限制或无连接”,点“修复”却无法修复,显示无法获取IP地址,获得私网地址!但ADSL又可以…

糟心!苹果无人车裁员190人,程序员却首当其冲
整理 | 琥珀 出品 | AI科技大本营(ID:rgznai100) 60s测试:你是否适合转型人工智能? https://edu.csdn.net/topic/ai30?utm_sourcecxrs_bw 仅过了一个多月,苹果公司自动驾驶部门裁员的真相便已浮出水面,该…

【工具】Internet Download Manager( IDM )抓取站点
软件说明: 扒网站的好东西,免费,支持中文 下载地址(官网) http://www.internetdownloadmanager.com/ 使用方法 https://jingyan.baidu.com/article/a681b0de0be10b3b1943465d.html

2010-12-30
I want to invest in stocks to make a quick buck.我想炒股,尽快赚点儿钱花1、Which company are you going to invest in?那你打算买什么股?2、Dont put all your eggs in one basket造成不要孤注一掷。3、You need…

PFLD:简单、快速、超高精度人脸特征点检测算法
作者 | 周强(CV君) 来源 | 我爱计算机视觉(公众号id:aicvml) 60s测试:你是否适合转型人工智能? https://edu.csdn.net/topic/ai30?utm_sourcecxrs_bw 什么样的算法才是好算法? 真…

Cookie实现记住密码、自动登录
前端代码 <form id"form" action"xxx" method"post"><div><input type"text" name"account" id"account" placeholder"账号"><input type"text" name"pwd" i…
【Ubuntu】VirtualBox+ubuntu中显示摄像头
1、下载插件 https://www.virtualbox.org/wiki/Downloads 2、修改下载的插件的后缀 将后缀名改为vbox-extpack 如下载的插件为Oracle_VM_VirtualBox_Extension_Pack-5.2.14.txt,改为Oracle_VM_VirtualBox_Extension_Pack-5.2.14.vbox-extpack 3、安装插件 点击…

以SIGSEGV为例详解信号处理(与栈回溯)
以SIGSEGV为例详解信号处理(与栈回溯) 信号是内核提供的向用户态进程发送信息的机制, 常见的有使用SIGUSR1唤醒用户进程执行子程序或发生段错误时使用SIGSEGV保存用户错误现场. 本文以SIGSEGV为例, 详细分析信号使用方法, 内核信号的发送与接收机制. 1. 信号处理例程 以下是一…

十个jQuery图片画廊插件推荐
2019独角兽企业重金招聘Python工程师标准>>> jQuery的画廊插件可以将分组图像和多媒体资料转成类似Flash的图像或照片。当幻灯片已经成为网站的重要组成部分,jQuery的重要性不能被忽视。下面为你介绍了10个最有美感,创新性和创造性的jQuery图…

总结机器学习优质学习文章Top50!
整理 | Jane出品 | AI科技大本营(公众号id:rgznai100)在过去一年里,我们每个月都会给大家推荐一些优质的、最新的机器学习研究成果或机器学习技术文章,很多文章是从近千篇文章中评选出来的。综合考虑这些文章的更新时间…

【Qt】ubuntu QtCreator的pro文件中使用pkg-config
试验环境 ubuntu14.04.5 opencv2.4.13.6 Qt Creator 4.0.3 Qt 5.6 使用方法 在pro文件中,添加opencv头文件路径 INCLUDEPATH /usr/local/opencv2.4.13.6/include 添加pkg-config –libs opencv CONFIG link_pkgconfig PKGCONFIG opencv 可以在命令行下…

弯曲评论上关于SOC的一段文章【整理】
近几天,弯曲评论上针对一个文章进行了热烈的讨论。这个文章本无关乎SOC,不过,有业界同仁willchen将话题引到了SOC上,并发表了一番言论,整理如下(BTW,看着willchen的文字,让我想到了s…

C# richtextbox 自动下拉到最后 方法 RichTextBox读取txt中文后出现乱码
C# richtextbox 自动滚动到最后 光标到最后 自动显示最后一行 private void richTextBox1_TextChanged(object sender, EventArgs e) { richTextBox1.SelectionStart richTextBox1.TextLength; // Scrolls the contents of the control to the current car…

【Qt】在Qt中使用opencv,不要使用opencv创建窗口
问题描述 在ubuntu14.04.5 Qt5.6中使用opencv创建窗口显示摄像头时,报错: (:1103): Gtk-WARNING **: gtk_disable_setlocale() must be called before gtk_init() (:1103): GLib-CRITICAL **: Source ID 52 was not found when attempting to remove …

曝贾扬清第二跳,加入阿里!达摩院或将承载中国下一个AI愿景?
整理 | Jane出品 | AI科技大本营(公众号id:rgznai100)无论是国外还是国内,AI 界的人才动向一直是大家关注的焦点,从 2017 年3 月,吴恩达离职百度,开启创业之路;2018 年 9 月…

excel表格出问题了
我excel文件出问题,所有sheet表的N2表格内容自动替换成了几个固定的文字,出现两次了,第一次我手工改回来了,这有出现了第二次,我不知道是病毒原因,还是其他原因,应该不是我误操作,一…

阿里云凌晨大规模宕机,华北部分网站陷入瘫痪
整理 | 琥珀出品 | AI科技大本营(ID:rgznai100)今天凌晨,有不少网友反馈称阿里云疑似出现了宕机故障。据消息称,北京时间 2019 年 3 月 2 日 23:55 分左右开始,监控发现华北 2 地域部分 ECS 实例及部分 EMR、RDS on EC…

java8中的时间处理6 - 格式化
下面是格式化和解析的粒子: LocalDate date LocalDate.now();System.out.println(date);System.out.println(date.format(DateTimeFormatter.ofPattern("d::MMM::uuuu")));System.out.println(date.format(DateTimeFormatter.BASIC_ISO_DATE));LocalDate…

【Qt】ubuntu14.04.5 qt5.6中使用opencv3.4报错:Using GTK+ 2.x and GTK+ 3 in the same process is not supported
问题描述 ubuntu14.04.5 qt5.6中使用opencv3.4报错: Using GTK 2.x and GTK 3 in the same process is not supported 原因 Qt5.6使用的GTK2.x,opencv3.4安装时使用的GTK3。 解决方法 1、降低opencv版本,将opencv3.4更换为opencv2.4 这…