Shell之基本用法
一:shell简介
1.什么是shell
shell的中文意思是“外壳”,通俗地讲,shell是一个交互编程接口,通过获得用户输入来驱动操作系统内核完成指定工作。shell除了作为命令解释程序以外,还是一种高级程序设计语音,它有变量、关键字、有各种控制语句、支持函数模块,有自己的语法结构。shell最重要的功能是命令解释,从这种意义上说,shell是一个命令解释器。
2.Linux系统上可执行的文件分类如下:
Linux命令:存放在/bin,/sbin目录下的命令
内置命令:出于效率的考虑,将一些常用命令的解释程序构造在shell内部
实用程序:存放在/usr/bin,/usr/sbin,/usr/local/bin等目录下的实用程序或工具
用户程序:用户程序经过编译生成可执行文件后,也可作为shell命令运行
shell脚本:由shell语音编写的批处理文件
二:shell变量
1.变量命名规则
以字母或下划线开头,剩下的部分可以是:字母、数字、下划线
最好遵循下述规范:
1)以字母开头
2)使用中划线或者下划线做单词的连接
3)同类型的用数字区分
4)对于文件最好加上拓展名
例如:aa、aa1、a_b.tar.gz
2.系统变量
set和env区别:set:显示所有变量,env:环境变量
3.变量赋值
name=shenbuer
echo $name
删除变量 unset name
(shell变量为小写;环境变量为大写)
4.常用系统变量
PATH:命令的搜索路径
PWD:显示整个路径名
LANG:解压或释放程序
HOME:用户根目录的路径名
HISTSIZE:保存在历史列表中的最大项数
PS1:提示符1,主提示符(默认为“\s-\v\$”)
IFS:内部字段分隔符,用于分词
三、运算符
1.算术运算符
+、-、*、/、%
2、关系操作
与(())连用
< 小于
> 大于
<= 小于等于
>= 大于等于
== 等于
!= 不等于
&& 按位与
|| 按位或
3.赋值运算符
= 等于赋值
+= 加等于
*= 乘等于
/+ 除等于
%= 取模赋值
四、元字符
`` 命令替换 取命令的执行结果
$()同上,但它弥补了``的嵌套缺陷
~ 家目录
! 取非
! 历史命令调用
! 匹配最近一次历史命令
! ls 带空格 将命令的返回值取反
@ 无特殊含义
# 注释
$ 变量取值
$() 同``
${} 变量名的范围
$[] 整数计算 echo $[2+3] - * / % 浮点数用 echo "scale=3; 10/3" | bc -l
% 杀后台进程 jobs号; 取模
^ 取非 和 ! 雷同
^ 替换
& 后台执行;&& 逻辑与
* 匹配任意长度字符串;计算乘法
() 在子进程中执行
- 减号;区间;cd -;
_ 无特殊含义
+ 加号 ;
= 赋值
| 管道; || 逻辑或
\ 转义;
{} 命令列表 ,注意括号内的开头和结尾必须是空格{ ls; cd /; }
[] 字符通配,匹配括号内之一;
: 空命令 真值
; 可以接多个命令:ls;pwd;echo 123;无论对错,会一直执行到最后一条命令
"" 软引 ''硬引
< 输入重定向
> 输出重定向
>> 追加
<< here document
>& 合并2和1输出
, 枚举分隔符
. source ; 当前目录
/ 目录分隔符
? 单个字符
回车 命令执行
* 通配符:任意字符
? 通配符:任一字符
[abc] 列表项之一
[^abc] 对列表取非 也可以使用范围 [a-z] 代表aAbBcC...,[0-9]代表012345。。。
{} 循环列表
控制变量名的范围 echo ${AB}C
\转意
Shell之基本用法的更多相关文章
- Shell expr的用法 bc 命令 let命令
Shell expr的用法 bc 命令 let命令 数学运算 let命令 expr命令 bc命令 $(()) $[] http://www.80ops.cn/archives/245. ...
- hbase基本概念和hbase shell常用命令用法
1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实 ...
- 【转载】HBase基本概念和hbase shell常用命令用法
1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实 ...
- shell字符串的用法
shell字符串的用法 注意:shell4.2和shell4.1会有差别,较低版本的shell可能不支持某些功能 获取字符串长度:${#string} 获取子串: 注:(左边的第一个字符是用 0 表示 ...
- centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课
centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件.目录属性 shell数组简单用法 $( ) 和$ ...
- (12)Linux shell之read 用法
Linux shell之read 用法 #!/bin/bash#read 用来读取屏幕输入或是读取文件内容.read -p "please input you name: " ...
- Shell之date用法
创建以当前时间为文件名的 mkdir `date+%Y%m%d` 备份以时间做为文件名的 tar cvf./htdocs`date +%Y%m%d`.tar ./* date命令如何获得上星期的日期? ...
- Linux Shell nohup命令用法
linux的nohup命令的用法. 在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台: /us ...
- shell特殊符号用法大全
# 注释符号(Hashmark[Comments]) 1.在shell文件的行首,作为shebang标记,#!/bin/bash; 2. 其他地方作为注释使用,在一行中,#后面的内容并不会被执行, ...
- linux shell date的用法
该随笔引用自https://www.cnblogs.com/alsodzy/p/8403870.html 在 linux shell 里面date命令的参数 %% 一个文字的 % %a 当前local ...
随机推荐
- P1215 [USACO1.4]母亲的牛奶 Mother's Milk
P1215 [USACO1.4]母亲的牛奶 Mother's Milk 题目描述 农民约翰有三个容量分别是A,B,C升的桶,A,B,C分别是三个从1到20的整数, 最初,A和B桶都是空的,而C桶是装满 ...
- python os模块atime ,ctime,mtime意义
ython的os.stat中主要的时间信息有三个:st_mtime,st_atime,st_ctime. 1.st_mtime:time of last modification 最后一 ...
- L009文件属性知识详解小节
本堂课分为5部分内容 1.linux下重要目录详解 2.PATH变量路径内容 3.linux系统中文件类型介绍 4.linux系统中文件属性详细介绍 5.linux系统文件属性inode与block知 ...
- jqgrid-parmNames和jsonReader的使用,以及json的返回格式(转)
prmNames : { page:"page", // 表示请求页码的参数名称 rows:"rows", // 表示请求行数的参数名称 sort: ...
- Python 3基础教程23-多维列表
这里简单举例一个多维列表,多维看起来都很晕. # 多维列表 x = [ [5,6],[6,7],[7,2] ,[2,5] ,[4,9]] print(x) # 根据索引引用列表元素,例如打印[6,7] ...
- 怎样安装Python3
在浏览器地址栏输入https://www.python.org/ 打开Python官网 好了,安装完成了! 可以把安装路径C:\Users\Administrator\AppData\Local\Pr ...
- Jenkins - 持续集成部署
1. 安装svn:用于checkout源码 (1)yum 安装:yum -y install subversion (2)查看svn版本信息:svnserver --version 2. 安装jdk ...
- [转]dwr3框架学习笔记--简介及原理简介
1.DWR简介 DWR(直接web远程访问),DWR是一个Java库,使服务器上的Java和JavaScript的浏览器进行交互和相互调用尽可能简单. DWR 是一个可以允许你去创建 AJAX WEB ...
- mysql原理以及相关优化
说起MySQL的查询优化,相信大家积累一堆技巧:不能使用SELECT *.不使用NULL字段.合理创建索引.为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在 ...
- springmvc项目搭建五-postgresql+easyui的数据显示
上一篇虽然完成了页面的显示,但是是假数据,本篇添加了postgresql的数据库,将登陆的校验和数据的显示都通过数据库来完成. 我是在本地搭建了一个postgre的数据库,就先新建两张表吧,一个用于用 ...