LinuxShell——内嵌命令

摘要:本文主要学习了Shell的常用内嵌命令。

alias命令

alias命令可以为指定命令定义一个别名。

基本语法

查看所有别名:

 alias

设置别名:

 alias 别名=原命令(有空格需要使用引号包裹)

删除别名:

 unalias 别名

执行和别名相同的命令

使用命令的绝对路径:

 [root@localhost ~]# /usr/bin/vim test

切换到命令所在的目录,在命令前添加“./”:

 [root@localhost ~]# ./vim ~/test

在命令前面添加“\”:

 [root@localhost ~]# \vim test

让别名永久有效

我们通过alias命令设置的别名,仅限于在当前的Shell中使用,如果系统重启了,那么新设置的别名就失效了。

如果想让别名永久有效的话,就需要把所有的别名设置方案加入到家录下的.alias文件中(如果系统中没有这个文件,你可以创建一个),然后在.bashrc文件中增加这样一段代码:

 # Aliases
if [ -f ~/.alias ]; then
. ~/.alias
fi

这样设置后,无论怎样重启系统,都不会影响设置的别名啦。

echo命令

echo命令可以将指定字符串打印到屏幕。

基本语法

 echo [选项] 输出的内容

选项说明

 -n:表示输出之后不换行。
-e:表示对于转义字符按对应的方式进行处理。

使用举例

 [root@localhost ~]# echo 'Hello Word'
Hello Word
[root@localhost ~]#

source命令

source命令用来读取并执行指定文件中的命令(在当前shell环境中)。

source命令也称为“点命令”,也就是一个点符号“.”,是bash的内部命令。

source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。

基本语法

 source filename
. filename

使用source filename与sh filename及./filename执行脚本的区别

当shell脚本具有可执行权限时,用 sh filename 与 ./filename 执行脚本是没有区别的。 ./filename 是因为当前目录没有在PATH中,所以“.”是用来表示当前目录的。

执行 sh filename 会重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。

命令 source filename 其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。

fc命令

使用fc命令可以从历史记录中选择命令列表。

基本语法

编辑上一条命令并执行:

 fc

打开一个编辑器去修改或重新执行以前输入的命令:

 fc [-r] [-e Editor] [First] [Last]

生成一个以前输入的命令的列表:

 fc -l [-n] [-r] [First] [Last]

生成带执行时间的以前输入的命令的列表:

 fc -t [-n] [-r] [First] [Last]

选项说明

 -e Editor:使用指定的编辑器编辑命令。Editor参数应是一个命令名称。该命令用PATH环境变量指定位置。当没有指定-e标志时,环境变量FCEDIT中的值被用作缺省值。如果环境变量FCEDIT是空值或没有设置,则使用ed编辑器。
-l:列出了历史文件中的命令。不调用编辑器去修改它们。按照First和Last参数所指定的顺序写命令,就象-r标志所作用的,在每一个命令的前面有一个命令编号。
-n:当与-l标志一起使用时,隐藏命令编号。
-r:逆转所列出命令的顺序(当使用-l标志)或者逆转所编辑的命令顺序(当没有指定-l标志时)。
-t:在历史文件中列出命令及其执行时间。工作过程与-l标志类似,但是还显示命令的执行时间。
First和Last:选择要列出或编辑的命令。HISTSIZE环境变量值确定了能够访问到的以前所输入命令的数量。
First参数和Last参数必须具有以下数值中的一个:
[+]Number:表示一个特定的命令编号。-l标志可以显示命令编号。缺省值为一个+字符。
-Number:表示一个以前执行的命令,由存储在历史列表中的命令编号指定。例如,-1指出了前一个刚执行过的命令。

使用举例

 [root@localhost ~]# fc
echo 'Hello Word ...'
Hello Word ...
[root@localhost ~]# fc -l -
fc -l -
[root@localhost ~]#

history命令

history命令用于显示历史记录和执行过的指令命令。系统默认保留1000条。

history命令读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2。

history命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量HISTSIZE进行控制。默认是不显示命令的执行时间,命令的执行时间,history已经记录,只是没有显示。

如想查询某个用户在系统上执行了什么命令,可以使用root用户身份登录系统,检查Home目录下的用户主目录下的“.bash_history”文件,该文件记录了用户所使用的命令和历史信息。

显示执行历史记录时间

默认情况下,history并不记录命令的执行时间,分析起来很困难。我们可以使用HISTTIMEFORMAT在历史中显示TIMESTAMP。

把 export HISTTIMEFORMAT='%F %T ' 命令加入到~/.bashrc中即可在登录后自动开启history时间戳了。添加完成后,执行 source .bashrc 让其生效。仅针对当前账号有效。

基本语法

 history [选项]

选项说明

 -c:清空命令历史。
-d 命令号:删除历史中指定的命令。
n:显示最近的n条历史。
-a:追加本次会话新执行的命令历史列表至历史文件,因为多终端所以如果想看当前都发生了什么操作就可以执行-a进行查看。
-n:读历史文件(本地数据)中未读过的行到历史列表(内存数据)。
-r:读历史文件(本地数据)附加到历史列表(内存数据)。
-w:保存历史列表(内存数据)到指定的历史文件(本地数据)。
-s:展开历史参数成一行,附加在历史列表后。用于伪造命令历史。

使用举例

 [root@localhost ~]# history
history
history
history
[root@localhost ~]#

jobs命令

jobs命令可以用来查看当前终端放入后台的工作,工作管理的名字也来源于jobs命令。

基本语法

 jobs [选项]

选项说明

 -l:列出进程的PID号。
-p:只列出进程的PID号。
-r:只列出运行中的进程。
-s:只列出已停止的进程。
-n:只列出上次发出通知后改变了状态的进程。

bg命令

