我知道如何从命令行(脚本)发送电子邮件
echo "body" | mail -s "subject" my@email.com
Run Code Online (Sandbox Code Playgroud)
是否也可以从命令行(脚本)发送附件?
我heirloom-mailx在 Debian Wheezy 上使用。
当我键入grep然后按TAB两次时,bash_completion将列出当前目录中的文件和目录。当我输入首字母时,它也会完成文件名。这一切都很好,唯一的问题是当目录包含许多文件和子目录时,它可能会非常混乱和无序。
如果bash_completion至少可以对目录进行不同的颜色处理,这将非常有帮助,类似于什么ls -lA。
这可能吗?
这是我的示例bash_completion配置文件的样子:
if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
else
_filedir
fi
Run Code Online (Sandbox Code Playgroud) 在我的 iptables 中,我有一个记录丢弃数据包的规则:
-A INPUT -i eth0 -j LOG --log-prefix "FW: " --log-level 7
-A INPUT -i eth0 -j DROP
Run Code Online (Sandbox Code Playgroud)
在/etc/rsyslog.conf,我有另一个规则将这些日志发送到一个专用文件/var/log/firewall.log。
:msg, contains, "FW: " -/var/log/firewall.log
& ~
Run Code Online (Sandbox Code Playgroud)
将& ~立即删除日志,因此它们不会淹没syslog或其他日志文件。
这很有效,除了它充斥dmesg着那些防火墙日志(不是/var/log/dmesgcommand 的输出dmesg)。
有没有办法防止这些日志显示在dmesg?
我知道一个包有两个组成部分:config和data文件。在软件包升级(即安全升级)期间,data文件可以被覆盖,但config文件应始终保持不变。同时config文件通常/etc和data中/usr。然而,有时,这种区别是模糊的。
就我而言,我修改了Icedove(Thunderbird)的图标文件:
/usr/share/applications/icedove.desktop
Run Code Online (Sandbox Code Playgroud)
现在,每次有Icedove(Thunderbird) 更新时,我的更改都会被默认文件覆盖(即使它在更新之间没有更改)。
有什么办法可以防止这个特定的文件被覆盖?
将其设置为不可变chattr +i icedove.desktop的并不是一个好主意,因为它会在包升级期间产生错误。
要注销 LXDE,我可以单击“开始”菜单,单击“注销”,然后在弹出菜单时再次单击“注销”。
或者我可以输入lxde-logout我的终端,当菜单打开时,点击“注销”。
这两种选择都太麻烦了。我需要一个可以立即注销的命令,没有菜单,也没有其他选项。
这可能吗 ?
我在 Debian Wheezy 上使用 LXDE
当我的内核启动时,除了有用的重要信息外,它还会打印大量调试信息,例如
....
kernel: [0.00000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d3ff] usable
kernel: [0.00000] BIOS-e820: [mem 0x000000000009d400-0x000000000009ffff] reserved
kernel: [0.00000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
...
kernel: [0.00000] MTRR variable ranges enabled:
kernel: [0.00000] 0 base 0000000000 mask 7E00000000 write-back
...
kernel: [0.00000] init_memory_mapping: [mem 0x00100000-0xcf414fff]
kernel: [0.00000] [mem 0x00100000-0x001fffff] page 4k
kernel: [0.00000] [mem 0x00200000-0xcf3fffff] page 2M
kernel: [0.00000] [mem 0xcf400000-0xcf414fff] page 4k
....
kernel: [0.00000] ACPI: XSDT 0xD8FEB088 0008C (v01 DELL CBX3 01072009 AMI 10013)
kernel: [0.00000] ACPI: FACP 0xD8FFC9F8 0010C (v05 DELL …Run Code Online (Sandbox Code Playgroud) 我的dash脚本采用 形式的参数hostname:port,即:
myhost:1234
Run Code Online (Sandbox Code Playgroud)
而端口是可选的,即:
myhost
Run Code Online (Sandbox Code Playgroud)
我需要将主机和端口读入单独的变量。在第一种情况下,我可以这样做:
HOST=${1%%:*}
PORT=${1##*:}
Run Code Online (Sandbox Code Playgroud)
但这在第二种情况下不起作用,当端口被省略时;echo ${1##*:}只返回主机名,而不是空字符串。
在 Bash 中,我可以这样做:
IFS=: read A B <<< asdf:111
Run Code Online (Sandbox Code Playgroud)
但这在dash.
能否在拆分字符串:在仪表板,而无需调用外部程序(awk,tr,等)?
我注意到 Linux 上的 Firefox 和 Chromium 浏览器都会打开该文件/proc/self/mem进行阅读。据我所知,我的系统上没有其他程序读取此文件。
/proc/self/mem因成为无休止的权限升级漏洞利用的载体而臭名昭著,其中内存通常被恶意代码覆盖,程序执行被劫持。
这更令人悲伤,因为浏览器是最暴露的程序,具有最大的攻击面,因为它们从互联网获取不可信的输入。
现代浏览器需要阅读是否有正当理由/proc/self/mem?
我有一个包含段落文本的文件(文本行由一个或多个空行分隔)。我想颠倒段落的顺序(即最后一段将成为第一段,...),最好使用 sed。
我正在寻找一个 sed 命令,它可以对一个段落文件tac执行什么操作,对一个行文件执行什么操作。
感谢我的另一个问题的答案,我现在明白 Linux 上的 FIFO,即/dev/xconsole缓冲区限制为 64 KB。
如何将此限制增加到 128 KB?
显然,我需要重新编译我的内核。没关系,但是我必须在哪里更改内核源代码中的大小限制?
更改它是否安全,或者它是否会对其他组件产生一些副作用?
我正在使用内核 3.18。