我有一个每天使用的远程 sshfs 驱动器。我以前每次启动计算机时都执行以下命令。
sshfs -o Ciphers=arcfour -o Compression=no -o reconnect remote:dev ~/dev
Run Code Online (Sandbox Code Playgroud)
显然,每次都手动执行此操作并不是很方便,所以我想我只需将遥控器添加到我的文件系统表中即可。我不熟悉 fstab 的格式,但在阅读了一些技术“操作方法”博客后,我决定在我的/etc/fstab
文件中包含以下行。
sshfs#wbarlow@remote:/home/wbarlow/dev /home/wbarlow/dev fuse defaults,users,idmap=user 0 0
Run Code Online (Sandbox Code Playgroud)
不幸的是,如果网络中出现故障,驱动器有时会出现故障。这种情况可能每天发生一次——当我尝试手动重新连接(通过单击 nautilus 中的驱动器)时,我收到一条消息,显示“传输端点未连接。”。
我的主要问题是:如何将-o reconnect
我在终端命令中使用的选项带入我的 fstab 文件?我相信这会防止驱动器因闪烁而断开连接。
此外,我选择该密码是因为它是我的远程服务器支持的最快的密码(我认为),并删除了压缩,因为有线千兆网络比 CPU 压缩内容所花费的时间快。如果我也可以将这些选项拉入我的 fstab 中,那就太好了,但我可以没有它们。
这是我的内核/操作系统/架构信息:
[wbarlow ~]$ uname -r
4.1.3-200.fc22.x86_64
Run Code Online (Sandbox Code Playgroud) cat someFile | ssh someHost
当 someFile不是bash 脚本时,我该如何工作?我想远程执行一个perl脚本,但是当我尝试 cat 时,我从 bash 收到了一堆语法错误 | ssh 命令。
我使用 screen 通过带有 USB 串行加密狗的 RS232 连接到设备。目前,我使用此命令来调用屏幕(115200
我的波特率在哪里):
screen /dev/ttyUSB0 115200
Run Code Online (Sandbox Code Playgroud)
通常,我有不止一个设备(/dev/ttyUSB0
和/dev/ttyUSB1
)。有时它们的波特率不同。目前,我打开一个新的终端模拟器并为每个实例运行 screen ,但这违背了 screen 的目的。我可以在一个 screen 实例中访问两个设备吗?
我认为这将涉及启动不带参数的屏幕,然后在创建会话后将会话附加到具有指定波特率的 TTY,但我没有看到在会话中更改 TTY 的命令。我知道 tmux 可以做到这一点,但我宁愿坚持使用屏幕。
我经常发现自己复制大型目录,然后想“该死,我应该为此使用 rsync 而不是 cp,因为我可以获得进度更新”。
我正在考虑将此添加到我的.profile
:
alias cp='rsync -a --progress'
Run Code Online (Sandbox Code Playgroud)
alias ×1
bash ×1
cat ×1
filesystems ×1
fstab ×1
gnu-screen ×1
serial-port ×1
shell ×1
ssh ×1
sshfs ×1
terminal ×1
tty ×1