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. Rendering on the Web

    转自: https://developers.google.com/web/updates/2019/02/rendering-on-the-web Rendering on the Web Goog ...

  2. Quest for sane signals in Qt - step 1 (hand coding a Q_OBJECT)

    探索qt的信号ref: http://crazyeddiecpp.blogspot.hk/2011/01/quest-for-sane-signals-in-qt-step-1.html If it ...

  3. GUI相关学习资料

    分类 1,基于OS,包括windows,linux,android,ios 2,基于语言,包括c++,java,c#,javacript 3,按照技术分类,这个其实和os,编程语言分不开,大概可以分为 ...

  4. Java变量的初始值

    Java中的变量如果没有赋值,成员变量默认被初始化,局部变量则不会. 对于成员变量 int a;         // a的初始值为0 如下例中的成员变量a,b,c,d public class Va ...

  5. JAVA_HOME 设置为JDK 7无效

    场景: Window 10中有Jdk 7和jdk8, 还有Oracle配置 环境变量的配置如下 然后JAVA_HOME 设置为java 7 但是java -version显示为java 8 解决方法 ...

  6. sbt第一次运行下载jar包很慢解决办法

    一.补充sbt配置文件,添加下载路径 文件结构如下:修改了sbtconfig.txt,repo.properties. sbtconfig.txt配置内容为: # Set the java args  ...

  7. LB+nginx+tomcat7集群模式下的https请求重定向(redirect)后变成http的解决方案

    0. 环境信息 Linux:Linux i-8emt1zr1 2.6.32-573.el6.x86_64 #1 SMP Wed Jul 1 18:23:37 EDT 2015 x86_64 x86_6 ...

  8. JS 动态加载脚本的4种方法

    有时候我们需要动态的加入适合的js,因为有时候不需要将所有的js都加载进来,以来提高效率,但这种方法比较适合单个js文件比较大的情况 如果js文件都比较小,还是一个js好,这样可以减少连接数.下面是4 ...

  9. 黄聪: $(document).click() 在iphone上不触发事件解决办法

    解决方案:加上 touchstart 事件 $(document).on(“click touchstart”, “.name”, function() { alert(“name”); });  

  10. PREV-6_蓝桥杯_翻硬币

    问题描述 小明正在玩一个“翻硬币”的游戏. 桌上放着排成一排的若干硬币.我们用 * 表示正面,用 o 表示反面(是小写字母,不是零). 比如,可能情形是:**oo***oooo 如果同时翻转左边的两个 ...