问题描述
在Ubuntu环境中是否有vi
是创建,编辑或修改文件的唯一选择的方案?
我的问题基本上是真正地知道是否有这样的情况,我会被迫使用vi
,因为在Ubuntu生态系统中的特定情况下,它将是唯一可用的选项。
我是否会以某种方式无法访问nano
,pico
之类的其他选项,或者仅使用cat
,sed
,tee
之类的工具来发送信息,是否存在特定情况?
有这种情况吗?
最佳方法
在Ubuntu生态系统内部,我认为这种情况甚至不会存在,因为vi
至少是一种病毒,它已经是“真实vim
”,而不是“真实vi
”。
在资源有限的嵌入式系统(通常不是Ubuntu)的情况下,您可能只有一个vi
,它实际上是指向busybox
的链接。而且没有剩余的空间。然后,vi
是唯一的选择。
除此之外,我认为vi
是唯一选择的情况在当今甚至在Linux世界之外根本不是很普遍。
但是在某些情况下,很容易想到vi
是您可以计划的唯一选择,在将来的某些情况下,唯一的选择也会存在-这很可能会在客户的over-chilled服务器机房内发生。
假设您被客户打来电话:
Customer: I need to get this configuration fixed! Now!! I don’t know how, but I can tell you where the configuration file is. Can you help me!?!
You: Ok, what kind of system is that running on?
Customer: Oh, it’s on server foo, ahh… it’s running… can’t remember, something with “ix” in the end, or mayeb with “ux”…
没问题,到现在为止,您将知道vi
!
次佳方法
Vi绝不是唯一的选择。您可以始终使用ed
代替。
第三种方法
好吧,在一种情况下,您需要vi
编辑器,假设:
-
没有图形界面
-
您正在使用一些陌生的未知
*nix
系统 -
您的终端如下所示:
-
你有足够的像这样的人:
如您所见,没有数字键盘。使用旧的vi
(我的意思是原始的传统vi
,不是vim
,vim.tiny
或vim.basic
),您可以使用此键盘编辑文件。没有方向键?是的,当您处于命令模式时,您像C专家一样使用h
,j
,k
和l
在文件中移动。左侧h
,向下j
,向上k
和右侧l
。
第四种方法
事实是,在许多发行版中,诸如nano
和pico
之类的编辑器并不是标准的,而其他软件包(即vim-tiny
)则是标准的。有关ubuntu-minimal的软件包列表,请参见此处,vim-tiny
是唯一的编辑器。 According to this answer, it seems to be the case for Ubuntu server, as well.我知道基本的Debian,Fedora也是如此。
话虽这么说,假设您的系统上有nano
,但我还没有看到必须使用vi
的情况,但是如果您正在为客户工作而没有使用@Volker的答案,没有root权限? apt-get install nano
对您没有多大帮助(即使它可以访问外部互联网!)。
第五种方法
在许多情况下,vi
(因此我自然指的是vim.tiny
,因为这就是我们所提供的)可能是唯一的交互式编辑器。如果我们忽略蝴蝶和cosmic-rays,则似乎是最有可能发生这种情况的情况:
-
您仅使用
ubuntu-minimal
基本meta-package。这取决于vim-tiny
,但没有其他编辑器。我目前无法找到一种无需standard^
任务即可安装Ubuntu的方法,但是您可以在安装后使用以下命令将其删除:sudo apt-get remove $(apt-cache show standard^ | awk '/Package: / {print $2}')
我在没有安装
standard^
任务的情况下获得系统映像的经验非常丰富。如果我没有网络访问权限,那么vi
将是我唯一的选择。 -
切换到仅通过以下方式映射
vi
的环境 -
手动禁止所有其他编辑器(并禁用重新安装它们的方法)
-
手动破坏 shell 程序以停止启动
vi
之外的已知编辑器。
true-minimal安装是最可能的原因,但是这些天来很少见。一些VPS和云托管公司使用它们(以节省磁盘空间以及其他任何东西),但是我建议它们绝对不是标准。