码迷,mamicode.com
首页 > 系统相关 > 详细

linux常用命令65535

时间:2020-02-15 21:59:40      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:status   区分   解析   net   pass   颜色   查看内容   过滤   tail   

# grep
格式:grep  [选项]  关键词  文件
-i 不区分大小写
-n 显示行号
--color 高亮显示关键字

# 删除两个文件的交集:
cat a.txt b.txt |sort |uniq -u
# 取两个文件的交集:
cat a.txt b.txt |sort |uniq -d
# 取两个文件的并集:
cat a.txt b.txt |sort |uniq

# 非交互crontab
清空定时任务列表:
crontab -r
删除一条定时任务:
crontab -l|grep -v "/a.sh"|crontab
新增一条定时任务:
(crontab -l;echo "0 */6 * * * /data/bin/a.sh > /dev/null 2>&1")|crontab
新增多条定时任务:
crontab -l;echo "0 */6 * * * /data/bin/a.sh >/dev/null 2>&1
> 0 */6 * * * /data/bin/b.sh.sh >/dev/null 2>&1"|crontab

# echo字体颜色
echo -e "\033[x;y;zm 输出内容 \033[0m"
x显示方式: 终端默认设置=0 高亮显示=1 带下划线=4 字体闪烁=5 反白显示=7 隐藏=8 
y字体颜色: 重置=0,黑色=30,红色=31,绿色=32,×××=33,蓝色=34,洋红=35,青色=36,白色=37 
z字体背景色: 重置=0,黑色=40,红色=41,绿色=42,×××=43,蓝色=44,洋红=45,青色=46,白色=47

# sed
# Sed 参考 https://blog.csdn.net/wdz306ling/article/details/80087889
# 选项
-r 启用扩展的正则表达式,若与其他选项一起使用,应作为首个选项
-e:它告诉sed将下一个参数解释为一个sed指令,只有当命令行上给出多个sed指令时才需要使用-e选项
# 编辑命令
a: 在匹配行后面追加            sed "/^$/a 123" 1.txt
i: 在匹配行前面追加            sed "/^$/i 123" 1.txt
c: 更改匹配行的内容            sed "/^$/c 123" 1.txt
=: 打印匹配行号                sed "/123/=" 1.txt
r: 将文件内容追加到匹配行后面   sed "/^$/r /data/2.txt" 1.txt
w: 将匹配行写入指定文件(覆盖原文件,慎用)        sed -i "/^$/w /data/2.txt" 1.txt
打印匹配123的行及其后面一行     sed -n "/123/,+1p" 1.txt
打印最后一行                   sed -n "\$p" 1.txt
删除1~2之外的所有行(必须使用‘‘) sed ‘1,2!d‘ 1.txt
删除不匹配123或abc的行(必须使用‘‘)         sed ‘/123\|abc/!d‘ 1.txt
删除1~3行中,匹配有123的行      sed "1,3{/123/d}" 1.txt
在第7行替换第2个123为hello     sed "7s#123#hello#2" 1.txt
替换第1行中的最后1个字符为空    sed "1s/.$//g" 1.txt

# awk
引用${a}变量 awk ‘{print $1"‘${a}‘"}‘ 1.txt
# 域名访问次数最多的前十条
cat xxx.log| awk -F‘,‘ ‘{print $7}‘ |sort|uniq -c |sort -nr -k1 |head -10

# 过滤IP
for i in $(cat 1);do sed "s/\"//g" 1.csv |grep ${i} |awk -F ‘,‘ ‘{print $3}‘; done

# 删除3天以上的文件
find /data/bak -mtime +3 -name "${HOSTNAME}-*.zip" -exec rm -f {} \;

