小编dea*_*sin的帖子

我有一个文件在文件 mv 操作被中断后无法删除

我正在移动一个文件,mv但操作被中断了。现在我留下了一个无法在外部 NTFS 驱动器上删除的文件。我是从 ext4 移动它的。

rm file.to.delete
rm: cannot remove ‘file.to.delete’: No such file or directory


ls
total 234M
234M file.to.delete
Run Code Online (Sandbox Code Playgroud)

我从 ...

ls -i
Run Code Online (Sandbox Code Playgroud)

然后

find . -inum 12533 -delete
find: cannot delete `file.to.delete': No such file or directory
Run Code Online (Sandbox Code Playgroud)

接下来我应该怎么做才能摆脱这个文件或这个文件在文件系统中的条目?

谢谢

更新:我将外部 NTFS 驱动器连接到我的 Windows 计算机,并且能够删除该文件。我将外部 NTFS 重新连接到我的树莓派,但目前无法安装它。

最终更新:我将外部 NTFS 驱动器重新连接到我的 Windows 计算机并检查了错误。它发现错误,然后自动修复它们。然后我将我的外部 NTFS 驱动器重新连接到我的树莓派,mount -a并且安装没有问题。固定的!:D。

filesystems rm corruption e2fsck

5
推荐指数
0
解决办法
1266
查看次数

如何让一个 systemd 服务在完成后触发另一个 systemd 服务?

我有两个进程需要在不同的条件下运行(Service1 必须从特定的 TTY 运行,而 service2 不能在该 TTY 下运行。),因此它们必须从不同的 systemd 服务运行。但我希望他们背靠背跑。所以我想用计时器触发service1,但我希望在service1之后立即触发service2。

有没有一种优雅的方式来实现这一目标?

服务1

[Unit]
Description=blank the cursor

[Service]
StandardInput=tty-force 
StandardOutput=tty 
TTYPath=/dev/tty1 
Type=simple 
ExecStart=tput civis > /dev/tty1
Run Code Online (Sandbox Code Playgroud)

服务2

[Unit]
Description=random wallpaper change script

[Service]
SyslogIdentifier=wallpaper.sh
User=deanresin
Type=simple 
ExecStart=/bin/bash /home/deanresin/scripts/wallpaper.sh
Run Code Online (Sandbox Code Playgroud)

我希望service1在完成后触发service2。

systemd

5
推荐指数
1
解决办法
5273
查看次数

如何使用一个命令按单位和标识符查看 journalctl 日志?

我有一个 vpn 服务单元,我可以使用它查看日志...

journalctl -u vpn
Run Code Online (Sandbox Code Playgroud)

我还有一个脚本可以手动与 vpn 交互,并使用...

exec > >(systemd-cat -t vpn.sh) 2>&1
Run Code Online (Sandbox Code Playgroud)

我可以查看日志...

journalctl -t vpn.sh
Run Code Online (Sandbox Code Playgroud)

我尝试使用...查看两个日志

journalctl -u vpn -t vpn.sh
Run Code Online (Sandbox Code Playgroud)

但它没有用。

有没有办法同时查看两个日志?或者是否可以-t vpn.sh在 vpn 服务单元文件中设置标识符 ( ) 以匹配我的脚本 ( vpn.sh)的标识符。

systemd systemd-journald systemd-unit

4
推荐指数
1
解决办法
2011
查看次数

如何将时间戳值转换为数字,然后转换为人类可读的

我有一个字符串时间戳键,我需要转换为数字,因为strftime会抛出一个错误,它需要是一个数字。

journalctl -n1 --output=json | jq '.__REALTIME_TIMESTAMP | tonumber |= (. / 1000 | strftime("%Y-%m-%d")), .MESSAGE'

但我收到无效路径表达式错误。我想我的语法不正确。

__REALTIME_TIMESTAMP我最终想以人类可读的格式和 key显示 key MESSAGE

jq

4
推荐指数
1
解决办法
446
查看次数

systemd 计时器每 1 小时 X 分钟一次?

我正在寻找一个每 1 小时 18 分钟运行一次的 systemd 计时器,但我只有这个线索。

systemd-analyze --iterations=3 calendar *:0/18每 18 分钟一班。

systemd-timer

3
推荐指数
1
解决办法
238
查看次数

如何在不重命名的情况下将目录中的文件移动到当前工作目录?

如何在不重命名的情况下将目录中的文件移动到当前工作目录?

我可以将文件从当前工作目录 mv 到父目录,而无需使用速记重命名..

mv file.file ../
Run Code Online (Sandbox Code Playgroud)

要将文件从目录移动到当前工作目录,我尝试过..

mv directory/file.file /
Run Code Online (Sandbox Code Playgroud)

但我的许可被拒绝。

然而,

mv directory/file.file file.file
Run Code Online (Sandbox Code Playgroud)

工作,但我必须输入文件名,自动完成将不起作用,因为该文件不在当前工作目录中。

没有指定当前工作目录的简写吗?

谢谢

directory files mv

0
推荐指数
1
解决办法
334
查看次数

如何在 systemd 服务中指定最长服务持续时间?

我遇到一个问题,在极少数情况下,我的Type=simplesystemd 服务会挂起或陷入循环。这会导致其计时器停止调度服务,因为正如通过 确认的那样sudo systemctl status myservice,服务在应该早已退出的情况下仍在运行。我还没有弄清楚这个错误,但这并不重要。但与此同时,我不希望它停止安排未来的运行。

有没有办法在 systemd 服务文件中指定最大运行时间,之后它将强制停止?

[Unit]
Description=scripts should run and exit but occasionally hangs or infinite loop      

[Service]
SyslogIdentifier=myservice
Environment='MYVAR=myvar'
User=deanresin
Type=simple
ExecStart=/usr/bin/python3 /home/deanresin/myscript
Run Code Online (Sandbox Code Playgroud)

systemd timeout systemd-timer

0
推荐指数
1
解决办法
596
查看次数