為何要使用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

3、下載putty遠程連接Linux工具
Putty 下載地址 : https://the.earth.li/~sgtatham/putty/0.70/w32/putty-0.70-installer.msi

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
