Debian 12 升级指南建议使用以下命令清除过时的软件包:
apt purge '~o'
这和有什么区别apt --purge autoremove
?
最后,我只想从中提取以下文件Removed '2022-01-30_01-00-05'
。
Removing '2022-01-30_01-00-05'...
0.46% complete (00:03:45 remaining)^M 5.49% complete (00:00:17 remaining)^M 24.90% complete (00:00:06 remaining)^M 60.56% complete (00:00:01 remaining)^M 82.12% complete (00:00:00 remaining)^M 82.39% complete (00:00:01 remaining)^M 84.24% complete (00:00:01 remaining)^M 86.48% complete (00:00:01 remaining)^M 88.58% complete (00:00:01 remaining)^M 89.66% complete (00:00:01 remaining)^M101.08% complete (00:00:00 remaining)^M104.62% complete (00:00:00 remaining)^M ^MRemoved '2022-01-30_01-00-05'
我试过dos2unix
了,但没有用。
我在下面尝试了这些变体,但是当我less output
要么不删除^M
字符时,要么捕获整行:
tr -d $'\r' < /file | grep "Removed" > output
tr -d '^M' < /file | grep "Removed" > output
tr -d ^M < /file | grep "Removed" > output
sed 's/\r//g' < /file | grep "Removed" > output
我有一个小脚本,用于检查我的rsync
备份是否已完成,如果已完成,我的机器会进入睡眠状态。
这是在 WSL (Debian) 上。
#!/bin/bash
# if rsync is running, then wait 5
while ps aux | grep -q -e "[r]s";
do
sleep 5
echo "script running..."
done
# sleep PC
psshutdown64.exe -d -t 0
从 WSL 窗口启动时,这可以正常工作。
如果脚本正在运行,它会等待,当我终止时rsync
,机器会休眠。
script running...
script running...
script running...
script running...
PsShutdown v2.53 - Shutdown, logoff and power manage local and remote systems
Copyright (C) 1999-2021 Mark Russinovich
Sysinternals - www.sysinternals.com
我正在尝试创建一个 Windows 快捷方式来启动相同的脚本。
启动快捷方式时,循环永远不会退出。它在不睡觉的情况下
一直显示。script running...
我已经尝试过bash.exe -c
、wsl.exe
、debian.exe
和powershell.exe
来启动脚本。
没有工作。
有趣的是,当我通过 cmd 或 Powershell 窗口启动脚本时,它可以正常工作:
wsl sh sleep.sh
PsShutdown v2.53 - Shutdown, logoff and power manage local and remote systems
Copyright (C) 1999-2021 Mark Russinovich
Sysinternals - www.sysinternals.com
但如果我使用快捷方式启动它,它会失败。
编辑:脚本保存在Documents
. 但是该脚本确实是可执行的,并且在 WSL 中运行良好。
我使用 rsync 来备份我的文件--link-dest
,仅用于同步与上次备份文件夹的差异。
无论如何我可以看到按日期排序的目录列表并将其限制为--max-depth=1
or -d 1
?
例如,这显示了一个目录的深度:
$ du -h --max-depth=1
33G ./05-12-2021-16:00
4.7G ./05-12-2021-12:30
4.6G ./05-12-2021-11:30
11G ./06-12-2021-13:30
4.8G ./06-12-2021-02:00
19M ./06-12-2021-08:58
4.7G ./05-12-2021-21:00
938M ./05-12-2021-02:11
754M ./05-12-2021-19:00
32M ./06-12-2021-02:30
179M ./05-12-2021-13:30
172M ./05-12-2021-17:30
4.7G ./05-12-2021-22:00
752M ./05-12-2021-20:00
170M ./05-12-2021-17:00
4.7G ./06-12-2021-12:01
934M ./05-12-2021-12:00
38M ./05-12-2021-14:00
175M ./06-12-2021-12:31
34M ./05-12-2021-18:00
388M ./05-12-2021-16:30
42M ./06-12-2021-14:01
4.7G ./05-12-2021-00:54
756M ./06-12-2021-11:33
173M ./06-12-2021-00:31
4.5G ./06-12-2021-15:31
31M ./06-12-2021-00:00
1007M ./05-12-2021-23:01
762M ./05-12-2021-22:30
31M ./05-12-2021-21:30
765M ./06-12-2021-15:01
214M ./05-12-2021-10:44
32M ./06-12-2021-01:30
33M ./06-12-2021-13:00
27M ./05-12-2021-15:00
166M ./05-12-2021-11:00
32M ./06-12-2021-01:01
176M ./05-12-2021-02:30
27M ./05-12-2021-15:30
30M ./05-12-2021-18:30
37M ./05-12-2021-13:00
31M ./05-12-2021-20:30
753M ./05-12-2021-23:30
752M ./05-12-2021-19:30
43M ./06-12-2021-14:30
38M ./05-12-2021-14:30
91G .
使用这里的答案,它按大小排序,但完全递归到每个目录:
$ command ls -dt */ | while IFS= read -r dir; do du -sh "$dir"; done
33G 05-12-2021-00:54/
33G 05-12-2021-02:11/
33G 05-12-2021-02:30/
33G 05-12-2021-10:44/
33G 05-12-2021-11:00/
33G 05-12-2021-11:30/
33G 05-12-2021-12:00/
33G 05-12-2021-12:30/
33G 05-12-2021-13:00/
33G 05-12-2021-13:30/
33G 05-12-2021-14:00/
33G 05-12-2021-14:30/
33G 05-12-2021-15:00/
33G 05-12-2021-15:30/
33G 05-12-2021-16:00/
33G 05-12-2021-16:30/
33G 05-12-2021-17:00/
33G 05-12-2021-17:30/
33G 05-12-2021-18:00/
33G 05-12-2021-18:30/
33G 05-12-2021-19:00/
33G 05-12-2021-19:30/
33G 05-12-2021-20:00/
33G 05-12-2021-20:30/
33G 05-12-2021-21:00/
33G 05-12-2021-21:30/
33G 05-12-2021-22:00/
33G 05-12-2021-22:30/
33G 05-12-2021-23:01/
33G 05-12-2021-23:30/
33G 06-12-2021-00:00/
33G 06-12-2021-00:31/
33G 06-12-2021-01:01/
33G 06-12-2021-01:30/
33G 06-12-2021-02:00/
33G 06-12-2021-02:30/
23G 06-12-2021-08:58/
33G 06-12-2021-11:33/
33G 06-12-2021-12:01/
33G 06-12-2021-12:31/
33G 06-12-2021-13:00/
33G 06-12-2021-13:30/
33G 06-12-2021-14:01/
33G 06-12-2021-14:30/
33G 06-12-2021-15:01/
33G 06-12-2021-15:31/
33G 06-12-2021-16:03/
我需要的是这个问题的答案,但按时间/日期排序。
我在这里查看了答案,但看不到任何有用的信息:
https ://superuser.com/questions/147027/how-can-i-sort-the-output-of-ls-by- last-modified-date
是否有任何 du(磁盘使用)命令标志总结了每个子目录的大小
https://stackoverflow.com/questions/37272935/unix-command-size-of-directory-with-order-按大小
如何递归查找存储在目录中的数量?
我正在使用 rsync 备份一些文件:
rsync -PaSh --stats --delete -e "-i key -p XXXX" "/source/" [email protected]:/destination/ 2> output.txt | grep -e 'bytes received' -e 'total bytes' -e files -e 'total file size:' >> output.txt
因为有数千个文件,我只想看到任何错误和最后的摘要。
上面的命令输出这个:
rsync: delete_file: unlink(test/test.txt) failed: Permission denied (13)
Number of files: 12 (reg: 10, dir: 2)
Number of created files: 0
Number of regular files transferred: 0
sent 382 bytes received 137 bytes 41.52 bytes/sec
我只想将任何错误转换为大写(以引起对它们的注意)并保持摘要不变。
所以它看起来像这样:
RSYNC: DELETE_FILE: UNLINK(TEST/TEST.TXT) FAILED: PERMISSION DENIED (13)
Number of files: 12 (reg: 10, dir: 2)
Number of created files: 0
Number of regular files transferred: 0
sent 382 bytes received 137 bytes 41.52 bytes/sec
我怎样才能做到这一点?
谢谢
我运行这个命令将一些文件从 Windows (Cygwin) 同步到我的本地 NAS:
rsync -PaSq --delete -e "/cygdrive/C/cygwin64/bin/ssh -i keyfile -p XXXX" "/source/" [email protected]:/destination/
我现在想用红色突出显示任何错误消息。我的意思是在 rsync 连接后突出显示错误,而不是 ssh 连接错误。
所以这个 ssh 连接错误信息保持不变:
ssh_exchange_identification: Connection closed by remote host
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.2]
但这以红色突出显示:
rsync: delete_file: unlink(test/test.txt) failed: Permission denied (13)
我试过以下没有运气。任何想法表示赞赏。
rsync -PaSq --delete -e "/cygdrive/C/cygwin64/bin/ssh -i keyfile -p XXXX" "/source/" [email protected]:/destination/ | tput setaf 1; sed -n '/rsync:/p'
rsync -PaSq --delete -e "/cygdrive/C/cygwin64/bin/ssh -i keyfile -p XXXX" "/source/" [email protected]:/destination/ | egrep --color '.*rsync:.*|$'
rsync -PaSq --delete -e "/cygdrive/C/cygwin64/bin/ssh -i keyfile -p XXXX" "/source/" [email protected]:/destination/ | grep --color=auto '.*rsync:.*|$'