Linux小技巧

Linux小技巧python

2019-05-27

Linux
查看CPU信息linux

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:
快速統計可迭代對象元素個數排名git

# 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
查看系統硬件信息github

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切片技巧web

# 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實現端口映射docker

# 內網經過有外網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推導式運用express

# 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以下app

FROM alpine:3.9
MAINTAINER Andy_f<rg_fan@163.com>
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 後面添加步驟便可

更多歷史小技巧,技術交流,崗位內推訪問:馬哥社區

相關文章
相關標籤/搜索