Shell 是什么
shell 是一个命令行解释器,它为用户提供了一个向linux内涵发送请求以便运行程序的界面系统级程序。用户可以用shell 来启动,挂起,停止,深圳编写一些程序。
shell 还是一个功能相当强大的编程语言,易编写,易调试,灵活性比较强。shell 是解释执行的脚本语言。在shell中可以直接调用linux 系统命令。
查看当前系统使用的是什么shell

兼容shell

脚本的执行方法
1:echo 输出命令
echo [选项][输出内容]
-e :支持反斜杠控制的字符转换
控制字符 | 作用 |
---|---|
\a | 输出警告 |
\b | 退格键,也就算向左删除键 |
\n | 换行符号 |
\r | 回车 |
\t | 制表符,也就是tab键 |
\v | 垂直制表符 |
\0nnn | 按照八进制ASCII码表输出字符 ,其中0为数字零,nnn是三位八进制数 |
\xhh | 按照十六进制ASCII码表输出字符,其中hh是两位十六进制数 |
带颜色输出
echo -e "\e[1;31m woc \e[0m"
第一个脚本
vim hello.sh
#!/bin/bahs
#第一个shell 脚本
echo -e "\e[1;34m 第一个脚本\e[0m"
执行脚本
赋予执行权限,直接运行
chmod 755 hello.sh
hello.sh
通过bash 调用执行脚本
bash hello.sh
Bash的基本功能
1:命令别命与快捷键 alias 查看系统中的所有的命令别名
alias

alias 别名 =‘原命令’ 设定命令别名
别命永久生效与删除
vi ~/.bashrc 写入环境变量配置文件
~ 表示家目录 :root 用户就root/.bashrc
vi /root/.bahsrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
#新加别命
alias vi='vim'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
~
~
需要直接生效执行
source .bashrc
命令生效顺序
1.第一顺位执行用绝对路径或相对路径执行的命令
2.第二顺位执行别名
3.第三顺位执行Bash的内部命令
4.第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令。
删除名别 命令格式: unalias 别名
常用快捷键
快捷键组合 | 作用 |
---|---|
ctrl+c | 强制终止当前命令 |
ctrl+l | 清屏 |
ctrl+a | 光标移动到命令行首 |
ctrl+e | 光标移动到命令行尾 |
ctrl+u | 从光标所在位置删除到行首 |
ctrl+z | 把命令放入后台 |
ctrl+r | 在历史命令中搜索 |
历史命令
history [选项][历史命令保存文件]
选项:-c 清空历史命令
-w 把缓存中的历史命令写入历史命令保存文件 ~/.bahs_history

wc [选项][文件名]
选项:
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。(统计单词数)
-L 打印最长行的长度。
-help 显示帮助信息
--version 显示版本信息

管道符

多命令执行符 | 格式 | 作用 |
---|---|---|
: | 命令1:命令2 | 多个命令顺序执行,命令之间没有任何逻辑联系 |
&& | 命令1&&命令2 | 逻辑与:当命令1正确执行,则命令2才会执行,当命令1执行不正确,则命令2不会执行 |
|| | 命令1&&命令2 | 逻辑或:当命令1执行不正确,则命令2才会执行,当命令1执行正确执行,则命令2不会执行 |
netstat -an 命令能看到所有和本地计算机建立连接的IP
netstat -an

通过| grep ESTABLISHED 代表一个打开的连接
netstat -an | grep ESTABLISHED

通配符
通配符 | 作用 |
---|---|
? | 匹配一个任意字符 |
* | 可以匹配任何内容 |
[] | 匹配中括号中任意一个字符,列如:[abc]代表一定匹配一个字符,或者是a或者b或者c |
[-] | 匹配中括号中任意一个字符,-代表一个范围。例如:[a-z]代表匹配一个小写字母 |
[^] | 逻辑非,表示匹配不是中括号内的一个字符,例如:[^0-9]代表匹配一个不是数字的字符 |
网友评论