Linux之shell详解
Shell是什么
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。

查看Linux支持的Shell:vi /etc/shells

echo输出命令
echo [选项] [输出内容]

第一个脚本:
vi hellol.sh
输入以下命令:
#!/bin/bash
#wuwuyong
echo "hello world"
脚本执行:
chmod 755 hello.sh(赋予权限) ./hello.sh
或Bash hello.sh
历史命令
history [选项] [历史命令保存文件]
选项:-c(清空历史命令) -w(把缓存中的历史命令写入历史命令保存文件)
别名和快捷键
别名:alias 别名=‘原命令’ (设定命令别名)
alias(查询命令别名)
让别名永久生效:vi /root/.bashrc 加上alias 别名=‘原命令’
删除别名:unalias 别名

输入输出重定向


输入重定向:wc [选项] [文件名]
选项:-c 统计字节数;-w 统计单词数;-l统计行数
把文件作为命令的输入:命令<文件
多命令顺序执行与管道符

管道符:命令1 | 命令2(命令1的正确输出作为命令2的操作对象)
grep [选项] “搜索内容” 文件名 : 显示文件中包含搜索内容的行
选项:-i(忽略大小写) ;-n(输出行号);-v(方向查找)
通配符和其他特殊符号


用户自定义变量
变量的定义:变量名=变量
变量调用:echo $name
变量查看:set
变量删除:unset name
环境变量
设置环境变量:export 变量名=变量值
查询变量:env
删除变量:unset 变量名
位置参数变量

比如一个sh文件中有如下命令:
echo $0
echo $1
echo $2
执行.sh 11 22的结果是.sh 11 22
预定义变量

接收键盘输入

数值运算与运算符
declare声明变量类型


运算符:

变量测试与内容替换

环境变量配置文件


正则表达式
正则表达式与通配符:

基础正则表达式:

字符截取命令

printf命令


awk命令
sed命令


字符处理命令


条件判断
按照文件类型进行判断







流程控制 if语句



case语句

Linux之shell详解的更多相关文章
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- linux cat 命令详解
linux cat 命令详解 http://linux.chinaunix.net/techdoc/system/2007/11/16/972467.shtml adb shell su //这个不一 ...
- Linux crontab 命令详解
在 Linux 中,任务可以被配置在指定的时间段.指定的日期.或系统平均载量低于指定的数量时自动运行.红帽企业 Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新.譬如,被 locat ...
- linux grep命令详解
linux grep命令详解 简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来 ...
- 【转发】linux yum命令详解
linux yum命令详解 yum(全 称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理, ...
- linux yum 命令 详解
linux yum命令详解 yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能 ...
- Linux find命令详解
转自Linux find命令详解 一.find 命令格式 1.find命令的一般形式为: find pathname -options [-print -exec -ok ...] 2.find命令的 ...
- linux进程地址空间详解(转载)
linux进程地址空间详解(转载) 在前面的<对一个程序在内存中的分析 >中很好的描述了程序在内存中的布局,这里对这个结果做些总结和实验验证.下面以Linux为例(实验结果显示window ...
- Linux crontab 命令详解(含配置文件路径)
编辑/etc/crontab 文件配置cron cron 服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服 ...
随机推荐
- python_MySQL数据库
MySQL数据库的特点: 1.是关系型数据库 关系型数据库的特点 1.数据是以行和列的的形式存储的 2.这一系列的行和列称为表 ...
- Android View 的绘制流程之 Layout 和 Draw 过程详解 (二)
View 的绘制系列文章: Android View 的绘制流程之 Measure 过程详解 (一) Android View 绘制流程之 DecorView 与 ViewRootImpl 在上一篇 ...
- SpringBoot日志处理之Logback
日志处理是一个正式项目必备的功能,日志要能够根据时间.类型等要素,根据指定格式来保存指定的日志,方便我们观察程序运行情况.定位程序bug. SpringBoot中推荐使用Logback日志框架. 本节 ...
- 【我的物联网成长记6】由浅入深了解NB-IoT【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- layer ui 多选下拉取值(全)
https://maplemei.gitee.io/xm-select/#/basic/create layer ui
- 【Go入门学习】理解区分数组和切片
一.前言 学过 Go 的都知道在 Go 语言中有四种复合数据类型:数组.切片(Slice).哈希表(Map)和结构体(Struct),而很多 Go 初学者也很容易把数组和切片弄混淆,所以要怎么把这两个 ...
- JsonClassGenerAtor 使用json字符串生成对象
https://pan.baidu.com/s/1Mz1xB6L3blqrRiRAMuJpIg 链接
- 笔记||Python3之布尔表达式+条件判断
布尔表达式: 布尔类型:特性:只有两种情况 --- 真 / 假 1 -- True False 2 -- type(True) ------------ <class ...
- SpringBoot学习【一】----- HelloWord
springboot是什么 Spring Boot可以轻松创建可以运行的独立的,生产级的基于Spring的应用程序. 大多数Spring Boot应用程序只需要很少的Spring配置. 提供了一个运行 ...
- Day 05 作业
目录 作业 输入姑娘的年龄后,进行以下判断: 复习while循环,打印1-100之间的奇数和 复习while循环,猜年龄游戏升级版,有以下三点要求: 作业 输入姑娘的年龄后,进行以下判断: 如果姑娘小 ...