linux shell基础
shell概述
- shell 是一个命令解释器。
- shell 将输入的命令与内核通信,通过内核控制硬件完成命令。
- shell 是一个功能强大的编程语言,易编写,易调试,灵活性强。
- shell 是解释性脚本语言,可以直接调用Linux系统命令。
echo命令
参考之前的文章:
05 linux shell脚本 变量的取用echo
07 linux 一个完整的shell脚本调试工具
shell脚本的执行方式
- 赋予执行权限,使用绝对路径,相对路径 直接执行
chmod 755 xxx.sh
./xxx.sh # 相对路径 - 通过Bash调用执行脚本
Bash xxx.sh
sh xxx.sh
Bash的基本功能
历史命令
history命令用于显示用户以前执行过的历史命令,并且能对历史命令进行追加和删除等操作
语法格式: history [参数] [目录]
常用参数:
参数 | 作用 |
---|---|
-a | 将当前shell会话的历史命令追加到命令历史文件中,命令历史文件是保存历史命令的配置文件 |
-c | 清空当前历史命令列表 |
-d | 删除历史命令列表中指定序号的命令 |
-n | 从命令历史文件中读取本次Shell会话开始时没有读取的历史命令 |
-r | 读取命令历史文件到当前的Shell历史命令内存缓冲区 |
-s | 将指定的命令作为单独的条目加入命令历史内存缓冲区。在执行添加之前先删除命令历史内存缓冲区中最后一条命令 |
-w | 把当前的shell历史命令内存缓冲区的内容写入命令历史文件 ~/.bash_history |
注意重点:
- 执行history命令包含本次会话 执行过的历史命令。
- 默认在会话结束时,linux将本次会话的历史命令保存到命令历史文件 ~/.bash_history 中去。
- 历史命令默认保存1000条;可以在环境变量配置文件中/etc/profile 修改,需要重新导入配置文件或者重新登录才能生效。
快速调用历史命令
- 使用上下箭头调用历史命令(最常用)
- 使用" !n " 重复执行第n条历史命令
- 使用" !! " 重复执行上一条命令
- 使用" !str " 重复执行最后一条以str字符串开头的命令
代码补全
话不多说,多按Tab键就行了。
命令别名
alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号 ‘ ‘ 将原来的命令引起来,防止特殊字符导致错误。
alias命令的作用只局限于该次登入的操作。若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件 /etc/bashrc中。
语法格式:alias [参数]
常用参数:
参数 | 作用 |
---|---|
-p | 打印已经设置的命令别名 |
删除别名 unalias 别名
使用别名时,需要注意:命令的执行顺序
- 第一顺位执行用绝对路径或相对路径执行的命令。
- 第二顺位执行别名。
- 第三顺位执行Bash的内部命令。
- 第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令。
Liunx常用快捷键
快捷键 | 作用 |
---|---|
ctrl+A | 把光标移动到命令行开头,命令过长使用该快捷键 |
ctrl+E | 把光标移动到命令行结尾 |
ctrl+C | 强制终止当前命令 |
ctrl+L | 清理,相当于clear命令 |
ctrl+U | 删除或剪切光标之前的命令 |
ctrl+K | 删除或剪切光标之后的内容 |
ctrl+Y | 粘贴ctrl+U 或 ctrl+K剪切的内容 |
ctrl+R | 在历史命令中搜索,按下ctrl+R之后,就会出现搜索界面,只要输入搜索内容,就实现历史命令搜索 |
ctrl+D | 退出当前终端 |
ctrl+Z | 暂停,放入后台。该快捷键牵扯工作管理的内容,涉及到系统管理 |
ctrl+S | 暂停屏幕输出 |
ctrl+Q | 恢复屏幕输出 |
黄色背景的快捷键为常用快捷键
如果不使用ctrl+Y,ctrl+U的作用就是删除;
如果使用ctrl+Y,ctrl+U的作用就是剪切;
ctrl+K和ctrl+Y也可以成对出现。