我使用https://unix.stackexchange.com/a/1292/41729 中的答案来启用不同 bash 终端之间的实时共享历史记录。正如上面的答案所解释的,这是通过添加以下内容来实现的:
# avoid duplicates..
export HISTCONTROL=ignoredups:erasedups
# append history entries..
shopt -s histappend
# After each command, save and reload history
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
Run Code Online (Sandbox Code Playgroud)
如果 bash shell 是单独的(例如,使用CTRL+ALT+T.打开不同的 bash 终端),这可以正常工作。但是,如果我使用tabs(从打开的终端 `CTRL+SHIFT+T)而不是新窗口,它就不起作用。为什么会有这种行为差异?如何我也可以在各个选项卡之间共享 bash 历史记录吗?
更新:我注意到一个不寻常的行为:如果我输入,CTRL+C则在任何其他终端(无论是否为选项卡)中输入的最后一个命令都会正确显示。就像 CTRL+C 强制刷新历史记录以便正确共享一样。
例如输出(T1 表示端子 1 和 T2 端子 2):
T1:
ls -lah <enter>
# the list of files and directory is shown
T2:
cd Documents <enter>
T1:
<up> (i.e. …Run Code Online (Sandbox Code Playgroud) 显然,我的 Unity 和 Gnome 3 设置搞砸了很多,现在我的系统看起来很丑陋,即使我对配置进行了更改(例如使用 gnome-tweak-tool),似乎也没有任何效果。你们能告诉我如何删除所有与 Unity 和 Gnome 相关的设置(比如还有 compiz 和所有其他类似的设置)并从头开始使用安装设置重新启动??
我真的很感激你的帮助,非常感谢你们!
我想在启动时按 访问我的 Grub 菜单Shift。按下后,Shift我看到一条消息说“Grub 正在加载..”,但没有出现菜单,计算机继续正常启动到我的 Ubuntu 安装中。你知道我如何在启动时访问 Grub 菜单吗?非常感谢你的帮助!
如何在beeline无需在笔记本电脑上安装所有 hive/hadoop 生态系统的情况下安装 hive 客户端?
我想用它来查询远程 Hive 数据库。
每当我尝试使用 linux 内核 3.0.0.13(由升级安装的内核)启动时,我都会收到内核恐慌错误:
VFS:无法打开根设备“sda1”或未知块(0,0)请附加正确的“root=”引导选项;
幸运的是,如果我使用以前的版本启动,我没有任何问题。我该如何解决这个问题?我应该在哪里附加正确的root= option?如果我没有让这个内核工作,我如何将它作为默认值删除并坚持使用旧内核?
更改myfolder驻留在/. 我发出命令
sudo chown -R luca:luca /myfolder/.*
Run Code Online (Sandbox Code Playgroud)
我的目的是更改 .gitignore 中所有隐藏文件的所有权/myfolder。
不幸的是,我意识到所有权/也发生了变化,这当然给我留下了一个破碎的系统。我认为这是因为..match .*,但对我来说仍然很奇怪。
更改父目录是正确的行为还是应该提交错误报告?
如果是我使用 chown 的错误,那么防止更改系统文件夹和文件的所有权的最佳做法是什么?
我不知道为什么,但 Calibre 停止在 Ubuntu 12.04 32 位上使用我的 Kindle 发送工作。
直到不久前,一切都还好,但是现在每当我连接 Kindle 并尝试在设备的主要内存上发送一些书时,我都会收到此错误:
calibre, version 0.8.38
ERROR: Error: Error communicating with device
[Errno 30] Read-only file system: '/media/Kindle/documents/Blisett, Luther'
Traceback (most recent call last):
File "/usr/lib/calibre/calibre/gui2/device.py", line 81, in run
self.result = self.func(*self.args, **self.kwargs)
File "/usr/lib/calibre/calibre/gui2/device.py", line 411, in _upload_books
metadata=metadata, end_session=False)
File "/usr/lib/calibre/calibre/devices/usbms/driver.py", line 260, in upload_books
filepath = self.normalize_path(self.create_upload_path(path, mdata, fname))
File "/usr/lib/calibre/calibre/devices/usbms/device.py", line 1120, in create_upload_path
os.makedirs(filedir)
File "/usr/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 30] …Run Code Online (Sandbox Code Playgroud) 嗨,我最近买了一个 USB3 外置硬盘。
令我惊讶的是,将文件从我的笔记本电脑(安装了 Ubuntu 12.04)传输到这个硬盘(使用 USB3 电缆连接到 USB3 端口)时,速度与我使用其他 USB2 设备获得的速度完全相同。
有没有办法检查是否启用了USB3超速?我需要在启动时加载一些内核模块吗?如何提高传输速率?
我的本地主机上运行着一些网络应用程序,我可以通过网络浏览器在不同的端口访问它们。
例如,我有一个在端口 8888 上运行的 IPython 笔记本服务器(我可以通过 访问它http://localhost:8888),以及一个侦听端口 9000 的小型 Flask 应用程序。
我知道我可以通过修改 localhost 设置别名/etc/hosts,但我想在这里实现的是为不同的端口设置不同的别名。
例如,我想打开浏览器并使用http://notebooks/代替http://localhost:8888和 而http://flaskapp不是http://localhost:9000。
是否有捷径可寻?
我试图使用 find 列出我的主目录下的所有文件名(基本名称,而不是完整路径)。我尝试这样做:
find ~/ -type f -exec echo $(basename "{}") ";"
Run Code Online (Sandbox Code Playgroud)
然而,我最终得到了完整路径的列表,而不仅仅是我想要的基本名称。我现在使用echo,但理想情况下 的结果$(basename "{}")应该是我想编写的其他一些函数的参数。
为什么 basename 函数没有正确应用?