
1 sleepingdog OP |
2 sleepingdog OP |
3 NEO17 2023-10-17 20:34:00 +08:00 看着没错。Ubuntu 版本是? locate 版本? updatedb 试下 |
4 sleepingdog OP @NEO17 #3 忘了说了, ubuntu 是 2204lts ,locate 版本是 ![]() 奇怪我在树莓派上执行这个命令也没有出现内容。树莓派上也是有那个 /usr/bin/zip 的 两个 locate 都是那个 4.8.0 |
5 sleepingdog OP 直接用 locate bin/zip ,它是能出来的,所以应该是哪里出了问题 |
6 zhuisui 2023-10-17 21:14:54 +08:00 我原样复制你的,能找到。语法也没问题。 你确定你用的是你贴的命令,而不是 --regexp ?另外你用了 updatedb 更新过数据库? |
7 sleepingdog OP @zhuisui #6 ![]() 然后也 sudo updatedb 过了。 这是虚拟机的 ubuntu 系统,zip 也都装了好几天了,应该不是这个问题。 关键我在树莓派上也是这个结果,真是蚌埠住了。树莓派是树莓派的 os ,发现没有 locate ,手动 apt 安装了 |
8 sleepingdog OP 手动输入也不行。试了 n 次 |
9 sleepingdog OP |
10 JinTianYi456 2023-10-17 23:12:35 +08:00 不明所以 > updatedb > locate --regex 'bin/(bz|gz|tar)' /bin/gzip /bin/tar /usr/bin/bzcat /usr/bin/bzip2 > locate bin/tar /bin/tar |
11 julyclyde 2023-10-18 13:10:27 +08:00 @sleepingdog 那你 strace locate 看看它到底都做了些啥? |
12 sleepingdog OP @JinTianYi456 #10 update 是不是一般都要加 sudo ? 不过我即使加了,前面也弹出这个东西 ![]() 我去到该位置,发现权限是这样。 ![]() 但感觉这两个文件应该和上述的应该没有关系吧 回到问题,又试了下也还是这样。locate --regex '/bin/zip' ,倒是可以出来结果 ![]() |
13 sleepingdog OP @Livid 我 10 楼的最后一张图片包含了用户信息,能帮我删除该图片么 |
14 sleepingdog OP |
15 sleepingdog OP @julyclyde #11 因为没用过 strace ,不知 strace locate --regex '/bin/(bz|gz|zip)'这样对不对? 它显示的东西太多了只截取前部分和后部,中间基本都是 read(3,.....之类的内容 ~/workspaces/cat$ strace locate --regex '/bin/(bz|gz|zip)' execve("/usr/bin/locate", ["locate", "--regex", "/bin/(bz|gz|zip)"], 0x7ffd16805b50 /* 53 vars */) = 0 brk(NULL) = 0x5643604f8000 arch_prctl(0x3001 /* ARCH_??? */, 0x7ffe61c87470) = -1 EINVAL (无效的参数) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbfa3762000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (没有那个文件或目录) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=73967, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 73967, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fbfa374f000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\237\2\0\0\0\0\0"..., 832) = 832 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 pread64(3, "\4\0\0\0 \0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0"..., 48, 848) = 48 pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\244;\374\204(\337f#\315I\214\234\f\256\271\32"..., 68, 896) = 68 newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2216304, ...}, AT_EMPTY_PATH) = 0 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 mmap(NULL, 2260560, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbfa3400000 ...... read(3, "0000cf67-0006076eea03b003.journa"..., 4096) = 4096 read(3, "e-le64.cache-7\0\0d677cdf-5295-4fc"..., 4096) = 4096 read(3, "le64.cache-7\0\377101a04ab-0cd4-493e"..., 4096) = 3493 read(3, "", 4096) = 0 close(3) = 0 close(1) = 0 close(2) = 0 exit_group(1) = ? +++ exited with 1 +++ |
16 sleepingdog OP |
17 julyclyde 2023-10-18 20:04:21 +08:00 @sleepingdog updatedb 必须用 root 身份运行,否则无权限看所有的文件,没权限写 locate.db |
18 julyclyde 2023-10-18 20:05:00 +08:00 @sleepingdog strace 的输出很长的。慢慢读吧 |