# 测试域名是否可访问 显示域名解析IP地址
#!/bin/bash
a=(

)
for i in ${a[@]}
do
echo -e "\033[1;36m ${i}\t$(echo $(dig ${i} |sed -n "/;; ANSWER/,/;/p" \
|sed -n "2,3p" |awk ‘{print $NF}‘ |sed "1s/\.$//"))\t\t$(curl https://${i} \
>/dev/null 2>&1 && echo successfully || echo failure) \033[0m"
done

# zip
将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip:
   zip -q -r html.zip /home/html、
-q 不显示指令执行过程。
-r 递归处理,将指定目录下的所有文件和子目录一并处理。
从压缩文件 cp.zip 中删除文件 a.c
zip -dv cp.zip a.c

# Xshell
属性》终端》VT模式》初始数字键盘模式(DECNKM)》设置为普通(S)
Alt+o 快速打开新会话
vim 普通模式
d+上/下 删除选中的两行
d+左/右  
命令行下
Ctrl + a 可以快速切换到命令行开始处
Ctrl + e 切换到命令行末尾
Ctrl + r 在历史命令中查找
Ctrl + u 删除光标所在位置之前的所有字符
Ctrl + k 删除光标所在位置之后的所有字符
ctrl + w 删除光标之前的一个单词
ctrl + d 删除当前字符

# nignx 的 rewrite和return
参考:https://blog.51cto.com/chenx1242/2059740
nginx配置location [=|~|~*|^~] /uri/ { … }用法
= 严格匹配。如果这个查询匹配,那么将停止搜索并立即处理此请求。
~ 为区分大小写匹配(可用正则表达式)
!~为区分大小写不匹配
~* 为不区分大小写匹配(可用正则表达式)
!~*为不区分大小写不匹配
^~ 如果把这个前缀用于一个常规字符串,那么告诉nginx 如果路径匹配那么不测试正则表达式。
# make && make install 后显示 离开目录 则 安装成功
./configure \
--prefix=/usr/local/nginx \
--user=www \
--group=www \
--conf-path=/data/soft/nginx/conf/nginx.conf \
--with-cc-opt=-O3 \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_realip_module \
--with-http_sub_module \
--with-http_ssl_module \
--with-http_slice_module

# ossutil 配置 ------------------------------------------------------
ossutil64 config -e 阿里云桶地址 -i 阿里云oss的ID -k 阿里云oss的Key

# sshpass 批量传ssh公钥:
制作密钥对:ssh-keygen -b 2048 -t rsa
传送公钥:ssh-copy-id
#第一次连接不提示"yes/no": -o StrictHostKeyChecking=no
#sshpass -p ‘123456‘ ssh-copy-id -o StrictHostKeyChecking=no www@192.168.25.20

# ssh-agent 免私钥密码验证
ssh-agent bash
ssh-add ~/.ssh/id_rsa
ssh-add -l # 查看已添加私钥 
-d 私钥 :删除指定的私钥

# expect 批量传ssh公钥
#!/bin/bash
pass_wd=‘‘
ssh_ip=(
)
for i in ${ssh_ip[*]}
do
expect <<-EOF
set time 30
spawn ssh-copy-id -p 12525 www@${i}
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "${pass_wd}\r" }
}
send "exit\r"
interact
expect eof
EOF
done

# inotify ---------------------------------------------------------------
inotifywait [选项] 目标文件夹
-m  持续监控(捕获一个事务后不退出)
-r 递归监控、包括子目录及文件
-q 减少屏幕输出信息
-e 指定监视的 modify move create delete attrib 等事件类别

# 监控并同步
a="/dir/"
b="rsync -a --delete $a root@192.168.4.207:/opt/"
while /myrpm/bin/inotifywait -rqq $a
do
$b
done

# 计算备份文件的总大小
du -sh ${HOSTNAME}-*.zip |awk ‘{print $1}‘|sed ‘s#M##g‘|awk ‘{sum+=$1}END{print sum}‘

# tar
-z:有gzip属性的 -czf tar.gz
-j:有bz2属性的 -cjf tar.bz2
-Z:有compress属性的 -cZf tar.bz2

-t:查看内容
-v:显示所有过程
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# 解压
*.tar 用 tar –xvf 解压
*.gz 用 gzip -d或者gunzip 解压
*.tar.gz 和 *.tgz 用 tar –xzf 解压
*.bz2 用 bzip2 -d或者用bunzip2 解压
*.tar.bz2 用 tar –xjf 解压
*.Z 用 uncompress 解压
*.tar.Z 用 tar –xZf 解压
*.rar 用 unrar e解压
*.zip 用 unzip 解压

linux常用命令65535

标签:status   区分   解析   net   pass   颜色   查看内容   过滤   tail   

原文地址:https://www.cnblogs.com/link65535/p/12313775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!