linux下systemctl命令简单使用

例子

启动一个服务:systemctl start nginx
关闭一个服务:systemctl stop nginx
重启一个服务:systemctl restart nginx
重载一个服务:systemctl reload nginx
显示一个服务的状态:systemctl status nginx
在开机时启用一个服务:systemctl enable nginx
在开机时禁用一个服务:systemctl disable nginx
查看服务是否开机启动:systemctl is-enabled nginx
查看已启动的服务列表:systemctl list-unit-files | grep enabled
 
查看启动失败的服务列表:systemctl --failed

继续阅读

golang用zip打包文件简单例子

代码如下所示:

package main
 
import (
    "archive/zip"
    "io"
    "fmt"
    "os"
)
 
func main() {
    files := []string{"aa", "1.txt"}
    output := "out.zip"
 
    newZipFile, err := os.Create(output)
    errOut(err)
 
    defer newZipFile.Close()
 
    zipWriter := zip.NewWriter(newZipFile)
    defer zipWriter.Close()
 
    for _, file := range files {
        fileToZip, err := os.Open(file)
        errOut(err)
 
        info, err := fileToZip.Stat()
        errOut(err)
 
        header, err := zip.FileInfoHeader(info)
        errOut(err)
 
        header.Name = file
        header.Method = zip.Deflate
 
        writer, err := zipWriter.CreateHeader(header)
        errOut(err)
 
        _, err = io.Copy(writer, fileToZip)
        errOut(err)
    }
 
    fmt.Println("zip done!")
}
 
func errOut(err error) {
    if err != nil {
        panic(err)
    }
}

骰子游戏算分算法

有一个骰子游戏,共有5个骰子,随机扔,然后算出总分,下面是点数对应得分值:

得分值

31=1000
36=600
35=500
34=400
33=300
32=200
11=100
15=50

例子

 5 1 3 4 1   50 + 2 * 100 = 250
 1 1 1 3 1   1000 + 100 = 1100
 2 4 4 5 4   400 + 50 = 450

继续阅读