虛擬環境
可以隔離多個開發環境,基本上生產環境和開發環境都使用虛擬環境
在虛擬環境中只會影響python本身,不會影響系統中的任何操作
python2.* virtualenv
python3.* 模組 venv
#準備存放**目錄
#mkdir -p /python_pro/pure_py
#cd /python_pro
建立虛擬環境
#/usr/local/python3/bin/python3.6 -m venv venv3.6
#source venv3.6/bin/activate 進入虛擬環境
#pip3 install ipython 使用python相關命令時不需要絕對路徑,預設為當前虛擬環境中的python
#deactivate 退出虛擬環境
採集系統資訊
linux: uptime ps ss top vmstat lsblk lsof
python: psutil (google公司開源)
#進入虛擬環境
#pip3 install psutil
cpu import psutil
psutil.cpu_count()
psutil.cpu_freq()
psutil.cpu_percent()
psutil.cpu_stats()
psutil.cpu_times()
psutil.cpu_times_percent()
記憶體 psutil.virtual_memory()
硬碟 psutil.disk_partitions()
psutil.disk_usage('/')
psutil.disk_usage('/home')
psutil.disk_io_counters()
程序 psutil.pids()
psutil.process(pid=1)
ret = psutil.process(pid=1)
ret.uid()
ret.uids()
ret.cmdline()
ret.cpu_times()
ret.io_counters()
ret.memory_info()
網路 psutil.net_if_addrs()
psutil.net_if_stats()
psutil.net_io_counters()
psutil.net_connections()
psutil.net_connections(kind='tcp')
psutil.net_connections(kind='inet4')
help(psutil.net_connections)
硬體本身(需要感測器)
psutil.sensors_battery()
比較檔案的差異
[root@centos7-base ~]# cat a.txt
#version=devel
# system authorization information
auth --enableshadow --passalgo=sha512
# use cdrom installation media
cdrom
# use graphical install
graphical
# run the setup agent on first boot
firstboot --enable
ignoredisk --only-use=sda
[root@centos7-base ~]# cat b.txt
#version=devel
# system authorization informotion
auth --enableshadow --passalgo=sha512
abc# use cdrom installation media
cdrom
# use graphical install
graphical
firstboot
ignoredisk --only-use=sda
linux : diff
diff -aru a.txt b.txt
python: difflib
方法一:
import difflib
f1 = open('/root/a.txt').readlines()
f2 = open('/root/b.txt').readlines()
tool = difflib.differ()
ret = tool.compare(f1,f2)
for line in ret:
print(line,end='')
方法二:
import difflib
f1 = open('/root/a.txt').readlines()
f2 = open('/root/b.txt').readlines()
tool = difflib.htmldiff()
ret = tool.make_file(f1,f2)
with open('index.html','w') as f:
f.write(ret)
比較檔案或多個檔案
有時只想知道檔案是否一樣,不需知道具體**不一樣
linux:
md5sum file1
md5sum file2
python:
方法一: 比較兩個檔案
import filecmp
f1 = '/root/a.txt'
f2 = '/root/b.txt'
ret = filecmp.cmp(f1,f2)
print(ret)
方法二: 比較兩個目錄中的多個檔案
dir1
├── a.txt
├── b.txt
└── c.txt
dir2
├── a.txt
├── b.txt
├── c.txt
├── x.txt
└── y.txt
希望比較dir1和dir2中的a.txt b.txt c.txt x.txt z.txt 是否一樣
示例:import filecmp
dir1 = '/root/dir1'
dir2 = '/root/dir2'
files = ['a.txt','b.txt','c.txt','x.txt','z.txt']
ret = filecmp.cmpfiles(dir1,dir2,files)
print(ret)
比較多個檔案會返回乙個比較的結果,結果是乙個三個元素的元組,並且每個元素都是乙個列表(列表1,列表2,列表3)
列表1: 表示檔案存在於兩個目錄中,並且內容一致
列表2: 表示檔案存在於兩個目錄中,並且內容不一致
列表3: 無法進行比較的檔案,檔案不存在,沒有讀許可權
Linux diff 比較檔案差異
diff為 linux 命令,用於比較文字或者資料夾差異,可以通過man來查詢其功能以及引數的使用。使用patch命令可以對檔案或者資料夾應用修改。diff r u p proj a original proj a mine diff.patch遞迴的比較資料夾差異,並將結果重定向輸出到diff.p...
UNIX Linux系統取證之資訊採集案例
unix linux系統取證之資訊採集案例 在unix linux系統取證中,及時收集硬碟的資訊至關重要,unix linux網路日誌分析與流量監控 一書中,將詳細討論各種常見系統程序系統呼叫及映象檔案獲取方法。下面簡單舉幾個例子。在unix linux取證時很多系統和網路資訊是短時存在的可謂是轉瞬...
python比較兩個檔案的差異
轉 使用python指令碼比較兩個檔案的差異內容並輸出到html文件中,可以通過瀏覽器開啟檢視。一 指令碼使用 對比nginx配置檔案的差異 python python diff file.py f1 web26.conf f2 web103.conf 二 指令碼內容 usr bin python ...