通常,当我开始查看命令历史时,显示的命令中的某些字符不会被删除,例如:
发生了什么:
prompt$ some_command
prompt$ some_commanother_command
Run Code Online (Sandbox Code Playgroud)
应该发生的事情:
prompt$ some_command
prompt$ another_command
Run Code Online (Sandbox Code Playgroud)
我无法擦除这些字符,bash 在执行命令时会忽略它们。当显示新提示时(Enter
例如按下后),它们也会消失。
我问过我工作场所的其他在 Linux 上工作的人,他们说他们有时也有这个问题,但他们不知道如何解决这个问题。
我有 Ubuntu 11.10,我正在使用 guake。这是我的PS1
:
\e[0;31m\u \A ${PWD##*/}\e[0;32m$(parse_git_branch)\e[0;31m$\e[m
Run Code Online (Sandbox Code Playgroud)
这里parse_git_branch
是
parse_git_branch () {
git name-rev HEAD 2> /dev/null | sed 's#HEAD\ \(.*\)# (\1)#'
}
Run Code Online (Sandbox Code Playgroud)
据我所知,即使 PS1 不那么“花哨”,我的同事也有这个问题。
我正在编写一个程序来测试学生编写的程序。恐怕我不能相信他们,我需要确保它不会对运行它的计算机造成严重影响。
我正在考虑让一些崩溃测试用户对系统资源的访问受限并以该用户身份运行程序,但从我目前在网上发现的情况来看,制作虚拟系统将是最安全的选择......
有人可以帮助我选择正确的方法吗?安全对我来说是一个大问题。另一方面,我不想要一个矫枉过正的解决方案,并且浪费很多时间来学习我并不真正需要的东西。
使用 top/htop 之类的工具时,有没有办法对类似的进程进行分组?有时我只想知道是什么在消耗我的内存,而一些程序(主要是浏览器)正在使用多个进程,这使得很难读取它们真正使用了多少 RAM。
到目前为止,我只想出了类似的东西:
ps ax -o pmem,cmd | grep opera | grep -oE '^[ ]*[0-9.]+' | paste -sd+ - | bc
Run Code Online (Sandbox Code Playgroud)