[Shell]Shell基本功能:历史命令 & 别名,shell基本功能


--------------------------------------------------------------------------------------------------------

一. 历史命令

  history         #查看历史命令

 

  history -c     #清空历史命令

 

  history -w     #不等退出,直接把缓存中的历史命令写入历史命令保存文件~/.bash_history

 

  vim /etc/profile  #默认历史命令保存1000条,可修改HISTSIZE保存条数(无限制),命令保存在 ~/.bash_history 文件中

 

历史命令的调用:

  1. 上下箭头调用

  2. !n    #执行行号为n行的命令,history显示的命令前面会显示各自行号

  3. !his  #执行最后一条以his开头的命令

 

命令与文件补全:Tab

----------------------------------@黑眼诗人 <www.chenwei.ws>----------------------------------

二. 别名与快捷键

  alias vi = "vim"   #定义别名,临时生效

  alias          #查看所有别名

 

命令执行顺序:

  第一顺位执行用绝对路径或相对路径执行的命令

  第二顺位执行别名

  第三顺位执行Bash的内部命令

  第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令;echo $PATH;可以看到一系列命令所在的路径,系统命令之所以不用路径,是因为设置了这个环境变量,自动寻找。

 

永久保存别名:

  用户编辑家目录下的 .bashrc 文件,将alias vi='vim'写入即可。

  vim /root/.bashrc

  vim /home/.bashrc

 

删除别名:

  unalias vi      # unalias 别名

 

Bash常用快捷键:

  ctrl + c   终止命令

  ctrl + l     清屏

  ctrl + u    删除或剪切光标之前的命令

  ctrl + k    删除或剪切光标之后的内容

  ctrl + y    粘贴ctrl + u 或 ctrl + k 剪切的内容

  ctrl + r    在历史命令中搜索,按下ctrl + r后,就会出现搜索界面,只要输入搜索内容,就会从历史命令中搜索。

  ctrl + d    退出当前终端(等同exit)

------------------------------------------------------------------------------------------------------


linux中Shell历史命令记录文件的路径是什?

Bash shell在“~/.bash_history”(“~/”表示用户目录)文件中保存了500条使用过的命令,这样能使你输入使用过的长命令变得容易。每个在系统中拥有账号的用户在他的目录下都有一个“.bash_history”文件。

bash shell应该保存少量的命令,并且在每次用户注销时都把这些历史命令删除。
第一步:
“/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”行确定所有用户的“.bash_history”文件中能保
存的旧命令条数。强烈建议把把“/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”行的值设为一个较小的数,比如
30。编辑profile文件(vi /etc/profile),把下面这行改为:
HISTFILESIZE=30
HISTSIZE=30
这表示每个用户的“.bash_history”文件只能保存30条旧命令。
第二步:
网管还应该在"/etc/skel/.bash_logout" 文件中添加下面这行"rm -f $HOME/.bash_history" 。这样,当用户每次注销时,“.bash_history”文件都会被删除.
 

shell 在操作系统中的作用(详细点)

shell的一项主要功能是在交互方式下解释从命令行输入的命令。shell解析命令行,将其分解为词(也称为token),词之间由空白分隔,空白由制表符、空格键或换行组成。如果词中有特别的元字符,shell会对其进行替换。shell处理文件I/O和后台进程。对命令行的处理结束后,shell搜索命令并开始运行他。
shell的另一项重要功能是制定用户环境,这通常在shell的初始化文件中完成。初始化文件中有非常多定义,包括设置终端键和窗口属性,设置用来定义搜索路径、权限、提示符和终端类型的变量,设置特定应用程式所需的变量,如窗口、字处理程式和编程语言的库等。Korn/Bash shell和C/TC shell还提供了更多的制定功能:历史添加、别名、设置内置变量防止用户破坏文件或无意中退出,通知用户作业完成。
shell还能用作解释性的编程语言。shell程式(也称为shell脚本)由文件中的一列命令组成。shell程式用编辑器生成(也能在命令行上直接输入脚本)。他们由UNIX命令组成,命令之间插入了一些基本的程式结构,如变量赋值、条件测试和循环。shell脚本不必编译。shell会逐行解释脚本,就似乎他是从键盘输入相同。shell负责解释命令,因此,用户需要了解可用的命令有哪些。附录A中列出了一些有用的命令。
1.3.2 shell的职责
shell负责确保用户在命令提示符后输入的命令被正确执行。其职责包括:
(1) 读取输入并解析命令行
(2) 替换特别字符,比如通配符和历史命令符
(3) 设置管道、重定向和后台处理
(4) 处理信号
(5) 程式执行的相关设置
 

相关内容