bg命令用于把前台工作放到后台执行。

基本语法

 bg %进程号

选项说明

注意,在使用此命令时,%可以省略。

fg命令

fg命令用于把后台工作恢复到前台执行。

基本语法

 fg %进程号

选项说明

注意,在使用此命令时,%可以省略,但若将%和进程号全部省略,则此命令会将带有+号的工作恢复到前台。

kill命令

kill命令会向操作系统内核发送一个信号(多是终止信号)和目标进程的PID,然后系统内核根据收到的信号类型,对指定进程进行相应的操作。

基本语法

 kill [选项] 进程号

选项说明

 -:代表EXIT,程序退出时收到该信息。
-:代表HUP,挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。
-:代表INT,表示结束进程,但并不是强制性的,常用的“Ctrl+C”组合键发出就是一个“kill -”的信号。
-:代表QUIT,表示退出。
-:代表KILL,杀死进程,即强制结束进程。
-:代表SEGV,段错误。
-:代表TERM,正常结束进程,是kill命令的默认信号。

LinuxShell——内嵌命令的更多相关文章

  1. bash 内嵌命令 printf 用于进制转换

    printf - 格式化并显示数据 printf "%d" 0x10 printf "%x" 16

  2. [Shell] Backtick vs $() 两种方式内嵌值

    使用反撇号(重音符)`command` 和 $(command) 都表示内嵌shell命令. for file in $(ls); do echo $file done for file in `ls ...

  3. Makefile---make内嵌函数及make命令显示 (九)

    原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ 这一节我们讲一下make的函数,在之前的章节已经讲到了几个函数:wildcard.patsubs ...

  4. 从头開始写项目Makefile(十):make内嵌函数及make命令显示

    [版权声明:转载请保留出处:blog.csdn.net/gentleliu.Mail:shallnew at 163 dot com]     这一节我们讲一下make的函数,在之前的章节已经讲到了几 ...

  5. 从头开始写项目Makefile(十):make内嵌函数及make命令显示【转】

    转自:http://blog.csdn.net/shallnet/article/details/38314473#comments 版权声明:本文为博主原创文章,未经博主允许不得转载.如果您觉得文章 ...

  6. Hive的三种安装方式(内嵌模式,本地模式远程模式)

    一.安装模式介绍:     Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景.     1.内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接,尝试多个会话链接时会报错)   ...

  7. 浅谈html5网页内嵌视频

    更好的阅读体验:浅谈html5网页内嵌视频 如今在这个特殊的时代下:flash将死未死,微软和IE的历史问题,html5标准未定,苹果和谷歌的闭源和开源之争,移动互联网的大势所趋,浏览器各自为战... ...

  8. Makefile所有内嵌函数

    一.文本处理函数以下是GNU make内嵌的文本(字符串)处理函数.1       $(subst FROM,TO,TEXT) 函数名称:字符串替换函数—subst. 函数功能:把字串“TEXT”中的 ...

  9. Makefile学习(二)条件判断和内嵌函数

    第七章:Makefile的条件执行 条件语句可是是两个不同的变量.或者变量和常量值的比较: 7.1例子: 对变量“CC”进行判断,其值如果是“gcc ”那么在程序连接时使用库“libgnu.so”或者 ...

随机推荐

  1. centOS服务器添加电脑ssh key以支持远程登陆

    1,生成电脑的密钥对(在powershell或cmd命令行中) ssh-keygen -t rsa -C "自己的邮箱" 2.打开刚刚生成的电脑公钥(~即代表用户主目录,/则代表根 ...

  2. 对data标签获取到的时间进行比较

    前言 data(时间属性)是HTML5中新增的一个属性,常用于选择日期.时间,但这个是无法通过属性去限制其不能选择过去的时间的,这个时候就需要我们在JQ中对其进行比较了! 由于放效果图,需要在数据库里 ...

  3. Dynamics 365 We API ODATA语法根据父记录查询子记录,根据子记录查询父记录(附上根据团队,队列名称查成员)

    微软动态CRM专家罗勇 ,回复333或者20190508可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 先举个N:N关系的例子.这里以根据团队的名称查找其所有团队成员的 ...

  4. Java数据结构(一):栈

    导言:栈和我们的现实当中的箱子是一样的,保持一个先进后出,后进先出的原则.比如我们往一个箱子堆积衣服,一件一件地放进去之后,过一段时间再回来拿.那么最先放进去的衣服肯定最后拿出来,最后放进去的衣服就会 ...

  5. golang 的几个入门资料

    =====================视频=====================无闻 老师的<Go 编程基础>视频https://github.com/Unknwon/go-fun ...

  6. git commit 新修改的内容 添加到上次提交中 减少提交的日志

    有时候提交过一次记录只有,又修改了一次,仅仅是改动一些较少的内容,可以使用git commit --amend. 添加到上次提交过程中: --amend amend previous commit g ...

  7. 2016年蓝桥杯B组C/C++决赛题解

    2016年第七届蓝桥杯B组C/C++决赛题解 2016年蓝桥杯B组C/C++决赛题目(不含答案) 1.一步之遥 枚举解方程,或者套模板解线性方程 #include<bits/stdc++.h&g ...

  8. 【Maven】如何使用pom.xml引入自定义jar包

    这里我以这个jar包为例,aliyun-java-sdk-core-3.2.3.jar ,这是我在做手机短信服务用到的jar包 ①进入C盘下的maven仓库C:\Users\用户\.m2\reposi ...

  9. Drop_out--防止过拟合

    With probability keep_prob, outputs the input element scaled up by 1 / keep_prob, otherwise outputs  ...

  10. js 构造函数中的 return

    本文链接:https://blog.csdn.net/qq_36209248/article/details/89190978 默认情况下,没有return的函数的返回值为undefined(即没有定 ...