為何要使用Linux?
因為很多後端程式都搭建在Linux上面,可以實作一些手工重複性的發包工作
1、自動安裝産品到Linux上
2、自動化用例的一些步驟
運維
1、環境監控
2、資料的自動擷取分析
需要的環境和工具:
1、安裝paramiko
國内網站安裝:pip install paramiko -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
國外網站安裝:pip install paramiko --default -timeout=60

安裝成功之後,開始第二個工具Linux的安裝
2、
百度搜尋,安裝虛拟機管理器 virtualbox 或者 vmvareplayer, 建立 64位 虛拟機,
安裝centos鏡像
cetos6.9 下載下傳位址 :
http://mirrors.163.com/centos/6.9/isos/x86_64/CentOS-6.9-x86_64-bin-DVD1.iso
虛拟機下載下傳位址
https://pan.baidu.com/s/1dzmawpqmK5PuCBipIwLXoA#list/path=%2F%E8%99%9A%E6%8B%9F%E6%9C%BA%2FVMware%20Workstation%20%26%20%20KeyGen&parentPath=%2F%E8%99%9A%E6%8B%9F%E6%9C%BA
安裝虛拟機--建立虛拟機添加centos.IOS
python實作遠端控制Linux
3、下載下傳putty遠端連接配接Linux工具
Putty 下載下傳位址 :
https://the.earth.li/~sgtatham/putty/0.70/w32/putty-0.70-installer.msi
python實作遠端控制Linux
pytty連接配接時候報錯:connection refused,百度一圈,以為是SSH的問題,結果是IP連接配接錯誤導緻,
Linux 虛拟機:Network error: Connection refused 排查:https://blog.csdn.net/congcong68/article/details/52965978/
檢視虛拟機中的linuxIP,用指令ifconfig----注意不是ipcopnfig
連接配接成功之後進入指令行頁面
putty連接配接的ip盡量寫具體的ip,不要寫localhost
4、python腳本實作遠端連接配接linux,可以添加删除檔案夾、檔案等linux指令,并可以實作serureCRT從Windows中copy檔案到linux
代碼如下
# coding utf-8
# author:Caoxueqing
import paramiko
# 建立SSHClient執行個體對象
ssh = paramiko.SSHClient()
# 調用方法,辨別沒有遠端機器的公鑰,允許通路
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 連接配接遠端機器 位址端口使用者名密碼
ssh.connect("192.168.17.1",22,"root","111111")
# 建立目錄
ssh.exec_command("pwd")
ssh.exec_command("mkdir jcy3")
ssh.exec_command("cd jcy3")
stdin,stdout,stderr = ssh.exec_command("pwd")
print(stdout.read())
ssh.close()
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(\'192.168.17.128\',22,\'root\',\'111111\')
stdin,stdout,stderr = ssh.exec_command(\'ls\')
print(stdout.read())
sftp = ssh.open_sftp()
sftp.put(r\'C:\Users\Administrator\PycharmProjects\ssh\s1.py\',\'/home/s1.py\')
stdin,stdout,stderr = ssh.exec_command(\'ls;cd /home;ls;pwd\')
print(stdout.read())
總結:
第一步:導入paramiko
第二步:建立SSHClient執行個體對象:ssh = paramiko.SSHClient()
第三步:即使沒有公鑰也可以通路:ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
第四步:連接配接遠端linux機器:ssh.connect(\'linux所在機器的host\',SSH端口号一般預設22,‘登入linux的使用者名’,‘對應的密碼’)
第四步:執行linux指令:ssh.excute_command(\'pwd\'),執行多條指令用;隔開
第五步:擷取輸入輸出及錯誤:把第四步指派給stdin,stdout,stderr = ssh.excute_command(\'pwd;mkdir aaaa;ls\')
傳檔案:sftp = ssh.open_sftp() sftp.put(\'源檔案\',“要拷貝的位址”) sftp.get()--從Linux往Windows拷貝
結束時候一定要加上 ssh.close
常見的linux指令:
ls:檢視目前目錄下内容
pwd:擷取目前路徑
sudo:用管理者權限
切換使用者:su [user]切換到其他使用者,但是不切換環境變量,su - [user]則是完整的切換到新的使用者環境。 su root
tail:用于輸出檔案尾部内容 例如 tail -f 100 log.txt
cat:
echo:
sh:
grep:
history:
mkdir:
chmod:改變讀寫權限
rm:rm a.txt 删除a檔案 rm -f a.txt 強行删除a檔案
指令大全:https://www.cnblogs.com/everfight/p/linux_note.html