shell学习第一弹-初识
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学习第一弹-初识的更多相关文章
- Office宏病毒学习第一弹--恶意的Excel 4.0宏
Office宏病毒学习第一弹--恶意的Excel 4.0宏 前言 参考:https://outflank.nl/blog/2018/10/06/old-school-evil-excel-4-0-ma ...
- Python3 学习第一弹:基本数据类型
本人学习主要从<python基础教程第二版>,<dive into python3>等书籍,及一些网上大牛的博客中学习特别是Python官方文档<Python Tutor ...
- Python学习第一弹——Python环境搭建
一.Python简介: Python,是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.Python语法简洁而清晰,具有 ...
- WebService学习-第一弹
一:WebService简介(1)简介----百度百科(注意标识的重点) Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言 ...
- shell学习第二弹-进阶
1.linux系统中配置文件执行顺序 1)用户登录系统,首页调用/etc/profile文件初始化所有bash用户的默认特征 2)然后shell依次查找~/.bash_profile,~/.bash_ ...
- Java高精度学习第一弹
为了快速解决高精度问题,总算是要来接触java了,算上这学期要开java的课了,好好学习吧! 拿来练手的是hdu的1002,高精度加法. import java.util.*; import java ...
- css学习の第一弹—格式创建
构成结构:选择符(又称为选择qi器){声明(属性:值):}*****注意:大括号,冒号,每个声明后的分号. 注释:/*注释内容写在这里*/ 一.css样式 css样式写的地方的不同分类:内联式.嵌入式 ...
- html学习第一弹の常用标签的归类
HTML初步学习: 行内元素:只占据他对应标签的边框所包含的空间,默认横向排布. 块级元素:块级元素占据其父元素(容器)的整个空间,因此创建了一个块,通常浏览器会在块级元素前后另起一行,默认竖向排布. ...
- FluentData 学习 第一弹
地址: http://fluentdata.codeplex.com/ 前世: FluentData 我们公司用的一个增删改查的里面的持久层.之前还不知道 这个持久层叫FluentData. 某天看 ...
随机推荐
- 阿里云服务器centos7环境下安装xampp后,mysql有进程,但是却没有监听3306端口
配置阿里云服务器centos7中xampp环境时出现了一种情况: 在centos中可以使用命令进入mysql 修改后也可以远程用phpmyadmin连接mysql 但是用navicat却无法连接 先修 ...
- 多态(day10)
二十二 多态(Polymorphic) 函数重写(虚函数覆盖).多态概念 如果将基类中的某个成员函数声明为虚函数,那么子类与其具有相同原型的成员函数就也将是虚函数,并且对基类中的版本形成覆盖. 这时, ...
- php实现网站访客数量统计的方法(简单实现,不能防刷新)
方法一: <?php function Counter()//定义函数 { $five = "00000";//声明变量,$five,$four等变量表示零的个数,放在数字前 ...
- _markupbase.py if not match: UnboundLocalError: local variable 'match' referenced before assignment,分析Python 库 html.parser 中存在的一个解析BUG
BUG触发时的完整报错内容(本地无关路径用已经用 **** 隐去): **************\lib\site-packages\bs4\builder\_htmlparser.py:78: U ...
- spring boot架构浅谈
首先来说一下什么是spring boot架构 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置 ...
- HDU - 1243 - 反恐训练营
先上题目: 反恐训练营 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- Atomic operations on the x86 processors
On the Intel type of x86 processors including AMD, increasingly there are more CPU cores or processo ...
- UVA 10039 Railroads
这道题好吧,一开始便是拓扑排序的想法,搞了好久,试了多组测试数据,没错啊,可是没过...作孽啊,竟然忘了拓扑不能处理环,白浪费了一晚上... 只好用动态规划了.. DP[time][city]表示在t ...
- [Angular] Advanced DI
In this post, we are going to see how to solve one design pattern challenge. The challenge is what w ...
- 恩布企业IM PC端,服务端公布 1.16 版本号
恩布企业IM PC端,服务端公布1.16版本号,开源企业IM.免费企业即时通讯软件:主要版本号更新内容: 恩布服务端核心程序,添加进程守护保护机制,确保系统7*24持续稳定服务: 服务端添加内存数据库 ...