我希望每天启动一个特殊命令,但不想将它放在 /etc/cron.d/ 中,因为它是特定于用户的用户!
pg@pipoTower: ~$ crontab -l
# m h dom mon dow command
0 0 * * * updatedb -l 0 -o ~/.externalharddisk.db -U /var/autofs/removable/usbData
Run Code Online (Sandbox Code Playgroud)
将crontab -e其放在文件中的命令/var/spool/cron/crontabs/userName
但不知道为什么它不被 anacron 调用....
usr@Tower: ~/$ cat /etc/anacrontab
# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root
# These replace cron's entries
1 5 cron.daily run-parts --report /etc/cron.daily
7 10 cron.weekly run-parts --report /etc/cron.weekly
@monthly 15 cron.monthly run-parts --report /etc/cron.monthly
Run Code Online (Sandbox Code Playgroud) 使用索引外部驱动器后,updatedb -l 0 -o db_file -U source_directory我想知道是否已经有像 Nautilus 这样的(GUI)浏览器可以离线浏览索引文件。
注意:locate -d DB .给出完整的文件列表。
另外:DB 是什么格式——sqlite?
从定位手册页:
If --regex is not specified, PATTERNs can contain globbing characters. If any PATTERN contains no globbing characters, locate behaves as if the pattern were *PATTERN*.
Run Code Online (Sandbox Code Playgroud)
现在,查看这些命令的输出:
test@ubuntu:~$ ls
Desktop Documents Downloads Firefox_wallpaper.png Music Pictures Public Templates Videos
test@ubuntu:~$
test@ubuntu:~$
test@ubuntu:~$ locate '/bin/bash*'
test@ubuntu:~$
test@ubuntu:~$
test@ubuntu:~$ locate /bin/bash*
/snap/core18/1880/bin/bash
/snap/core18/1880/usr/bin/bashbug
/snap/core18/1944/bin/bash
/snap/core18/1944/usr/bin/bashbug
/usr/bin/bash
/usr/bin/bashbug
Run Code Online (Sandbox Code Playgroud)
如果您看到我当前的工作目录没有完整路径名以/bin/bash. 因此,我们不应该从locate /bin/bash*. 为什么 ?根据shell 的 globbing 功能,由于我当前的工作目录中没有这样的文件/目录,因此*不会按原样扩展和传递。因此,它应该等同于 using locate '/bin/bash*'(这是我们上面运行的第二个命令)。因为,这没有收到任何输出,因此这locate /bin/bash*也不应该给出输出?
联机帮助页指出,默认情况下,updatedb 包括整个文件系统。我有两个 USB 连接驱动器,未包含在 updateb 中。我可以为每个驱动器创建自己的数据库文件,但想知道是否可以强制 updateb 包含它们?
我意识到当locate 没有找到我在附加驱动器之一上存在的新文件时,情况就是如此。执行 sudo updateb 没有效果。
昨天,在尝试从我的文件系统中卸载我们的(安装davfs2 的)工作 webdav 服务器时,我得到了device is busy.
跑了sudo lsof | grep /mountpoint/of/davfs,才发现罪魁祸首是updatedb。运行man updatedb显示这是一个运行命令来更新 mlocate 的数据库,很可能是由 cron 调用的。
虽然我有时会使用 locate,但我不需要它来包含我们工作服务器上的所有文件(我们有其他搜索工具),而且我绝对不希望这会干扰我卸载文件系统。
我到处搜索,但在仅安装了 pip3 的 Ubuntu Ubuntu 20.04.2 LTS 上找不到配置文件,我必须制作一个吗?以下命令返回空值:
locate pip.conf
Run Code Online (Sandbox Code Playgroud)
或者
locate pip3.conf
Run Code Online (Sandbox Code Playgroud)
或者
find pip3.conf
Run Code Online (Sandbox Code Playgroud)
返回
find: ‘pip3.conf’: No such file or directory
Run Code Online (Sandbox Code Playgroud) 找到 .odt 文件后,我想打开包含的文件夹。例如我输入
locate /home/*special*.odt
Run Code Online (Sandbox Code Playgroud)
并且只找到一个文件。如何实现这一目标?我试图用谷歌搜索这个问题,但找不到任何东西。
因此,在 Linux Mint 上多次使用locate命令后,我遇到了每个查询都在 /timeshift/ 目录中返回一行又一行结果的问题 - Linux Mint 使用该目录作为操作系统保存点。
如果我使用,比如说,locate anaconda activate.sh我可能会得到的是:
/home/user/.anaconda3/lib/python3.9/site-packages/spyder/plugins/ipythonconsole/scripts
/conda-activate.sh
/home/user/.anaconda3/pkgs/conda-4.12.0-py39h06a4308_0/info/test/tests/test-recipes/activate_deactivate_package/src/etc/conda/activate.d/activate.sh
/home/user/.anaconda3/pkgs/spyder-5.1.5-py39h06a4308_1/lib/python3.9/site-packages/spyder/plugins/ipythonconsole/scripts/conda-activate.sh
/timeshift/snapshots/2023-01-09_15-00-01/localhost/home/user/.anaconda3/lib/python3.9/site-packages/spyder/plugins/ipythonconsole/scripts/conda-activate.sh
/timeshift/snapshots/2023-01-09_15-00-01/localhost/home/user/.anaconda3/pkgs/conda-4.12.0-py39h06a4308_0/info/test/tests/test-recipes/activate_deactivate_package/src/etc/conda/activate.d/activate.sh
/timeshift/snapshots/2023-01-09_15-00-01/localhost/home/user/.anaconda3/pkgs/conda-4.12.0-py39h06a4308_0/info/test/tests/test-recipes/activate_deactivate_package/src/etc/conda/deactivate.d/deactivate.sh
/timeshift/snapshots/2023-01-09_15-00-01/localhost/home/user/.anaconda3/pkgs/spyder-5.1.5-py39h06a4308_1/lib/python3.9/site-packages/spyder/plugins/ipythonconsole/scripts/conda-activate.sh
/timeshift/snapshots/2023-02-10_04-00-01/localhost/home/user/.anaconda3/lib/python3.9/site-packages/spyder/plugins/ipythonconsole/scripts/conda-activate.sh
/timeshift/snapshots/2023-02-10_04-00-01/localhost/home/user/.anaconda3/pkgs/conda-4.12.0-py39h06a4308_0/info/test/tests/test-recipes/activate_deactivate_package/src/etc/conda/activate.d/activate.sh
/timeshift/snapshots/2023-02-14_20-00-01/localhost/home/user/.anaconda3/lib/python3.9/site-packages/spyder/plugins/ipythonconsole/scripts/conda-activate.sh
/timeshift/snapshots/2023-02-14_20-00-01/localhost/home/user/.anaconda3/pkgs/conda-4.12.0-py39h06a4308_0/info/test/tests/test-recipes/activate_deactivate_package/src/etc/conda/activate.d/activate.sh
/timeshift/snapshots/2023-02-14_20-00-01/localhost/home/user/.anaconda3/pkgs/conda-4.12.0-py39h06a4308_0/info/test/tests/test-recipes/activate_deactivate_package/src/etc/conda/deactivate.d/deactivate.sh
/timeshift/snapshots/2023-02-14_20-00-01/localhost/home/user/.anaconda3/pkgs/spyder-5.1.5-py39h06a4308_1/lib/python3.9/site-packages/spyder/plugins/ipythonconsole/scripts/conda-activate.sh
/timeshift/snapshots/2023-02-15_21-00-01/localhost/home/user/.anaconda3/lib/python3.9/site-packages/spyder/plugins/ipythonconsole/scripts/conda-activate.sh
/timeshift/snapshots/2023-02-15_21-00-01/localhost/home/user/.anaconda3/pkgs/conda-4.12.0-py39h06a4308_0/info/test/tests/test-recipes/activate_deactivate_package/src/etc/conda/activate.d/activate.sh
Run Code Online (Sandbox Code Playgroud)
只有前三个结果是相关的,那么如何排除目录呢?