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. Scrapy持久化存储-爬取数据转义

    Scrapy持久化存储 爬虫爬取数据转义问题 使用这种格式,会自动帮我们转义 'insert into wen values(%s,%s)',(item['title'],item['content' ...

  2. vue如何引入图片地址

    我们在用vue时储存图片时,一般把图片放在两种文件下,一个是static文件夹下,另外一个是assets文件夹下. 下面总体说一下这两个的区别及正确的引用方式: static是放不会变动的图片(或文件 ...

  3. ASI中POST请求和文件下载

    //POST请求 1 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { // 1.URL NSURL *url = ...

  4. Logos讲解--逆向开发

    前言 Logos是CydiaSubstruct框架中提供的一组宏定义.利于开发者使用宏进行Hook操作,其语法简单,功能是非常强大且稳定. 详细内容logos语法为http://iphonedevwi ...

  5. ImSQL:海量数据,可信存储

    数据造假.数据不可信等问题的存在,给金融监管及风控等众多应用场景带来了严峻的挑战,也正成为阻碍数据大规模互联互通.共享共用的一大障碍.数据的真实可信问题长期影响着社会的各个领域,在更依赖数据的人工智能 ...

  6. 转:Java logger组件:slf4j, jcl, jul, log4j, logback, log4j2

    先说结论 建议优先使用logback 或 log4j2.log4j2 不建议和 slf4j 配合使用,因为格式转换会浪费性能. 名词:jcl 和 jul 标题中的 jcl 是 apache Jakar ...

  7. kali linux中文乱码解决

    命令中输入 LANG=en_US.UTF-8 apt-get install ttf-wqy-microhei xfonts-wqy gnome-tweak-tool

  8. Xcode9 脚本打包报错

    Xcode9 脚本编译报错   xcodebuild -exportArchive fails with error Locating signing assets failed X9的exporto ...

  9. Apple Developer swift教程学习笔记

    https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson6. ...

  10. 记录我的 python 学习历程-Day05 字典/字典的嵌套

    一.字典的初识 为什么要有字典 字典与列表同属容器型数据类型,同样可以存储大量的数据,但是,列表的数据关联性不强,并且查询速度比较慢,只能按照顺序存储. 什么是字典 先说一下什么叫可变与不可变的数据类 ...