我调用了top
命令并得到了这个:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3433 klutt 20 0 4790760 1.0g 282208 S 8.3 4.2 1261:15 firefox-esr
2063 klutt 9 -11 3424532 33644 24432 S 7.0 0.1 432:44.69 pulseaudio
3681 klutt 20 0 3958364 545000 139800 S 6.6 2.2 434:35.72 Web Content
Run Code Online (Sandbox Code Playgroud)
我知道 firefox 和 Web 内容正在使用大量内存,但是pulseaudio?使用超过 3GB 是否正常?这是一个错误吗?
$ uname -a
Linux desktop 5.7.0-1-amd64 #1 SMP Debian 5.7.6-1 (2020-06-24) x86_64 GNU/Linux
$ pulseaudio --version
pulseaudio 13.0
$ cat /etc/debian_version …
Run Code Online (Sandbox Code Playgroud) 我想减小视频的大小,以便能够通过电子邮件等方式发送。我看了这个问题:如何使用 ffmpeg 减小视频的大小?我在那里得到了关于如何减少它的好建议。问题是我需要手动计算比特率。而且在执行此操作时,我必须通过手动试错来完成。
有什么好的方法可以使用ffmpeg
(或其他工具)将视频的大小减小到目标大小?
注意来自froschutz的评论:
过分担心大小并选择固定文件大小而不管视频长度/分辨率/帧率/内容如何,在大多数情况下都不会给出令人满意的结果......将其上传到某个地方,通过电子邮件发送链接。如果您必须对其进行编码,请设置质量级别,保持比特率动态。如果很明显不满足大小,则取消编码并相应地调整质量级别。冲洗并重复。
总的来说是个好建议,但它不适合我的用例。由于技术限制,上传到外部链接不是一种选择,其中之一是接收者没有 http 访问权限。
我还可以澄清,我不是在寻找的正是我指定的大小。如果它合理地接近我想要的就足够了(可能最多低 5% 或 10% 左右),但应该保证它不会超过我的目标限制。
我知道输入/etc/cron.d/
是自动执行的。但我也发现了这些/etc/
/etc/cron.daily/
/etc/cron.hourly/
/etc/cron.monthly/
/etc/cron.weekly/
Run Code Online (Sandbox Code Playgroud)
在/etc/cron.d/
我发现0hourly
其中有这个内容:
01 * * * * root run-parts /etc/cron.hourly
Run Code Online (Sandbox Code Playgroud)
没有名为*daily
,*monthly
或 的文件*weekly
。
这是否意味着如果我在/etc/cron.hourly
其中添加脚本会自动执行?并且这不会发生在/etc/cron.daily
,/etc/cron.monthly/
和/etc/cron.weekly/
?
编辑:
My/etc/crontab
是空的,除了初始化变量SHELL
,PATH
和MAILTO
。
在/etc/cron.hourly/
我找到了0anacron
似乎检查cron.daily
今天是否已运行的脚本。我还发现/etc/anacron
其中包含:
# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to …
Run Code Online (Sandbox Code Playgroud) 我尝试执行命令。
me@intern:~$ sudo ls
[sudo] password for me:
me is not in the sudoers file. This incident will be reported.
Run Code Online (Sandbox Code Playgroud)
但是我在sudo
群里
me@intern:~$ groups
sudo
Run Code Online (Sandbox Code Playgroud)
/ets/sudoers :
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
root ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
sudo ALL=(ALL:ALL) ALL
john ALL = NOPASSWD: /usr/sbin/service apache2 reload
john ALL = NOPASSWD: /usr/sbin/service apache2 restart
john ALL = NOPASSWD: /usr/bin/vi /etc/php/7.0/apache2/php.ini
Run Code Online (Sandbox Code Playgroud) 有没有办法显示自我启动最后一个命令以来经过的时间?我发现这个:PS1 提示显示经过的时间,但这将显示自上一个命令完成到新命令完成为止经过的时间。
我的想法是以某种方式强制在我输入的每个命令time
之前添加提示,并以某种好的方式对其进行格式化。
像这样的东西:
$ ls
. ..
Last command took 0.001s
$
Run Code Online (Sandbox Code Playgroud) 我有一个包含大量 mp3 文件的目录,我需要一种简单的方法来查找它们的累积持续时间。我知道我可以找到一个文件的持续时间
ffmpeg -i <file> 2>&1 | grep Duration
Run Code Online (Sandbox Code Playgroud)
我还知道我可以使用以下命令对目录中的所有 mp3 文件运行此命令
for file in *.mp3; do ffmpeg -i "$file" 2>&1 | grep Duration; done
Run Code Online (Sandbox Code Playgroud)
这可以稍微过滤一下
for file in *.mp3; do ffmpeg -i "$file" 2>&1 | grep Duration | cut -f4 -d ' '; done
Run Code Online (Sandbox Code Playgroud)
但我该如何总结这一切呢?使用ffmpeg
是没有必要的。输出格式也不是那么重要。秒或 mm:ss 或类似的东西都可以。我希望它看起来像这样:
$ <command>
84:33
Run Code Online (Sandbox Code Playgroud) bash ×2
centos ×1
command-line ×1
compression ×1
cron ×1
ffmpeg ×1
memory ×1
mp3 ×1
prompt ×1
pulseaudio ×1
scripting ×1
sudo ×1
top ×1
video ×1