1.shell简介:

shell是系统的用户界面,提供了用户与内核进行交互的一种接口。可以看做是用户与内核之间的一扇窗户。它接收用户输入的命令并把它送入内核执行。

常见的有bash,tcsh,csh,zsh。

2.如何识别当前使用的是哪个shell?

通过ps命令

此时ps命令显示系统正在执行的两个命令bash和ps,明显看出当前用的是bash

3.如何改变登录shell

当系统管理员创建用户账号时,将确定用户第一次登录时使用的shell。

方式一:可以通过直接输入要使用的shell,按ENTER键直接生效;如果想返回到上一个shell,直接使用exit键

方式二:使用chsh命令,彻底改变用户登录的shell

4.标准输入,输出与错误输出

linux系统的中有一种特殊的文件类型叫做设备文件,设备文件驻留在linux文件结构中(通常位于/dev/目录下),用来代表外围设备,如终端模拟器,显示屏,打印机

和硬盘驱动器。

用who命令显示的内容中,登录名后的设备名即为屏幕的文件名。

用tty命令可以直接获得对应设备名的全路径

  4.1.重定向标准输出(会覆盖)

  command args > filename

此时命令执行的结果会写入到文件中

4.2.重定向标准输出追加

command args >> filename

  此时命令的执行结果会追加到文件中

4.3.重定向标准输入

command args < filename

此时标准输入不再是键盘,而是文件,将文件内容作为command的参数

  4.4. /dev/null

设备/dev/null是一个设备接收器,通常被称为位桶,可以将不想看到或者不想保存的数据重定向到/dev/null

比如:cat log > /dev/null将不会有输出

cat /dev/null > log将会清空log文件

5.管道(pipeline)

shell命令使用管道将一个命令的输出直接作为另一个命令的输入

command options args  | command2 option  args

如ls | wc -l

但有些命令使用管道是无效的。比如tr,转换命令,只接受标准输入

tr abc ABC 当输入abc时,会打印出abc替换为ABC的结果

而执行cat filename > tr a b 文件内容根本就没发生变化。

tee 命令,有一个输入,两个输出(标准输出和文件)

who | tee who.txt | grep 'root'

who.tx文件记录who命令的执行结果,同时tee的标准输出又作为grep命令的输入

6.特殊字符

?代表单个字符

当前目录下有test,test2,test5文件

使用test?会将test2,test5匹配出来

*代表任意长度个字符(包括0)

[]将一个字符列表括起来,使shell与列表中每个单独字符进行匹配

7.内置命令

内置命令是shell脚本中直接可以使用的命令。

查看shell脚本有哪些内置命令

info bash,显示有关bash的一些信息,光标移动到红框部分Shell Builtin Commands,按ENTER键进入对应目录

shell学习第一弹-初识的更多相关文章

  1. Office宏病毒学习第一弹--恶意的Excel 4.0宏

    Office宏病毒学习第一弹--恶意的Excel 4.0宏 前言 参考:https://outflank.nl/blog/2018/10/06/old-school-evil-excel-4-0-ma ...

  2. Python3 学习第一弹:基本数据类型

    本人学习主要从<python基础教程第二版>,<dive into python3>等书籍,及一些网上大牛的博客中学习特别是Python官方文档<Python Tutor ...

  3. Python学习第一弹——Python环境搭建

    一.Python简介: Python,是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.Python语法简洁而清晰,具有 ...

  4. WebService学习-第一弹

    一:WebService简介(1)简介----百度百科(注意标识的重点) Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言 ...

  5. shell学习第二弹-进阶

    1.linux系统中配置文件执行顺序 1)用户登录系统,首页调用/etc/profile文件初始化所有bash用户的默认特征 2)然后shell依次查找~/.bash_profile,~/.bash_ ...

  6. Java高精度学习第一弹

    为了快速解决高精度问题,总算是要来接触java了,算上这学期要开java的课了,好好学习吧! 拿来练手的是hdu的1002,高精度加法. import java.util.*; import java ...

  7. css学习の第一弹—格式创建

    构成结构:选择符(又称为选择qi器){声明(属性:值):}*****注意:大括号,冒号,每个声明后的分号. 注释:/*注释内容写在这里*/ 一.css样式 css样式写的地方的不同分类:内联式.嵌入式 ...

  8. html学习第一弹の常用标签的归类

    HTML初步学习: 行内元素:只占据他对应标签的边框所包含的空间,默认横向排布. 块级元素:块级元素占据其父元素(容器)的整个空间,因此创建了一个块,通常浏览器会在块级元素前后另起一行,默认竖向排布. ...

  9. FluentData 学习 第一弹

    地址: http://fluentdata.codeplex.com/ 前世: FluentData 我们公司用的一个增删改查的里面的持久层.之前还不知道 这个持久层叫FluentData.  某天看 ...

随机推荐

  1. BZOJ 1705: [Usaco2007 Nov]Telephone Wire 架设电话线 DP + 优化 + 推导

    Description 最近,Farmer John的奶牛们越来越不满于牛棚里一塌糊涂的电话服务 于是,她们要求FJ把那些老旧的电话线换成性能更好的新电话线. 新的电话线架设在已有的N(2 <= ...

  2. typora与Markdown的一些小问题

    一.typora中修改图像大小 加上style="zoom:50%" <img src="E:\GitHub_learn\blog\source\imgs\tree ...

  3. eas之编码规则&单据转换规则

    *当在企业建模中没有要显示的项目的话,则从包更新到系统树然后选择到规则定义,对申请单新增规则. 企业建模--业务规则-规则定义组织优先  多组织有先  集团优先固定值 显示格式PUR ..系统日期 2 ...

  4. NOIP2015 DAY2 T1跳石头

    传送门 题目背景 一年一度的“跳石头”比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N 块 ...

  5. 关于 多个git用户或多个git管理工具切换时出现的问题总结

    在这几天遇到了个比较头痛的问题 因为在同时使用多个git工具(gitlab,github.gitee)由于账户的问题和这个仓库指定地址,导致拉代码和推代码不能正常运行 问题解决: 对于多个git直接的 ...

  6. mysql 怎样先排序再分组

    权游游牧族:众所周知!一句SqL语句不能先排序再分组.所以这里给出几个案例 --表结构-- create table `shop` ( `id` int (10) PRIMARY KEY, `shop ...

  7. linux下的mongodb数据库原生操作

    mongodb,是一种结构最像mysql的nosql mysql中的数据库,mongodb中也有,区别在于, myql中数据库下的是表,字段和数据的形式存在 mongodb数据库下的是叫集合(和pyt ...

  8. 部署项目到tomcat时 访问项目404的问题总结

    使用tomcat服务器运行项目之前  需要把项目发布到(部署)tomcat上,然后启动服务器  运行项目 今天把以往正常运行的项目发布之后,运行时   竟然出现404  关键还不是我路径写错了   而 ...

  9. hdu 1250 简单大整数加法

    #include<stdio.h> #include<string.h> #define N 3100 int a[N],b[N],c[N],d[N],e[N]; int ma ...

  10. ZOJ 3717

    这题是二分+2SAT. 总结一下SAT题的特征.首先,可能会存在二选一的情况,然后会给出一些矛盾.据这些矛盾加边,再用SAT判定. 这一道题好像不能直接用printf("%0.3lf&quo ...