Shell基础

###Shell是什么?

  • Shell是一个命令行解释器他为用户提供了一个向linux内核发送请求以便运行程序的界面系统程序,用户可以用Shell来启动、挂起、停止甚至编写一些程序。
  • Shell还是一个功能相当强大的编程语言,易编写易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用linux系统命令。

echo 输出命令

1
2
3
4
5
6
bash复制代码echo [选项] [输出内容]
选项:
-e 支持反斜线控制的字符串转换
例:
echo -e "\e[1;31m 我是你爸比 \e[0m"
其中\e[1;31m 开启颜色 \e[0m 关闭颜色(严格按格式来,不能有多余的空格)

第一个脚本:

1
2
3
bash复制代码#!/bin/bash
#the first program
echo -e "\e[1;32m 爸爸去哪了 \e[0m"

脚本执行

1
2
3
4
5
6
bash复制代码赋予执行权限,直接运行
chmod 75 hellow.sh
./hellow.sh

通过bash调用执行脚本
bash hellow.sh

###Bash的基本功能:

  • 1、命令的别名与快捷键:
1
2
3
4
5
6
7
8
9
10
bash复制代码  alias 
查看系统中所有命令的别名

alias 别名='原命令'

别名永久生效与删除别名
vi ~/.bashrc
写入环境变量配置文件
unalias 别名
删除别名

命令生效顺序

  • 执行绝对路径或相对路径执行的命令
  • 执行别名
  • 执行bash的内部命令
  • 执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令

常用快捷键:

1
2
3
4
5
6
7
css复制代码Ctrl+c 强制终止当前命令
Ctrl+l 清屏
Ctrl+a 光标移动到命令行首
Ctrl+e 光标移动到命令行尾
Ctrl+u 从光标所在位置删除到行首
Ctrl+z 把命令放入后台
Ctrl+r 在历史命令中搜索

2、历史命令

历史命令默认保留1000条,可以在环境变量配置文件/etc/profile中进行修改

1
2
3
4
bash复制代码history [选项] [历史命令保存文件]
选项:
-c 清空历史命令
-w 把缓存中的历史命令写入历史命令保存文件~/.bash_history

######历史命令的调用

1
2
3
4
5
6
7
markdown复制代码* 使用上下箭头调用以前的命令

* 使用!n 重复执行第n条历史命令

* 使用!! 重复执行上一条命令

* 使用!字符串 重复执行最后一条以该字符串开头的历史命令

######命令与文件的补全

使用Tab键就能自动补全文件或命令

3、输出重定向(注意空格位置)

1
2
3
4
5
6
css复制代码统计键盘输入
wc [选项] [文件名]
-c 统计字节数
-w 统计单词数
-l 统计行数
Ctrl+d 全部统计

image.png

image.png
4、多命令顺序执行

image.png
5、管道符

1
2
csharp复制代码[root@localhost ~]#    命令1 | 命令2
命令1的正确输出作为命令2的操作对象

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%