Linux小技巧
2019-05-27
Linux
查看CPU信息
more /proc/cpuinfo # 查看cpu信息
lscpu # 查看cpu信息
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c # 查看cpu型号和逻辑核心数
getconf LONG_BIT # cpu运行的位数
cat /proc/cpuinfo | grep 'physical id' |sort| uniq -c # 物理cpu个数
cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l # 结果大于0支持64位
cat /proc/cpuinfo|grep flags # 查看cpu是否支持虚拟化 pae支持半虚拟化 IntelVT 支持全虚拟化
python:
快速统计可迭代对象元素个数排名
# collections.Counter lets you find the most common
# elements in an iterable:
>>> import collections
>>> c = collections.Counter('helloworld')
>>> c
Counter({'l': 3, 'o': 2, 'e': 1, 'd': 1, 'h': 1, 'r': 1, 'w': 1})
>>> c.most_common(3)
[('l', 3), ('o', 2), ('e', 1)]
2019-05-28
Linux
查看系统硬件信息
more /proc/meminfo # 查看内存信息
dmidecode # 查看全面硬件信息
dmidecode | grep "Product Name" # 查看服务器型号
dmidecode | grep -P -A5 "Memory\s+Device" | grep Size | grep -v Range # 查看内存插槽
cat /proc/mdstat # 查看软raid信息
cat /proc/scsi/scsi # 查看Dell硬raid信息(IBM、HP需要官方检测工具)
lspci # 查看硬件信息
python:
运用python切片技巧
# You can clear all elements from a list:
>>> lst = [1, 2, 3, 4, 5]
>>> del lst[:]
>>> lst
[]
# You can replace all elements of a list
# without creating a new list object:
>>> a = lst
>>> lst[:] = [7, 8, 9]
>>> lst
[7, 8, 9]
>>> a
[7, 8, 9]
>>> a is lst
True
# You can also create a (shallow) copy of a list:
>>> b = lst[:]
>>> b
[7, 8, 9]
>>> b is lst
False
2019-05-30
linux:
iptables实现端口映射
# 内网通过有外网IP的机器映射端口
# 内网主机添加路由
route add -net 10.10.20.0 netmask 255.255.255.0 gw 10.10.20.111 # 内网需要添加默认网关,并且网关开启转发
# 网关主机
echo 1 > /proc/sys/net/ipv4/ip_forward # 在内核里打开ip转发功能
iptables -t nat -A PREROUTING -d 外网IP -p tcp --dport 9999 -j DNAT --to 10.10.20.55:22 # 进入
iptables -t nat -A POSTROUTING -s 10.10.20.0/24 -j SNAT --to 外网IP # 转发回去
iptables -t nat -nL # 查看转发
python:
python推导式运用
# Python's list comprehensions are awesome.
vals = [expression
for value in collection
if condition]
# This is equivalent to:
vals = []
for value in collection:
if condition:
vals.append(expression)
# Example:
>>> even_squares = [x * x for x in range(10) if not x % 2]
>>> even_squares
[0, 4, 16, 36, 64]
2019-05-31
linux:
网络相关基础命令
rz # 通过ssh上传小文件
sz # 通过ssh下载小文件
ifconfig eth0 down # 禁用网卡
ifconfig eth0 up # 启用网卡
ifup eth0:0 # 启用网卡
mii-tool em1 # 查看网线是否连接
traceroute www.baidu.com # 测试跳数
vi /etc/resolv.conf # 设置DNS nameserver IP 定义DNS服务器的IP地址
nslookup www.moon.com # 解析域名IP
dig -x www.baidu.com # 解析域名IP
python:
python内置httpserver,快速测试
# Python has a HTTP server built into the
# standard library. This is super handy for
# previewing websites.
# Python 3.x
$ python3 -m http.server
# Python 2.x
$ python -m SimpleHTTPServer 8000
# (This will serve the current directory at
# http://localhost:8000)
2019-06-10
docker镜像制作小技巧
基础镜像使用alpine,如果镜像中要运行的是C程序的话就要自己安装glibc,如jdk也是C开发的,所以在安装jdk的时候就要先安装glibc
alpine:3.9-glibc 镜像的dockerfile如下
FROM alpine:3.9
MAINTAINER Andy_f
ENV LANG=C.UTF-8
RUN echo http://mirrors.ustc.edu.cn/alpine/v3.9/main > /etc/apk/repositories && \
echo http://mirrors.ustc.edu.cn/alpine/v3.9/community >> /etc/apk/repositories &&\
apk --no-cache add ca-certificates && \
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.29-r0/glibc-2.29-r0.apk && \
apk add glibc-2.29-r0.apk && \
rm -rf glibc-2.29-r0.apk && \
apk add tzdata && \
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
apk del tzdata && \
apk add curl
# end
# RUN 指令注解
# 增加中国科技大学的alpine镜像站点到docker镜像中
# 安装CA证书
# 下载alpine软件仓库的公钥文件
# 下载glibc2.29
# 安装glibc
# 删除glibc安装包
# 安装时区管理工具
# 设置时区为上海
# 删除时区文件包
# 安装curl
# 以上是安装glibc及设置时区和安装一些工具的指令,如果自己还需要安装其他的,直接在curl 后面添加步骤即可
更多历史小技巧,技术交流,岗位内推访问:马哥社区