一、vi未使用sudo时保存提示权限不足的方法等各小项
1. 小项1:
在使用vi打开文件时,有时因为权限的原因,需要使用sudo打开保存退出时直接:wq就可以,这时如果不加sudo.退出时就会出现提示:
"nginx.conf" E212: Can't open file for writing
Press ENTER or type command to continue
这时如果不保存就会丢掉自己辛苦改的很多东西,此时这个命令就派上用场了,vi模式下:
:w !sudo tee %
执行后,输入L就可以保存文件并再次回到编辑模式。
还可以使用::%! sudo tee % >/dev/null。不过还是上面一个更方便。
2. 小项2:
基本所有的web服务器里都需要创建www用户,但创建的www用户要注意一点,不要给它执行shell的权限,记得加好-s选项参数为/sbin/nologin
#useradd tomcat -d /var/servlet/service -s /sbin/nologin
3. 小项3:
在vim编辑器中,ctrl + s不是保存文件,在使用时不小心或者习惯性的按了ctrl+s后发现再怎么操作也没效了,不知道的还以为是按了这个键把终端卡了,而ctrl+s直接的作用是暂停该终端,这样会导致终端无法使用。此时只要按ctrl + q退出即可。
二、linux命令行编辑下常用的快捷键-及历史命令相关的快捷键大全
在linux命令行下有以下常用的快捷键非常方便,整理了一下,做个笔记。
1. 【命令行编辑】
ctrl+a到行首,ctrl+e跳到行尾,ctrl+u,k,d删除至行前,行尾,本字符(ctrl+u不包括自身,ctrl+k包括自身)
ctrl+l清屏,ctrl+左右箭头跳单词(此项需要模拟终端下,一般使用secureCRT连接时不可用)
↑(Ctrl+p) 显示上一条命令 ↓(Ctrl+n) 显示下一条命令
Alt+f 光标向前移动一个单词 Alt+b 光标向后移动一个单词
Esc+b 移动到当前单词的开头 Esc+f 移动到当前单词的结尾
Ctrl+f 光标向前移动一个字符,相当与-> Ctrl+b 光标向后移动一个字符,相当与<-
Ctrl+r 然后输入若干字符,开始向上搜索包含该字符的命令,继续按Ctrl+r,搜索上一条匹配的命令
Ctrl+d 删除光标所在处字符 Ctrl+h 删除光标所在处前一个字符
Ctrl+y 粘贴刚才所删除的字符 Ctrl+w 剪切光标所在处之前的一个词(以空格、标点等为分隔符)
Ctrl+t 颠倒光标所在处及其之前的字符位置,并将光标移动到下一个字符(连接按的话就相当于将光标前的字符一直往后移)
Alt+d 剪切光标之后的词
Esc+w 删除光标所在处之前的字符至其单词尾(以空格、标点等为分隔符)
Alt+t 交换当前与以前单词的位置
!! 执行上一条命令
!$代表上一个命令的参数,如ls !$ 执行命令ls,则会以上一条命令的参数为其参数
Ctrl+v 插入特殊字符,如Ctrl+v+Tab加入Tab字符键
Esc+t 颠倒光标所在处及其相邻单词的位置
Ctrl+(x u) 按住Ctrl的同时再先后按x和u,撤销刚才的操作
Ctrl+s 挂起当前shell
Ctrl+q 重新启用挂起的shell
2.【历史命令】
history 显示命令历史列表
用户目录下:.bash_history记录用户命令历史,最多可保存1000个,由参数$HISTSIZE指定
!num 执行命令历史列表的第num条命令
!?string? 执行含有string字符串的最新命令
!n,!-n,!!执行刚才的命令,
!字符串 执行以最近命令中以字符串开头命令,
!$引用上一个命令的最后一个参数,也可以先按esc再按.号。或者按住alt点(远端不支持)
history -c清除命令,
-d指定删除第多少个命令,history -d 10 2从第10个开始删除2个。
缓存命令存在:~/.bash_history 文件中。history -w 保存命令历史至文件。