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 脚本基础相关推荐

  1. Linux shell脚本基础学习

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

  2. Linux shell脚本基础学习详细介绍(完整版)一

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

  3. Linux shell脚本基础学习详细介绍(完整版)2

    详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...

  4. Linux shell脚本基础学习详细介绍(完整版)

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

  5. 详细介绍Linux shell脚本基础学习(一)

    2019独角兽企业重金招聘Python工程师标准>>> Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础 ...

  6. linux脚本变量运算符,linux——Shell 脚本基础篇(变量类型,变量操作,定义,运算与逻辑关系)...

    Shell 脚本基础 1.变量 什么是变量 #a=1 # echo $a 1 变量:可以变化的量 1.2变量名称注意事项 变量名不能以数字开头 不能与系统中已有的环境变量重名,尽量不要全部使用大写,尽 ...

  7. Shell 脚本基础学习 (四)

    现在我们来讨论编写一个脚本的一般步骤.任何优秀的脚本都应该具有帮助和输入参数.并且写一个伪脚本(framework.sh),该脚本包含了大多数脚本都需要的框架结构,是一个非常不错的主意.这时候,在写一 ...

  8. 详细介绍Linux shell脚本系列基础学习(列表)

    本系列适合Linux初学者,属于Linux入门级教程,主要介绍了Shell的分类.语法格式以及脚本的使用和编写格式等. 不断更新中,是Shell学习的必读经典教程.现主要包含以下文章: Linux S ...

  9. Linux Shell脚本编程基础

    2 Linux Shell脚本编程基础 发表于: Linux, Shell, UNIX, 资源分享 | 作者: 谋万世全局者 标签: Linux,Shell,编程基础,脚本 本文作者:Leal 授权许 ...

最新文章

  1. SpringBoot b2b2c 多用户商城系统 ssm b2b2c
  2. dstat用法;利用awk求dstat所有列每列的和;linux系统监控
  3. 数据仓库与数据集市建模
  4. WCF传递强类型DataSet【源码】
  5. go语言渐入佳境[6]-operator运算符
  6. 视图with check option语句详解
  7. Linux环境下C语言MySQL接口API:第一讲
  8. java 不定参数_Java不定参数
  9. 满满的一整篇,全是 JVM 核心知识点!
  10. 揭秘跨境电商亚马逊店铺最新骗局!!小白做亚马逊店铺如何防止上当受骗?
  11. WARNING: The converted filename is an ASM fully qualified filename.
  12. BigDecimal的除法
  13. ccf-csp历届第一题题解 (一)14-17年 (ง •_•)ง
  14. 光电反射传感器 红外对管模块
  15. 在VR里弹空气吉他?开发者:手势优化有技巧
  16. (附源码)springboot物联网智能管理平台 毕业设计 2111120
  17. 直播入口地址的数据库修改
  18. 关于睡眠检测自定义VIEW
  19. hdu1814 Peaceful Commission 2-SAT建图入门
  20. Android 面试必备之 JVM 相关口水话,flutterpageview动画

热门文章

  1. svn 服务器端怎么增加用户,svn+ssh方式svn服务器和客户端的配置[转载]
  2. java 依赖其他项目时如何导出_使用Eclipse将具有外部依赖性的Java项目导出到jar...
  3. es 创建索引_从一道面试题来看ES的分布式架构原理
  4. 堆 堆栈 java_java的栈和堆
  5. word横向网格线设置在哪里_word排版技巧:如何防止行距随字号而改变?
  6. cad画圆如何确定圆心_原来在CAD中画个圆也有这么多学问!你知道这些画圆的技巧吗?...
  7. 鸿蒙硬件HI3861-4G透传模块-MODBUS
  8. 鸿蒙硬件HI3861点灯
  9. oracle 循环继续,oracle – 是否可以继续从异常循环?
  10. java Flink使用addSink方法保存流到mysql数据库中