shell从广义上分为两类:

  • GUI:GNOME KDE XFACE等
  • CLI:sh csh bash

shell启动:当用户登录完成后,系统会自动启动shelll程序

进程:应用程序的副本,用PID区分(在系统中,进程只认为自己存在)

root student用户

shell:父shell程序和子shell程序(父子shell之间设置环境互相独立)

# cat /etc/shells //查看支持哪些shell

# yum -y install ksh csh

#exit//退出当前shell

shell是一个程序

bash的特性:

  1. 命令历史history:Linux会自动记录系统过去执行的命令,并保存在内存的缓冲区中,
  2. 在每个用户的家目录下,有个隐藏文件.bash_history保存命令历史

-c:清空命令历史

-d:删除某一条命令历史

-w:将命令历史保存到某个文件中

变量:PATH命令路径变量

HISTSIZE:命令历史大小变量

# echo HISTSIZE//查看HISTSIZE(命令历史大小)变量的值,默认1000

  • !n:执行命令历史中的第n个命令
  • !-n:倒数第n个命令
  • !Word:执行命令历史中最近一个匹配的命令
  • !!:执行上一条命令
  • !$:引用一个命令的最后一个参数
  • esc+.:引用一个命令的最后一个参数

管道,重定向

命令别名(alias定义的别名只在当前shell生效)

alias comm_alias=command

unalias comm_alias//取消别名

注意:执行alias命令时,command最好用‘’标识出来

# alias cdnet='cd /etc/sysconfig/network-scripts'

命令行编辑

  • ctrl+a:命令行行首
  • ctrl+e:命令行行尾
  • ctrl+u:删除光标到行首
  • ctrl+k:删除光标到行尾
  • ctrl+l:清屏

命令行展开

命令补齐:在PATH变量搜索命令并补齐(PATH变量必须正常)

路径和文件补齐:(在系统路径中查找)

命令替换:把命令中的子命令替换为子命令执行结果的过程

$(command)或者`command`

# echo "Dirctory is $(pwd)"

“”:弱引用,实现变量的替换,将变量的名字编程变量值

‘’:强引用,不能实现变量的替换

命令行通配:globbing

*:匹配任意长度的任意字符

?:匹配任意单个字符

[]:匹配指定范围内的任意单个字符

[ab][a-m][a-Z][A-Z][a-zA-Z][0-9][a-zA-Z0-9]

[^]:匹配指定范围外的任意单个字符

[:space:]:表示空格

[:punct:]:表示所有标点

[:lower:]:表示所有小写字母

[:upper:]:表示所有大写字母

[:alpha:]:表示所有字母(包括大小写)

[:dgit:]:表示所有的数字

[:alnum:]:表示所有数字和大小写字母

Linux学习笔记07之shell的更多相关文章

  1. Linux学习笔记:使用shell脚本实现ftp的自动上传下载

    在 Linux 下可以利用 Shell 实现 ftp 文件的自动上传和下载,封装至 crontab 更可实现定时调度. 1.ftp自动登录批量下载文件 ##### 从ftp服务器上的/home/dat ...

  2. Linux 学习笔记 4:Shell 编程

    1.简单过滤器 a. pr [OPTION] [FILE] 功能:改变文件打印格式 选项 功能 -l n 设定页面长度为n行 -w n 设定页面总宽度为n个字符(不够会被砍掉) -h str 设定页眉 ...

  3. Linux 学习笔记 3:Shell 基础

    1.Shell的工作原理 Shell是用户和操作系统之间的接口.当用户登录系统,有一个Shell进程随之启动,并在用户注销时终止.用户输入的命令是Shell输入. 处理命令的步骤:查找命令中的元字符: ...

  4. Linux学习笔记07—mysql的配置

    一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...

  5. 鸟哥Linux学习笔记07

    1, vi 是 老式的文字处理器,不过功能已经很齐全了,但是还是有可以进步的地方. vim可以说是程序开发者的一项很好用的工具,vim官网(http://www.vim.org)自己也说vim是一个“ ...

  6. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  7. Linux 学习笔记之超详细基础linux命令 Part 13

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...

  8. Linux 学习笔记之超详细基础linux命令 Part 11

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 10---------------- ...

  9. Linux 学习笔记之超详细基础linux命令 Part 1

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122   说明:主要是在REHL Server 6操作系统下进行的测试 --字符界面虚拟终端与图形界面之间的切 方法:[ ...

随机推荐

  1. WebGL场景的两种地面构造方法

    总述:大部分3D编程都涉及到地面元素,在场景中我们使用地面作为其他物体的承载基础,同时也用地面限制场景使用者的移动范围,还可以在通过设置地块的属性为场景的不同位置设置对应的计算规则.本文在WebGL平 ...

  2. OpenProj打开不了或者提示”Failed to load Java VM Library”的错误的解决方案

    一.双击打开OpenProj.exe没反应的解决方案: 1) 修改OpenProj1.4.0.ini,将Maximum Version=any改为Maximum Version=1.7,保存. 2)这 ...

  3. Markdown教程 <1>

    Markdown教程 <1> 本文在本地使用atom编辑后,直接将代码赋值到博客园中的markdown编辑器中生成 1. markdown字体,段落控制 以下引用块里面为源码,引用块下方为 ...

  4. 一文看懂javaGC

    javaGC回收机制 在面试java后端开发的时候一般都会问到java的自动回收机制(GC).在了解java的GC回收机制之前,我们得先了解下Java虚拟机的内存区域. java虚拟机运行时数据区 j ...

  5. MySQL解决存入数据库和取出数据库时间格式问题

    我们在往数据库里存数据时,时间格式正是我们想要的,然而取数据时去出现了这种情况 这明显不是我们想要的! 解决办法: 在我们配置mysql时添加一行代码: timezone:"08:00&qu ...

  6. Oracle数据库视图的创建以及使用

    创建视图语句: CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[, alias]...)] AS subquery [WITH C ...

  7. resolv.conf 的超时(timeout)与重试(attempts)机制

    /etc/resolv.conf 有两个默认的值至关重要,一个是超时的 timeout,一个是重试的 attempts,默认情况下,前者是 5s 后者是 2 次.这个估计很多工程师都不是很在意,一般情 ...

  8. Python笔记【3】_元组学习

    #!/usr/bin/env/python #-*-coding:utf-8-*- #Author:LingChongShi #查看源码Ctrl+左键 ''' tuple:以圆括号“()”括起来,以“ ...

  9. .Net之Layui多图片上传

    前言: 多图上传在一些特殊的需求中我们经常会遇到,其实多图上传的原理大家都有各自的见解.对于Layui多图上传和我之前所说的通过js获取文本框中的文件数组遍历提交的原理一样,只不过是Layui中的up ...

  10. while循环的初始以及编码的初始

    whlie循环 why:比如要多次重复做一件事情,如歌曲列表循环,银行卡密码错误多次重复! what:whlie无限循环. how: ##基本结构while 条件:    循环体 基本原理 循环如何终 ...