GG修改器破解版下载地址:https://ghb2023zs.bj.bcebos.com/d/z/p/d/dbzs.apk?GGXGQ
大家好,今天小编为大家分享关于gg修改器如何认证root_gg修改器修改实名认证的内容,赶快来一起来看看吧。
傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。——–王小波
shell 是用户 与 Linux 内核之间的解释器
区分 shell 和 bash:shell是解释器的总称,bash是一类解释器。
查看当前在使用得解释器,不会显示临时切换的解释器,查看当前系统支持得解释器类型
[root@liruilong ~]$ echo $SHELL #查看当前在使用得解释器,不会显示临时切换的解释器
/bin/bash
[root@liruilong ~]$ cat /etc/shells #查看当前系统支持得解释器类型
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
临时使用其他的解释器,查看设置用户得解释器类型
[root@liruilong ~]$ sh #临时使用其他的解释器
[root@liruilong ~]$ useradd zhangsan #创建用户
[root@liruilong ~]$ cat /etc/passwd | grep zhangsan #查看用户得解释器类型
zhangsan:x:1002:1002::/home/zhangsan:/bin/bash
[root@liruilong ~]$ usermod -s /bin/tcsh zhangsan #修改zhangsan得解释器
[root@liruilong ~]$ cat /etc/passwd | grep zhangsan
zhangsan:x:1002:1002::/home/zhangsan:/bin/tcsh
[root@liruilong ~]$ su - zhangsan #切换用户,验证用户得解释器类型
[zhangsan@liruilong ~]$ echo $SHELL
/bin/tcsh
[zhangsan@liruilong ~]$
在这里插入图片描述
[root@liruilong ~]$ history #查看历史记录
[root@liruilong ~]$ history -c #清空历史记录
[root@liruilong ~]$ vim /etc/profile #修改历史记录的数量
46 HISTSIZE=1000
[root@liruilong ~]$ alias #查看当前用户可以使用的别名
在这里插入图片描述
[root@liruilong ~]$ vim /root/.bashrc #重开一个终端生效,针对root用户生效
alias ens33=’cat /etc/sysconfig/network-scripts/ifcfg-ens33’
[root@liruilong ~]$ vim /etc/bashrc #重开一个终端生效,针对所有用户生效
alias ens33=’cat /etc/sysconfig/network-scripts/ifcfg-ens33’
正确输出重定向覆盖,> 等同于 1>
##正确输出重定向覆盖,> 等同于 1>
[root@liruilong ~]$ ls /etc/passwd > /root/1.txt
[root@liruilong ~]$ cat /root/1.txt
/etc/passwd
正确输出重定向追加, 1>> 等同于 1>>
##正确输出重定向追加, 1>> 等同于 1>>
[root@liruilong ~]$ ls /etc/passwd >> /root/1.txt
[root@liruilong ~]$ cat /root/1.txt
/etc/passwd
/etc/passwd
错误输出重定向覆盖追加
##错误输出重定向覆盖
[root@liruilong ~]$ ls --helps 2> /root/2.txt
[root@liruilong ~]$ cat /root/2.txt
ls:无法识别的选项“--helps”
Try ’ls --help’ for more information.
##错误输出重定向追加
[root@liruilong ~]$ ls --helps 2>> /root/2.txt
[root@liruilong ~]$ cat 2.txt
ls:无法识别的选项“--helps”
Try ’ls --help’ for more information.
ls:无法识别的选项“--helps”
Try ’ls --help’ for more information.
错误或正确的输出重定向覆盖追加
##错误或正确的输出重定向覆盖
[root@liruilong ~]$ ls /etc/shadow /root/fsdfs &> /root/3.txt
[root@liruilong ~]$ cat /root/3.txt
ls: 无法访问/root/fsdfs: 没有那个文件或目录
##错误或正确的输出重定向追加
[root@liruilong ~]$ ls /etc/shadow /root/fsdfs &>> /root/3.txt
[root@liruilong ~]$ cat /root/3.txt
ls: 无法访问/root/fsdfs: 没有那个文件或目录
/etc/shadow
[root@liruilong ~]$ cat /root/3.txt
ls: 无法访问/root/fsdfs: 没有那个文件或目录
/etc/shadow
##管道的应用
[root@liruilong ~]$ cat /etc/passwd | less
[root@liruilong ~]$ echo "123" | passwd --stdin zhangsan
什么是 Shell 脚本 提前将可执行的命令语句写入一个文件 顺序执行 解释器逐行解释代码
第一个 Shell 脚本
编写一个 Hello Word脚本 新建文件 添加可执行语句 (命令) 给文件添加 x 执行权限
[root@liruilong ~]$ mkdir -p /root/shell/day01
[root@liruilong ~]$ vim /root/shell/day01/first.sh
echo "Hello World"
一个合格规范的脚本应该包含以下这些内容 #! 脚本声明 (使用哪种解释器解释代码) 注释信息 (步骤、思路、用途等),以 # 可执行的语句
[root@liruilong ~]$ vim /root/shell/day01/first.sh
#!/bin/bash
#A test program for Shell.
echo "Hello World"
方法一:需要为文件赋予可执行的权限 绝对路径执行 相对路径执行
[root@liruilong ~]$ chmod +x /root/shell/day01/first.sh #赋予执行权限
[root@liruilong ~]$ /root/shell/day01/first.sh #以绝对路径的方式运行脚本
Hello World
[root@liruilong ~]$ cd /root/shell/day01
[root@liruilong day01]# ./first.sh #以相对路径运行脚本,【.】只得是当前目录
Hello World
方法二:不需要文件有可执行的权限 sh 脚本文件名 source 脚本文件名 #不会启动子进程,通过pstree 查看进程树
在这里插入图片描述
[root@liruilong ~]$ chmod -x /root/shell/day01/first.sh #取消脚本的执行权限
[root@liruilong ~]$ ls -l /root/shell/day01/first.sh
-rw-r–r– 1 root root 58 7月 4 11:03 /root/shell/day01/first.sh
[root@liruilong ~]$ sh /root/shell/day01/first.sh #用开启子进程的方式运行脚本
Hello World
![在这里插入图片描述](https://img-blog./0ed77c927305454dbe40ae57e34b93
[root@liruilong ~]$ source /root/shell/day01/first.sh #运行脚本时不会开启子进程
Hello World
#!/bin/bash
echo "Hello World"
sleep 100 #休眠100秒
[root@liruilong ~]$ yum -y install psmisc #pstree的软件包
[root@liruilong ~]$ sh /root/hello.sh #终端A上运行脚本
[root@liruilong ~]$ pstree #终端B验证,查看进程树
├─sshd─┬─sshd───bash───sh───sleep
└─sshd───bash───pstree
[root@liruilong ~]$ source /root/hello.sh #终端A上运行脚本
[root@liruilong ~]$ pstree #终端B验证,查看进程树
├─sshd─┬─sshd───bash───sleep
└─sshd───bash───pstree
以固定的名称,存放可以能有变化的值
注意事项: = 两边不能有空格,不要使用关键字做变量名,如:ls、cd等; 如果变量名已经存在则覆盖之前的变量值; 变量名称有:字母/数字/下划线,不能以数字开始;
###脚本中得变量并不需要回收,运行完成后系统会自动回收变量
[root@liruilong ~]$ x=12 #给变量x赋值为12
[root@liruilong ~]$ var1=centos #给变量var1赋值为centos
[root@liruilong ~]$ _a=12 #变量名以下划线开头
[root@liruilong ~]$ a_0="hello world" #变量的值可以是字符串
[root@liruilong ~]$ echo $x #输出变量x的值
12
[root@liruilong ~]$ echo $_a #输出变量$_a的值
12
[root@liruilong ~]$ echo $a_0 #输出变量$_0的值
hello world
[root@liruilong ~]$ echo ${var1}6.5 #输出变量 var1的值,为了区分,用{var1}表示
centos6.5
[root@liruilong ~]$ unset x #取消定义的变量x
[root@liruilong ~]$ echo $x #再次输出结果为空
变量类型 环境变量(变量名通常大写,有操作系统维护); 位置变量(bash内置变量,存储脚本执行时的参数); 预定义变量(bash内置变量,可以调用但是不能赋值或修改); 自定义变量(用户自主设置)
环境变量 存储在 /etc/profile 或 ~/.bash_profile 命令 env 可以列出所有环境变量 常见环境变量:PATH、PWD、USER、UID、HOME、SHELL
[root@liruilong ~]$ echo $PATH #默认搜索路径
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@liruilong ~]$ echo $UID #当前用户对应得UID号
0
[root@liruilong ~]$ echo $USER #当前系统得登录用户
root
[root@liruilong ~]$ echo $HOME #当前登录用户得家目录
/root
[root@liruilong ~]$ cd /etc/sysconfig/network-scripts/
[root@liruilong network-scripts]# echo $PWD #显示当前用户得所在路径
/etc/sysconfig/network-scripts
[root@liruilong ~]$ [root@liruilong ~]$ echo $SHELL #显示当前用户使用得解释器
/bin/bash
位置变量 存储脚本执行时的参数: 使用 $n 表示,n 为数字序列号 $1、$2、… 、${10}、${11}、…
[root@liruilong ~]$ vim /root/shell/day01/user.sh
#!/bin/bash
#test positional parameters.
echo $1
echo $2
echo $3
[root@liruilong ~]$ bash /root/shell/day01/user.sh aa 99 cc
aa
99
cc
[root@liruilong ~]$ vim /root/shell/day01/user02.sh
#!/bin/bash
#read username and pass from positional parameters.
useradd "$1" #创建用户
echo "$2" | passwd --stdin "$1" #给用户设置密码
[root@liruilong ~]$ sh /root/shell/day01/user02.sh tom 123
更改用户 tom 的密码 。
passwd:所有的身份验证令牌已经成功更新。
预定义变量 用来保存脚本程序的执行信息 直接使用这些变量 不能直接为这些变量赋值
在这里插入图片描述
[root@liruilong ~]$ ls /tmp/
[root@liruilong ~]$ echo $? #返回上一条命令的执行状态:0 为正确,非0 为错误
0
[root@liruilong ~]$ cat /root/sfsfsd
cat: /root/sfsfsd: 没有那个文件或目录
[root@liruilong ~]$ echo $? #上一条命令执行失败,返回一个非0值
1
[root@liruilong ~]$ vim /root/shell/day01/pre.sh
#!/bin/bash
echo $0 #输出当前得脚本名
echo $* #输出所有得位置变量
echo $# #输出位置变量得数量
echo $ #输出脚本的进程号,每次运行脚本进程号不同
[root@liruilong ~]$ bash /root/shell/day01/pre.sh aa bb 88 qq
/root/shell/day01/pre.sh # $0执行结果
aa bb 88 qq # $*执行结果
4 # $#执行结果
3255 # $脚本进程号
[root@liruilong ~]$
区别三种定界符 — 双引号 ” ” 允许扩展,以 $ 引用其他变量; 单引号 ’ ’ 禁用扩展,即便 $ 也视为普通符号; 反引号 “ 将命令的执行输出作为变量值,$() 与反引号等效;
[root@liruilong ~]# touch a b c #创建的是三个文件
[root@liruilong ~]# touch "a b c" #双引号让其代表一个文件
[root@liruilong ~]# touch ’b c d’ #单引号作用这里是与双引号相同
[root@liruilong ~]# ls -l #查看
-rw-r--r-- 1 root root 0 7月 6 09:36 a
-rw-r--r-- 1 root root 0 7月 6 09:36 b
-rw-r--r-- 1 root root 0 7月 6 09:36 c
-rw-r--r-- 1 root root 0 7月 6 09:48 a b c
-rw-r--r-- 1 root root 0 7月 6 09:48 b c d
[root@liruilong ~]# rm -rf "a b c" #删除时要引号引起来
[root@liruilong ~]# rm -rf ’b c d’
[root@liruilong ~]# echo $HOME #输出家目录路径
/root
[root@liruilong ~]# echo ’$HOME’ #只输出 $HOME 字符串,’’屏蔽特殊符号的含义
$HOME
[root@liruilong ~]# echo ’$USER id is $UID’
$USER id is $UID
[root@liruilong ~]# echo $USER id is $UID
root id is 0
[root@liruilong ~]# test=`grep root /etc/shadow`
[root@liruilong ~]# test01=$(grep root /etc/shadow)
[root@liruilong ~]# echo $test
root:$6$Uebh9/WEzEaQfT$8b0B6oBgWUTEmYojDW9.6PHOw0.jD7A.SENsHFD/YPwh/L9jRJK0yWAtRF4BEteYZETeMiInp72dTviSKmLZf.:18501:0:99999:7::: dockerroot:!!:18691::::::
[root@liruilong ~]# echo $test01
root:$6$Uebh9/WEzEaQfT$8b0B6oBgWUTEmYojDW9.6PHOw0.jD7A.SENsHFD/YPwh/L9jRJK0yWAtRF4BEteYZETeMiInp72dTviSKmLZf.:18501:0:99999:7::: dockerroot:!!:18691::::::
[root@liruilong ~]#
read 标准输入取值 read 从键盘读入变量值完成赋值 格式:read [-p “提示信息”] 变量名 -p 可选,-t 可指定超时秒数,-s 设置是否在终端显示输入的内容
交互式定义变量
[root@liruilong ~]# read name #交互式定义变量
haha #输入名字
[root@liruilong ~]# echo $name #查看变量
haha
[root@liruilong ~]# read -p "请输入用户名:" name #交互式定义变量
请输入用户名:xixi
[root@liruilong ~]# echo $name #查看变量
xixi
从键盘读取用户名密码,创建用户并设置密码
[root@liruilong ~]# vim /root/shell/day01/user03.sh
#!/bin/bash
##read 从键盘读取用户名密码,创建用户并设置密码
read -p "请输入一个用户名:" name
read -p "请输入密码:" pass
useradd $name
echo "$pass" | passwd --stdin $name
##脚本测试
[root@liruilong ~]# source /root/shell/day01/user03.sh
请输入一个用户名:nana
请输入密码:123456
更改用户 nana 的密码 。
passwd:所有的身份验证令牌已经成功更新。
read 从键盘读取用户名密码,创建用户并设置密码,要求不显示输入密码
[root@liruilong ~]# vim /root/shell/day01/user03.sh
#!/bin/bash
##read 从键盘读取用户名密码,创建用户并设置密码,要求不显示输入密码
read -p "请输入一个用户名:" name
read -p "请输入密码:" -s pass
useradd $name
echo "$pass" | passwd --stdin $name
##脚本测试
[root@liruilong ~]# source /root/shell/day01/user03.sh
请输入一个用户名:haha
请输入密码:更改用户 haha 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@liruilong ~]# vim /root/shell/day01/user03.sh
#!/bin/bash
不输入就会自动退出:如果后面不加秒数,则不会自动退出
##read 从键盘读取用户名密码,创建用户并设置密码,要求不显示输入密码
##-t 多少秒不输入就会自动退出:如果后面不加秒数,则不会自动退出
read -p "请输入一个用户名:" name
read -p "请输入密码:" -s -t 3 pass
useradd $name
echo "$pass" | passwd --stdin $name
##脚本测试
[root@liruilong ~]# source /root/shell/day01/user03.sh
请输入一个用户名:lisi
请输入密码:更改用户 lisi 的密码 。 #超过3秒退出
passwd: 鉴定令牌操作错误
变量的作用范围 — 局部变量 新定义的变量默认只是在当前 Shell 环境中有效,无法在子 Shell 环境中使用 全局变量 系统中的任何 Shell 环境中都有效
####开启两个终端,A和B来测试
#终端A上操作
[root@liruilong ~]# x=11 #定义局部变量
[root@liruilong ~]# sh #进入sh子进程
sh-4.2# echo $x #无此变量,输出为空
#终端B上操作
[root@liruilong ~]# pstree #查看进程树
......
├─sshd─┬─sshd───bash───sh
│ └─sshd───bash───pstree
......
使用 export 定义全局变量
#终端A上操作
[root@liruilong ~]# export x=12 #定义全局变量
[root@liruilong ~]# sh #开启sh子进程
sh-4.2# echo $x #新的解释器里变量也生效
12
sh-4.2# bash #开启bash子进程
[root@liruilong ~]# echo $x #新的解释器里变量也生效
12
[root@liruilong ~]# pstree #查看进程树
......
├─sshd─┬─sshd───bash───sh───bash
└─sshd───bash───pstree
......
基本运算法则 四则运算 加法:num1 + num2 减法:num1 – num2 乘法:num1 * num2 整除:num1 / num2 取余数运算 求模:num1 % num2
[root@liruilong ~]# echo $[1+2]
3
[root@liruilong ~]# echo $[2*3]
6
[root@liruilong ~]# x=15;y=3 #定义两个临时变量x,y
[root@liruilong ~]# echo $[x+y] #加法运算
18
[root@liruilong ~]# echo $[x-y] #减法运算
12
[root@liruilong ~]# echo $[x*y] #乘法运算
45
[root@liruilong ~]# echo $[x/3] #除法运算
5
[root@liruilong ~]# echo $[x%3] #取余运算(除尽)
0
[root@liruilong ~]# echo $[x%2] #取余运算(未除尽)
1
[root@liruilong ~]# x=15;y=3 #定义两个临时变量x,y
[root@liruilong ~]# echo $((x+y)) #加法运算
18
[root@liruilong ~]# echo $((x-y)) #减法运算
12
[root@liruilong ~]# echo $((x*y)) #乘法运算
45
[root@liruilong ~]# echo $((x/y)) #除法运算
5
[root@liruilong ~]# echo $((x%y)) #取余运算(除尽)
0
[root@liruilong ~]# echo $((x%y)) #取余运算(未除尽)
1
[root@liruilong ~]# x=2 #定义变量x=2
[root@liruilong ~]# echo $[x+=4] #输出x值,x=x+4
6
[root@liruilong ~]# echo $x #输出x值
6
[root@liruilong ~]# echo $[x+=1] #输出x值,x=x+1
7
[root@liruilong ~]# echo $x #输出x值
7
[root@liruilong ~]# echo $[x*=3] #输出x值,x=x*3
21
[root@liruilong ~]# echo $x #输出x值
21
[root@liruilong ~]# echo $[x++] #输出x+1前的值
21
[root@liruilong ~]# echo $x #这是x+1后的值
22
[root@liruilong ~]# echo $[x--] #输出x-1前的值
22
[root@liruilong ~]# echo $x #输出x-1后的值
21
####let 用于指定算术运算
[root@liruilong ~]# let i=2*3 #将算术运算 2*3 赋予变量 i
[root@liruilong ~]# echo $i
6
[root@liruilong ~]# let i=3*6 #将算术运算 3*6 赋予变量 i
[root@liruilong ~]# echo $i
18
[root@liruilong ~]# b=2 #定义变量
[root@liruilong ~]# let b+=2 #变量赋值,b=b+2
[root@liruilong ~]# echo $b
4
[root@liruilong ~]# let b*=3 #变量赋值,b=b*3
[root@liruilong ~]# echo $b
12
[root@liruilong ~]# x=2
[root@liruilong ~]# let x++;echo $x # ;用来区分两条命令
3
[root@liruilong ~]# let x++;echo $x # ;用来区分两条命令
4
[root@liruilong ~]# let x+=3;echo $x # ;用来区分两条命令
7
Bash 内建机制仅支持整数运算,不支持小数运算
[root@liruilong ~]# echo $[12.2+23]
-bash: 12.2+23: 语法错误: 无效的算术运算符 (错误符号是 ".2+23")
我们可以通过计算器软件 bc 实现小数运算
我们没有该软件则需要使用yum安装; bc支持交换式和非交换式两种计算,scale=n 可以约束小数位,quit 退出交互式计算
[root@liruilong ~]# yum -y install bc #安装bc软件包
###使用bc进行交互运算
[root@liruilong ~]# bc
12+23 #加法运算
35
23.43*1.243 #乘法运算
29.123
23/2 #除法运算
11
23%3 #取余运算
2
quit #退出命令
[root@liruilong ~]# echo "1.2+3.3" | bc
4.5
[root@liruilong ~]# echo "1.2+3.3;3.8*2.7" | bc #同时进行多个运算
4.5
10.2
[root@liruilong ~]# echo "scale=2;10/2" |bc #scale=2 结果小数位保留两位
5.00
[root@liruilong ~]# echo "scale=2;17/2" |bc
8.50
[root@liruilong ~]# echo "scale=2;17.34/2" |bc #scale=2 结果小数位保留两位
[root@liruilong ~]# echo "1>2" | bc #比较错误,1小于2,结果为0
0
[root@liruilong ~]# echo "5>2" | bc #比较正确,5大于2,结果为1
1
[root@liruilong ~]# echo "2==2" | bc #比较正确,2等于2,结果为1
1
[root@liruilong ~]# echo "2!=2" | bc #比较错误,2等于2,结果为0
0
[root@liruilong ~]# echo "12.34 < 8.8" | bc #比较错误,12.34 大于 8.8,结果为0
0
[root@liruilong ~]# echo "12.34 != 8.8" | bc #比较正确,12.34不等于8.8
[root@liruilong ~]# echo "hello world" #echo 默认会换行
hello world
[root@liruilong ~]# echo -n "hello world" #-n 取消 echo 命令的默认换行
hello world
[root@liruilong ~]#