Linux问题集锦

  

  一些会遇到的问题,我会不断更新问题集锦~

   1、vi / vim保存文件时遇到的问题:E212: Can't open file for writing

  在vi / vim下输入w或wq!保存编辑的文件时,将会出现这种错误:E212: Can't open file for writing

  用户权限问题,将用户切换到root用户即可。但是如果你进去的时候忘了加sudo不能保存,难道你要复制你的内容出来在粘贴?

  有没有强制保存的方法呢?来,看方法2  

  1. 输入命令:%! sudo tee % > /dev/null
  2. 按提示输入sudo权限密码
  3. 输入“L"(Load File)
  4. 输入: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”方式运行

  

原文地址:https://www.cnblogs.com/yunquan/p/6666544.html