【Linux】Linux命令使用整理(持续更新)

先声明本人的操作系统版本,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,找到端口名

【Linux】Linux命令使用整理(持续更新)_第1张图片

找一个端口,然后

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-06	true	false	false	0	291
0706:2019-07-06	false	false	false	0	136361
0706:2019-07-07	false	false	false	0	1
0706:2019-07-31	false	false	false	0	1
07079:2019-07-01	true	false	false	0	34
07079:2019-07-01	false	false	false	0	13372

#例子2:
grep -v "2019-07" 0707*  #将输出当前目录下所有以0707开头的文件中不包含“2019-07”字符串的行
输出:
07079:2019-07-01	true	false	false	0	34
07079:2019-07-01	false	false	false	0	13372
07079:2019-07-02	true	false	false	0	30
07079:2019-07-02	false	false	false	0	19075
07079:2019-07-03	true	false	false	0	55

七、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

你可能感兴趣的:(linux)