1 shell概述

  • Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至编写一些程序。

  • Shell 还是一个功能强大的编程,易编写、易调试、灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。

  • 用户通过shell向Linux内核发指令,Linux内核通过shell将返回内容显示给用户。

    B Shell 和 C Shell , Linux中标准的shell 为bash。

echo $SHELL :当前系统shell

[root@localhost shell]# echo $SHELL
/bin/bash

2 脚本执行方式

(1)echo 输出命令

echo [选项]  [输出内容]

注:输出的内容中间有空格,需要加""双引号,使用 ! 会报错。

(2)第一个脚本

#!/bin/bash  这句中的#不是注释,必须要写。
#!/bin/bash
#This is my first shell echo -e "\e[1;30mHello World\e[0m" echo -e "\e[1;35m good do it\e[0m"

注: \e[1; 开启颜色 , \e[0m 结束开启颜色

(3)脚本写完:脚本执行

1.赋予执行权限,直接运行

	chmod 755 hello.sh
./hello.sh

2.通过Bash 调用执行脚本

	bash hello.sh

3 别名与快捷键

(1)别名:命令别名 == 人的小名

	查看别名: alians
设定别名: alias 别名='原命令' #重启失效
vi ~/.bashrc # ~:家目录
source .bashrc
删除别名:unalias 别名 #临时生效,永久生效需删除配置文件内容
命令生效顺序:
1.绝对路径或相对路径
2.别名

注:别名不要和系统命令重名!

(2)快捷键

	Ctrl + c # 强制终止当前命令
Ctrl + l # 清屏
Ctrl + a # 光标移动到命令行首
Ctrl + e # 光标移动到命令行尾
Ctrl + u # 从光标所在位置删除到行首

4 历史命令

history #查看执行过的历史命令
/etc/profile -- historysize #修改历史记录的数量

5 输出重定向

输出重定向:从原来的输出到屏幕现在输出到文件。

	>  输出,并覆盖
>> 输出,追加
例子;
ls > test.log
ll > test.log #覆盖 test.log
ifconfig >> test.log #追加内容到test.log

6 管道符

(1)多命令顺序执行

> 	; 顺序      # 命令1 ; 命令2 ; 命名3
场景例子:
a: date 执行命令 date # 查看执行时间
b: 多个命令执行,中间某个命令报错,还会继续执行
> && 逻辑与  #命令1  &&  命令2
命令1错误,命令2不执行
> 	|| 逻辑或 #命令1 || 命令2
-- 命令1正确执行。命令2不执行

ls && echo yes || echo no
命令1正确 :yes
命令1错误 : no

(2)管道符

命令格式: 命令1 | 命令2

#命令1的正确输出作为命令2的操作对象

	#ls -l /etc | more
# netstat -an | grep 8080

7 通配符

	? 匹配一个任意字符
* 匹配0个或任意多个任意字符
[] 匹配中括号中任意一个字符
[-] 配置中括号中任意一个字符,-代表一个范围
[^] 逻辑非,表示匹配不是中括号内的一个字符
	'' 单引号,单引号中所有的特殊字符没有特殊含义
"" 双引号,特殊字符如$ 有特殊含义
`` 反引号, 括起来的是系统命令, 和$()使用一样
$()
# shell 中注释
$ 用于调用变量的值
\ 转义符 ,使用\$ 使$失去含义

欢迎访问我的csdn博客,我们一同成长!

"不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!"

博客首页:http://blog.csdn.net/u010648555

Linux学习——Shell基础的更多相关文章

  1. Linux学习 -- Shell基础 -- 概述

    Shell是什么? 命令解释器 编程语言 Linux支持的Shell类型 cat /etc/shells 主要学习 bash 脚本执行方式 echo echo -e 单引号 -- 原始字符串  双引号 ...

  2. Linux学习 -- Shell基础 -- Bash变量

    变量 默认是字符串型,数值型需要显示指定 等号两侧都不能有空格 单引号:原始字符串  双引号:保留转义 命令结果作为值:反引号 或 $() 环境变量一般用大写 自定义变量 变量定义    name=& ...

  3. Linux学习 -- Shell基础 -- Bash基本功能

    历史命令 history -c   clear -w   写入 ~/.bash_history 默认保存1000条, 可在/etc/profile中修改 调用 Tab补全 命令.目录.文件 命令别名 ...

  4. Linux学习-计算机基础

    Linux 学习-计算机基础 一.描述计算机的组成及其功能. 计算机系统是由硬件(Hardware)和软件(Software )两部分组成. 硬件: 从硬件基本结构上来讲,计算机是由运算器.控制器.存 ...

  5. bash shell学习-shell基础 (笔记)

    When you hoist the sails to cross the sea, you willride the wind and cleave the waves. "长风破浪会有时 ...

  6. Linux之shell基础

    Shell基础 一.shell概述 1) shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至是编写一些程序 ...

  7. Linux学习——shell编程之变量

    shell编程之变量:Linux shell编程基础中的变量. 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量.环境变量.语系变量.位置参数变量和预定义变量. 1:什么是Bash变量? ...

  8. linux base shell 基础语法

    转载 本文主要是基础的基础,希望对大家有所帮助 一.Shell基本类型的变量: (1)Shell定义的环境变量: Shell在开始执行时就已经定义了一些和系统的工作环境有关的变量,用户还可以重新定义这 ...

  9. Linux中shell基础、重定向、管道符、环境变量

    1.什么是shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器).它接收用户输入的命令并把它送入内核去执行.起着协调用户与系统的一致性和在用户与系统之间进行交互的 ...

