网络相关的命令
ping 目的IP - 检测网络可达性 - ICMP
tracepath 目的IP - 检查数据路由
ifconfig - 检查网络接口 可以加接口参数(eth0)
ip addr
ip - 查看网络接口相关信息
netstat - 查看网络状态(端口占用、进程、已建立的链接)
netstat -nap - 以数值的形式查看网络连接情况(推荐,可以结合管道使用)(n: numeric, a:all, p:process)
sftp - 安全网络文件传输
scp - 安全文件拷贝
scp 文件 root@47.107.173.4:/root/新文件名
命令 & - 让命令在后台运行
redis-server & -开启redis服务,并且不占用shell程序 (&将程序放到后台,不占用shell程序交互式环境)
jobs - 查看后台运行的进程 查看结果:[1]+ Running redis-server &
fg %编号 - 让命令回到前台运行
Ctrl + z - 将前台进程暂停放到后台
bg %编号 - 将命令在后台运行
redis-server > redis.log & - 将程序放到后台运行,并将结果输出到log日志中
https需要证书,非对称加密
万年历
执行命名时直接输入参数(命令行参数)
import sys
sys.argv以列表的方式获取了命令行参数
./mycal.py 等于 python3 mycal.py , python3是命令,所以./mycal.py或者mycal.py是第一个参数
写在.bash_profile中的代码每次链接上了会自动执行
#!/usr/bin/python3
"""
万年历
"""
from datetime import datetime
import sys
def is_leap(year):
"""判断指定年份是否是闰年"""
return year % 4 == 0 and year % 100 != 0 or year % 400 == 0
def get_month_days(year, month):
"""获取指定月份对应的天数"""
days = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if month == 2 and is_leap(year):
days[2] = 29
return days[month]
def main():
# 通过sys.argv可以获取命令行参数
# 命令行参数: 在执行命令时和命令输入在同一行的参数
if len(sys.argv) == 3:
year = int(sys.argv[2])
month = int(sys.argv[1])
else:
now = datetime.now()
year = now.year
month = now.month
y = year if year > 2 else year - 1
m = month if month > 2 else month + 12
c = y // 100
y = y % 100
w = y + y // 4 + c // 4 - 2 * c + 26 * (m + 1) // 10
w %= 7
months = [
'January', ' February', 'March', 'April', 'May',
' June', ' July', ' August', 'September',
'October', ' November', 'December'
]
print(f'{months[month - 1]} {year}'.center(20))
print(f'SU MO TU WE TH FR SA')
print(' ' * 3 * w, end='')
days = get_month_days(year, month)
for day in range(1, days+1):
print(f'{day}'.rjust(2), end=' ')
if w % 7 == 6:
print()
w += 1
print()
if __name__ == '__main__':
main()
Git
版本控制:
1990s - 锁定模式
- CVS (Concurrent Version System)/ VSS (Visual Source Safe)
2000s - 合并模式
- SVN (Subversion) - 集中控制式
分布式版本控制系统 - BitKeeper
2005年 - Git / Mercury
安装git:
1.下载git源代码压缩文件
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.19.1.tar.xz
2.解压缩和解归档
xz -d git-2.19.1.tar.xz
tar -xvf git-2.19.1.tar
3.配置安装路径
cd git-2.19.1
./configure --prefix=/usr/local
4.安装git的网络依赖库
yum -y install libcurl-devel
5.构建和安装
make && make install
6.检查安装结果
git --version
使用git
1.创建git仓库
git init
在当前目录下创建git仓库
2.将代码纳入暂存区
git add 文件名
git add .
- 将所有文件放入暂存区
3.查看暂存区状态
git status
git rm --cached 文件名
(从暂存区移除)
git checkout -- 文件名
(将暂存区文件恢复到工作区)
4.配置身份表示
git config --global user.name "..."
git config --global user.email "..."
5.提交到本地仓库
git commit -m '提交的原因'
6.查看提交日志
git log
git reflog
- 看到未来的版本(曾经提交过又被撤回的版本)
7.回到历史版本
git reset HEAD^
回到上一个版本
git reset HEAD^^
回到上上个版本
git reset 版本的哈希码
:
git reset --hard HEAD^
git reset --hard HEAD^^
git reset --hard 版本的哈希码
--hard参数是为了保持工作区和历史版本的一致性