Skip to content

Commit 9db73c1

Browse files
authored
Add files via upload
初始化项目
1 parent 731871a commit 9db73c1

4 files changed

Lines changed: 91 additions & 0 deletions

File tree

Makefile

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
export PATH := $(GOPATH)/bin:$(PATH)
2+
export GO111MODULE=on
3+
LDFLAGS := -s -w
4+
5+
ndk=/Users/xxx/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin
6+
android-386=${ndk}/i686-linux-android30-clang
7+
android-amd64=${ndk}/x86_64-linux-android30-clang
8+
android-arm=${ndk}/armv7a-linux-androideabi30-clang
9+
android-arm64=${ndk}/aarch64-linux-android30-clang
10+
11+
os-archs=android-386 android-amd64 android-arm android-arm64 darwin-amd64 darwin-arm64 linux-386 linux-amd64 linux-arm linux-arm64 windows-386 windows-amd64
12+
13+
build:
14+
@$(foreach n, $(os-archs),\
15+
os=$(shell echo "$(n)" | cut -d - -f 1);\
16+
arch=$(shell echo "$(n)" | cut -d - -f 2);\
17+
target_suffix=$${os}_$${arch};\
18+
echo "Build $${os}-$${arch}...";\
19+
env CGO_ENABLED=$(if $${os}=android,1,0) CC=$(if $${os}=android,${$(shell echo "$(n)")},) GOOS=$${os} GOARCH=$${arch} go build -trimpath -ldflags "$(LDFLAGS)" -o ./release/FileMonitor_$${target_suffix};\
20+
echo "Build $${os}-$${arch} done";\
21+
)
22+
@mv release/FileMonitor_windows_386 release/FileMonitor_windows_386.exe
23+
@mv release/FileMonitor_windows_amd64 release/FileMonitor_windows_amd64.exe
24+
25+
clean:
26+
$(RM) -rf ./release/

go.mod

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module FileMonitor
2+
3+
go 1.18
4+
5+
require github.com/fsnotify/fsnotify v1.6.0
6+
7+
require golang.org/x/sys v0.0.0-20220908164124-27713097b956 // indirect

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
2+
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
3+
golang.org/x/sys v0.0.0-20220908164124-27713097b956 h1:XeJjHH1KiLpKGb6lvMiksZ9l0fVUh+AmGcm0nOMEBOY=
4+
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

main.go

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package main
2+
3+
import (
4+
"github.com/fsnotify/fsnotify"
5+
"log"
6+
"os"
7+
)
8+
9+
func main() {
10+
if len(os.Args) <= 1 {
11+
log.Println("请输入需要监控的文件夹路径!!")
12+
log.Println("如: ./FileMonitor /data/local/tmp")
13+
return
14+
}
15+
watch, err := fsnotify.NewWatcher()
16+
if err != nil {
17+
log.Fatal(err)
18+
}
19+
defer watch.Close()
20+
err = watch.Add(os.Args[1])
21+
if err != nil {
22+
log.Fatal(err)
23+
}
24+
go func() {
25+
for {
26+
select {
27+
case ev := <-watch.Events:
28+
{
29+
if ev.Op&fsnotify.Create == fsnotify.Create {
30+
log.Println("创建: ", ev.Name)
31+
}
32+
if ev.Op&fsnotify.Write == fsnotify.Write {
33+
log.Println("写入: ", ev.Name)
34+
}
35+
if ev.Op&fsnotify.Remove == fsnotify.Remove {
36+
log.Println("删除: ", ev.Name)
37+
}
38+
if ev.Op&fsnotify.Rename == fsnotify.Rename {
39+
log.Println("重命名: ", ev.Name)
40+
}
41+
if ev.Op&fsnotify.Chmod == fsnotify.Chmod {
42+
log.Println("修改权限: ", ev.Name)
43+
}
44+
}
45+
case err := <-watch.Errors:
46+
{
47+
log.Println("error : ", err)
48+
return
49+
}
50+
}
51+
}
52+
}()
53+
select {}
54+
}

0 commit comments

Comments
 (0)