Linux Shell 脚本基础
1 export 命令
export 不接参数,则把当前系统的环境变量给显示出来
export 接参数,则把此变量作为环境变量,使得父进程的变量,子进程可以沿用,而无需重复设置。
2 read变量键盘读取
参数选项:
-p: 接提示符
-s: 接等待描述,不会一直死等用户输入
[root@localhost ~]# read -p "please specify a path:" -t 5 path_link please specify a path:/opt/nicky [root@localhost ~]# echo $path_link /opt/nicky [root@localhost ~]# read -p "please specify a path:" -t 5 path_links please specify a path:[root@localhost ~]# |
3 array数组
4 declare一般用于声明变量,如果后面没有接任何参数,那么就和set命令类似,会把所有变量名称全部调出来
参数选项:
-a: 将变量定义成数组
-i: 将变量定义成整形数字
-x:将变量定义成环境变量
-r: 变量设置成readonly
[root@localhost ~]# declare -i sum=1+2+5 [root@localhost ~]# echo $sum 8 |
5 ulimit 限制对计算机资源的使用
-a: 列出限制的所有的限制
-f: 该shell可以创建最大的文件数
-t: 可以使用的最大CPU时间
-u: 单一用户可以使用的最大进程
[root@localhost ~]# ulimit -f 1024 //最大创建1024个文件 |
6 alias unalias别名
alias cp='cp -i' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' |
7 history查看历史命令
参数选项:
n: 列出最近执行的n条命令
-w: 将目前的history记录写入histfile文件
8: bash 的环境配置文件
Login shell: 取得bash时需要完整的登录流程,及一般泛指需要输入账号和密码才可以登录,此时取得的bash叫做login shell
Non-Login Shell: 登录时不需要输入用户名和密码
这两种取得的配置文件不一样:
Login shell: /etc/profile 或者/~/.bash_profile or ~/.bash_login or ~/.profile。
/etc/profile: 设置一些整体的环境,现在包括一些PATH,MAILUSER,HISTSIZE 等变量。
./bash_profile: bash在读完了整体环境设置的/etc/profile,接下里会读取用户的个人配置文件,如果只要这个文件存在,其他两个存不存在都不会被读取,如果不存在才读取./bash_login,
如果/etc/profile已经有的变量,在./bash_profile也出现了,则会进行累加。
Bash 配置文件的读取是通过source命令来读取的
[root@localhost ~]# source ~/.bashrc |
我们知道. 也可以将shell 脚本
9: 正则通配符
*: 0个或多个任意字符 ?: 一定有一个任意字符 []: 一定有一个中括号内的字符 [a-z]: 代表编码顺序内所有字符,a-z任意的一个字符 [^abc]:非a b c 的任意字符 |
10: bash环境的特殊符号
#:注释
~:用户主目录
|:管道
\: 转义
/: 路径分割符号
$: 变量前导符
> >>: 数据重定向,输出导向,分别是替换和累加
< <<: 输入导向
‘’: 单引号不具备变量替换的功能,作为普通字符
“”:可以替换变量
():中间为子shell的其实和结束
{}:命令快的组合
11 数据流重定向
标准输出:命令执行完毕后,命令结果一般是显示在屏幕上
标准输入:读取键盘的输入
标准输入(stdin): 代码为0,使用 < 或者 <<
标准输出(stdout):代码为1 使用> 或者 >>
标准错误输出(stderr): 代码为2,使用2> 或者 2>>
/dev/null: 垃圾桶黑洞:将数据丢弃,一般清空文件可以用这个方法
[root@localhost nicky]# ls -al > new.txt [root@localhost nicky]# ls -lrt >> new.txt [root@localhost nicky]# cat /dev/null > new.txt #清空文件 通过cat 来输入内容 [root@localhost nicky]# cat > new.txt << "eof" > asasasa > eof [root@localhost nicky]# cat new.txt asasasa |
12: 管道命令(pipe)
管道命令仅仅是针对输出;且必须接收前一个命令
选取 命令:从一行中截取我们想要的
Cut: 处理的信息是以行为单位
格式: cut –d ‘分割字符’ –f fields
cut –c ‘字符范围’
取得第五个分割字符: [root@localhost nicky]# echo $PATH | cut -d ':' -f 5 取得第三-五个分割字符: [root@localhost nicky]# echo $PATH | cut -d ':' -f 3,5 取得第12字符以后所有字符 [root@localhost nicky]# echo $PATH | cut -c 12- qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin |
选取命令:grep 分析一行信息,如果改行有我们所需要的信息,就将该行取出来
命令格式:grep [options]‘要查找的字符串’ filename
参数选项:
-c: 计算找到字符串的次数
-i: 忽略大小写
-n: 顺便输出行号
[root@localhost nicky]# ps -ef| grep nginx |
13:sort 排序
命令格式:sort [options][文件或者输入]
参数选项:
-f: 忽略大小写
-M:按月份来排序
-n: 使用纯数字排序
-r: 反向排序
-u: 相同的数据仅出现一行
-t;分割符号,默认是tab键盘
[root@localhost nicky]# cat /etc/passwd | sort –fr |
14: 双向重定向 tee
比如我在查询的时候使用管道命令,但是我想将一部分存到文件:
命令格式: tes [-a] file
参数选项:
-a: 追加
[root@localhost nicky]# ls -l | tee -a new.txt | more |
15: 字符转换命令
tr: 可以删除一段文字信息或者进行文字信息的替换
命令格式:td [options]string
参数选项:
-d: 删除字符串中string字符串
-s: 替换掉重复的字符
[root@localhost nicky]# last | tr '[a-z]' '[A-Z]' [root@localhost nicky]# cat /etc/passwd | tr -d '\r' > /opt/nicky/new.txt |
Paste: 将两段站在一起
[root@localhost nicky]# paste /etc/passwd /etc/shadow |
Linux Shell 脚本基础相关推荐
- Linux shell脚本基础学习
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
- Linux shell脚本基础学习详细介绍(完整版)一
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
- Linux shell脚本基础学习详细介绍(完整版)2
详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...
- Linux shell脚本基础学习详细介绍(完整版)
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
- 详细介绍Linux shell脚本基础学习(一)
2019独角兽企业重金招聘Python工程师标准>>> Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础 ...
- linux脚本变量运算符,linux——Shell 脚本基础篇(变量类型,变量操作,定义,运算与逻辑关系)...
Shell 脚本基础 1.变量 什么是变量 #a=1 # echo $a 1 变量:可以变化的量 1.2变量名称注意事项 变量名不能以数字开头 不能与系统中已有的环境变量重名,尽量不要全部使用大写,尽 ...
- Shell 脚本基础学习 (四)
现在我们来讨论编写一个脚本的一般步骤.任何优秀的脚本都应该具有帮助和输入参数.并且写一个伪脚本(framework.sh),该脚本包含了大多数脚本都需要的框架结构,是一个非常不错的主意.这时候,在写一 ...
- 详细介绍Linux shell脚本系列基础学习(列表)
本系列适合Linux初学者,属于Linux入门级教程,主要介绍了Shell的分类.语法格式以及脚本的使用和编写格式等. 不断更新中,是Shell学习的必读经典教程.现主要包含以下文章: Linux S ...
- Linux Shell脚本编程基础
2 Linux Shell脚本编程基础 发表于: Linux, Shell, UNIX, 资源分享 | 作者: 谋万世全局者 标签: Linux,Shell,编程基础,脚本 本文作者:Leal 授权许 ...
最新文章
- SpringBoot b2b2c 多用户商城系统 ssm b2b2c
- dstat用法;利用awk求dstat所有列每列的和;linux系统监控
- 数据仓库与数据集市建模
- WCF传递强类型DataSet【源码】
- go语言渐入佳境[6]-operator运算符
- 视图with check option语句详解
- Linux环境下C语言MySQL接口API:第一讲
- java 不定参数_Java不定参数
- 满满的一整篇,全是 JVM 核心知识点!
- 揭秘跨境电商亚马逊店铺最新骗局!!小白做亚马逊店铺如何防止上当受骗?
- WARNING: The converted filename is an ASM fully qualified filename.
- BigDecimal的除法
- ccf-csp历届第一题题解 (一)14-17年 (ง •_•)ง
- 光电反射传感器 红外对管模块
- 在VR里弹空气吉他?开发者:手势优化有技巧
- (附源码)springboot物联网智能管理平台 毕业设计 2111120
- 直播入口地址的数据库修改
- 关于睡眠检测自定义VIEW
- hdu1814 Peaceful Commission 2-SAT建图入门
- Android 面试必备之 JVM 相关口水话,flutterpageview动画
热门文章
- svn 服务器端怎么增加用户,svn+ssh方式svn服务器和客户端的配置[转载]
- java 依赖其他项目时如何导出_使用Eclipse将具有外部依赖性的Java项目导出到jar...
- es 创建索引_从一道面试题来看ES的分布式架构原理
- 堆 堆栈 java_java的栈和堆
- word横向网格线设置在哪里_word排版技巧:如何防止行距随字号而改变?
- cad画圆如何确定圆心_原来在CAD中画个圆也有这么多学问!你知道这些画圆的技巧吗?...
- 鸿蒙硬件HI3861-4G透传模块-MODBUS
- 鸿蒙硬件HI3861点灯
- oracle 循环继续,oracle – 是否可以继续从异常循环?
- java Flink使用addSink方法保存流到mysql数据库中