Linux默认的shell版本是bash.

我们所敲的命令都是有记录的;被保存在.bash_history文件中。只有当用户正常突出shell时,命令才会保存至.bash_history中。

!!:连续两个感叹号表示执行上一条指令

!n:这里的n是数字,表示执行命令中的第n条指令。

# history | grep  102   查看第102条命令

# !102   执行102条命令。

!字符串:例如!pw  表示命令中最近的一次以pw开头的命令。

别名:

#   alias  查看所有的别名。

# alias gys='pwd'  pwd命名成gys

# unalias gys   解除别名。

通配符

* 匹配零个或多个字符,?匹配一个字符。

ls  gy*  匹配符合gy开头的所有文件和目录已级目录下的文件和目录

ls gy?   匹配符合gy开头的......

 重定向

输出重定向    >  屏幕内容向文件填充

追加重定向  >>   屏幕内容追加到文件末尾

echo    '123' >1.txt

echo   'gys' >>1.txt

 管道符    |   前一个指令的输出作为后一个指令的输入

cat   /etc/passwd|wc  -l

作业控制

Ctrl+z  暂停

fg 恢复(foreground)

bg 到后台运行(background)

Ctrl+c  终止运行

jobs  查看当前被暂停或者在后台运行的任务

查看变量

# echo   $PATH

# echo  $HOME

# echo $PWD

#echo $LOGNAME

查看系统预设的全部系统变量    #env

set也可以查看系统预设变量,还可以查看用户自定义的变量

自定义变量

# myname=gys

# echo $myname

# set |grep myname

目前改变量只能在当前shell生效。

# bash    进入一个子shell环境

# echo $myname   无法展示到内容

# exit

如何让环境变量一直生效?

# echo "export myname=gys" >> etc/profile

# source !$

# bash

# echo $myname

# exit

# su - test

$ echo $myname

设置自定义变量有哪些规则

1)设置变量a=b,其中a为变量名,b为变量的内容,等号两边不能由空格

2).变量名只能由字母,数字以及下划线组成,而且不能以数字开头

3).当变量内容带有特殊字符(如空格)时,需要加单引号。

# myname='gy  s'

4).变量内容中本身带有单引号,这时就需要加双引号。

# myname="gy's"

5).如果变量内容中需要用到其他变量,使用反引号

# myname=`pwd`

6).变量内容可以累加其他变量内容,要用双引号,不能用单引号。

# myname="$LOGNAME"gys

# echo $myname

rootgys

双引号不会取消特殊字符本身的作用,而使用单引号特殊字符将全部失去其本身的作用。

# abc=123

# echo $abc

# bash

# echo $abc  (输出一个空值)

# exit

# export abc

#echo $abc

123

#bash

#echo $abc

123

export就是申明一个变量,让改shell的子shell也知道变量abc的值。取消变量  用unset

# echo $abc

123

#unset abc

#echo $abc (输出空内容)

CentOS之Shell基础的更多相关文章

  1. centos shell基础 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 nohup & 后台运行 cut,sort,wc ,uniq ,tee ,tr ,split, paste cat> 2.txt <<EOF 通配符 glob模式 发邮件命令mail 2015-4-8 第十二节课

    centos shell基础知识 alias  变量单引号 双引号   history 错误重定向 2>&1  jobs  环境变量 .bash_history  source配置文件 ...

  2. Linux正则表达式、shell基础、文件查找及打包压缩

    Linux正则表达式.shell基础.文件查找及打包压缩 一.正则表达式 Linux正则表达式分为2类: 1.基本正则表达式(BRE) 2.扩展正则表达式(ERE) 两者的区别: 1.使用扩展正则表达 ...

  3. shell基础知识讲解

    第1章 shell基础 1.1 什么叫做shell编程 shell编程也叫做bash高级编程语法 1.2 常见的shell命令解释器 bash            redhat和centos使用 d ...

  4. Shell基础学习小结

    0 shell基础概念 Shell是解释性语言,使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象:缺点是它们的效率通常不如编译型语言.Shell命令有本 ...

  5. Shell基础-环境变量配置文件

    Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...

  6. shell基础二十篇 一些笔记

    shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...

  7. CentOS下shell显示-bash-4.1#不显示用户名路径的解决方法

    CentOS下shell显示-bash-4.1$不显示用户名路径的解决方法 问题描述: CentOS下新增一个用户,登录进去之后shell脚本的信息如下: 而不是我们经常看到的username@hos ...

  8. shell基础(转)

    shell基础1:文件安全与权限 http://bbs.chinaunix.net/forum/viewtopic.php?t=434579&highlight=wingger 附:Linux ...

  9. Linux实战教学笔记17:精简shell基础

    第十七节 精简shell基础 标签(空格分隔): Linux实战教学笔记 1,前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, ...

随机推荐

  1. scikit-learn数据集下载太慢的问题

    有时候用scikit-learn在线下载数据时太慢,因为网络或者其他原因,这时候我们可以先把数据集下载到本地,然后再把这个数据集放到scikit-learn的data中,首先我们需要找到 scikit ...

  2. 用Hi3518EV200板当spi烧录器

    1. setenv bootargs setenv bootcmd 2.ddr烧录uboot 3.uboot下tftp下载文件 mw.b ff ;tftp ;sf erase ;sf write ; ...

  3. 设计一个 硬件 实现的 Dictionary(字典)

    Dictionary 就是 字典, 是一种可以根据 Key 来 快速 查找 Value 的 数据结构 . 比如 我们在 C# 里用到的 Dictionary<T>, 在 程序设计 里, 字 ...

  4. Node。js 访问gmail

    参考: https://developers.google.com/gmail/api/quickstart/nodejs step 1,在google网站上打开gmail api,下载JSOn st ...

  5. 基于SVN提交历史筛选作者并修改文件内容

    笔者最近开发的项目中,是通过SVN做为版本管理工具的,因为需要创建的文件太多,所以有许多文件是在原有文件基础上拷贝过来修改的,这里就涉及到一个问题,原有文件中注释里填的JAVA类名.作者工号.创建时间 ...

  6. MySQL之 从复制延迟问题排查

    一.从库复制延迟问题 1.可能的原因如下(1)主从服务器处于不同的网络之中,由于网络延迟导致:(2)主从服务器的硬件配置不同,从服务器的硬件配置(包括内存,CPU,网卡等)远低于主服务器:(3)主库上 ...

  7. 安装Redis的PHP扩展

    1.安装phpize(php如果升级到php7,这步会报错,报错参考:https://www.cnblogs.com/clubs/p/10091103.html) yum install php-de ...

  8. pip查看已安装包列表

    输入命令: pip freeze 结果: certifi==2018.10.15chardet==3.0.4Django==2.1.2idna==2.7pytz==2018.5requests==2. ...

  9. python初始化list列表(1维、2维)

    1.初始化递增的list: list1 = range(10)#print list1#[0,1,2,...,9] 2.初始化每项为0的一维数组: list2 = [0] * 5#print list ...

  10. ecstore-ftp设置,不能上传文件

    某些主机居然不能上传,ftp改成127.0.0.1即可 ftp地址改成127.0.0.1即可...