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详解的更多相关文章

  1. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  2. linux cat 命令详解

    linux cat 命令详解 http://linux.chinaunix.net/techdoc/system/2007/11/16/972467.shtml adb shell su //这个不一 ...

  3. Linux crontab 命令详解

    在 Linux 中,任务可以被配置在指定的时间段.指定的日期.或系统平均载量低于指定的数量时自动运行.红帽企业 Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新.譬如,被 locat ...

  4. linux grep命令详解

    linux grep命令详解 简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来 ...

  5. 【转发】linux yum命令详解

    linux yum命令详解 yum(全 称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理, ...

  6. linux yum 命令 详解

    linux yum命令详解 yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能 ...

  7. Linux find命令详解

    转自Linux find命令详解 一.find 命令格式 1.find命令的一般形式为: find pathname -options [-print -exec -ok ...] 2.find命令的 ...

  8. linux进程地址空间详解(转载)

    linux进程地址空间详解(转载) 在前面的<对一个程序在内存中的分析 >中很好的描述了程序在内存中的布局,这里对这个结果做些总结和实验验证.下面以Linux为例(实验结果显示window ...

  9. Linux crontab 命令详解(含配置文件路径)

    编辑/etc/crontab 文件配置cron cron 服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服 ...

随机推荐

  1. .Net Core3.1下使用Swagger搭建web api项目

    前言:微软于前天发布.net core 3.1正式版,并将长期支持3.1.所以我听到这个消息后就急忙下载.net core 3.1的SDK和Runtime,应该是公司最先用3.1的攻城狮了

  2. postman tests常用方法

    postman常用方法集合: 1.设置环境变量 postman.setEnvironmentVariable("key", "value"); pm.envir ...

  3. PHY6202 蓝牙4.0NRF51802

    PHY6202可以替代NRF51802/NRF51822的虽然PHY6202是蓝牙4.0,但它同时可是使用5.0的软件进行组网PHY6202 M0内核,封装:QFN48/32基本参数:ARM CORT ...

  4. 利用iPhone下载其他地区的App

    参考链接:http://www.anfan.com/news/gonglue/76225.html 有些App由于发布的地区不同,在中国地区未发布的App.使用中国地区的Apple ID只能看到中国地 ...

  5. 移动开发在路上-- IOS移动开发系列 多线程二

    最近太忙没太多的时间,忙碌的码农生活空下来一点时间,都会挤出来看一些技术或者咨询的文章,废话不多说,直奔主题. 接着上一次的继续说. 定时器在多线程的使用 NSRunLoop 是线程相关的基础框架的一 ...

  6. (全国多校重现赛一)F-Senior Pan

    Senior Pan fails in his discrete math exam again. So he asks Master ZKC to give him graph theory pro ...

  7. 深入探讨多态性及其在Java中的好处

    多态是面向对象软件的基本原理之一.该术语通常表示可以具有多种形式的事物.在面向对象的方法中,多态使编写具有后期绑定引用的程序成为可能.尽管在Java中创建多态引用很容易,但其背后的概念对整体编程产生了 ...

  8. 详解 TCP 超时与重传机制——长文预警

    上一篇介绍 TCP 的文章「TCP 三次握手,四次挥手和一些细节」反馈还不错,还是蛮开心的,这次接着讲一讲关于超时和重传那一部分. 我们都知道 TCP 协议具有重传机制,也就是说,如果发送方认为发生了 ...

  9. Vue中兄弟组件间传值-(Bus/总线/发布订阅模式/观察者)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. DefinePlugin插件用法

    作者:水涛 座右铭:天行健,君子以自强不息 自白:我写博文上来蹭蹭就是干,我突然觉得我需要幽默一点了,好了,下面我们说正经的 一.官方定义: DefinePlugin DefinePlugin 允许创 ...