压缩与解压相关:
gzip file.txt //压缩.gz文件
gip -d file.txt.gz //解压.gz文件
tar -zxvf file.tar.gz //解压.tar.gz文件
tar -zxvf file.tar.gz -C /home/file/ //解压.tar.gz文件到指定目录
tar -zcf file.tar.gz file //压缩文件夹或文件
tar -jxvf file.tar.bz2 //解压.tar.bz2文件
zip -r file.zip file //压缩成.zip的文件
unzip file.zip //解压.zip文件
tar -cvf file.tar file //打包成.tar文件
tar -xvf file.tar //解压打包的.tar文件
下载相关:
wget -c http://url/get/file.tar.gz //断点续传
wget -P /tmp/ http://url/get/file.tar.gz //下载文件存放到指定目录下
sed替换字符:
sed "/^$/d" //删除文件中的空白行
sed -i "/delete/d" file.txt //删除带指定字符的行
sed -i 's/oldsize/newsize/g' file.txt //全局替换指定字符串
linux终端踢用户:
linux终端踢用户:
pkill -kill -t pts/0 //linux下强踢已登录用户,w查看已登录的用户, pts/0为需要踢的指定用户终端
shell比较数值大小:
-eq //equals等于
-ne //no equals不等于
-gt //greater than 大于
-lt //less than小于
-ge //greater equals大于等于
-le //less equals小于等于
shell中时间取值:
`date +%Y%m%d%H` : 2021052016 年月日时
`date +%Y%m%d%H%M` :202105201605 年月日时分
`date +%s` : 1623108612 当前时间戳
`date +%Y%m%d -d "-1 days"` 20210519 前一天 (今天是20210520)
`date +%Y%m%d -d "+1 days"` 20210521 后一天 (今天是20210520)
`date +%Y-%m -d "-1 months"` 现在2021-05 ,前一个月份 (输出2021-04)
`date +%M -d '2 min ago'` 两分钟前
`date +%b` 当前月份缩写(Jan)
find 查找指定时间内文件:
find ./ -type f -mmin -5 查找5分钟内修改过的文件
find ./ -type f -mmin +5 查找5分钟前修改的文件
find ./ -type f -ctime -2 查找2天内修改过的文件
find ./ -type f -ctime +2 查找两天前修改过的文件
sed批量替换指定目录下所有文件中的指定字符串:
grep "oldstrings" -rl ./ | xargs -i sed -i "s/oldstrings/newstrings/g" {} 替换当前目录下所有文件中的oldstrings替换为newstrings
Centos修改主机名为大写:
hostnamectl set-hostname --static hostNAME01
sed -n '100,110p' filename
shell运算:
#!/bin/bash
sum=`expr 2 + 2` 加 . 更多: `expr $a - $b` 减 , `expr $a * $b` 乘 , `expr $b / $a` 除
echo "两数之和为 : $sum
在文件的指定字符串前面插入空白行:
# awk 'NF' aa.txt // 去掉文件的空白行
shell比较数值大小:
-eq //equals等于
-ne //no equals不等于
-gt //greater than 大于
-lt //less than小于
-ge //greater equals大于等于
-le //less equals小于等于
shell中时间取值:
`date +%Y%m%d%H` : 2021052016 年月日时
`date +%Y%m%d%H%M` :202105201605 年月日时分
`date +%s` : 1623108612 当前时间戳
`date +%Y%m%d -d "-1 days"` 20210519 前一天 (今天是20210520)
`date +%Y%m%d -d "+1 days"` 20210521 后一天 (今天是20210520)
`date +%Y-%m -d "-1 months"` 现在2021-05 ,前一个月份 (输出2021-04)
`date +%M -d '2 min ago'` 两分钟前
`date +%b` 当前月份缩写(Jan)
find 查找指定时间内文件:
find ./ -type f -mmin -5 查找5分钟内修改过的文件
find ./ -type f -mmin +5 查找5分钟前修改的文件
find ./ -type f -ctime -2 查找2天内修改过的文件
find ./ -type f -ctime +2 查找两天前修改过的文件
sed批量替换指定目录下所有文件中的指定字符串:
grep "oldstrings" -rl ./ | xargs -i sed -i "s/oldstrings/newstrings/g" {} 替换当前目录下所有文件中的oldstrings替换为newstrings
Centos修改主机名为大写:
hostnamectl set-hostname --static hostNAME01
从第1000行开始,显示1000行。即显示1000~1999行
cat filename | tail -n +1000 | head -n 1000
显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行
sed -n '100,110p' filename
shell运算:
#!/bin/bash
sum=`expr 2 + 2` 加 . 更多: `expr $a - $b` 减 , `expr $a * $b` 乘 , `expr $b / $a` 除
echo "两数之和为 : $sum
在文件的指定字符串前面插入空白行:
# awk 'NF' aa.txt // 去掉文件的空白行
# awk 'NF' aa.txt | sed '/id/G' | more //带有id的行,后面插入一行空白行
# awk 'NF' aa.txt | sed '/id/{x;p;x;}' | more //带有id的行,前面插入一行空白行
# awk 'NF' aa.txt | sed '/# Time:/i\*****************************************' | more //带有id的行,前面插入一行*****
# awk 'NF' aa.txt | sed '/# Time:/i\*****************************************' | more //带有id的行,前面插入一行*****

