我尝试在 vagrant 中处理一个项目。 我已经发出命令
vagrant ssh
,并连接到虚拟机。现在我需要编辑 .bashrc
文件来设置源代码的路径。但首先我找不到那个文件。于是我google了一下,发现方法是调用命令~/.bashrc
。但这样做我收到消息,我无法访问它:
[vagrant@nupic-vagrant:~]$ ~/.bashrc
-bash: /home/vagrant/.bashrc: Permission denied
那么现在该怎么办?
UPD。 我找不到 .bashrc 文件。 当我尝试发出命令时
ls -a
我得到以下信息:
[vagrant@nupic-vagrant:~]$ ls -a
. .bash_logout cleanup.sh sshd.sh .veewee_params
.. .bash_profile minimize.sh vagrant.sh .veewee_version
.bash_history .bashrc .ssh .vbox_version .zsh_profile
[vagrant@nupic-vagrant:~]$ locate .bashrc
/etc/skel/.bashrc
/home/vagrant/.bashrc
/var/chef/backup/etc/skel/.bashrc.chef-20130614181911
/var/chef/backup/home/vagrant/.bashrc.chef-20130614181912
[vagrant@nupic-vagrant:~]$
但我只能在 cygwin 的安装目录中找到其中一些文件。请参阅插图,它们反映了目录 vagrant 和 cygwin 之间的关系。
如果您想编辑该文件(或一般的任何文件),您不能仅在终端中写入其名称来编辑它。您必须使用文本编辑器的命令才能执行此操作。例如:
nano ~/.bashrc
或
gedit ~/.bashrc
一般来说,对于任何类型的文件:
xdg-open ~/.bashrc
在终端中仅写入
~/.bashrc
,这将尝试执行该文件,但.bashrc
文件并不意味着是可执行文件。如果你想执行其中的代码,你可以像下面这样获取它:
source ~/.bashrc
或者简单:
. ~/.bashrc
如果您无法访问该文件,并且您的操作系统是任何 linux 发行版或 mac os x,那么这些命令之一应该可以工作:
sudo nano .bashrc
chmod 777 .bashrc
毫无价值
.bashrc 文件位于您的用户主目录中(~/.bashrc 或 ~vagrant/.bashrc 均解析为同一路径),在虚拟机的文件系统中。该文件在主机上不可见,因此您无法使用任何 Windows 编辑器直接编辑它。
您有两个简单的选择:
了解如何使用基于控制台的文本编辑器。我最喜欢的是 vi(或 vim),它需要 15 分钟来学习基础知识,并且比其他任何东西都更快地进行简单编辑。
vi .bashrc
将 .bashrc 复制到 /vagrant (这是一个共享目录)并使用 Windows 编辑器对其进行编辑。确保不要使用任何扩展名将其保存回来。
cp .bashrc /vagrant ...使用您的主机进行编辑... cp /vagrant/.bashrc .
我建议了解基于命令行的编辑器。一旦您在虚拟机内工作,最好呆在那里,否则您可能会感到困惑。
您(流浪用户)是您的 home .bashrc 的所有者,因此您有权编辑它。
编辑完成后,您可以通过键入来执行它 源.bashrc 我更喜欢注销并再次登录(登录时可能会执行多个文件)。
请找到修复 Linux 服务器上的 bash 限制错误的步骤。
如果您在尝试使用凭据登录服务器时收到以下受限消息,则可能是服务器中缺少目录权限的问题。
由于此权限问题,我们无法导航到所需的目录并收到错误“bash:cd:restricted”
修复:要释放 bash 限制错误,请使用 Linux 服务器中突出显示的命令 -bash -f
如果想限制权限,请使用突出显示的命令 - bash -r
执行 bash -f 命令后,目录中的限制将被释放,我们可以继续使用补丁脚本。