一些会遇到的问题,我会不断更新问题集锦~
1、vi / vim保存文件时遇到的问题:E212: Can't open file for writing
在vi / vim下输入w或wq!保存编辑的文件时,将会出现这种错误:E212: Can't open file for writing
用户权限问题,将用户切换到root用户即可。但是如果你进去的时候忘了加sudo不能保存,难道你要复制你的内容出来在粘贴?
有没有强制保存的方法呢?来,看方法2
- 输入命令:%! sudo tee % > /dev/null
- 按提示输入sudo权限密码
- 输入“L"(Load File)
- 输入:q命令退出
关于“%! sudo tee % > /dev/null”这条命令的说明如下:
% #VI/VIM编辑的文件内容
! #管道
sudo #以root权限操作
tee #将标准输入(即通过管道过来的当前编辑的文件内容)输出到标准输出,同时写入到指定的文件中(即VI/VIM当前编辑的文件)
% #VI/VIM编辑的文件
> /dev/null #将标准输出重定向到/dev/null(不输出显示)
2、Linux下面用户无法使用ll命令,提示找不到ll
$ vim ~/.bashrc
alias ll='ls -l' #加入此行
ps:加入后肯能无法当场起作用,
执行该句: source ~/.bashrc
3.如何使linux里面的普通用户拥有sudo权限
首先你得有一个root用户进去,比如说我想让tom这个普通用户能sudo,那么我先用root用户修改/etc/sudoers
#chmod u+w /etc/sudoers #vi /etc/sudoers //找到 root ALL=(ALL) ALL 这行 ,并在此行下添加 tomALL=(ALL) ALL :wq #chmod u-w /etc/sudoers
最后添加完毕之后还要把/etc/sudoers的权限改回来~
4./etc/sudoers乱写作死,进不去root用户了怎么办?
这个和问题3是启承的,如果作死不小心把/etc/sudoers玩坏了,进不去root了,难道要重装系统?不,来看解决方法
1.先关机,开机后按shift,在引导选项中选择recovery,进入recovery mode来进行引导
2.在recovery menu页面选择grub,进入后就会将文件权限修改为read/write
3.再进入root选项,然后在root下进去/etc/sudoers把你作死的改回来
4.修改后保存,退出,然后正常启动就可以发现终端的sudo可以用了
然而,有的时候你进了grub之后出不来,怎么都出不来,这个时候在root下打一句这个代码就好了,这是重新挂载 /的意思
mount -o remount,rw /
5.shell scripts里面的echo -e参数也会输出
用“sh”执行是调用“/bin/sh”作为执行器,而采用“./”执行是调用申明的“/bin/bash”,而“sh”可能不支持“echo -e”,所以把“-e”作为内容输出。“./”是更好的执行方式,或者也可采用“bash”方式运行