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. OutputStream 和 Writer

    OutputStream类(直接操作byte数组) 该类是字节输出流的抽象类,定义了输出流的各种操作方法.如下图是OutputStream的层次结构: ByteArrayOutputStream:字节 ...

  2. ipfs docker 运行试用

    ipfs 是一个分布式,p2p 的文件系统,参考了git.bt.sfs 以及web 的设计 环境准备 docker-compose 文件 version: "3" services ...

  3. 关于C# winform怎么调用webapi来获取到json数据

    C/S系统也可以和B/S系统一样实现“前后端分离”,那这样写winform就相当于纯粹的前端页面了,然后再单独部署一个webapi项目,通过api调用数据库进行数据的操作,有利于维护和数据安全性的提高 ...

  4. 图的最短路径——dijkstra算法和Floyd算法

    dijkstra算法 求某一顶点到其它各个顶点的最短路径:已知某一顶点v0,求它顶点到其它顶点的最短路径,该算法按照最短路径递增的顺序产生一点到其余各顶点的所有最短路径. 对于图G={V,{E}};将 ...

  5. python之路---11 第一类对象 函数名 闭包 迭代器

    二十九. 1.函数名的运用    ①函数名是⼀个变量, 但它是⼀个特殊的变量, 与括号配合可以执⾏函数的变量 ②函数名是一个内存地址    ③ 函数名可以赋值给其他变量         ④函数名可以当 ...

  6. 用C语言解决python多线程中的GIL问题

    在使用python多线程的时候为了解决GIL问题,有些代码得用C语言写,那么就得生成动态链接库. 当创建动态链接库时,独立位置信息(position independent)代码也需要生成.这可以帮助 ...

  7. chgrp命令详解

    Linux chgrp命令 Linux chgrp命令用于变更文件或目录的所属群组. 在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理.您可以使用chgrp指令去变更文件与目录的所属 ...

  8. Linux shell 将字符串分割成数组

    原文链接:http://1985wanggang.blog.163.com/blog/static/776383320121745626320/ a="one,two,three,four& ...

  9. 弄清AXI总线上每一个信号的含义

    弄清AXI总线上每一个信号的含义 1.信息来源 2.AXI总线的端口描述 时钟与复位端口 AXI M总线--写操作--地址通道的相关信号 AXI M总线--读操作--地址通道的相关信号 AXI M总线 ...

  10. Block Design 小技巧之添加RTL代码到block_design

    Block Design 小技巧之添加RTL代码到block_design 1.首先得打开Block Design,右击RTL文件,才会出现Add module to Block Design选项. ...