Python3编程中会碰到单*和双**的情况,咋一看,会以为是C语言中的指针和二级指针,其实则不然。
以下我们示例介绍单*和双**的使用场景
常规单*和双**
单*,用于乘法或者倍数,如:
print(2*3) # 数学乘法运算,值为 6
print("="*3) # 重复,返回 3个"=", 即 "==="
""" 返回结果:
6
===
"""
Python3编程中会碰到单*和双**的情况,咋一看,会以为是C语言中的指针和二级指针,其实则不然。
以下我们示例介绍单*和双**的使用场景
单*,用于乘法或者倍数,如:
print(2*3) # 数学乘法运算,值为 6
print("="*3) # 重复,返回 3个"=", 即 "==="
""" 返回结果:
6
===
"""
Python3的函数参数对象,可分为两种类型:
参数是可变对象时,类似于C语言中的指针类型。
Bash(GNU Bourne-Again Shell)是许多Linux平台的内定Shell,事实上,还有许多传统UNIX上用的Shell,像tcsh、csh、ash、bsh、ksh等等。
GNU/Linux 操作系统中的 /bin/sh 本是 bash (Bourne-Again Shell) 的符号链接,但鉴于 bash 过于复杂,有人把 bash 从 NetBSD 移植到 Linux 并更名为 dash (Debian Almquist Shell),并建议将 /bin/sh 指向它,以获得更快的脚本执行速度。Dash Shell比 Bash Shell小的多,符合POSIX标准。
Debian和Ubuntu中,/bin/sh默认已经指向dash,这是一个不同于bash的shell,它主要是为了执行脚本而出现,而不是交互,它速度更快,但功能相比bash要少很多,语法严格遵守POSIX标准。
在linux操作系统中,每个进程都有自己的环境变量,我们可以通过一下方法获取进程的环境变量。
1,获得进程的PID
如:获取oninit进程的PID
ps -ef | grep oninit
获取到oninit的进程号有下列
gbasedbt 8492 1 0 May17 ? 00:36:19 oninit -vy
root 8495 8492 0 May17 ? 00:01:23 oninit -vy
root 8496 8495 0 May17 ? 00:00:19 oninit -vy
root 8499 8495 0 May17 ? 00:00:14 oninit -vy
root 8501 8495 0 May17 ? 00:00:20 oninit -vy
root 8503 8495 0 May17 ? 00:00:00 oninit -vy
root 8531 8495 0 May17 ? 00:00:14 oninit -vy
root 8535 8495 0 May17 ? 00:03:14 oninit -vy
...
开启ssh登陆,并切换成root权限
创建tun.sh
echo -e '#!/bin/sh \ninsmod /lib/modules/tun.ko' > /usr/local/etc/rc.d/tun.sh
创建目录
mkdir -p /var/lib/zerotier-one
使用yum源安装,显著减少麻烦
yum install zlib-devel bzip2-devel openssl-devel \
ncurses-devel sqlite-devel readline-devel \
tk-devel gcc make libffi-devel
这里使用的是3.7.16版本
wget https://www.python.org/ftp/python/3.7.16/Python-3.7.16.tgz
为了像本地一样访问远程主机上的目录,通常我们会在远程主机上使用nfs来导出目录,并在本地主机上mount这个nfs文件系统。
但可能我们忽略了一个远程连接最通用的工具:ssh。其实很多和远程有关的行为,基于ssh都能完成,即使是实现像NFS一样的功能。
如何通过ssh来挂载远程目录?需要安装fuse-sshfs包,这个包在epel中提供。使用fuse-sshfs包提供的sshfs工具可以基于ssh直接挂载远程目录,不用像NFS一样还要export。
[root@node1 ~]# yum -y install epel-release
[root@node1 ~]# yum -y install fuse-sshfs
所谓定时任务,就是未来的某个或多个时点,预定要执行的任务,比如每五分钟收一次邮件、每天半夜两点分析一下日志等等。
Linux 系统通常都使用 cron 设置定时任务,但是 Systemd 也有这个功能,而且优点显著。
CentOS 7中使用firewall-cmd来设置防火墙。
在防火墙未放通9088端口的情况下,仅允许192.168.80.0/24网段访问9088端口。
使用iptables --list 或者 firewall-cmd --list-all查看现有防火墙策略
iptables --list
firewall-cmd --list-all
如果有放通端口,使用以下指令,关闭端口开放
firewall-cmd --permanent --zone=public --drop-port=9088/tcp
虚拟机克隆后,CentOS 6的网卡MAC地址将会改成,因些原先配置的网络不可用。
通过以下方法改变IP地址:
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:2f:97:0e brd ff:ff:ff:ff:ff:ff
inet 192.168.80.69/24 brd 192.168.80.255 scope global eth2
inet6 fe80::20c:29ff:fe2f:970e/64 scope link
valid_lft forever preferred_lft forever
注:以上信息是网络修改完成后的结果。