运维笔记---Linux

#home目录下所有文件更新时间距现在时刻大于120分钟的文件删除(-mtime -3 表示3天以内)
find /home/* -mmin +120 -exec rm -rf {} \;

#home目录下所有文件创建时间距现在时刻大于120分钟的文件删除(-ctime -3 表示3天以内)
find /home/* -cmin +120 -exec rm -rf {} \;

tar -zcf XXX.tar.gz XXX --remove-files		#打包成tar包之后删除原文件

#替换jar内文件(包内要和包外的路径对应一致,不然会说没有这个文件)
jar -uvf XXX.jar 包内文件 包外文件

#添加swap分区(创建swap文件、修改权限、设置交换空间、启用交换空间、开机自动挂载)
dd if=/dev/zero of=/tmp/swap bs=1MB count=1024
chmod 0600 /tmp/swap
mkswap /tmp/swap
swapon /tmp/swap
echo "/tmp/swap swap swap defaults 0 0" >> /etc/fstab

#查看当前目录下各文件夹占用空间,深度1。(-h后面可以指定目录参数)
du -h --max-depth=1

#查看目录下所有文件的大小并按照大小排序
du -sh * | sort -rh

sort file1 file2 | uniq -u		#去除两个文件重复部分

ln –s 源文件 目标文件				#软链接

ls --full-time filename			#查看文件生成全部时间

#不解压筛选查看tar.gz包(或zgrep --binary-files=text "Read time out" X.tar.gz)
zcat XXX.tar.gz | grep --binary-files=text "Read time out"

#抓包命令
tcpdump -iany host 127.0.0.1 -XNnn 、 tcpdump -iany port 80 -XNnn	

#mysql查询结果以utf8编码导出到txt文件
mysql -h 127.0.0.1 -u用户名 -p密码 --default-character-set=utf8 -e "sql语句" > tt.txt

#/home/oracle/下存放连接mysql的用户名密码文件.my.cnf,然后以安全方式连接mysql
HOME=/home/oracle mysql -e "sql语句"  或 mysql --defaults-file=/home/oracle

#判断$var变量是否有值(有)
if [ -n "$var" ];then
			
#xargs 用作替换工具,读取输入数据重新格式化后输出
|xargs -i -t  	#-t 表示先打印命令,然后再执行;-i 一般是一行一行赋值给 {}

#Linux下清除文件系统缓存
1、sync
2、echo 3 > /proc/sys/vm/drop_caches	
3、echo 0 > /proc/sys/vm/drop_caches

#查看哪个安装包包含该库:
yum provides 库名

#yum只下载不安装并指定包存放路径
yum install --downloadonly --downloaddir=/tmp <package-name>

#inode使用率过高解决办法
for i in /*;do echo $i;find $i | wc -l;done

#调整swappiness参数来设置内存使用多少后开始使用swap分区
vim /etc/sysctl.conf 添加 vm.swappiness = 40 ,然后sysctl -p生效
cat /proc/sys/vm/swappiness 值为40,表示使用到 100-40=60% 的时候开始swap分区的使用

#打印出当前进程详细的情况,其中,内存是VmRSS
cat /proc/[pid]/status

#ping命令结果后面添加时间
ping www.baidu.com | awk '{print $0"\t" strftime("%Y-%m-%d %H:%M:%S",systime());fflush()}' > ping.log

#检测http状态
curl -I -m 10 -o /dev/null -s -w %{http_code} www.baidu.com
  • awk命令详解
#awk打印除某些列之外的所有列:
awk '{ $3="";$4=""; print $0 }' a.txt

#awk修改指定列的内容(以逗号分割):
awk  'BEGIN{FS=OFS=","} {if ($4==1700870) $4=1700888}1'  test.txt

#默认每行按空格或TAB分割:
awk '{print $1,$4}' log.txt

#-F,指定分割字符:
awk -F : '{print $1,$4}' log.txt
#指定多个分割字符,先用:分割,然后再用,分割:
awk -F '[:,]' '{print $1,$4}' log.txt

#-v,指定变量:
awk -v a=1 -v b=s '{print $1,$1+a,$1b}' log.txt

#-f,调用awk脚本:
awk -f script.awk log.txt

#纯字符匹配,//:
awk '/dockerroot/' /etc/passwd

#纯字符不匹配,!//:
awk '!/dockerroot/' /etc/passwd

#匹配a1或a2,/|/:
awk '!/a1|a2/' /etc/passwd

#字段值匹配,~//:
awk '$1~/root/' /etc/passwd

#字段值不匹配,!~//:
awk -F : '$1!~/root/' /etc/passwd

#IF语句,必须用在{}中,且比较内容用()扩起来if...else...:
awk -F: '{if($1~/root/) {print $1} else {print $2}}' /etc/passwd            

#while语句:
awk -F: 'BEGIN{i=1} {while(i<8) print $i,i++}' /etc/passwd

#逻辑运算符:&&?|| 
#条件表达式:==   !=   >   >=  
#NF、NR:NF代表每行字段数,NR代表行号
  • shell脚本字符串截取的8种方法
#	假设有变量 var=http://www.aaa.com/123.htm.

#	1. # 号截取,删除左边字符,保留右边字符。**
echo ${var#*``//}
#	其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
#	即删除 http://
#	结果是 :www.aaa.com/123.htm

#	2. ## 号截取,删除左边字符,保留右边字符。**
echo ${var##*/}
#	\##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
#	即删除 http://www.aaa.com/
#	结果是 123.htm

#	3. %号截取,删除右边字符,保留左边字符**
echo ${var%/*}
#	%/* 表示从右边开始,删除第一个 / 号及右边的字符
#	结果是:http://www.aaa.com

#	4. %% 号截取,删除右边字符,保留左边字符**
echo ${var%%/*}
#	%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
#	结果是:http:

#	5. 从左边第几个字符开始,及字符的个数**
echo ${var:0:5}
#	其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
#	结果是:http:

#	6. 从左边第几个字符开始,一直到结束。**
echo ${var:7}
#	其中的 7 表示左边第8个字符开始,一直到结束。
#	结果是 :www.aaa.com/123.htm

#	7. 从右边第几个字符开始,及字符的个数**
echo ${var:0-7:3}
#	其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
#	结果是:123

#	8. 从右边第几个字符开始,一直到结束。**
echo ${var:0-7}
#	表示从右边第七个字符开始,一直到结束。
#	结果是:123.htm
#	注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
  • linux大文件分割
split -l 5 large.txt test_line_				#指定行数分割
split -b 10k large.txt test_size_		#指定大小分割
#test_line_、test_size_为新文件的前缀
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值