随机推荐

  1. BestCoder Round #34_1002 以及 hdu 5191

    枚举最终的W堆积木在哪,确定了区间,那么就需要把高于H的拿走,低于H的补上,高处的积木放到矮的上面,这样最优. 注意多出来的积木可以放在已有积木的前面或者后面,独立成一堆积木,所以需要在n堆积木的前后 ...

  2. random模块函数分析(一)

    random是python产生伪随机数的模块,随机种子默认为系统时钟.下面分析模块中的方法: 1.random.randint(start,stop): 这是一个产生整数随机数的函数,参数start代 ...

  3. MySql数据库导入导出

    1.导出整个数据库     mysqldump -u 用户名 -p 数据库名 > 存放位置     比如:     mysqldump -u root -p project > c:/a. ...

  4. java 8 总结 之lambda

    lambda表达式 目的:行为参数化 Lambda表达式是简洁地表示可传递的匿名函数的一种方式:它没有名称,但它有参数列表.函数主体.返回类型,可能还有一个可以抛出的异常列表. Lambda的基本语法 ...

  5. docker的简单搭建(java/tomcat 环境)

    1.一副图简单了解下docker的布局,它是虚拟的,docker分为私服.镜像.容器三个模块 一般从私服pull镜像,镜像run一个容器,我们把容器作为一个虚拟服务,里面可以独立运行进程有独立的内网I ...

  6. 为何webpack打包后的文件要放在服务器上才能运行

    为何会有此问: 在刚开始使用vue-cli时还不知道打包后的文件要在服务中才能运行,直接点开后发现页面白板,请教大神后得知要起一个服务才能运行起来,当时我脑子中的逻辑是这样的: 因为:js代码是由浏览 ...

  7. 规则集Set与线性表List性能分析

    前言 本章节将通过实验,测试规则集与线性表的性能.那么如何进行实验呢?针对不同的集合都进行指定数量元素的添加和删除操作,计算耗费时间进行分析. 那么,前两个章节呢,我们分别讲述了什么时候使用Set以及 ...

  8. ServletRequest的一些知识点

    浏览器向服务器的请求(浏览器将数据发送给服务器时,数据存放的地方) 请求方式:GET和POST * GET:发送的数据,追加在请求的URL之上 * POST:发送的数据在HTTP请求体中 浏览器发送数 ...

  9. 201521123091 《Java程序设计》第8周学习总结

    Java 第八周总结 第八周的作业. 目录 1.本章学习总结 2.Java Q&A 3.码云上代码提交记录及PTA实验总结 1.本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集 ...

  10. 第02周-Java作业评价

    1. 本周作业简评与建议 作业存在的问题 格式上还是存在问题,但是比较第一次有很大的进步. 答题上,有的同学还是很敷衍,题目要求有分析过程,但是只写一个false,true,没有分析.也比较缺少自己的 ...