先声明本人的操作系统版本,ubuntu16.0.4
一、ssh连接远程服务器自动输入密码
https://blog.csdn.net/transformed/article/details/91955542
二、shell脚本自动切换用户身份
#!/usr/bin/expect
spawn su root
expect "Password:"
send "填密码\r"
#interact. 如果加上这一句,就会把控制权交给控制台,即返回到命令行中,如果不想返回命令行,而是想继续执行其他命令,此处就不加interact
或者可以直接以root身份执行某命令
#!/bin/bash
sudo -S 此处加你想以root身份执行的命令 <
三、设置静态ip地址
先ifconfig,找到端口名
找一个端口,然后
ifconfig 端口名 ip地址 netmask 255.255.255.0
四、输出重定向
1. >,重定向到文件,如果文件不存在则创建。如果原来文件中存在内容会被覆盖掉。
2. >>,追加内容到文件,如果文件不存在则创建。
3. 1>,2>,1>>,2>>:
例如运行一个python脚本,正确的输出结果用1>保存到文件中,错误的异常信息用2>保存到文件中,脚本如下:
#!/usr/bin/python
# -*- coding:UTF-8 -*-
import sys
if __name__=='__main__':
print 6
prin('66666666')
1 ./python.py 1>right.txt 2>wrong.txt#运行脚本,正确的和异常分别保存到对应文件中
2. ./python.py 1>right.txt 2>&1#异常信息追加保存到1所重定向的位置
3. python python.py 1>>re.txt 2>re2.txt#二者可以混用
五、AWK命令:
1.去重或者取重:
cat file.txt|awk '!a[$1]++' file.txt>save.txt#对file.txt文件中第一列去重,并且保存到save.txt中
六、grep命令:
查找并输出文件中含有符合条件的字符串的行。
#例子1:
grep "2019-07" * #将输出当前目录下所有文件中包含“2019-07”字符串的行
输出:
0706:2019-07-06truefalsefalse0291
0706:2019-07-06falsefalsefalse0136361
0706:2019-07-07falsefalsefalse01
0706:2019-07-31falsefalsefalse01
07079:2019-07-01truefalsefalse034
07079:2019-07-01falsefalsefalse013372
#例子2:
grep -v "2019-07" 0707* #将输出当前目录下所有以0707开头的文件中不包含“2019-07”字符串的行
输出:
07079:2019-07-01truefalsefalse034
07079:2019-07-01falsefalsefalse013372
07079:2019-07-02truefalsefalse030
07079:2019-07-02falsefalsefalse019075
07079:2019-07-03truefalsefalse055
七、sh -c的作用
假设这个文件只有root用户有读写权限的话,那么执行下面这条语句会报错。
echo "a" >test.txt
即使前加上sudo,我们使用 sudo 只是让 echo 命令具有了 root 权限,但是没有让 “>” 和 ">>" 命令也具有 root 权限,所以 bash 会认为这两个命令都没有像 test.asc 文件写入信息的权限,sudo的作用也只能延伸到echo,而到不了>,仍然无法写入.
此时加上sh -c可以让bash将一个字串作为完整的命令来执行,也就是后面的字串都具有root权限了,就可以正常执行读写
sudo sh -c "echo 'w' >test.txt"
先mark一篇https://baijiahao.baidu.com/s?id=1618628054855105015&wfr=spider&for=pc