Python UNIX系统管理指南

时间:2022-07-23
本文章向大家介绍Python UNIX系统管理指南,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一本个人感觉很不错的书,这些文章算是实践

自带的终端来运行命令

chmod a+x是加读写权限

两个python,前面是目录,后面是选择解释器


#! /usr/bin/env python
#A System Information Gathering Script
import subprocess

#Command 1
uname = "uname"
uname_arg = "-a"
print ("Gathering system information with %s command:n" % uname)
subprocess.call([uname, uname_arg])

#Command 2
diskspace = "df"
diskspace_arg = "-h"
print ("Gathering diskspace information %s command:n" % diskspace)
subprocess.call([diskspace, diskspace_arg])
#! /usr/bin/env bash
#A System Information Gathering Script
#Command 1
UNAME="uname -a"
printf "Gathering system information with the $UNAME command: nn"
$UNAME

#Command 2
DISKSPACE="df -h"
printf "Gathering diskspace information with the $DISKSPACE command: nn"
$DISKSPACE

你看以上的脚本的时候,其实是可以看的出来。输出几乎一样的。

那么call的时候将命令和参数分开写是不必要的。完全可以这样写

subprocess.call("df -h",shell=True")

python

bash

编写你个简单的函数

#! /usr/bin/env bash
#A System Information Gathering Script

#Command 1
function uname_func ()

{
    UNAME="uname -a"
    printf "Gathering system information with the $UNAME command: nn"
    $UNAME
}
#Command 2
function disk_func ()
{
    DISKSPACE="df -h"
    printf "Gathering diskspace information with the $DISKSPACE command: nn"
    $DISKSPACE
}

function main ()
{
    uname_func
    disk_func
}

Main
#! /usr/bin/env python
#A System Information Gathering Script
import subprocess

#Command 1
def uname_func():

    uname = "uname"
    uname_arg = "-a"
    print ("Gathering system information with %s command:n" % uname)
    subprocess.call([uname, uname_arg])

#Command 2
def disk_func():

    diskspace = "df"
    diskspace_arg = "-h"
    print ("Gathering diskspace information %s command:n" % diskspace)
    subprocess.call([diskspace, diskspace_arg])

#Main function that call other functions
def main():
    uname_func()
    disk_func()

main()

成功

失败,应该是语法错误

不加权限,就运行不了

把下文的main()改成这样,变成可福用脑本

我们来考虑找个东西,输出好像一样,那么它是真的一样吗?


print语句使用的是非正式的字符串表达式

简单变量名使用的事正式的字符串表达式

在处理自定义类时,这差异会变得十分明显

这个老东西写的不好~


我们创建了一个DoubleRep的类,里面有两个类

在实例化对象以后,指定对象df来保存该对象