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. Fabric1.4源码解析: 链码容器启动过程

    想写点东西记录一下最近看的一些Fabric源码,本文使用的是fabric1.4的版本,所以对于其他版本的fabric,内容可能会有所不同. 本文想针对Fabric中链码容器的启动过程进行源码的解析.这 ...

  2. 视频技术详解:RTMP H5 直播流技术解析

    本文聚焦 RTMP 协议的最精华的内容,接进行实际操作 Buffer 的练习和协议的学习. RTMP 是什么 RTMP 全称即是 Real-Time Messaging Protocol.顾名思义就是 ...

  3. Python操作ElasticSearch

    Python批量向ElasticSearch插入数据 Python 2的多进程不能序列化类方法, 所以改为函数的形式. 直接上代码: #!/usr/bin/python # -*- coding:ut ...

  4. Google play中下载apk

    在 Google play中下载apk:先在Google play中找到该apk,再去找APK downloader(https://www.allfreeapk.com/),Google play的 ...

  5. JAVA 从一个List里删除包含另一个List的数据

    /** * 从listA里删除listB里有的数据 * @param listA * @param listB * @return */ public static List<String> ...

  6. 机器学习读书笔记(二)使用k-近邻算法改进约会网站的配对效果

    一.背景 海伦女士一直使用在线约会网站寻找适合自己的约会对象.尽管约会网站会推荐不同的任选,但她并不是喜欢每一个人.经过一番总结,她发现自己交往过的人可以进行如下分类 不喜欢的人 魅力一般的人 极具魅 ...

  7. HDU 1025:Constructing Roads In JGShining's Kingdom(LIS+二分优化)

    http://acm.hdu.edu.cn/showproblem.php?pid=1025 Constructing Roads In JGShining's Kingdom Problem Des ...

  8. HDU 5763:Another Meaning(字符串匹配)

    http://acm.hdu.edu.cn/showproblem.php?pid=5763 Another Meaning Problem Description   As is known to ...

  9. Java学习笔记之---集合

    Java学习笔记之---集合 (一)集合框架的体系结构 (二)List(列表) (1)特性 1.List中的元素是有序并且可以重复的,成为序列 2.List可以精确的控制每个元素的插入位置,并且可以删 ...

  10. octavia的实现与分析(二)·原理,基本架构与基本流程

    [了解] 其实说白了,Octavia就是将用户的API请求经过逻辑处理,转换成Haproxy或者Nginx的配置参数,下发到amphora虚机中. Octavia的内部实现中,逻辑流程的处理主要使用T ...