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服 ...
随机推荐
- Scrapy持久化存储-爬取数据转义
Scrapy持久化存储 爬虫爬取数据转义问题 使用这种格式,会自动帮我们转义 'insert into wen values(%s,%s)',(item['title'],item['content' ...
- vue如何引入图片地址
我们在用vue时储存图片时,一般把图片放在两种文件下,一个是static文件夹下,另外一个是assets文件夹下. 下面总体说一下这两个的区别及正确的引用方式: static是放不会变动的图片(或文件 ...
- ASI中POST请求和文件下载
//POST请求 1 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { // 1.URL NSURL *url = ...
- Logos讲解--逆向开发
前言 Logos是CydiaSubstruct框架中提供的一组宏定义.利于开发者使用宏进行Hook操作,其语法简单,功能是非常强大且稳定. 详细内容logos语法为http://iphonedevwi ...
- ImSQL:海量数据,可信存储
数据造假.数据不可信等问题的存在,给金融监管及风控等众多应用场景带来了严峻的挑战,也正成为阻碍数据大规模互联互通.共享共用的一大障碍.数据的真实可信问题长期影响着社会的各个领域,在更依赖数据的人工智能 ...
- 转:Java logger组件:slf4j, jcl, jul, log4j, logback, log4j2
先说结论 建议优先使用logback 或 log4j2.log4j2 不建议和 slf4j 配合使用,因为格式转换会浪费性能. 名词:jcl 和 jul 标题中的 jcl 是 apache Jakar ...
- kali linux中文乱码解决
命令中输入 LANG=en_US.UTF-8 apt-get install ttf-wqy-microhei xfonts-wqy gnome-tweak-tool
- Xcode9 脚本打包报错
Xcode9 脚本编译报错 xcodebuild -exportArchive fails with error Locating signing assets failed X9的exporto ...
- Apple Developer swift教程学习笔记
https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson6. ...
- 记录我的 python 学习历程-Day05 字典/字典的嵌套
一.字典的初识 为什么要有字典 字典与列表同属容器型数据类型,同样可以存储大量的数据,但是,列表的数据关联性不强,并且查询速度比较慢,只能按照顺序存储. 什么是字典 先说一下什么叫可变与不可变的数据类 ...